Sync up with r21-4-12-chise-0_21-pre4-for-libchise-b1-word-fix.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2
3         * chartab.c (put_char_table): Modify for inherited coded-charsets
4         in XEmacs CHISE.
5
6 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
7
8         * chartab.c (Fput_char_table_map_function): Fixed.
9         (word_boundary_p): Don't check charset in XEmacs CHISE.
10
11 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
12
13         * mule-charset.c (charset_code_point): Fix problem when searching
14         in mother CCS fails with `defined_only' mode.
15
16 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
17
18         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
19         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
20         (put_char_composition): Likewise.
21         (Fput_char_attribute): Likewise.
22         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
23
24 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
25
26         * chartab.c (Q_ucs): Deleted.
27         (Fput_char_attribute): Don't refer `->ucs'.
28         (Fdefine_char): Likewise.
29         (Ffind_char): Likewise.
30         (syms_of_chartab): Delete `->ucs'.
31
32 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
33
34         * mule-charset.c (Qmap_cns11643_2): Renamed from
35         `Qchinese_cns11643_2'.
36         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
37         `chinese-cns11643-2'.
38         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
39         `=cns11643-2'.
40
41 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
42
43         * mule-charset.c (Qmap_cns11643_1): Renamed from
44         `Qchinese_cns11643_1'.
45         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
46         `chinese-cns11643-1'.
47         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
48         `=cns11643-1'.
49
50 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
51
52         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
53         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
54         `chinese-gb12345'.
55         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
56         `=gb12345'.
57
58 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
59
60         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
61         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
62         `chinese-gb2312'.
63         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
64         `=gb2312'.
65
66 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
67
68         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
69         (syms_of_mule_charset): Add new symbol `=big5' instead of
70         `chinese-big5'.
71         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
72
73 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
74
75         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
76         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
77         `korean-ksc5601'.
78         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
79         `=ks-x1001'.
80
81 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
82
83         * mule-charset.c (Qmap_jis_x0212): Renamed from
84         `Qjapanese_jisx0212'.
85         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
86         `japanese-jisx0212'.
87         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
88         `=jis-x0212'.
89
90 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
91
92         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
93         `Qjapanese_jisx0208'.
94         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
95         of `japanese-jisx0208'.
96         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
97         `=jis-x0208-1983'.
98
99 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
100
101         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
102         `Qjapanese_jisx0208_1978'.
103         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
104         of `japanese-jisx0208-1978'.
105         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
106         `=jis-x0208-1978'.
107
108 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
109
110         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
111         only for XEmacs CHISE.
112
113 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
114
115         * char-ucs.h: Compact non-ISO-IR charset-ids.
116         (LEADING_BYTE_UCS): Changed to -177.
117         (LEADING_BYTE_CONTROL_1): Changed to -77.
118         (LEADING_BYTE_UCS_BMP): Changed to -176.
119         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
120
121 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
122
123         * mule-charset.c (Qiso_ir): New variable.
124         (Fmake_charset): Recognise new property `iso-ir'.
125         (syms_of_mule_charset): Add new symbol `iso-ir'.
126
127 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
128
129         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
130         n to -n; charset-id of non ISO-IR sets are changed to positive
131         numbers.
132
133 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
134
135         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
136         for &MCS-XXXXXXXX; values.
137
138 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
139
140         * mule.c (Vxemacs_chise_version): Renamed from
141         `Vutf_2000_version'.
142         (vars_of_mule): Add new variable `xemacs-chise-version'; define
143         `utf-2000-version' as an alias for `xemacs-chise-version'.
144
145 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
146
147         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
148         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
149         defined.
150
151         * config.h.in (CHISE): New macro.
152
153 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
154
155         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
156         of `ucs'.
157         (Qmap_ucs): New variable.
158         (syms_of_mule_charset): Add new symbol `=ucs'.
159         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
160
161         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
162         (simplify_char_spec): Likewise.
163
164         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
165
166         * char-ucs.h (Qmap_ucs): New extern variable.
167
168 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
169
170         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
171         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
172         don't define it when UTF2000 is not defined.
173         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
174         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
175         when UTF2000 is not defined.
176         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
177         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
178
179 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
180
181         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
182
183         * mule-charset.c (Vcharset_ucs_gb): Deleted.
184         (Qucs_gb): Deleted.
185         (syms_of_mule_charset): Delete `ucs-gb'.
186         (complex_vars_of_mule_charset): Likewise.
187
188 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
189
190         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
191
192         * mule-charset.c (Vcharset_ucs_cns): Deleted.
193         (Qucs_cns): Deleted.
194         (syms_of_mule_charset): Delete `ucs-cns'.
195         (complex_vars_of_mule_charset): Likewise.
196
197 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
198
199         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
200
201         * mule-charset.c (Vcharset_ucs_jis): Deleted.
202         (Qucs_jis): Deleted.
203         (syms_of_mule_charset): Delete `ucs-jis'.
204         (complex_vars_of_mule_charset): Likewise.
205
206 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
207
208         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
209
210         * mule-charset.c (Vcharset_ucs_ks): Deleted.
211         (Qucs_ks): Deleted.
212         (syms_of_mule_charset): Delete `ucs-ks'.
213         (complex_vars_of_mule_charset): Likewise.
214
215 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
216
217         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
218         (Qideograph_daikanwa_2): Deleted.
219         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
220         (complex_vars_of_mule_charset): Likewise.
221
222         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
223         (LEADING_BYTE_DAIKANWA_1): Deleted.
224         (LEADING_BYTE_DAIKANWA_2): Deleted.
225         (MIN_CHAR_DAIKANWA): Deleted.
226         (MAX_CHAR_DAIKANWA): Deleted.
227
228 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
229
230         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
231         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
232         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
233
234         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
235         (Vcharset_ideograph_daikanwa): Deleted.
236         (Qideograph_hanziku_{1..12}): Deleted.
237         (Qideograph_daikanwa): Deleted.
238         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
239         Vcharset_ideograph_daikanwa.
240         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
241         `ideograph-hanziku-{1..12}'.
242         (complex_vars_of_mule_charset): Likewise.
243
244 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
245
246         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
247
248         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
249         (Qideograph_gt_pj_{1..11}): Deleted.
250         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
251         (complex_vars_of_mule_charset): Likewise.
252
253 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
254
255         * mule-charset.c (Vcharset_ucs_big5): Deleted.
256         (Vcharset_ideograph_gt): Deleted.
257         (Qucs_big5): Deleted.
258         (Qideograph_gt): Deleted.
259         (syms_of_mule_charset): Delete symbol `ucs-big5' and
260         `ideograph-gt'.
261         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
262         and `ideograph-gt'.
263
264         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
265         (LEADING_BYTE_GT): Deleted.
266         (MIN_CHAR_GT): Deleted.
267         (MAX_CHAR_GT): Deleted.
268
269 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
270
271         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
272
273 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
274
275         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
276         (save_uint16_byte_table): Likewise.
277         (save_byte_table): Likewise; convert values by it.
278         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
279         for `ideographic-structure'.
280         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
281         as the filter for `ideographic-structure'.
282
283 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
284
285         * chartab.c (put_char_composition): New function.
286         (Fput_char_attribute): Use `put_char_composition'; use
287         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
288
289         * fns.c (simplify_char_spec): New function.
290         (char_ref_simplify_spec): New function.
291         (Fchar_refs_simplify_char_specs): New function.
292         (syms_of_fns): Add new builtin function
293         `char-refs-simplify-char-specs'.
294
295 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
296
297         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
298         (Qideograph_cbeta): Deleted.
299         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
300         (complex_vars_of_mule_charset): Likewise.
301
302         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
303         (MIN_CHAR_CBETA): Comment out.
304         (MAX_CHAR_CBETA): Likewise.
305
306 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
307
308         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
309         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
310         CHISE client feature.
311
312 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
313
314         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
315
316 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
317
318         * mule-charset.c (charset_lookup_description_1): Use
319         `NUM_LEADING_BYTES' in UTF-2000.
320
321 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
322
323         * char-ucs.h (GC_CHARSETP): Deleted.
324
325 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
326
327         * char-ucs.h (MAX_CHAR_GT): Updated.
328
329 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
330
331         * text-coding.c: Sync with XEmacs 21.4.10.
332
333 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
334
335         * mule-charset.c (Vcharset_china3_jef): Deleted.
336         (Qchina3_jef): Deleted.
337         (syms_of_mule_charset): Don't define `china3-jef'.
338         (complex_vars_of_mule_charset): Likewise.
339
340         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
341         (MIN_CHAR_CHINA3_JEF): Comment out.
342         (MAX_CHAR_CHINA3_JEF): Comment out.
343
344 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
345
346         * mule-charset.c (Vcharset_ucs_gb): New variable.
347         (Qucs_gb): New variable.
348         (syms_of_mule_charset): Add new symbol `ucs-gb'.
349         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
350
351         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
352
353 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
354
355         * mule-charset.c (charset_code_point): if a coded-charset has a
356         final-byte, don't inherit the builtin range of the mother CCS.
357
358 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
359
360         * mule-charset.c (charset_code_point): Fix problem about
361         inheritance.
362
363 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
364
365         * mule-charset.c (decode_builtin_char): Reorganized.
366
367 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
368
369         * text-coding.c (char_encode_as_entity_reference): Modify for
370         `charset_code_point'.
371         (char_encode_shift_jis): Likewise.
372         (char_encode_big5): Likewise.
373         (char_encode_utf8): Likewise.
374         (char_encode_iso2022): Likewise.
375
376         * mule-charset.c (charset_code_point): Add new argument
377         `defined_only'.
378         (Fencode_char): Add new optional argument `defined_only'.
379
380         * chartab.c (put_char_table): Modify for `charset_code_point'.
381
382         * char-ucs.h (charset_code_point): Add new argument
383         `defined_only'.
384         (encode_char_1): Modify for `charset_code_point'.
385
386 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
387
388         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
389         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
390
391 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
392
393         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
394         (Qjis_x0208): Likewise.
395         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
396         XCHARSET_FINAL(charset).
397         (charset_code_point): Modify condition for final-byte based
398         builtin-chars.
399         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
400         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
401         in UTF-2000; specify `=jis-x0208' as the mother of
402         `japanese-jisx0208-1978', `japanese-jisx0208' and
403         `japanese-jisx0208-1990' in UTF-2000.
404
405 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
406
407         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
408
409 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
410
411         * text-coding.c (decode_coding_utf16): Support UTF-16.
412         (char_encode_utf16): Fixed.
413
414 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
415
416         * text-coding.c (Qutf16): New variable in MULE.
417         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
418         (Fcoding_system_type): Add `utf-16' in MULE.
419         (struct detection_state): Add a structure for utf16 in MULE.
420         (detect_coding_type): Setup st->utf16.mask in MULE.
421         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
422         MULE.
423         (reset_encoding_stream): Use `char_encode_utf16' and
424         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
425         (detect_coding_utf16): New function [incomplete].
426         (decode_coding_utf16): New function [support only UCS-2].
427         (char_encode_utf16): New function.
428         (char_finish_utf16): New function.
429         (syms_of_file_coding): Add new symbol `utf-16'; setup
430         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
431
432         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
433         UTF-2000.
434         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
435         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
436
437 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
438
439         * chartab.c (put_char_table): When a charset is specified as a
440         range in UTF-2000, don't support builtin characters.
441
442 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
443
444         * mule-charset.c (decode_defined_char): Don't refer external
445         database if Qunbound or Qnil are found.
446         (Fsave_charset_mapping_table): Don't define it if
447         HAVE_CHISE_CLIENT is not defined.
448         (Freset_charset_mapping_table): New function.
449         (load_char_decoding_entry_maybe): Store Qnil if a character is not
450         found in external database.
451         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
452         if HAVE_CHISE_CLIENT is not defined; add new builtin function
453         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
454
455 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
456
457         * text-coding.c (decode_coding_utf8): Check CCS is specified or
458         not.
459
460 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
461
462         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
463         Q_lowercase, Q_uppercase in UTF-2000.
464
465         * chartab.c (get_char_table): Add special code for the standard
466         case table to use character attribute `->downcase' and
467         `->uppercase' for case operations in UTF-2000.
468
469         * casetab.c (Qflippedcase): New variable in UTF-2000.
470         (Q_lowercase): Likewise.
471         (Q_uppercase): Likewise.
472         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
473         and `->uppercase' in UTF-2000.
474         (complex_vars_of_casetab): Assign attribute name `downcase' to
475         downcase and CANON table of Vstandard_case_table in UTF-2000;
476         assign attribute name `flippedcase' to upcase and EQV table of
477         Vstandard_case_table in UTF-2000.
478
479 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
480
481         * text-coding.c (decode_add_er_char): Support isolated-chars.
482         (char_encode_as_entity_reference): Likewise.
483
484 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
485
486         * emacs.c (Vutf_2000_lisp_directory): New variable.
487         (Vconfigure_utf_2000_lisp_directory): Likewise.
488         (complex_vars_of_emacs): Add new variable
489         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
490
491 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
492
493         * char-ucs.h (DECODE_CHAR): Delete special code for
494         `chinese-big5-1' and `chinese-big5-2'.
495
496         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
497         (Qbig5_2): Likewise.
498         (decode_defined_char): Support CONVERSION_BIG5_1 and
499         CONVERSION_BIG5_2.
500         (decode_builtin_char): Likewise.
501         (charset_code_point): Likewise.
502         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
503         'conversion in UTF-2000.
504         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
505         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
506         `chinese-big5-2' as children of `chinese-big5'.
507
508         * char-ucs.h (CONVERSION_BIG5_1): New macro.
509         (CONVERSION_BIG5_2): New macro.
510
511 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
512
513         * text-coding.c (char_encode_big5): Support entity-reference.
514
515 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
516
517         * text-coding.c (char_encode_as_entity_reference): New function.
518         (char_encode_utf8): Use `char_encode_as_entity_reference'.
519
520 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
521
522         * text-coding.c (decode_coding_big5): Support entity-reference
523         decoding feature.
524
525 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
526
527         * text-coding.c (allocate_coding_system): Initialize initial
528         charsets for CODESYS_UTF8.
529         (Fmake_coding_system): Accept charset-g0, charset-g1 and
530         charset-g2 for CODESYS_UTF8.
531         (decode_coding_utf8): Use charset-g0.
532         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
533         to force variants to map to UCS.
534
535 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
536
537         * text-coding.c (Qutf_8_mcs): New variable.
538         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
539         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
540         instead of `utf-8' in UTF-2000.
541
542 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
543
544         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
545         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
546         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
547         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
548         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
549         CONVERSION_96x96x96x96 are introduced.
550         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
551         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
552         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
553
554         * char-ucs.h (CONVERSION_94): New macro.
555         (CONVERSION_96): New macro.
556         (CONVERSION_94x94): New macro.
557         (CONVERSION_96x96): New macro.
558         (CONVERSION_94x94x94): New macro.
559         (CONVERSION_96x96x96): New macro.
560         (CONVERSION_94x94x94x60): New macro.
561         (CONVERSION_94x94x94x94): New macro.
562         (CONVERSION_96x96x96x96): New macro.
563
564 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
565
566         * chartab.c (Vcharacter_variant_table): Deleted.
567         (Fchar_variants): Use character-attribute `->ucs-variants' instead
568         of `Vcharacter_variant_table'.
569         (Fput_char_attribute): Likewise.
570         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
571         (complex_vars_of_chartab): Likewise.
572
573 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
574
575         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
576
577         * fns.c (Qideographic_structure): New variable.
578         (Qkeyword_char): New variable.
579         (ids_format_unit): New function.
580         (Fideographic_structure_to_ids): New function.
581         (syms_of_fns): Add new symbols `ideographic-structure' and
582         `:char'; add new builtin function `ideographic-structure-to-ids'.
583
584         * data.c (Fchar_ref_p): New function.
585         (syms_of_data): Add new builtin function `char-ref-p'.
586
587         * chartab.h: Add an EXFUN for `Ffind_char'.
588
589 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
590
591         * text-coding.c (Vcharacter_composition_table): Deleted.
592         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
593         in every UTF-2000.
594
595         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
596         UTF-2000.
597         (Vcharacter_composition_table): Deleted.
598         (Fget_composite_char): Use the implementation for external-DB
599         support in every UTF-2000.
600         (Fput_char_attribute): Likewise.
601         (char_attribute_system_db_file): Don't define if external-DB
602         feature is not available.
603         (Fsave_char_attribute_table): Likewise.
604         (Fmount_char_attribute_table): Likewise.
605         (Fclose_char_attribute_table): Likewise.
606         (Freset_char_attribute_table): Likewise.
607         (Fload_char_attribute_table): Likewise.
608         (syms_of_chartab): Don't define `save-char-attribute-table',
609         `mount-char-attribute-table', `reset-char-attribute-table',
610         `close-char-attribute-table' and `load-char-attribute-table' if
611         external-DB feature is not available.
612         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
613
614 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
615
616         * text-coding.c (Qcomposition): Add extern if external-DB feature
617         is supported.
618         (Vcharacter_composition_table): Don't add extern if external-DB
619         feature is supported.
620         (COMPOSE_ADD_CHAR): Modify for new data-representation of
621         character composition rule if external-DB feature is supported.
622
623         * chartab.c (Vcharacter_composition_table): Don't define if
624         external-DB feature is supported.
625         (Qcomposition): New variable.
626         (Fget_composite_char): New implementation for external-DB support.
627         (Fput_char_attribute): Use `composition' property of each
628         character instead of `Vcharacter_composition_table' to store
629         character-composition rules if external-DB feature is supported.
630         (syms_of_chartab): Add new symbol `composition'.
631         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
632         external-DB feature is supported.
633
634 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
635
636         * chartab.c (Vchar_db_stingy_mode): New variable.
637         (load_char_attribute_maybe): Close database if
638         Vchar_db_stingy_mode is not NIL.
639         (Fload_char_attribute_table_map_function): Use
640         `get_char_id_table_0' instead of `get_char_id_table'.
641         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
642
643         * chartab.h (get_char_id_table_0): New inline function.
644         (get_char_id_table): Use `get_char_id_table_0'.
645
646 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
647
648         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
649         and `COMPOSE_ADD_CHAR'.
650         (decode_coding_iso2022): Use `decode_flush_er_chars'.
651
652 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
653
654         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
655         instead of `DECODE_ADD_UCS_CHAR'.
656         (COMPOSE_ADD_CHAR): Likewise.
657
658 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
659
660         * text-coding.c (decode_flush_er_chars): New inline function.
661         (decode_add_er_char): New function.
662         (decode_coding_utf8): Use `decode_flush_er_chars' and
663         `decode_add_er_char'.
664
665 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
666
667         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
668         done before `decode_output_utf8_partial_char'.
669
670         * mule-charset.c (complex_vars_of_mule_charset): Specify
671         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
672         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
673
674 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
675
676         * mule-charset.c (decode_defined_char): New function; search
677         mother.
678         (decode_builtin_char): Don't search mother if
679         XCHARSET_MAX_CODE(charset) == 0.
680         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
681         == 0 even if code >= XCHARSET_MAX_CODE(charset).
682         (Fdecode_char): Use `decode_defined_char' instead of
683         `DECODE_DEFINED_CHAR'.
684         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
685         mother of `Vcharset_ucs_jis'.
686
687         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
688         instead of `DECODE_DEFINED_CHAR'.
689
690         * char-ucs.h (decode_defined_char): Renamed from
691         `DECODE_DEFINED_CHAR'; changed to normal function.
692         (DECODE_CHAR): Use `decode_defined_char' instead of
693         `DECODE_DEFINED_CHAR'.
694
695         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
696
697 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
698
699         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
700
701         * text-coding.c (Vcoded_charset_entity_reference_alist): New
702         variable.
703         (Quse_entity_reference): New variable.
704         (Qd): New variable.
705         (Qx): New variable.
706         (QX): New variable.
707         (coding_system_description): Add description for
708         `ccs_priority_list'.
709         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
710         (allocate_coding_system): Initialize `ccs_priority_list' in
711         UTF-2000.
712         (Fmake_coding_system): Add description about
713         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
714         (codesys).
715         (Fcoding_system_property): Accept `disable-composition' and
716         `use-entity-reference' in UTF-2000.
717         (struct decoding_stream): Add new member `er_counter' and `er_buf'
718         in UTF-2000.
719         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
720         (decode_coding_utf8): Decode entity-reference if
721         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
722         (char_encode_utf8): Encode non-Unicode characters as
723         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
724         (str->codesys).
725         (syms_of_file_coding): Add new symbols `use-entity-reference',
726         `d', `x', `X'.
727         (vars_of_file_coding): Add new variable
728         `coded-charset-entity-reference-alist'.
729         (complex_vars_of_file_coding): Declare `disable-composition' and
730         `use-entity-reference' to be coding-system-properties in UTF-2000.
731
732         * file-coding.h (struct Lisp_Coding_System): Add new member
733         `use_entity_reference' and `ccs_priority_list'.
734         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
735         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
736         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
737
738 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
739
740         * chartab.c (save_uint8_byte_table): Don't clear the table.
741         (save_uint16_byte_table): Likewise.
742         (save_byte_table): Likewise.
743         (Fmount_char_attribute_table): New function.
744         (syms_of_chartab): Add new builtin function
745         `mount-char-attribute-table'.
746
747 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
748
749         * mule-charset.c (Fsave_charset_mapping_table): Open database as
750         "w+" mode.
751         (load_char_decoding_entry_maybe): Open database as read-only mode.
752
753         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
754         open database as "w+" mode.
755         (load_char_attribute_maybe): Open database as read-only mode.
756         (Fload_char_attribute_table): Likewise.
757
758 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
759
760         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
761         (char_table_description): Delete member `db_file'.
762         (Fmake_char_table): Don't refer `ct->db_file'.
763         (Fcopy_char_table): Likewise.
764         (Fsave_char_attribute_table): Likewise.
765         (Fclose_char_attribute_table): Likewise.
766         (Freset_char_attribute_table): Likewise.
767         (load_char_attribute_maybe): Likewise.
768         (Fload_char_attribute_table): Likewise.
769
770         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
771
772 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
773
774         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
775         (Fsave_char_attribute_table): Don't check `ct->db_file' if
776         `ct->db' is living.
777         (load_char_attribute_maybe): Likewise.
778         (Fload_char_attribute_table): Likewise.
779
780 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
781
782         * chartab.c (Fclose_char_attribute_table): Set Qnil on
783         `ct->db_file' unconditionally.
784
785 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
786
787         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
788         UTF-2000.
789         (char_table_description): Add description for `db_file' and `db'
790         in UTF-2000.
791         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
792         UTF-2000.
793         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
794         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
795         (Fclose_char_attribute_table): New function.
796         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
797         (load_char_attribute_maybe): Change interface; use `cit->db_file'
798         and `cit->db'.
799         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
800         (syms_of_chartab): Add new builtin function
801         `Fclose_char_attribute_table'.
802
803 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
804
805         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
806         `db' in UTF-2000.
807         (load_char_attribute_maybe): Change interface.
808         (get_char_id_table): Modify for `load_char_attribute_maybe'.
809
810 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
811
812         * database.h: Add an EXFUN for `Fdatabase_live_p'.
813
814 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
815
816         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
817         instead of `DECODE_CHAR' for mother; don't use special code for
818         chinese-big5 to use code space of chinese-big5-1 and
819         chinese-big5-2.
820         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
821         `MAX_CHAR_BIG5_CDP' for chinese-big5.
822
823         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
824         (MAX_CHAR_BIG5_CDP): Revival.
825
826 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
827
828         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
829         the XLFD registry-encoding name of `chinese-big5'.
830
831 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
832
833         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
834         (Qchinese_big5_cdp): Deleted.
835         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
836         (complex_vars_of_mule_charset): Delete coded-charset
837         `chinese-big5-cdp'.
838
839         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
840         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
841         `CHARSET_ID_OFFSET - n' for private CCS.
842         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
843         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
844         of `MIN_LEADING_BYTE'.
845         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
846         `(CHARSET_ID_OFFSET - 97)'.
847         (MIN_CHAR_BIG5_CDP): Deleted.
848         (MAX_CHAR_BIG5_CDP): Deleted.
849
850 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
851
852         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
853
854 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
855
856         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
857         (vars_of_mule): Add new variable `utf-2000-version' [moved from
858         chartab.c].
859
860         * chartab.c (Vutf_2000_version): Moved to mule.c.
861         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
862
863 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
864
865         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
866         when HAVE_CHISE_CLIENT is not defined.
867
868         * mule.c (vars_of_mule): Provide feature `chise' when
869         HAVE_CHISE_CLIENT is defined.
870
871 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
872
873         * config.h.in (UTF2000): Add comment.
874         (HAVE_CHISE_CLIENT): New macro.
875
876 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
877
878         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
879         CONSP.
880         (Fput_char_attribute): Likewise.
881         (char_attribute_system_db_file): Encode file-name of attribute.
882         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
883         the initial value.
884
885 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
886
887         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
888         (Fsave_charset_mapping_table): Use
889         `char_attribute_system_db_file'.
890         (load_char_decoding_entry_maybe): Likewise.
891
892         * chartab.h (Qsystem_char_id): New external variable.
893         (char_attribute_system_db_file): New prototype.
894
895         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
896         (char_attribute_system_db_file): New function.
897         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
898         (Freset_char_attribute_table): Likewise.
899         (load_char_attribute_maybe): Likewise.
900         (Fload_char_attribute_table): Likewise.
901         (syms_of_chartab): Add new symbol `system-char-id'.
902
903 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
904
905         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
906         `XCHARSET_GRAPHIC(ccs)'.
907
908 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
909
910         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
911
912 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
913
914         * chartab.c (Q_ucs_variants): New variable.
915         (syms_of_chartab): Add new symbol `->ucs-variants'.
916         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
917         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
918         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
919
920         * mule-charset.c (load_char_decoding_entry_maybe): New function.
921
922         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
923         `HAVE_DATABASE' is defined.
924         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
925         `HAVE_DATABASE' is defined.
926
927 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
928
929         * chartab.c (Fsave_char_attribute_table): Don't clear internal
930         attribute-table.
931         (Freset_char_attribute_table): New function.
932         (syms_of_chartab): Add new builtin function
933         `reset-char-attribute-table'.
934
935 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
936
937         * chartab.c (load_char_attribute_maybe): Don't make directories.
938
939 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
940
941         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
942
943         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
944         for decoding-table.
945
946 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
947
948         * mule-charset.c (Fsave_charset_mapping_table): Use
949         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
950
951         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
952         instead of `XCHARSET_CHARS'.
953
954 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
955
956         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
957         (XCHARSET_BYTE_SIZE): Likewise.
958
959         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
960         mule-charset.c].
961         (XCHARSET_BYTE_SIZE): Likewise.
962
963 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
964
965         * chartab.c (Fput_char_attribute): Use exec-directory instead of
966         data-directory to store database.
967         (Fsave_char_attribute_table): Likewise.
968         (load_char_attribute_maybe): Likewise.
969         (Fload_char_attribute_table): Likewise.
970
971 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
972
973         * mule-charset.c (Fsave_charset_mapping_table): New function.
974         (syms_of_mule_charset): Add new builtin function
975         `save-charset-mapping-table'.
976
977 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
978
979         * char-ucs.h (decoding_table_check_elements): Delete prototype.
980         (get_ccs_octet_table): New inline function.
981         (put_ccs_octet_table): Likewise.
982         (decoding_table_put_char): Use `get_ccs_octet_table' and
983         `put_ccs_octet_table'.
984         (decoding_table_remove_char): Use `decoding_table_put_char'.
985         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
986
987         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
988         into encoding_table.
989         (make_charset): Use Qunbound instead Qnil as initial value of
990         decoding_table.
991
992 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
993
994         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
995         element is Qunloaded.
996         (map_over_uint16_byte_table): Likewise.
997         (map_over_byte_table): Likewise.
998         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
999         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1000         database support, load encoding-table of the specified
1001         coded-charset if it is not loaded yet.
1002         (save_uint8_byte_table): New function of UTF-2000 with external
1003         database support.
1004         (save_uint16_byte_table): Likewise.
1005         (save_byte_table): Likewise.
1006         (Fput_char_attribute): Don't store value into external database
1007         even if the external database feature is supported in UTF-2000;
1008         set `attribute' as name of char-table if the external database
1009         feature is supported.
1010         (Fsave_char_attribute_table): New function in UTF-2000.
1011         (syms_of_chartab): Add new builtin function
1012         `save-char-attribute-table' in UTF-2000.
1013
1014 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1015
1016         * chartab.c (char_attribute_table_to_put): New variable in
1017         UTF-2000.
1018         (Qput_char_table_map_function): Likewise.
1019         (value_to_put): Likewise.
1020         (Fput_char_table_map_function): New function in UTF-2000.
1021         (put_char_table): Use `Fmap_char_attribute' for
1022         CHARTAB_RANGE_CHARSET in UTF-2000.
1023         (Fput_char_attribute): Store symbol instead of string in
1024         `XCHAR_TABLE_NAME (table)'.
1025         (load_char_attribute_maybe): Likewise.
1026         (syms_of_chartab): Add new symbol/function
1027         `put-char-table-map-function'.
1028
1029 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1030
1031         * database.h: Add new EXFUN for `Fmap_database'.
1032
1033         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1034         (syms_of_database): Likewise.
1035
1036         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1037         UTF-2000.
1038         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1039         (XCHAR_TABLE_UNLOADED): Likewise.
1040
1041         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1042         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1043         HAVE_DATABASE is defined.
1044         (char_attribute_table_to_load): New variable of UTF-2000 with
1045         external database support.
1046         (Qload_char_attribute_table_map_function): Likewise.
1047         (Fload_char_attribute_table_map_function): New function of
1048         UTF-2000 with external database support.
1049         (Fload_char_attribute_table): New function of UTF-2000.
1050         (Fmap_char_attribute): Call Fload_char_attribute_table if
1051         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1052         (syms_of_chartab): Add new symbol and function
1053         `load-char-attribute-table-map-function' in UTF-2000 with external
1054         database support; add new function `load-char-attribute-table' in
1055         UTF-2000.
1056
1057 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1058
1059         * chartab.h (load_char_attribute_maybe): New prototype for
1060         UTF-2000 with DATABASE support.
1061         (get_char_id_table): Use `load_char_attribute_maybe' if
1062         HAVE_DATABASE is defined.
1063
1064         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1065         with DATABASE support.
1066
1067 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1068
1069         * chartab.c (Fput_char_attribute): Use S-expression as key of
1070         external database.
1071
1072         * chartab.h (get_char_id_table): Use S-expression as key of
1073         external database.
1074
1075 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1076
1077         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1078         if an element is not loaded, load the corresponding attributes
1079         from an external database.
1080         (map_over_uint16_byte_table): Likewise.
1081         (map_over_byte_table): Likewise.
1082         (map_char_table): Modify for `map_over_uint8_byte_table',
1083         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1084         element is not loaded, load the corresponding attributes from an
1085         external database.
1086         (Fput_char_attribute): Change initial values to Qunloaded.
1087
1088         * chartab.h (get_char_id_table): If a character attribute is not
1089         loaded and the attribute value is not found in an external
1090         database, store Qunbound as the attribute value.
1091
1092 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1093
1094         * chartab.c (BT_UINT8_unloaded): New macro.
1095         (UINT8_VALUE_P): Accept Qunloaded.
1096         (UINT8_ENCODE): Likewise.
1097         (UINT8_DECODE): Likewise.
1098         (BT_UINT16_unloaded): New macro.
1099         (UINT16_VALUE_P): Accept Qunloaded.
1100         (UINT16_ENCODE): Likewise.
1101         (UINT16_DECODE): Likewise.
1102         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1103         BT_UINT16_unloaded.
1104         (mark_char_table): Mark `ct->name' in UTF-2000.
1105         (char_table_description): Add `name' in UTF-2000.
1106         (Fmake_char_table): Initialize `ct->name'.
1107         (Fcopy_char_table): Copy `ct->name'.
1108         (Fput_char_attribute): Store value into an external database if
1109         HAVE_DATABASE is defined.
1110
1111         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1112         UTF-2000.
1113         (CHAR_TABLE_NAME): New macro in UTF-2000.
1114         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1115         (get_char_id_table): Try to read an external database if Qunloaded
1116         is stored in a table.
1117
1118         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1119         Qunloaded.
1120
1121 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1122
1123         * database.h: Add EXFUN definitions for Fopen_database,
1124         Fput_database, Fget_database and Fclose_database.
1125
1126         * data.c (Qunloaded): New variable in UTF-2000.
1127
1128         * lisp.h (Qunloaded): New variable in UTF-2000.
1129
1130 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1131
1132         * mule-charset.c (put_char_ccs_code_point): Modify for
1133         `decoding_table_remove_char' and `decoding_table_put_char'.
1134         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1135
1136         * char-ucs.h (decoding_table_remove_char): Change arguments to
1137         hide decoding_table vector.
1138         (decoding_table_put_char): Likewise.
1139
1140 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1141
1142         * mule-charset.c (decoding_table_remove_char): Moved to
1143         char-ucs.h.
1144         (decoding_table_put_char): Likewise.
1145
1146         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1147         from mule-charset.c].
1148         (decoding_table_remove_char): New inline function [moved from
1149         mule-charset.c].
1150         (decoding_table_put_char): Likewise.
1151
1152 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1153
1154         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1155         extension.
1156
1157 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1158
1159         * mule-charset.c (decode_builtin_char): Support mother charsets.
1160
1161 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1162
1163         * mule-charset.c (Q94x94x60): New variable.
1164         (charset_code_point): Support conversion `94x94x60'.
1165         (Fmake_charset): Likewise.
1166         (syms_of_mule_charset): Add new symbol `94x94x60'.
1167
1168         * char-ucs.h (CONVERSION_94x94x60): New macro.
1169
1170 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1171
1172         * mule-charset.c (charset_code_point): Unify code about
1173         `code-offset'.
1174
1175 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1176
1177         * mule-charset.c (charset_code_point): Merge code about builtin
1178         characters into code about mother charsets; don't use
1179         `range_charset_code_point'.
1180         (range_charset_code_point): Deleted.
1181
1182 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1183
1184         * mule-charset.c (Qcode_offset): New variable.
1185         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1186         `max-code'; accept new property `code-offset'.
1187         (syms_of_mule_charset): Add new symbol `code-offset'.
1188
1189 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1190
1191         * mule-charset.c (range_charset_code_point): Fixed.
1192
1193 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1194
1195         * mule-charset.c (decode_builtin_char): Change semantics of
1196         code-offset of coded-charset.
1197         (charset_code_point): Likewise.
1198         (range_charset_code_point): Likewise.
1199         (complex_vars_of_mule_charset): Modify for the change.
1200
1201 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1202
1203         * mule-charset.c (Fencode_char): Reverse arguments.
1204
1205         * mule-charset.c (charset_code_point): Fixed.
1206
1207 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1208
1209         * mule-charset.c (Vcharset_mojikyo): Deleted.
1210         (Vcharset_mojikyo_2022_1): Deleted.
1211         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1212         (Qmin_code): New variable in UTF-2000.
1213         (Qmax_code): Likewise.
1214         (Qmother): Likewise.
1215         (Qconversion): Likewise.
1216         (Q94x60): Likewise.
1217         (Qmojikyo): Deleted.
1218         (Qmojikyo_2022_1): Deleted.
1219         (Qmojikyo_pj_{1..22}): Deleted.
1220         (mark_charset): Mark `cs->mother'.
1221         (charset_description): Add description for `mother'.
1222         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1223         new arguments `mother' and `conversion'; use
1224         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1225         (charset_code_point): Moved from char-ucs.h; support `mother'
1226         charset feature.
1227         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1228         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1229         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1230         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1231         allow 2 as the value of `graphic' in UTF-2000; add new properties
1232         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1233         require `final' in UTF-2000; modify for `make_charset'.
1234         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1235         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1236         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1237         (Fencode_char): New function.
1238         (syms_of_mule_charset): Add new builtin function `encode-char' in
1239         UTF-2000; add new symbols `min-code', `max-code', `mother',
1240         `conversion' and `94x60'; delete symbols `mojikyo',
1241         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
1242         (complex_vars_of_mule_charset): Modify for `make_charset' change;
1243         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
1244         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
1245
1246         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
1247         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
1248
1249         * char-ucs.h (Vcharset_mojikyo): Deleted.
1250         (Vcharset_mojikyo_2022_1): Deleted.
1251         (LEADING_BYTE_MOJIKYO): Deleted.
1252         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1253         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1254         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1255         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
1256         add new member `mother'; add new member `conversion'.
1257         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
1258         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
1259         (CHARSET_MOTHER): New macro.
1260         (CHARSET_CONVERSION): New macro.
1261         (CONVERSION_IDENTICAL): New macro.
1262         (CONVERSION_94x60): New macro.
1263         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
1264         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
1265         (XCHARSET_MOTHER): New macro.
1266         (XCHARSET_CONVERSION): New macro.
1267         (MIN_CHAR_MOJIKYO): Deleted.
1268         (MAX_CHAR_MOJIKYO): Deleted.
1269         (DECODE_MOJIKYO_2022): Deleted.
1270         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
1271         (charset_code_point): Changed to non-inline function.
1272         (encode_char_1): Use `charset_code_point'.
1273         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
1274
1275 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1276
1277         * lread.c (read_compiled_function): Fix prototype.
1278         (read_vector): Likewise.
1279
1280 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1281
1282         * lrecord.h (struct lrecord_header): Delete `older'.
1283         (set_lheader_implementation): Delete code for `older'.
1284         (set_lheader_older_implementation): Deleted.
1285         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
1286         (OLDER_RECORD_P): Deleted.
1287         (OLDER_RECORD_HEADER_P): Deleted.
1288         (alloc_older_lcrecord): Deleted.
1289         (alloc_older_lcrecord_type): Deleted.
1290
1291         * alloc.c (all_older_lcrecords): Deleted.
1292         (alloc_older_lcrecord): Deleted.
1293         (disksave_object_finalization_1): Delete code for older objects.
1294         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
1295         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
1296
1297 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1298
1299         * mule-charset.c (decoding_table_put_char): Use `make_vector'
1300         instead of `make_older_vector'.
1301         (put_char_ccs_code_point): Likewise.
1302         (mark_charset): Mark `cs->decoding_table'.
1303         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
1304
1305         * lisp.h (make_older_vector): Deleted.
1306         (make_vector_newer): Deleted.
1307
1308         * config.h.in (HAVE_GGC): Deleted.
1309
1310         * alloc.c (make_older_vector): Deleted.
1311         (make_vector_newer_1): Deleted.
1312         (make_vector_newer): Deleted.
1313
1314 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1315
1316         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
1317         (Qideograph_daikanwa_2): New variable.
1318         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
1319         (complex_vars_of_mule_charset): Add new coded-charset
1320         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
1321         `LEADING_BYTE_DAIKANWA'.
1322
1323         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
1324         (LEADING_BYTE_DAIKANWA_1): New macro.
1325         (LEADING_BYTE_DAIKANWA_2): New macro.
1326         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
1327
1328 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1329
1330         * mule-charset.c (complex_vars_of_mule_charset): Change
1331         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
1332         the second revised version.
1333
1334 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1335
1336         * mule-charset.c (Vcharset_ucs_smp): New variable.
1337         (Vcharset_ucs_sip): New variable.
1338         (Qucs_smp): New variable.
1339         (Qucs_sip): New variable.
1340         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
1341         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
1342         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
1343         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
1344         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
1345         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
1346
1347         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
1348         (LEADING_BYTE_UCS_SIP): New macro.
1349         (MIN_CHAR_SMP): New macro.
1350         (MAX_CHAR_SMP): New macro.
1351         (MIN_CHAR_SIP): New macro.
1352         (MAX_CHAR_SIP): New macro.
1353
1354 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1355
1356         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
1357         utf-2000.
1358
1359 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1360
1361         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
1362         value; don't store value into `encoding_table' of `Lisp_Charset'.
1363         (mark_charset): `encoding_table' was deleted.
1364         (charset_description): Likewise.
1365         (make_charset): Likewise.
1366         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
1367         `put_char_ccs_code_point'.
1368
1369         * chartab.h (Fput_char_attribute): New EXFUN.
1370
1371         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
1372         is unified with normal symbol space.
1373         (Fget_char_attribute): Likewise.
1374         (Fput_char_attribute): Likewise; behavior of
1375         `put_char_ccs_code_point' is changed.
1376
1377         * char-ucs.h: Include "elhash.h".
1378         (Vchar_attribute_hash_table): New external variable.
1379         (struct Lisp_Charset): Delete `encoding_table'.
1380         (CHARSET_ENCODING_TABLE): New implementation; refer
1381         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
1382         `Lisp_Charset'.
1383
1384 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1385
1386         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
1387         (cs) == 0.
1388
1389 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1390
1391         * text-coding.c (char_encode_big5): Prefer charset-g1 than
1392         `chinese-big5'.
1393
1394 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1395
1396         * chartab.c (uint8_byte_table_description): New constant.
1397         (uint8-byte-table): Use `uint8_byte_table_description'.
1398         (uint16_byte_table_description): New constant.
1399         (uint16-byte-table): Use `uint16_byte_table_description'.
1400
1401 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1402
1403         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
1404         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
1405
1406 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1407
1408         * mule-charset.c (Vcharset_ucs_ks): New variable.
1409         (Qucs_ks): New variable.
1410         (syms_of_mule_charset): Add new symbol `ucs-ks'.
1411         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
1412
1413         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
1414
1415 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1416
1417         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
1418         (Fdecode_char): Likewise.
1419
1420         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
1421         chartab.h.
1422         (Fdefine_char): Modify for Fdecode_char.
1423         (Ffind_char): Likewise.
1424
1425         * mule-charset.c (Fdecode_char): Add new optional argument
1426         `defined-only'.
1427         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1428
1429 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1430
1431         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
1432         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
1433         (allocate_coding_system): Initialize initial-charsets of
1434         CODESYS_BIG5 in XEmacs UTF-2000.
1435         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
1436         CODESYS_BIG5 in XEmacs UTF-2000.
1437         (decode_coding_big5): Use initial-charset-g0 and -g1 of
1438         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
1439
1440         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
1441         variables.
1442         (Qideograph_hanziku_{1 .. 12}): Likewise.
1443         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
1444         .. 12}'.
1445         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
1446         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
1447         `ideograph-hanziku-{1 .. 12}'.
1448
1449         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
1450         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
1451         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
1452         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
1453         (DECODE_DEFINED_CHAR): New inline function.
1454         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1455
1456 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1457
1458         * mule-charset.c (Vcharset_china3_jef): Renamed from
1459         `Vcharset_japanese_jef_china3'.
1460         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1461         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1462         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1463         (syms_of_mule_charset): Rename `china3-jef' from
1464         `japanese-jef-china3'.
1465         (complex_vars_of_mule_charset): Likewise; rename
1466         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1467
1468         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1469         `LEADING_BYTE_JEF_CHINA3'.
1470         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1471         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1472
1473 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1474
1475         * mule-charset.c (encode_builtin_char_1): Comment out special code
1476         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1477
1478         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1479         (MAX_CHAR_MOJIKYO_0): Comment out.
1480         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1481         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1482         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1483         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1484
1485 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1486
1487         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1488         (Qideograph_cbeta): New variable.
1489         (encode_builtin_char_1): Comment out special code for
1490         coded-charset `mojikyo' and `japanese-jef-china3'.
1491         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1492         (complex_vars_of_mule_charset): Add new coded-charset
1493         `ideograph-cbeta'.
1494
1495         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1496         (MIN_CHAR_CBETA): New macro.
1497         (MAX_CHAR_CBETA): New macro.
1498
1499 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1500
1501         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1502         (LEADING_BYTE_JEF_CHINA3): New macro.
1503         (MIN_CHAR_JEF_CHINA3): New macro.
1504         (MAX_CHAR_JEF_CHINA3): Likewise.
1505         (DECODE_CHAR): Fixed.
1506
1507 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1508
1509         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
1510         (Qjapanese_jef_china3): New variable.
1511         (encode_builtin_char_1): Support `japanese-jef-china3'.
1512         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
1513         (complex_vars_of_mule_charset): Add new coded-charset
1514         `japanese-jef-china3'.
1515
1516 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1517
1518         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
1519         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
1520         94^4, 96^3, 96^4, 128^n and 256^n set.
1521         (put_char_table): Use `XCHARSET_CELL_RANGE'.
1522         (map_char_table): Likewise.
1523
1524 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1525
1526         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
1527         UTF-2000.
1528
1529 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1530
1531         * chartab.h (get_char_id_table): New inline function.
1532
1533         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
1534         function.
1535
1536 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1537
1538         * chartab.h (decode_char_table_range): New prototype in XEmacs
1539         UTF-2000.
1540         (put_char_id_table): New inline function in XEmacs UTF-2000.
1541
1542         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
1543         function.
1544         (decode_char_table_range): Delete static declaration in XEmacs
1545         UTF-2000.
1546
1547 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1548
1549         * chartab.c (put_char_id_table): Use `put_char_table'.
1550
1551 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1552
1553         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
1554         (map_over_uint16_byte_table): Likewise.
1555         (map_over_byte_table): Likewise.
1556         (map_char_table): Modify for `map_over_uint8_byte_table',
1557         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
1558         UTF-2000.
1559
1560 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1561
1562         * chartab.c (struct map_char_table_for_charset_arg): New
1563         structure.
1564         (map_char_table_for_charset_fun): New function.
1565         (map_char_table): Use `map_char_table' for encoding_table of
1566         `range->charset'.
1567
1568 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1569
1570         * chartab.c (map_char_table): Check a character is found in
1571         range->charset instead of non default value is defined in
1572         char-table when range is CHARTAB_RANGE_ROW.
1573
1574 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1575
1576         * chartab.c (map_char_id_table): Deleted.
1577         (Fmap_char_attribute): Use `map_char_table' instead of
1578         `map_char_id_table'.
1579
1580 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1581
1582         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
1583         UTF-2000.
1584         (update_syntax_table): Deleted in XEmacs UTF-2000.
1585
1586         * syntax.c (find_defun_start): Use `syntax_table' instead of
1587         `mirror_syntax_table' in XEmacs UTF-2000.
1588         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
1589         UTF-2000.
1590         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
1591         XEmacs UTF-2000.
1592         (Fmatching_paren): Likewise.
1593         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
1594         in XEmacs UTF-2000.
1595         (find_start_of_comment): Likewise.
1596         (find_end_of_comment): Likewise.
1597         (Fforward_comment): Likewise.
1598         (scan_lists): Likewise.
1599         (char_quoted): Likewise.
1600         (Fbackward_prefix_chars): Likewise.
1601         (scan_sexps_forward): Likewise.
1602         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
1603         (update_syntax_table): Likewise.
1604
1605         * search.c (skip_chars): Use `syntax_table' instead of
1606         `mirror_syntax_table' in XEmacs UTF-2000.
1607         (wordify): Likewise.
1608         (Freplace_match): Likewise.
1609
1610         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
1611         `mirror_syntax_table' in XEmacs UTF-2000.
1612         (WORDCHAR_P_UNSAFE): Likewise.
1613         (re_match_2_internal): Likewise.
1614
1615         * font-lock.c (find_context): Use `buf->syntax_table' instead of
1616         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1617
1618         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
1619         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
1620
1621         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
1622         XEmacs UTF-2000.
1623
1624         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
1625         UTF-2000.
1626         (print_char_table): Print `default_value' in XEmacs UTF-2000.
1627         (char_table_description): Delete `mirror_table' in XEmacs
1628         UTF-2000.
1629         (fill_char_table): Don't call `update_syntax_table' in XEmacs
1630         UTF-2000.
1631         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
1632         (Fcopy_char_table): Likewise.
1633         (put_char_table): Don't call `update_syntax_table' in XEmacs
1634         UTF-2000.
1635
1636         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
1637         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1638         (casify_region_internal): Likewise.
1639
1640         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
1641
1642         * buffer.c (common_init_complex_vars_of_buffer): Don't use
1643         `mirror_syntax_table' in XEmacs UTF-2000.
1644
1645         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
1646         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1647         (Fexpand_abbrev): Likewise.
1648
1649 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1650
1651         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
1652
1653 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1654
1655         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
1656         (map_over_uint16_byte_table): Likewise.
1657         (map_over_byte_table): Likewise.
1658         (get_char_id_table): Refer `cit->default_value'.
1659         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1660         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
1661         of character-id ranges.
1662         (mark_char_table): Mark `ct->default_value'.
1663         (char_table_description): Add `default_value'.
1664         (fill_char_table): Use `default_value'.
1665         (decode_char_table_range): Decode `nil' as
1666         `CHARTAB_RANGE_DEFAULT'.
1667         (get_char_id_table): Refer `cit->default_value'.
1668         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1669         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
1670         temporary hack; check value of char-table is bound or not.
1671         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
1672
1673         * chartab.h (struct Lisp_Char_Table): Add new member
1674         `default_value' in XEmacs UTF-2000.
1675         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
1676         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
1677         UTF-2000.
1678
1679 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1680
1681         * chartab.h (Lisp_Char_ID_Table): Deleted.
1682
1683         * chartab.c (char_table_description): Fix typo.
1684         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
1685         `Lisp_Char_ID_Table'.
1686
1687 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1688
1689         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
1690         `CHAR_ID_TABLE_P'.
1691
1692         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
1693         `CHAR_ID_TABLE_P'.
1694
1695         * chartab.h (XCHAR_ID_TABLE): Deleted.
1696         (XSETCHAR_ID_TABLE): Deleted.
1697         (CHAR_ID_TABLE_P): Deleted.
1698
1699         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
1700         `CHAR_ID_TABLE_P'.
1701         (Fget_composite_char): Likewise.
1702         (put_char_table): Likewise.
1703         (add_char_attribute_alist_mapper): Fixed.
1704         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
1705         `CHAR_ID_TABLE_P'.
1706         (Fget_char_attribute): Likewise.
1707         (Fget_char_attribute): Likewise.
1708         (Fmap_char_attribute): Likewise.
1709
1710         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
1711         `CHAR_ID_TABLE_P'.
1712         (encode_char_1): Likewise.
1713
1714 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1715
1716         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
1717         `XCHAR_ID_TABLE'.
1718
1719         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
1720         instead of `XCHAR_ID_TABLE'.
1721         (remove_char_ccs): Likewise.
1722
1723         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
1724         `XCHAR_ID_TABLE'.
1725         (Fget_composite_char): Likewise.
1726         (Fchar_variants): Likewise.
1727         (put_char_table): Likewise.
1728         (add_char_attribute_alist_mapper): Likewise.
1729         (Fchar_attribute_alist): Likewise.
1730         (Fget_char_attribute): Likewise.
1731         (Fput_char_attribute): Likewise.
1732         (Fmap_char_attribute): Likewise.
1733         (Fmap_char_attribute): Likewise.
1734
1735         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
1736         `XCHAR_ID_TABLE'.
1737         (encode_char_1): Likewise.
1738
1739 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1740
1741         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
1742         `Lisp_Char_ID_Table'.
1743         (mark_char_id_table): Deleted.
1744         (print_char_id_table): Likewise.
1745         (char_id_table_equal): Likewise.
1746         (char_id_table_hash): Likewise.
1747         (char_id_table_description): Likewise.
1748         (char_id_table): Likewise.
1749         (make_char_id_table): Use `Fmake_char_table' and
1750         `fill_char_table'.
1751         (get_char_id_table): Use `Lisp_Char_Table' instead of
1752         `Lisp_Char_ID_Table'.
1753         (put_char_id_table): Likewise.
1754         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
1755         `XCHAR_ID_TABLE'.
1756         (Fremove_char_attribute): Likewise.
1757         (syms_of_chartab): Don't define type `char-id-table'.
1758
1759         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
1760         (char_id_table): Likewise.
1761         (GC_CHAR_ID_TABLE_P): Likewise.
1762         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
1763         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
1764         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
1765         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
1766         (get_char_id_table): Use `Lisp_Char_Table' instead of
1767         `Lisp_Char_ID_Table'.
1768         (put_char_id_table_0): Likewise.
1769         (put_char_id_table): Likewise.
1770
1771 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1772
1773         * chartab.h: Lisp_Byte_Table related codes are moved from
1774         chartab.h.
1775
1776         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
1777
1778 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1779
1780         * chartab.h: Don't include "chartab.h".
1781         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
1782         (Lisp_Char_ID_Table): Likewise.
1783         (char_id_table): Likewise.
1784         (XCHAR_ID_TABLE): Likewise.
1785         (XSETCHAR_ID_TABLE): Likewise.
1786         (CHAR_ID_TABLE_P): Likewise.
1787         (GC_CHAR_ID_TABLE_P): Likewise.
1788         (get_char_id_table): Likewise.
1789
1790         * char-ucs.h: Include "chartab.h".
1791         (struct Lisp_Char_ID_Table): Moved to chartab.h.
1792         (Lisp_Char_ID_Table): Likewise.
1793         (char_id_table): Likewise.
1794         (XCHAR_ID_TABLE): Likewise.
1795         (XSETCHAR_ID_TABLE): Likewise.
1796         (CHAR_ID_TABLE_P): Likewise.
1797         (GC_CHAR_ID_TABLE_P): Likewise.
1798         (get_char_id_table): Likewise.
1799
1800 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1801
1802         * chartab.c (copy_uint8_byte_table): New function.
1803         (copy_uint16_byte_table): New function.
1804         (copy_byte_table): New function.
1805         (map_over_uint8_byte_table): Modify to avoid huge numbers of
1806         characters to call.
1807         (map_over_uint16_byte_table): Likewise.
1808         (map_over_byte_table): Likewise.
1809         (get_byte_table): Move prototype to chartab.h.
1810         (put_byte_table): Likewise.
1811         (put_char_id_table_0): Moved to chartab.h.
1812         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
1813         (char_table_entry_equal): Likewise.
1814         (char_table_entry_hash): Likewise.
1815         (char_table_entry_description): Likewise.
1816         (char_table_entry): Likewise.
1817         (make_char_table_entry): Likewise.
1818         (copy_char_table_entry): Likewise.
1819         (get_non_ascii_char_table_value): Likewise.
1820         (map_over_charset_ascii): Likewise.
1821         (map_over_charset_control_1): Likewise.
1822         (map_over_charset_row): Likewise.
1823         (map_over_other_charset): Likewise.
1824         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
1825         (print_char_table): Likewise.
1826         (char_table_equal): Likewise.
1827         (char_table_hash): Likewise.
1828         (char_table_description): Likewise.
1829         (fill_char_table): Likewise.
1830         (Fcopy_char_table): Likewise.
1831         (get_char_table): Likewise.
1832         (Fget_range_char_table): Likewise.
1833         (put_char_table): Likewise.
1834         (map_char_table): Likewise.
1835         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
1836         UTF-2000.
1837
1838 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1839
1840         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
1841         `Vauto_fill_chars' in XEmacs UTF-2000.
1842
1843         * chartab.h (get_byte_table): New prototype [moved from
1844         chartab.c].
1845         (put_byte_table): Likewise [moved from chartab.c].
1846         (put_char_id_table_0): New inline function [moved from chartab.c].
1847         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
1848         (Lisp_Char_Table_Entry): Likewise.
1849         (char_table_entry): Likewise.
1850         (XCHAR_TABLE_ENTRY): Likewise.
1851         (XSETCHAR_TABLE_ENTRY): Likewise.
1852         (CHAR_TABLE_ENTRYP): Likewise.
1853         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1854         (NUM_ASCII_CHARS): Likewise.
1855         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1856         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1857
1858 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1859
1860         * chartab.c (get_char_id_table): Change interface.
1861         (put_char_id_table_0): New function.
1862         (put_char_id_table): Change interface; new implementation.
1863         (Fget_composite_char): Modify for interface change of
1864         `get_char_id_table'.
1865         (Fchar_variants): Likewise.
1866         (add_char_attribute_alist_mapper): Likewise.
1867         (Fchar_attribute_alist): Likewise.
1868         (Fget_char_attribute): Likewise.
1869         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1870         as same as character as the first argument like `put-char-table';
1871         modify for interface change of `put_char_id_table'.
1872         (Fremove_char_attribute): Modify for interface change of
1873         `put_char_id_table'.
1874
1875 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1876
1877         * text-coding.c: Sync up with XEmacs 21.2.41.
1878         (COMPOSE_ADD_CHAR): Modify for interface change of
1879         `get_char_id_table'.
1880
1881         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1882         change of `put_char_id_table'.
1883         (remove_char_ccs): Likewise.
1884
1885         * chartab.h (put_char_id_table): Change interface.
1886
1887         * char-ucs.h (get_char_id_table): Change interface.
1888         (charset_code_point): Modify for interface change of
1889         `get_char_id_table'.
1890         (encode_char_1): Likewise.
1891
1892 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1893
1894         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1895         argument `ccs'.
1896         (map_over_uint16_byte_table): Likewise.
1897         (map_over_byte_table): Likewise.
1898         (map_char_id_table): Add new argument `range' like
1899         `map_char_table'.
1900         (Fmap_char_attribute): Add new argument `range' like
1901         `Fmap_char_table'.
1902
1903 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1904
1905         * chartab.c (map_over_uint8_byte_table): Change interface of
1906         mapping function to use struct chartab_range instead of Emchar.
1907         (map_over_uint16_byte_table): Likewise.
1908         (map_over_byte_table): Likewise.
1909         (map_char_id_table): Likewise.
1910         (struct slow_map_char_id_table_arg): Deleted.
1911         (slow_map_char_id_table_fun): Deleted.
1912         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1913         function `slow_map_char_table_fun' instead of struct
1914         `slow_map_char_id_table_arg' and function
1915         `slow_map_char_id_table_fun'.
1916
1917 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1918
1919         * mule-charset.c: Move char-it-table related codes to chartab.c.
1920         (Vutf_2000_version): Moved to chartab.c.
1921         (Fdefine_char): Likewise.
1922         (Ffind_char): Likewise.
1923         (syms_of_mule_charset): Move types `uint8-byte-table',
1924         `uint16-byte-table', `byte-table' and `char-id-table' to
1925         chartab.c; move functions `char_attribute_list,
1926         `find_char_attribute_table, `char_attribute_alist,
1927         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1928         `map_char_attribute, `define_char, `find_char, `char_variants and
1929         `get_composite_char to chartab.c; move symbols `=>ucs',
1930         `->decomposition', `compat', `isolated', `initial', `medial',
1931         `final', `vertical', `noBreak', `fraction', `super', `sub',
1932         `circle', `square', `wide', `narrow', `small' and `font' to
1933         chartab.c.
1934         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1935         setting codes for `Vcharacter_composition_table' and
1936         `Vcharacter_variant_table' to chartab.c.
1937         (complex_vars_of_mule_charset): Move setting code for
1938         `Vchar_attribute_hash_table' to chartab.c.
1939
1940         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1941         (make_char_id_table): New prototype.
1942         (put_char_id_table): Likewise.
1943         (Fget_char_attribute): Likewise.
1944
1945         * chartab.c: Move char-id-table related code from mule-charset.c.
1946         (Vutf_2000_version): Moved from mule-charset.c.
1947
1948         * char-ucs.h (Qucs): New external variable.
1949         (put_char_ccs_code_point): New prototype.
1950         (remove_char_ccs): Likewise.
1951
1952 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1953
1954         * mule-charset.c (Vcharset_ucs_jis): New variable.
1955         (Qucs_jis): Likewise.
1956         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1957         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1958
1959         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1960
1961 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1962
1963         * mule-charset.c (map_over_uint8_byte_table): New function.
1964         (map_over_uint16_byte_table): Likewise.
1965         (map_over_byte_table): Likewise.
1966         (map_char_id_table): Likewise.
1967         (slow_map_char_id_table_fun): Likewise.
1968         (Fmap_char_attribute): Likewise.
1969         (syms_of_mule_charset): Add new function `map-char-attribute'.
1970
1971 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1972
1973         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1974         (syms_of_mule_charset): Add new function `find-char'.
1975
1976 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1977
1978         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1979         XEmacs UTF-2000.
1980         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1981         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1982         XEmacs UTF-2000.
1983         (complex_vars_of_mule_charset): Add new coded-charset
1984         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1985         `ideograph-gt-pj-*'.
1986
1987         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1988
1989 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1990
1991         * mule-charset.c (encode_builtin_char_1): Purge codes about
1992         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1993         {MIN|MAX}_CHAR_HEBREW.
1994         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1995         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1996
1997         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1998         (MAX_CHAR_GREEK): Purged.
1999         (MIN_CHAR_CYRILLIC): Purged.
2000         (MAX_CHAR_CYRILLIC): Purged.
2001         (MIN_CHAR_HEBREW): Commented out.
2002         (MAX_CHAR_HEBREW): Likewise.
2003
2004 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2005
2006         * mule-charset.c (Qto_ucs): New variable.
2007         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2008         (Fdefine_char): Likewise.
2009         (syms_of_mule_charset): Add new symbol `=>ucs'.
2010
2011 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2012
2013         * mule-charset.c (Fdecode_char): Fixed.
2014
2015 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2016
2017         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2018         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2019         "tcvn5712-1".
2020
2021 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2022
2023         * mule-charset.c (Vcharset_ucs_big5): New variable.
2024         (Qucs_big5): Likewise.
2025         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2026         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2027
2028         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2029
2030 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2031
2032         * mule-charset.c (decode_builtin_char): Check Big5 code range
2033         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2034
2035 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2036
2037         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2038         (Qchinese_gb12345): Likewise.
2039         (Fdecode_builtin_char): Fixed.
2040         (syms_of_mule_charset): Add `chinese-gb12345'.
2041         (complex_vars_of_mule_charset): Add coded-charset
2042         `chinese-gb12345'.
2043
2044         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2045         (LEADING_BYTE_CHINESE_GB12345): New macro.
2046
2047 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2048
2049         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2050         and `latin-viscii-upper' for `latin-viscii'.
2051
2052 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2053
2054         * mule-charset.c (Fdecode_builtin_char): Comment out
2055         regularization code for ISO-IR GR representation.
2056
2057 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2058
2059         * mule-charset.c (decode_builtin_char): New function; renamed from
2060         `make_builtin_char'; return -1 instead of signal.
2061         (Fdecode_builtin_char): Use `decode_builtin_char'.
2062
2063         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2064         `make_builtin_char'.
2065         (DECODE_CHAR): Use `decode_builtin_char' instead of
2066         `make_builtin_char'; use mapping table of `chinese-big5' for
2067         `chinese-big5-{1,2}'.
2068
2069 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2070
2071         * text-coding.c (char_encode_big5): New function.
2072         (char_finish_big5): Likewise.
2073         (reset_encoding_stream): Use `char_encode_big5' and
2074         `char_finish_big5' for CODESYS_BIG5.
2075         (mule_encode): Don't use `encode_coding_big5'.
2076         (encode_coding_big5): Deleted.
2077
2078 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2079
2080         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2081         0x81- in XEmacs UTF-2000.
2082         (detect_coding_big5): Likewise.
2083
2084 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2085
2086         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2087         generate character-id if the CCS property does not have
2088         corresponding predefined character.
2089         (make_builtin_char): Return -1 if corresponding predefined
2090         character is not found.
2091         (Fdecode_char): Return nil if corresponding character is not
2092         found.
2093         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2094         don't map to builtin ucs space.
2095
2096 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2097
2098         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2099         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2100
2101 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2102
2103         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2104         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2105         (Qideograph_gt): Likewise.
2106         (Qideograph_gt_pj_{1..11}): Likewise.
2107         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2108         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2109         `ideograph-gt-pj-11'.
2110         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2111         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2112         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2113
2114         * char-ucs.h (LEADING_BYTE_GT): New macro.
2115         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2116         (MIN_CHAR_GT): Likewise.
2117         (MAX_CHAR_GT): Likewise.
2118
2119 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2120
2121         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2122         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2123
2124         * doprnt.c (unsigned_int_converters): Add `c'.
2125         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2126
2127         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2128         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2129         `MIN_CHAR_MOJIKYO'.
2130         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2131         (MAX_CHAR_MOJIKYO_0): New macro.
2132         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2133
2134 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2135
2136         * mule-charset.c (Fdefine_char): Delete cemented out code.
2137         (encode_builtin_char_1): Modify for new allocation of builtin
2138         Mojikyo characters.
2139
2140         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2141
2142 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2143
2144         * mule-charset.c (Vcharset_ucs_cns): New variable.
2145         (Qucs_cns): New variable.
2146         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2147         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2148
2149 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2150
2151         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2152
2153 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2154
2155         * search.c (search_buffer): Make `charset_base_code' as
2156         character-id >> 6 to eliminate the corresponding last byte in
2157         UTF-8 representation [I'm not sure it is right thing].
2158         (boyer_moore): Likewise.
2159
2160 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2161
2162         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2163         representation in MULE.
2164
2165 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2166
2167         * text-coding.c (Fmake_coding_system): Use
2168         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2169         `EXTERNAL_PROPERTY_LIST_LOOP'.
2170
2171 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2172
2173         * text-coding.c (decode_output_utf8_partial_char): New function.
2174         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2175
2176 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2177
2178         * text-coding.c (decode_coding_utf8): Output original byte
2179         sequence if it is broken; change order of conditions.
2180
2181         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2182         of conditions.
2183
2184         * mb-multibyte.h (BYTE_ASCII_P):
2185         Use bit ops for char-signedness safety.
2186         (BYTE_C0_P): Use bit ops for char-signedness safety.
2187         (BYTE_C1_P): Use bit ops for char-signedness safety.
2188
2189         * character.h: (XCHAR_OR_CHAR_INT):
2190         Always use inline function.
2191         Remove redundant type checking assert() - XINT will abort quite
2192         nicely.
2193
2194 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2195
2196         * text-coding.c: (Fencode_shift_jis_char):
2197         (Fencode_big5_char):
2198         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2199         Replace 0 with '\0' when working with bytes.
2200         Replace initial "(" with "\(" in docstrings.
2201
2202         (Fmake_coding_system):
2203         When type is ccl and value is vector, register it with a proper
2204         symbol.  And checks whether the given ccl program is valid.
2205         (mule_decode): When calling ccl_driver, if src indicates
2206         NULL pointer, set an empty string instead.
2207         (mule_encode): Likewise.
2208
2209         (detect_eol_type):
2210         (detect_coding_sjis):
2211         (decode_coding_sjis):
2212         (detect_coding_big5):
2213         (decode_coding_big5):
2214         (detect_coding_ucs4):
2215         (decode_coding_ucs4):
2216         (detect_coding_utf8):
2217         (decode_coding_utf8):
2218         (detect_coding_iso2022):
2219         (decode_coding_iso2022):
2220         (decode_coding_no_conversion):
2221         (mule_decode):
2222         Make all detecting and decoding functions take an Extbyte * arg.
2223         (text_encode_generic):
2224         (encode_coding_big5):
2225         (encode_coding_no_conversion):
2226         (mule_encode):
2227         Make all encoding functions take a Bufbyte * arg.
2228         Use size_t instead of unsigned int for memory sizes.
2229         Only cast to unsigned char whenever dereferencing Extbyte *.
2230
2231         (struct lrecord_description fcd_description_1): Use countof.
2232         (complex_vars_of_file_coding):
2233         Use countof instead of sizeof.
2234         Use CHECK_NATNUM instead of CHECK_INT.
2235
2236 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2237
2238         * mule-charset.c (Fget_char_attribute): Add new optional argument
2239         `default-value'.
2240         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
2241         (remove_char_ccs): Likewise.
2242
2243 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2244
2245         * text-coding.c (char_encode_shift_jis): New implementation in
2246         UTF-2000.
2247         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
2248         ...)'.
2249
2250         * mule-charset.c (Vcharset_chinese_big5): New variable in
2251         UTF-2000.
2252         (Qchinese_big5): New variable in UTF-2000.
2253         (BIG5_SAME_ROW): New macro in UTF-2000.
2254         (make_builtin_char): Use builtin characters of
2255         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
2256         characters of `Vcharset_chinese_big5'.
2257         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
2258         (complex_vars_of_mule_charset): Add new coded-charset
2259         `chinese-big5' in UTF-2000.
2260
2261         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
2262         (Vcharset_chinese_big5): New external variable declaration.
2263         (Vcharset_japanese_jisx0208_1990): Likewise.
2264
2265 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2266
2267         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
2268         function.
2269         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
2270
2271 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2272
2273         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
2274         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
2275         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
2276         `mojikyo-pj-*'.
2277
2278 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2279
2280         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
2281
2282 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2283
2284         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2285         to 0.17.
2286
2287 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2288
2289         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
2290         for `CHARSET_BY_ATTRIBUTES'.
2291         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2292         `CHARSET_BY_ATTRIBUTES'.
2293
2294         * text-coding.c (struct decoding_stream): Rename member `CH' to
2295         `CPOS'.
2296         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
2297         (decode_coding_sjis): Likewise.
2298         (decode_coding_big5): Likewise.
2299         (decode_coding_ucs4): Likewise.
2300         (decode_coding_utf8): Likewise.
2301         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2302         `CHARSET_BY_ATTRIBUTES'.
2303         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
2304         `str->counter'; decode 3, 4 bytes sets.
2305         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
2306         sets.
2307         (decode_coding_no_conversion): Use `str->cpos' instead of
2308         `str->ch'.
2309
2310         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
2311         (Qmojikyo_2022_1): New variable.
2312         (make_charset): Don't use `CHARSET_TYPE_*'.
2313         (range_charset_code_point): Support coded-charset
2314         `mojikyo-2022-1'.
2315         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
2316         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
2317         `CHARSET_BY_ATTRIBUTES'.
2318         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
2319         `CHARSET_BY_ATTRIBUTES'.
2320         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
2321         (complex_vars_of_mule_charset): Add new coded-charset
2322         `mojikyo-2022-1'.
2323
2324         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
2325         interface; changed to inline function.
2326
2327         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
2328         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
2329         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
2330         (CHARSET_TYPE_94): Deleted.
2331         (CHARSET_TYPE_94X94): Deleted.
2332         (CHARSET_TYPE_96): Deleted.
2333         (CHARSET_TYPE_96X96): Deleted.
2334         (CHARSET_TYPE_128): Deleted.
2335         (CHARSET_TYPE_128X128): Deleted.
2336         (CHARSET_TYPE_256): Deleted.
2337         (CHARSET_TYPE_256X256): Deleted.
2338         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
2339         to inline function.
2340         (DECODE_MOJIKYO_2022): New inline function.
2341         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
2342         `Vcharset_mojikyo_2022_1'.
2343
2344 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2345
2346         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
2347         instead of `EQ'.
2348         (put_byte_table): Likewise.
2349         (char_id_table_equal): Use `get_byte_table' [new implementation].
2350
2351 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2352
2353         * mule-charset.c: Include <limits.h> in UTF-2000.
2354         (BT_UINT8_MIN): New macro in UTF-2000.
2355         (BT_UINT8_MAX): New macro in UTF-2000.
2356         (BT_UINT8_t): New macro in UTF-2000.
2357         (BT_UINT8_nil): New macro in UTF-2000.
2358         (BT_UINT8_unbound): New macro in UTF-2000.
2359         (INT_UINT8_P): New inline function in UTF-2000.
2360         (UINT8_VALUE_P): New inline function in UTF-2000.
2361         (UINT8_ENCODE): New inline function in UTF-2000.
2362         (UINT8_DECODE): New inline function in UTF-2000.
2363         (mark_uint8_byte_table): New function in UTF-2000.
2364         (print_uint8_byte_table): New function in UTF-2000.
2365         (uint8_byte_table_equal): New function in UTF-2000.
2366         (uint8_byte_table_hash): New function in UTF-2000.
2367         (make_uint8_byte_table): New function in UTF-2000.
2368         (uint8_byte_table_same_value_p): New function in UTF-2000.
2369         (BT_UINT16_MIN): New macro in UTF-2000.
2370         (BT_UINT16_MAX): New macro in UTF-2000.
2371         (BT_UINT16_t): New macro in UTF-2000.
2372         (BT_UINT16_nil): New macro in UTF-2000.
2373         (BT_UINT16_unbound): New macro in UTF-2000.
2374         (INT_UINT16_P): New inline function in UTF-2000.
2375         (UINT16_VALUE_P): New inline function in UTF-2000.
2376         (UINT16_ENCODE): New inline function in UTF-2000.
2377         (UINT16_DECODE): New inline function in UTF-2000.
2378         (UINT8_TO_UINT16): New inline function in UTF-2000.
2379         (mark_uint16_byte_table): New function in UTF-2000.
2380         (print_uint16_byte_table): New function in UTF-2000.
2381         (uint16_byte_table_equal): New function in UTF-2000.
2382         (uint16_byte_table_hash): New function in UTF-2000.
2383         (make_uint16_byte_table): New function in UTF-2000.
2384         (uint16_byte_table_same_value_p): New function in UTF-2000.
2385         (print_byte_table): New function in UTF-2000.
2386         (byte-table): Use `print_byte_table' as printer.
2387         (make_byte_table): Delete second argument `older'.
2388         (byte_table_same_value_p): New function in UTF-2000.
2389         (copy_byte_table): Deleted.
2390         (get_byte_table): New function in UTF-2000.
2391         (put_byte_table): New function in UTF-2000.
2392         (print_char_id_table): New function in UTF-2000.
2393         (char-id-table): Use `print_char_id_table' as printer.
2394         (make_char_id_table): Delete second argument `older'.
2395         (get_char_id_table): Use `get_byte_table [new implementation].
2396         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
2397         implementation].
2398         (Ffind_char_attribute_table): New function in UTF-2000.
2399         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2400         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
2401         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
2402         (syms_of_mule_charset): Add new function
2403         `find-char-attribute-table' in UTF-2000.
2404
2405         * lrecord.h (enum lrecord_type): Add
2406         `lrecord_type_uint16_byte_table' and
2407         `lrecord_type_uint8_byte_table'.
2408
2409         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
2410         (Lisp_Uint8_Byte_Table): New type.
2411         (XUINT8_BYTE_TABLE): New macro.
2412         (XSETUINT8_BYTE_TABLE): New macro.
2413         (UINT8_BYTE_TABLE_P): New macro.
2414         (GC_UINT8_BYTE_TABLE_P): New macro.
2415         (struct Lisp_Uint16_Byte_Table): New structure.
2416         (Lisp_Uint16_Byte_Table): New type.
2417         (XUINT16_BYTE_TABLE): New macro.
2418         (XSETUINT16_BYTE_TABLE): New macro.
2419         (UINT16_BYTE_TABLE_P): New macro.
2420         (GC_UINT16_BYTE_TABLE_P): New macro.
2421
2422 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2423
2424         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
2425         (Vcharacter_ideographic_strokes_table): Deleted.
2426         (Vcharacter_total_strokes_table): Deleted.
2427         (Vcharacter_morohashi_daikanwa_table): Deleted.
2428         (Vcharacter_decomposition_table): Deleted.
2429         (Qname): Deleted because it is duplicated.
2430         (Qideographic_radical): Deleted.
2431         (Qideographic_strokes): Deleted.
2432         (Qtotal_strokes): Deleted.
2433         (Qmorohashi_daikanwa): Deleted.
2434         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
2435         `ideographic-radical', `ideographic-strokes', `total-strokes',
2436         `morohashi-daikanwa' and `->decomposition'.
2437         (Fget_char_attribute): Likewise.
2438         (Fput_char_attribute): Likewise; use `make-vector' instead of
2439         `make_older_vector' for `->decomposition' value.
2440         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
2441         `ideograph-daikanwa'.
2442         (syms_of_mule_charset): Delete builtin symbols `name',
2443         `ideographic-radical', `ideographic-strokes', `total-strokes' and
2444         `morohashi-daikanwa'.
2445         (vars_of_mule_charset): Don't setup
2446         `Vcharacter_ideographic_radical_table',
2447         `Vcharacter_ideographic_strokes_table',
2448         `Vcharacter_total_strokes_table',
2449         `Vcharacter_morohashi_daikanwa_table' and
2450         `Vcharacter_decomposition_table'.
2451
2452 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2453
2454         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2455         `make_older_vector', `make_vector_newer_1' and
2456         `make_vector_newer'.
2457
2458         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2459         `make_older_vector' and `make_vector_newer'.
2460
2461         * config.h.in (HAVE_GGC): New macro.
2462
2463 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2464
2465         * mule-charset.c (struct char_attribute_list_closure): New
2466         structure in UTF-2000.
2467         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2468         (Fchar_attribute_list): Likewise.
2469         (Fset_charset_mapping_table): Use `make_vector_newer'.
2470         (Fdecode_builtin_char): New function in UTF-2000.
2471         (syms_of_mule_charset): Add new function `char-attribute-list' and
2472         `decode-builtin-char' in UTF-2000.
2473
2474         * lisp.h (make_vector_newer): New prototype.
2475
2476         * alloc.c (make_vector_newer_1): New function.
2477         (make_vector_newer): New function.
2478
2479 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2480
2481         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2482         50100)'.
2483
2484 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2485
2486         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2487         (Vcharacter_attribute_table): Deleted.
2488         (Vcharacter_name_table): Deleted.
2489         (put_char_attribute): Deleted.
2490         (remove_char_attribute): Deleted.
2491         (struct char_attribute_alist_closure): New structure.
2492         (add_char_attribute_alist_mapper): New function.
2493         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2494         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2495         (Fget_char_attribute): Likewise.
2496         (Fput_char_attribute): Likewise.
2497         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2498         of `remove_char_attribute'.
2499         (Fdefine_char): Return character.
2500         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2501         and `Vcharacter_name_table'.
2502         (complex_vars_of_mule_charset): Likewise
2503         `Vchar_attribute_hash_table'.
2504
2505 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2506
2507         * character.h (CHARC_CHARSET): New macro.
2508         (CHARC_CHARSET_ID): New macro.
2509         (CHARC_CODE_POINT): New macro.
2510         (CHARC_COLUMNS): New macro.
2511         (CHARC_TO_CHAR): New inline function.
2512         (CHARC_EQ): New inline function.
2513         (CHARC_ASCII_EQ): New inline function.
2514         (CHARC_IS_SPACE): New inline function.
2515         (ASCII_TO_CHARC): New inline function.
2516
2517         * char-ucs.h (encode_char_2): Deleted.
2518         (ENCODE_CHAR): Use `encode_char_1' again.
2519         (breakup_char_1): Likewise.
2520         (CHAR_TO_CHARC): New inline function.
2521
2522         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
2523
2524 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2525
2526         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
2527         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
2528         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
2529         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
2530         (create_string_text_block): Use `CHARC_ASCII_EQ' and
2531         `CHARC_IS_SPACE'.
2532         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
2533
2534         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
2535         `CHARC_CODE_POINT'.
2536         (x_output_display_block): Use `CHARC_CHARSET' and
2537         `CHARC_ASCII_EQ'.
2538
2539         * redisplay-tty.c (tty_output_display_block): Use
2540         `CHARC_ASCII_EQ'.
2541         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
2542
2543         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
2544
2545         * insdel.c (find_charsets_in_charc_string): Use
2546         `CHARC_CHARSET_ID'.
2547         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
2548         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
2549         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
2550         (convert_charc_string_into_malloced_string): Likewise.
2551
2552 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2553
2554         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
2555         instead of <Emchar_dynarr *> for buf; use
2556         `convert_bufbyte_string_into_charc_dynarr' instead of
2557         `convert_bufbyte_string_into_emchar_dynarr'; use
2558         `find_charsets_in_charc_string' instead of
2559         `find_charsets_in_emchar_string'.
2560
2561         * redisplay.h:
2562         - Include "character.h".
2563         (struct rune): New member `cglyph'; delete member `chr'.
2564
2565         * redisplay.c (redisplay_text_width_charc_string): New function;
2566         delete `redisplay_text_width_emchar_string'.
2567         (rtw_charc_dynarr): New variable; renamed from
2568         `rtw_emchar_dynarr'.
2569         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
2570         `rtw_emchar_dynarr'; use
2571         `convert_bufbyte_string_into_charc_dynarr' instead of
2572         `convert_bufbyte_string_into_emchar_dynarr'; use
2573         `redisplay_text_width_charc_string' instead of
2574         `redisplay_text_width_emchar_string'.
2575         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
2576         instead of `rtw_emchar_dynarr'; use
2577         `convert_bufbyte_string_into_charc_dynarr' instead of
2578         `convert_bufbyte_string_into_emchar_dynarr'.
2579         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
2580         `redisplay_text_width_charc_string' instead of
2581         `redisplay_text_width_emchar_string'.
2582         (create_text_block): Modify for <struct rune> change.
2583         (generate_formatted_string_db): Likewise.
2584         (create_string_text_block): Likewise.
2585         (pixel_to_glyph_translation): Likewise.
2586
2587         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
2588         instead of <const Emchar *>.
2589         (x_text_width): Likewise.
2590         (x_output_display_block): Use <Charc_dynarr *> instead
2591         <Emchar_dynarr *>; modify for <structure rune> change.
2592         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
2593         *>.
2594
2595         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
2596         <const Emchar *>; use `charc_string_displayed_columns' instead of
2597         `emchar_string_displayed_columns'.
2598         (tty_output_display_block): Use <Charc_dynarr *> instead of
2599         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
2600         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
2601         (tty_output_charc_dynarr_dynarr): New variable; renamed from
2602         `tty_output_emchar_dynarr_dynarr'.
2603         (tty_output_charc_dynarr): New function; delete
2604         `tty_output_charc_dynarr'.
2605
2606         * redisplay-output.c (compare_runes): Modify for `struct rune'.
2607         (redisplay_output_layout): Use <Charc_dynarr *> instead of
2608         <Emchar_dynarr *> for buf; use
2609         `convert_bufbyte_string_into_charc_dynarr' instead of
2610         `convert_bufbyte_string_into_emchar_dynarr'.
2611
2612         * frame.c (title_string_charc_dynarr): New variable; renamed from
2613         `title_string_emchar_dynarr'.
2614         (generate_title_string): Use `title_string_charc_dynarr' instead
2615         of `title_string_emchar_dynarr'; use
2616         `convert_charc_string_into_malloced_string' instead of
2617         `convert_emchar_string_into_malloced_string'.
2618         (init_frame): Use `title_string_charc_dynarr' instead of
2619         `title_string_emchar_dynarr'.
2620
2621         * console.h:
2622         - Include "character.h".
2623         (struct console_methods): Use <const Charc *> instead of <const
2624         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
2625         <Emchar_dynarr *> in output_string_method.
2626
2627         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
2628         <Emchar_dynarr *>.
2629
2630         * console-stream.c (stream_text_width): Use <const Charc *>
2631         instead of <const Emchar *>.
2632
2633         * character.h (Charc_dynarr): New type.
2634
2635         * char-ucs.h (structure Charc): New structure; define new type
2636         `Charc'.
2637
2638         * char-lb.h (DECODE_CHAR): New inline function.
2639         (encode_char_1): New inline function.
2640         (ENCODE_CHAR): New macro.
2641         (structure Charc): New structure; define new type `Charc'.
2642
2643         * char-1byte.h (Vcharset_control_1): New macro.
2644         (Vcharset_latin_iso8859_1): New macro.
2645         (DECODE_CHAR): New inline function.
2646         (encode_char_1): New inline function.
2647         (ENCODE_CHAR): New macro.
2648         (structure Charc): New structure; define new type `Charc'.
2649
2650         * insdel.c (find_charsets_in_charc_string): New function; delete
2651         `find_charsets_in_emchar_string'.
2652         (charc_string_displayed_columns): New function; delete
2653         `emchar_string_displayed_columns'.
2654         (convert_bufbyte_string_into_charc_dynarr): New function; delete
2655         `convert_bufbyte_string_into_emchar_dynarr'.
2656         (convert_charc_string_into_bufbyte_dynarr): New function; delete
2657         `convert_charc_string_into_bufbyte_dynarr'.
2658         (convert_charc_string_into_malloced_string): New function; delete
2659         `convert_charc_string_into_malloced_string'.
2660
2661         * buffer.h (find_charsets_in_charc_string): New prototype; delete
2662         `find_charsets_in_emchar_string'.
2663         (charc_string_displayed_columns): New prototype; delete
2664         `emchar_string_displayed_columns'.
2665         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
2666         `convert_charc_string_into_bufbyte_dynarr'.
2667         (convert_charc_string_into_malloced_string): New prototype; delete
2668         `convert_charc_string_into_malloced_string'.
2669
2670 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2671
2672         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
2673
2674 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2675
2676         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
2677
2678         * char-ucs.h: Use <short> for <Charset_ID>.
2679
2680         * mule-charset.h, char-1byte.h: Use <unsigned char> for
2681         <Charset_ID>.
2682
2683 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2684
2685         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2686         to 0.16.
2687
2688 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2689
2690         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
2691         variable.
2692         (Qmorohashi_daikanwa): New variable.
2693         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
2694         for `morohashi-daikanwa' attribute.
2695         (Fget_char_attribute): Likewise.
2696         (Fput_char_attribute): Likewise.
2697         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
2698         has the same value of `ideograph-daikanwa'.
2699         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
2700         (vars_of_mule_charset): Setup
2701         `Vcharacter_morohashi_daikanwa_table'.
2702
2703 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2704
2705         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
2706         attributes.
2707         (add_charset_to_list_mapper): Add `key' instead of
2708         `XCHARSET_NAME (value)' to return aliases.
2709
2710 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2711
2712         * mule-charset.c (Vcharacter_ideographic_radical_table): New
2713         variable.
2714         (Vcharacter_ideographic_strokes_table): New variable.
2715         (Qideographic_radical): New variable.
2716         (Qideographic_strokes): New variable.
2717         (Fchar_attribute_alist): Use
2718         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
2719         attribute; use `Vcharacter_ideographic_strokes_table' for
2720         `ideographic-strokes' attribute.
2721         (Fget_char_attribute): Likewise.
2722         (Fput_char_attribute): Likewise.
2723         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
2724         `ideographic-strokes'.
2725         (vars_of_mule_charset): Setup
2726         `Vcharacter_ideographic_radical_table' and
2727         `Vcharacter_ideographic_strokes_table'.
2728
2729 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2730
2731         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
2732         (Qtotal_strokes): New variable.
2733         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
2734         `total-strokes' attribute.
2735         (Fget_char_attribute): Likewise.
2736         (Fput_char_attribute): Likewise.
2737         (syms_of_mule_charset): Add new symbol `total-strokes'.
2738         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
2739
2740 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2741
2742         * mule-charset.c (Vcharacter_decomposition_table): New variable.
2743         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
2744         are found.
2745         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
2746         `->decomposition' attribute.
2747         (Fput_char_attribute): Likewise.
2748         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
2749
2750 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2751
2752         * mule-charset.c (decoding_table_check_elements): New function.
2753         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
2754
2755 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2756
2757         * mule-charset.c (Fset_charset_mapping_table): Use
2758         `put_char_ccs_code_point'.
2759
2760 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2761
2762         * mule-charset.c (decoding_table_put_char): New inline function.
2763         (put_char_ccs_code_point): Use `decoding_table_put_char'.
2764
2765 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2766
2767         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
2768         (XCHARSET_BYTE_SIZE): New macro.
2769         (decoding_table_remove_char): New inline function.
2770         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
2771         `decoding_table_remove_char'.
2772         (remove_char_ccs): Use `decoding_table_remove_char'.
2773         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
2774
2775 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2776
2777         * mule-charset.c (Vcharacter_name_table): New variable.
2778         (Qname): New variable.
2779         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
2780         attribute.
2781         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
2782         `Vcharacter_name_table' for `name' attribute.
2783         (Fremove_char_attribute): Use function `remove_char_ccs'.
2784         (put_char_ccs_code_point): New function.
2785         (remove_char_ccs): New function.
2786         (syms_of_mule_charset): Add new symbol `name'.
2787         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
2788
2789 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2790
2791         * mule-charset.c (make_byte_table): Add new argument `older'.
2792         (make_char_id_table): Likewise.
2793         (copy_char_id_table): Comment out because it is not used.
2794         (put_char_id_table): Modify for `make_byte_table'.
2795         (Fput_char_attribute): Make encoding_table as older object;
2796         inherit older bit of `Vcharacter_composition_table'.
2797         (mark_charset): Don't mark `cs->encoding_table'.
2798         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
2799         normal object; make `Vcharacter_composition_table' as an older
2800         object; delete staticpro for `Vcharacter_composition_table'; make
2801         `Vcharacter_variant_table' as a normal object.
2802
2803         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
2804         (mark_object): Don't check older object in UTF-2000.
2805
2806         * lrecord.h (struct lrecord_header): Add new member `older' in
2807         UTF-2000.
2808         (set_lheader_implementation): Setup `SLI_header->older' in
2809         UTF-2000.
2810         (set_lheader_older_implementation): New macro in UTF-2000.
2811         (OLDER_RECORD_P): New macro in UTF-2000.
2812         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
2813         (alloc_older_lcrecord): New prototype in UTF-2000.
2814         (alloc_older_lcrecord_type): New macro in UTF-2000.
2815
2816 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2817
2818         * mule-charset.c (byte_table_description): Use
2819         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
2820         (char_id_table_description): Delete bogus `, 1'.
2821         (Fget_char_attribute): Refer encoding_table of each coded-charset
2822         to get value of coded-charset attribute of a character.
2823         (Fput_char_attribute): Use `make_older_vector' instead of
2824         `make_vector'; use encoding_table of each coded-charset to store
2825         value of coded-charset attribute of a character.
2826         (Fremove_char_attribute): Use encoding_table of each coded-charset
2827         to store value of coded-charset attribute of a character.
2828         (mark_charset): Mark `cs->encoding_table'; don't mark
2829         `cs->decoding_table'.
2830         (charset_description): Add description of new member
2831         `encoding_table'.
2832         (make_charset): Initialize `encoding_table'.
2833
2834         * char-ucs.h (struct Lisp_Charset): Add new member
2835         `encoding_table'.
2836         (CHARSET_ENCODING_TABLE): New macro.
2837         (XCHARSET_ENCODING_TABLE): New macro.
2838         (charset_code_point): New implementation.
2839         (encode_char_1): Likewise.
2840
2841         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
2842         (disksave_object_finalization_1): Call finalizers of
2843         `all_older_lcrecords' in UTF-2000.
2844         (make_older_vector): New function in UTF-2000.
2845         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
2846         UTF-2000.
2847
2848         * lisp.h (make_older_vector): New prototype in UTF-2000.
2849
2850 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2851
2852         * lrecord.h (enum lrecord_type): Rename
2853         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2854
2855         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2856         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2857         `get_char_code_table'.
2858
2859         * mule-charset.c (mark_char_id_table): Renamed from
2860         `mark_char_code_table'.
2861         (char_id_table_equal): Renamed from `char_code_table_equal'.
2862         (char_id_table_hash): Renamed from `char_code_table_hash'.
2863         (make_char_id_table): Renamed from `make_char_code_table'.
2864         (copy_char_id_table): Renamed from `copy_char_code_table'.
2865         (get_char_id_table): Renamed from `get_char_code_table'.
2866         (put_char_id_table): Renamed from `put_char_code_table'.
2867         (to_char_id): Renamed from `to_char_code'.
2868
2869         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2870         `Lisp_Char_Code_Table'.
2871         (char_id_table): Renamed from `char_code_table'.
2872         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2873         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2874         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2875         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2876         (get_char_id_table): Renamed from `get_char_code_table'.
2877
2878 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2879
2880         * lrecord.h (enum lrecord_type): Rename
2881         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2882
2883         * mule-charset.c (mark_byte_table): Renamed from
2884         `mark_char_byte_table'.
2885         (byte_table_equal): Renamed from `char_byte_table_equal'.
2886         (byte_table_hash): Renamed from `byte_table_hash'.
2887         (make_byte_table): Renamed from `make_byte_table'.
2888         (copy_byte_table): Renamed from `copy_char_byte_table'.
2889
2890         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2891         `Lisp_Char_Byte_Table'.
2892         (byte_table): Renamed from `char_byte_table'.
2893         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2894         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2895         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2896         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2897
2898 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2899
2900         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2901         (dfc_convert_to_internal_format): Likewise.
2902         
2903         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2904         * text-coding.c (Fcoding_system_alias_p): New function.
2905         * text-coding.c (Fcoding_system_aliasee): New function.
2906         * text-coding.c (append_suffix_to_symbol): New function.
2907         * text-coding.c (dangling_coding_system_alias_p): New function.
2908         * text-coding.c (Ffind_coding_system):
2909         * text-coding.c (Fcopy_coding_system):
2910         * text-coding.c (encode_coding_no_conversion):
2911         * text-coding.c (syms_of_file_coding):
2912         * text-coding.c (vars_of_file_coding):
2913         Rewrite coding system alias code.
2914         Allow nested aliases, like symbolic links.
2915         Allow redefinition of coding system aliases.
2916         Prevent existence of dangling coding system aliases.
2917         Eliminate convert_to_external_format.
2918         Eliminate convert_to_internal_format.
2919         
2920         * text-coding.c: Change enum eol_type to eol_type_t.
2921
2922 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2923
2924         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2925         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2926
2927         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2928         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2929
2930 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2931
2932         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2933         `ideograph-daikanwa'.
2934
2935         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2936         (Vcharset_ucs_bmp): Likewise.
2937         (Vcharset_mojikyo): Add new extern variable definition.
2938         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2939         (Vcharset_latin_iso8859_3): Likewise.
2940         (Vcharset_latin_iso8859_4): Likewise.
2941         (Vcharset_latin_iso8859_9): Likewise.
2942         (Vcharset_latin_viscii_lower): Likewise.
2943         (Vcharset_latin_viscii_upper): Likewise.
2944         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2945         `mojikyo' code-point is used to decode.
2946         (encode_char_2): New function [to convert `mojikyo' code-point to
2947         Mojikyo font encoding].
2948         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2949         (breakup_char_1): Likewise.
2950         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2951
2952 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2953
2954         * text-coding.c (Fmake_coding_system): Add document about
2955         `disable-composition' property.
2956
2957 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2958
2959         * text-coding.c (Qdisable_composition): New variable; delete
2960         `Qcomposite'.
2961         (Fmake_coding_system): Add new property `disable-composite';
2962         delete property `composite'.
2963         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2964         instead of `!CODING_SYSTEM_COMPOSITE'.
2965         (syms_of_file_coding): Add new symbol `disable-composition';
2966         delete symbol `composite'.
2967
2968         * file-coding.h (struct Lisp_Coding_System): Add
2969         `disable_composition'; delete `enable_composition'.
2970         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2971         `CODING_SYSTEM_COMPOSITE'.
2972         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2973         `XCODING_SYSTEM_COMPOSITE'.
2974
2975 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2976
2977         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2978         to 0.15.
2979
2980 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2981
2982         * text-coding.c (Qcomposite): New variable.
2983         (Fmake_coding_system): Add new property `composite'.
2984         (struct decoding_stream): Add `combined_char_count',
2985         `combined_chars' and `combining_table' in UTF-2000.
2986         (COMPOSE_FLUSH_CHARS): New macro.
2987         (COMPOSE_ADD_CHAR): New macro.
2988         (reset_decoding_stream): Reset `str->combined_char_count' and
2989         `str->combining_table' in UTF-2000.
2990         (decode_coding_iso2022): Modify for character-decomposition.
2991         (syms_of_file_coding): Add new symbol `composite'.
2992
2993 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2994
2995         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2996         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2997         of `Vcharacter_composition_table' if `->decomposition' property
2998         has only 1 element.
2999         (Qlatin_tcvn5712): New variable.
3000         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3001         (complex_vars_of_mule_charset): Add new coded-charset
3002         `latin-tcvn5712'.
3003
3004         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3005
3006 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3007
3008         * file-coding.h (struct Lisp_Coding_System): Add
3009         `enable_composition'.
3010         (CODING_SYSTEM_COMPOSITE): New macro.
3011         (XCODING_SYSTEM_COMPOSITE): New macro.
3012
3013 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3014
3015         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3016
3017 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3018
3019         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3020         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3021
3022 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3023
3024         * mule-charset.c (Vcharset_mojikyo): New variable.
3025         (Fdefine_char): Don't use coded-charset which does not have
3026         non-builtin character range to allocate character-id.
3027         (Qmojikyo): New variable.
3028         (syms_of_mule_charset): Add new symbol `mojikyo'.
3029         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3030
3031         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3032         (LEADING_BYTE_MOJIKYO): New macro.
3033         (MIN_CHAR_MOJIKYO): New macro.
3034         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3035         (MAX_CHAR_MOJIKYO): New macro.
3036
3037 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3038
3039         * mule-charset.c (remove_char_attribute): Fixed.
3040
3041 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3042
3043         * mule-charset.c (remove_char_attribute): New function.
3044         (Fremove_char_attribute): New function.
3045         (encode_builtin_char_1): Comment out builtin-support for
3046         greek-iso8859-7 and cyrillic-iso8859-5.
3047         (Fdecode_char): Check `code' is an integer.
3048         (syms_of_mule_charset): Add `remove-char-attribute'.
3049         (MIN_CHAR_GREEK): Deleted.
3050         (MAX_CHAR_GREEK): Likewise.
3051         (MIN_CHAR_CYRILLIC): Likewise.
3052         (MAX_CHAR_CYRILLIC): Likewise.
3053         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3054         MAX_CHAR_GREEK for `greek-iso8859-7'.
3055
3056         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3057         (MAX_CHAR_GREEK): Likewise.
3058         (MIN_CHAR_CYRILLIC): Likewise.
3059         (MAX_CHAR_CYRILLIC): Likewise.
3060
3061 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3062
3063         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3064         format is used without `ucs' property.
3065         (Fdecode_char): Fix problem with GR representation.
3066         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3067         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3068
3069 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3070
3071         * mule-charset.c (make_builtin_char): New function.
3072         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3073         (Fset_charset_mapping_table): Modify for new representation of
3074         code-point.
3075         (Fdecode_char): New function.
3076         (syms_of_mule_charset): Add new builtin function `decode-char' in
3077         UTF-2000.
3078
3079         * char-ucs.h (make_builtin_char): New prototype.
3080         (DECODE_CHAR): New inline function.
3081         (MAKE_CHAR): Use `DECODE_CHAR'.
3082
3083 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3084
3085         * text-coding.c (parse_charset_conversion_specs): Use
3086         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3087         `XCHARSET_TYPE'.
3088         (iso2022_designate): Likewise.
3089
3090         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3091         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3092
3093         * mule-charset.c (Vcharset_ucs): New variable.
3094         (print_charset): Change design; use `CHARSET_CHARS' and
3095         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3096         (make_charset): Change signature to specify `chars' and
3097         `dimension' instead of `type'.
3098         (range_charset_code_point): Modify for 256^n-set.
3099         (encode_builtin_char_1): Encode as `ucs' in default.
3100         (Fmake_charset): Modify for `make_charset'.
3101         (Fmake_reverse_direction_charset): Likewise.
3102         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3103         UTF-2000.
3104         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3105         for `make_charset'.
3106
3107         * char-ucs.h (Vcharset_ucs): New variable.
3108         (LEADING_BYTE_UCS): New macro.
3109         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3110         and `chars' to `unsigned short' from `unsigned int'.
3111         (CHARSET_TYPE): Deleted.
3112         (XCHARSET_TYPE): Deleted.
3113
3114 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3115
3116         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3117
3118         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3119         (ENCODE_CHAR): New macro.
3120
3121 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3122
3123         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3124         to 0.14 (Kawachi-Katakami).
3125
3126 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3127
3128         * text-coding.c (char_encode_shift_jis): Modify for
3129         `charset_code_point'.
3130         (char_encode_iso2022): Likewise.
3131
3132         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3133         (integer) instead of list of <Lisp_Object>s (integers) as the
3134         format of code-point of a coded-charset.
3135         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3136         (encode_builtin_char_1): New function; delete
3137         `split_builtin_char'.
3138         (charset_code_point): Return <int> instead of <Lisp_Object>.
3139         (Fsplit_char): Don't use `SPLIT_CHAR'.
3140
3141         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3142         prototype for `split_builtin_char'.
3143         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3144         (charset_code_point): Likewise.
3145         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3146         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3147
3148 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3149
3150         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3151         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3152
3153 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3154
3155         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3156
3157         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3158         (MAX_CHAR_OBS_94x94): Deleted.
3159
3160 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3161
3162         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3163
3164         * char-ucs.h (MAX_CHAR_BMP): New macro.
3165
3166 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3167
3168         * text-coding.c: Sync with r21-2-24.
3169
3170 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3171
3172         * file-coding.c: Modify for UTF-2000.
3173
3174 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3175
3176         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3177         to 0.13 (Takaida).
3178
3179 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3180
3181         * mule-charset.c (split_builtin_char): Delete builtin support for
3182         `katakana-jisx0201'.
3183         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3184         BMP area in builtin representation.
3185
3186         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3187         `Vcharset_katakana_jisx0201'.
3188
3189 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3190
3191         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3192         (Qisolated): New variable.
3193         (Qinitial): New variable.
3194         (Qmedial): New variable.
3195         (Qfinal): New variable.
3196         (Qvertical): New variable.
3197         (Qsmall): New variable.
3198         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3199         `Qvertical' and `Qsmall'.
3200         (Qmojikyo_pj_[1 .. 21]): New variable.
3201         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3202         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3203         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3204         .. 21]'.
3205
3206 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3207
3208         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3209         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3210         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3211
3212 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3213
3214         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3215         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3216         BMP.
3217         (Qjapanese_jisx0208_1990): New variable.
3218         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3219         (complex_vars_of_mule_charset): Add new coded-charset
3220         `japanese-jisx0208-1990'.
3221
3222         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3223         (MIN_CHAR_JIS_X0208_1990): New macro.
3224         (MAX_CHAR_JIS_X0208_1990): New macro.
3225
3226 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3227
3228         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3229         coded-charset is not found.
3230
3231 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3232
3233         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3234         (Fdefine_char): Use `Fmake_char'.
3235
3236 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3237
3238         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
3239         (Vcharset_hiragana_jisx0208): Deleted.
3240         (Vcharset_katakana_jisx0208): Deleted.
3241         (Qideograph_daikanwa): New variable.
3242         (Qhiragana_jisx0208): Deleted.
3243         (Qkatakana_jisx0208): Deleted.
3244         (split_builtin_char): Split `ideograph-daikanwa'.
3245         (Fsplit_char): New implementation for UTF-2000.
3246         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
3247         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
3248         (complex_vars_of_mule_charset): Add new coded-charset
3249         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
3250         `katakana-jisx0208'.
3251
3252         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3253         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3254         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3255         (MIN_CHAR_DAIKANWA): New macro.
3256         (MAX_CHAR_DAIKANWA): New macro.
3257
3258 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3259
3260         * data.c (Fstring_to_number): Don't recognize floating point if
3261         base is not 10.
3262
3263 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3264
3265         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
3266
3267 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3268
3269         * mule-charset.c (Qsquare): New variable.
3270         (to_char_code): Add `Qsquare'.
3271         (syms_of_mule_charset): Add new symbol `square'.
3272
3273 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3274
3275         * mule-charset.c (Qcircle): New variable.
3276         (to_char_code): Add `Qcircle'.
3277         (syms_of_mule_charset): Add new symbol `circle'.
3278
3279 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3280
3281         * mule-charset.c (Qfont): New variable.
3282         (to_char_code): Add `Qfont'.
3283         (syms_of_mule_charset): Add new symbol `font'.
3284
3285 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3286
3287         * mule-charset.c (Qsub): New variable.
3288         (to_char_code): Add `Qsub'.
3289         (syms_of_mule_charset): Add new symbol `sub'.
3290
3291 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3292
3293         * mule-charset.c (Fput_char_attribute): Convert each element of
3294         VALUE to GL position if ATTRIBUTE is a GR-set,
3295
3296 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3297
3298         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
3299         coded-charset is a GR-set.
3300
3301 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3302
3303         * mule-charset.c (Fput_char_attribute): Check each element of
3304         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
3305
3306 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3307
3308         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
3309         UTF-2000.
3310         (Qethiopic_ucs): New variable in UTF-2000.
3311         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
3312         (complex_vars_of_mule_charset): Add new coded-charset
3313         `ethiopic-ucs' in UTF-2000.
3314
3315         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
3316         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3317         9)'.
3318         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3319         10)'.
3320         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
3321
3322 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3323
3324         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
3325         `ascii'.
3326
3327 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3328
3329         * mule-charset.c (Vcharacter_variant_table): New variable.
3330         (Q_ucs): New variable.
3331         (Fchar_variants): New function.
3332         (Fput_char_attribute): Register `->ucs' value to
3333         `Vcharacter_variant_table'.
3334         (syms_of_mule_charset): Add new function `char-variants' and new
3335         symbol `->ucs'.
3336         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
3337
3338 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3339
3340         * mule-charset.c (get_char_code_table): Allow negative character
3341         code.
3342         (put_char_code_table): Likewise.
3343         (Vcharacter_composition_table): New variable.
3344         (Q_decomposition): New variable.
3345         (Qwide): New variable.
3346         (Qnarrow): New variable.
3347         (Qcompat): New variable.
3348         (QnoBreak): New variable.
3349         (Qsuper): New variable.
3350         (Qfraction): New variable.
3351         (to_char_code): New function.
3352         (Fget_composite_char): New function.
3353         (Fput_char_attribute): Register `->decomposition' value to
3354         `Vcharacter_composition_table'.
3355         (syms_of_mule_charset): Add new function `get-composite-char', new
3356         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
3357         `super' and `fraction'.
3358         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
3359
3360 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3361
3362         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
3363         character; copy the return value.
3364
3365 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3366
3367         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
3368
3369         * mule-charset.c (range_charset_code_point): Must use make_int.
3370         (split_builtin_char): New function.
3371
3372 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3373
3374         * mule-charset.c (char_byte_table): Change name from
3375         "char-code-table" to "char-byte-table".
3376         (mark_char_code_table): New function.
3377         (char_code_table_equal): New function.
3378         (char_code_table_hash): New function.
3379         (char_code_table_description): New constant.
3380         (char_code_table): New type.
3381         (make_char_code_table): New function.
3382         (copy_char_code_table): New function.
3383         (get_char_code_table): Modify for `char_code_table' type.
3384         (put_char_code_table): Likewise.
3385         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
3386         (Kashiwara).
3387
3388         * char-ucs.h (char_code_table): New type.
3389         (XCHAR_CODE_TABLE): New macro.
3390         (XSETCHAR_CODE_TABLE): New macro.
3391         (CHAR_CODE_TABLE_P): New macro.
3392         (GC_CHAR_CODE_TABLE_P): New macro.
3393         (struct Lisp_Char_Code_Table): New structure.
3394
3395 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3396
3397         * mule-charset.c (Fmake_charset): Setup byte_offset for
3398         {94|96}^n-set.
3399
3400 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3401
3402         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
3403         character.
3404
3405 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3406
3407         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
3408         is found.
3409
3410 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3411
3412         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
3413         charset, it is regarded as a charset.
3414         (put_char_attribute): New function in UTF-2000.
3415         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
3416         charset, mapping-table of the charset is modified.
3417         (Fdefine_char): New function in UTF-2000.
3418         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
3419         `Fput_char_attribute'.
3420         (syms_of_mule_charset): Add new function `define-char' and new
3421         symbol `ucs' in UTF-2000.
3422         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
3423
3424 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3425
3426         * mule-charset.c (Fcharset_name): Define `byte_offset' in
3427         non-UTF-2000 configuration.
3428
3429 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3430
3431         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
3432         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
3433
3434         * mule-charset.c (mark_charset): `cs->encoding_table' has been
3435         deleted.
3436         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
3437         (Fset_charset_mapping_table): Likewise.
3438
3439         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
3440         (CHARSET_ENCODING_TABLE): Delete.
3441         (XCHARSET_ENCODING_TABLE): Delete.
3442         (charset_code_point): New interface.
3443
3444 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3445
3446         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
3447         instead of `charset_get_byte1' and `charset_get_byte2'.
3448
3449         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
3450         (charset_get_byte2): Deleted.
3451
3452 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3453
3454         * char-ucs.h (SPLIT_CHAR): New inline function.
3455         (breakup_char_1): Use `SPLIT_CHAR'.
3456
3457         * mule-charset.c (range_charset_code_point): New function.
3458         (charset_code_point): New function.
3459
3460         * char-ucs.h (range_charset_code_point): New interface.
3461         (breakup_char_1): Use `range_charset_code_point'.
3462
3463 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3464
3465         * mule-charset.c (Fmake_charset): Delete unused local variable
3466         `code_offset'.
3467
3468         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3469         (breakup_char_1): Find a charset and code-point in
3470         `Vcharacter_attribute_table'.
3471
3472 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3473
3474         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3475         to 0.10 (Yao).
3476
3477 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3478
3479         * mule-charset.c (Vcharacter_attribute_table): New variable.
3480         (Fchar_attribute_alist): New function.
3481         (Fget_char_attribute): New function.
3482         (Fput_char_attribute): New function.
3483         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3484         too.
3485         (syms_of_mule_charset): Add new function `char-attribute-alist',
3486         `get-char-attribute' and `put-char-attribute'.
3487         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3488
3489 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3490
3491         * mule-charset.c (Fmake_charset): Just use
3492         `get_unallocated_leading_byte'.
3493
3494         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3495         sets; don't use final-byte based number for private sets.
3496
3497 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3498
3499         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3500         integer.
3501
3502 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3503
3504         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3505         to 0.9.
3506
3507 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3508
3509         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
3510         of `CHAR_LEADING_BYTE' in UTF-2000.
3511
3512         * insdel.c (find_charsets_in_bufbyte_string): Use
3513         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3514         (find_charsets_in_emchar_string): Likewise.
3515
3516         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
3517         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3518
3519         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
3520         (CHAR_CHARSET_ID): New macro.
3521
3522 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3523
3524         * chartab.c (get_char_table): Don't use type `Charset_ID' for
3525         charset-id - MIN_LEADING_BYTE.
3526         (put_char_table): Likewise.
3527
3528 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3529
3530         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
3531         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
3532         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
3533         (CHARSET_ID_OFFSET): New macro.
3534         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
3535         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
3536         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
3537         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3538         4).
3539         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3540         5).
3541         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
3542         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
3543         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
3544         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
3545         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
3546
3547 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3548
3549         * mule-charset.c (next_allocated_leading_byte): New variable in
3550         UTF-2000.
3551         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
3552         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
3553         (get_unallocated_leading_byte): Simply use
3554         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
3555         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
3556         UTF-2000.
3557
3558         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
3559         (MAX_LEADING_BYTE_PRIVATE): New macro.
3560         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
3561         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
3562
3563 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3564
3565         * mule-charset.c (Fmake_charset): Allocate final-byte based
3566         charset-id for 94-set, 96-set and 94x94-set.
3567
3568 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3569
3570         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
3571         ambiguous `else'.
3572         (Fmake_charset): Likewise.
3573         (complex_vars_of_mule_charset): Modify the font registry of
3574         `ucs-bmp' not to match `Ethiopic-Unicode'.
3575
3576 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3577
3578         * mule-charset.c (complex_vars_of_mule_charset): Add font
3579         registory of `ucs-bmp'.
3580
3581 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3582
3583         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
3584         coded-charsets in `default-coded-charset-priority-list' when
3585         breaking up a character.
3586
3587         * mule-charset.c (Vcharset_latin_viscii): New variable.
3588         (Qlatin_viscii): New variable.
3589         (make_charset): Don't use `decoding_table'.
3590         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
3591         byte_offset.
3592         (Fset_charset_mapping_table): New implementation.
3593         (syms_of_mule_charset): Add new symbol `latin-viscii'.
3594         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
3595         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
3596         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
3597         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
3598         charset `latin_viscii'.
3599
3600         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
3601         (CHARSET_TYPE_94X94): Change to 1 from 2.
3602         (CHARSET_TYPE_96): Change to 2 from 1.
3603         (CHARSET_TYPE_128): New macro.
3604         (CHARSET_TYPE_128X128): Change to 5 from 4.
3605         (CHARSET_TYPE_256): New macro.
3606         (CHARSET_TYPE_256X256): Change to 7 from 5.
3607         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
3608
3609 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3610
3611         * text-coding.c (char_encode_shift_jis): Refer
3612         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
3613         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
3614
3615         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
3616         (char_byte_table_equal): New function in UTF-2000.
3617         (char_byte_table_hash): New function in UTF-2000.
3618         (char_byte_table_description): New constant in UTF-2000.
3619         (char_byte_table): New type in UTF-2000.
3620         (make_char_byte_table): New function in UTF-2000.
3621         (copy_char_byte_table): New function in UTF-2000.
3622         (make_char_code_table): New macro in UTF-2000.
3623         (get_char_code_table): New function in UTF-2000.
3624         (put_char_code_table): New function in UTF-2000.
3625         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3626         (charset_description): Add setting in UTF-2000.
3627         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
3628         `CHARSET_TO_BYTE1_TABLE(cs)'.
3629         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
3630         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
3631         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
3632         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
3633         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
3634         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
3635         `CHARSET_TO_BYTE2_TABLE(cs)'.
3636
3637         * char-ucs.h (char_byte_table): New type.
3638         (XCHAR_BYTE_TABLE): New macro.
3639         (XSETCHAR_BYTE_TABLE): New macro.
3640         (CHAR_BYTE_TABLE_P): New macro.
3641         (GC_CHAR_BYTE_TABLE_P): New macro.
3642         (struct Lisp_Char_Byte_Table): New structure.
3643         (get_char_code_table): New interface.
3644         (Emchar_to_byte_table): Deleted.
3645         (get_byte_from_character_table): Deleted.
3646         (struct Lisp_Charset): Add `encoding_table'; delete
3647         `to_byte1_table' and `to_byte2_table'.
3648         (CHARSET_ENCODING_TABLE): New macro.
3649         (CHARSET_TO_BYTE1_TABLE): Deleted.
3650         (CHARSET_TO_BYTE2_TABLE): Deleted.
3651         (XCHARSET_ENCODING_TABLE): New macro.
3652         (XCHARSET_TO_BYTE1_TABLE): Deleted.
3653         (XCHARSET_TO_BYTE2_TABLE): Deleted.
3654
3655 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3656
3657         * mule-charset.c (syms_of_mule_charset): Delete charset alias
3658         `vietnamese-viscii-*'.
3659
3660 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3661
3662         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
3663         (Qvietnamese_viscii_upper): New variable.
3664         (Fdefine_charset_alias): New function.
3665         (syms_of_mule_charset): Add new function `define-charset-alias'.
3666         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
3667         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
3668         `latin-viscii-*'.
3669
3670 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
3671
3672         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
3673         (MAX_CHAR_OBS_94x94): New macro.
3674         (breakup_char_1): Support obsolete XEmacs-UCS private code space
3675         for 94x94 sets.
3676
3677         * mule-charset.c (put_byte_from_character_table): Change unit size
3678         from 128 to 256.
3679         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
3680         not defined.
3681         (Fmake_reverse_direction_charset): Modify dummy argument of
3682         `make_charset' for non-UTF-2000 environment.
3683
3684 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3685
3686         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
3687
3688         * mule-charset.c (destroy_byte_from_character_table): New macro.
3689         (latin_jisx0201_to_ucs): Deleted.
3690         (latin_iso8859_2_to_ucs): Deleted.
3691         (latin_iso8859_3_to_ucs): Deleted.
3692         (latin_iso8859_4_to_ucs): Deleted.
3693         (latin_iso8859_9_to_ucs): Deleted.
3694         (latin_viscii_lower_to_ucs): Deleted.
3695         (latin_viscii_upper_to_ucs): Deleted.
3696         (mark_charset): Mark `cs->decoding_table'.
3697         (Fcharset_mapping_table): Fix DOC-string.
3698         (Fset_charset_mapping_table): New function.
3699         (syms_of_mule_charset): Add nwe function
3700         `set-charset-mapping-table'.
3701         (complex_vars_of_mule_charset): Don't setup and use
3702         `latin_*_to_ucs'.
3703
3704 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3705
3706         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
3707         charset.
3708
3709 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3710
3711         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
3712         (Vcharset_katakana_jisx0208): New variable.
3713         (Qhiragana_jisx0208): New variable.
3714         (Qkatakana_jisx0208): New variable.
3715         (make_charset): Add new argument `byte_offset'.
3716         (charset_get_byte1): Modify for new coded-charset definition; use
3717         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3718         `XCHARSET_BYTE_OFFSET'.
3719         (Fmake_charset): Modify for `make_charset'.
3720         (Fmake_reverse_direction_charset): Likewise.
3721         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
3722         `katakana-jisx0208'.
3723         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
3724         `.'  in font registry of charset `katakana-jisx0201',
3725         `latin-jisx0201', `vietnamese-viscii-lower' and
3726         `vietnamese-viscii-upper'; modify DOC-string of charset
3727         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
3728         registry of charset `japanese-jisx0208' not to use font for JIS
3729         X0208:1990; add new charset `hiragana-jisx0208' and
3730         `katakana-jisx0208'.
3731
3732         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
3733         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
3734         (struct Lisp_Charset): Add `byte_offset'.
3735         (CHARSET_BYTE_OFFSET): New macro.
3736         (XCHARSET_UCS_MIN): New macro.
3737         (XCHARSET_UCS_MAX): New macro.
3738         (XCHARSET_CODE_OFFSET): New macro.
3739         (XCHARSET_BYTE_OFFSET): New macro.
3740         (MIN_CHAR_HIRAGANA): New macro.
3741         (MAX_CHAR_HIRAGANA): New macro.
3742         (MIN_CHAR_KATAKANA): New macro.
3743         (MAX_CHAR_KATAKANA): New macro.
3744         (MAKE_CHAR): Modify for new coded-charset definition; use
3745         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3746         `XCHARSET_BYTE_OFFSET'.
3747
3748 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3749
3750         * mule-charset.c (CHAR96): Deleted.
3751         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
3752         <Lisp_Object>.
3753         (latin_iso8859_2_to_ucs): Likewise.
3754         (latin_iso8859_3_to_ucs): Likewise.
3755         (latin_iso8859_4_to_ucs): Likewise.
3756         (latin_iso8859_9_to_ucs): Likewise.
3757         (latin_viscii_lower_to_ucs): Likewise.
3758         (latin_viscii_upper_to_ucs): Likewise.
3759         (latin_tcvn5712_to_ucs): Commented out.
3760         (make_charset): Change type of argument `decoding_table' from
3761         <Emchar*> to <Lisp_Object> [vector of characters].
3762         (Fmake_charset): Modify for `make_charset'.
3763         (Fmake_reverse_direction_charset): Likewise.
3764         (Fcharset_mapping_table): New function in UTF-2000.
3765         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
3766         UTF-2000.
3767         (complex_vars_of_mule_charset): Modify for type change of
3768         `*_to_ucs'; modify for `make_charset'.
3769
3770         * char-ucs.h (struct Lisp_Charset): Change type of
3771         `decoding_table' from <Emchar*> to <Lisp_Object>.
3772         (MAKE_CHAR): Modify for new specification of `decoding_table'.
3773
3774 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3775
3776         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
3777         error with non-UTF-2000-Mule.
3778
3779 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
3780
3781         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
3782         in lisp again].
3783         (Vcharset_chinese_cns11643_4): Likewise.
3784         (Vcharset_chinese_cns11643_5): Likewise.
3785         (Vcharset_chinese_cns11643_6): Likewise.
3786         (Vcharset_chinese_cns11643_7): Likewise.
3787         (Qchinese_cns11643_3): Likewise.
3788         (Qchinese_cns11643_4): Likewise.
3789         (Qchinese_cns11643_5): Likewise.
3790         (Qchinese_cns11643_6): Likewise.
3791         (Qchinese_cns11643_7): Likewise.
3792         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
3793         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3794         and `chinese-cns11643-7' to lisp/mule/chinese.el.
3795         (complex_vars_of_mule_charset): Likewise.
3796
3797 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3798
3799         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
3800         96-set.
3801         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
3802         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
3803
3804 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3805
3806         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
3807         0xFF60.
3808         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
3809         (breakup_char_1): Likewise.
3810
3811         * text-coding.c (char_encode_iso2022): Keep designated charsets if
3812         one of them includes the specified character.
3813
3814 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3815
3816         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
3817
3818 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3819
3820         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
3821
3822 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3823
3824         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
3825         definition for non-UTF-2000 Mule.
3826         (latin_iso8859_3_to_ucs): Likewise.
3827         (latin_iso8859_4_to_ucs): Likewise.
3828         (latin_iso8859_9_to_ucs): Likewise.
3829         (latin_jisx0201_to_ucs): Likewise.
3830         (MIN_CHAR_THAI): Likewise.
3831         (MAX_CHAR_THAI): Likewise.
3832         (MIN_CHAR_GREEK): Likewise.
3833         (MAX_CHAR_GREEK): Likewise.
3834         (MIN_CHAR_HEBREW): Likewise.
3835         (MAX_CHAR_HEBREW): Likewise.
3836         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
3837         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
3838         (MIN_CHAR_CYRILLIC): Likewise.
3839         (MAX_CHAR_CYRILLIC): Likewise.
3840
3841 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3842
3843         * char-ucs.h (breakup_char_1): Use
3844         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
3845         thai-tis620 and katakana-jisx0201 area.
3846
3847 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3848
3849         * char-ucs.h (breakup_char_1): Use
3850         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
3851         area.
3852
3853         * text-coding.c (reset_encoding_stream): Fixed.
3854         (char_encode_ucs4): Delete `& 255'.
3855
3856         * char-ucs.h (breakup_char_1): Use
3857         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3858
3859 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3860
3861         * file-coding.c (Fmake_coding_system): Don't set up
3862         `codesys->fixed.size'.
3863         (encode_coding_no_conversion): Don't refer
3864         `str->codesys->fixed.size'.
3865
3866 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3867
3868         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3869         (latin_a_char_to_byte1): Deleted.
3870         (latin_a_char_to_byte2): Deleted.
3871
3872 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3873
3874         * mule-charset.c (make_charset): Add new argument `ucs_min',
3875         `ucs_max' and `code_offset'.
3876         (charset_get_byte1): New implementation [delete specific charset
3877         depended implementations].
3878         (Fmake_charset): Modify for `make_charset'.
3879         (Fmake_reverse_direction_charset): Likewise.
3880         (complex_vars_of_mule_charset): Likewise.
3881
3882         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3883         `code_offset'.
3884         (CHARSET_UCS_MIN): New macro.
3885         (CHARSET_UCS_MAX): New macro.
3886         (CHARSET_CODE_OFFSET): New macro.
3887         (MAKE_CHAR): Delete charset depended definitions [except
3888         katakana-jisx0201].
3889
3890 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3891
3892         * char-ucs.h (breakup_char_1): Use
3893         `Vdefault_coded_charset_priority_list' for C0-Controls,
3894         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3895
3896 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3897
3898         * char-ucs.h (charset_get_byte1): New function.
3899         (XCHARSET_GET_BYTE1): Deleted.
3900         (charset_get_byte2): New function.
3901         (XCHARSET_GET_BYTE2): Deleted.
3902         (Vdefault_coded_charset_priority_list): New external variable.
3903         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3904         `Vdefault_preferred_coded_charset_list'.
3905
3906         * mule-charset.c (charset_get_byte1): New function.
3907         (charset_get_byte2): New function.
3908         (Vdefault_coded_charset_priority_list): New variable.
3909         (vars_of_mule_charset): Add new variable
3910         `default-coded-charset-priority-list'.
3911
3912 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3913
3914         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3915         (XCHARSET_GET_BYTE2): New inline function.
3916         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3917         `XCHARSET_GET_BYTE2'.
3918
3919 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3920
3921         * mule-charset.c (make_charset): Initialize
3922         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3923         NULL if table is not defined.
3924
3925 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3926
3927         * text-coding.c (char_encode_shift_jis): Use
3928         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3929         `ucs_to_latin_jisx0201'.
3930
3931         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3932         (ucs_to_latin_iso8859_2): Deleted.
3933         (ucs_to_latin_iso8859_3): Deleted.
3934         (ucs_to_latin_iso8859_4): Deleted.
3935         (ucs_to_latin_iso8859_9): Deleted.
3936         (ucs_to_latin_viscii_lower): Deleted.
3937         (ucs_to_latin_viscii_upper): Deleted.
3938         (ucs_to_latin_tcvn5712): Deleted.
3939         (make_charset): Add new argument `decoding_table'; set up
3940         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3941         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3942         `decoding_table' is defined in UTF-2000.
3943         (Fmake_charset): Modify for `make_charset'.
3944         (Fmake_reverse_direction_charset): Likewise.
3945         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3946         and `GENERATE_96_SET'.
3947
3948         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3949         (ucs_to_latin_jisx0201): Deleted.
3950         (latin_iso8859_2_to_ucs): Deleted.
3951         (ucs_to_latin_iso8859_2): Deleted.
3952         (latin_iso8859_3_to_ucs): Deleted.
3953         (ucs_to_latin_iso8859_3): Deleted.
3954         (latin_iso8859_4_to_ucs): Deleted.
3955         (ucs_to_latin_iso8859_4): Deleted.
3956         (latin_iso8859_9_to_ucs): Deleted.
3957         (ucs_to_latin_iso8859_9): Deleted.
3958         (latin_viscii_lower_to_ucs): Deleted.
3959         (ucs_to_latin_viscii_lower): Deleted.
3960         (latin_viscii_upper_to_ucs): Deleted.
3961         (ucs_to_latin_viscii_upper): Deleted.
3962         (struct Lisp_Charset): Renamed `encoding_table' to
3963         `to_byte1_table'; add `to_byte2_table'.
3964         (CHARSET_DECODING_TABLE): New macro.
3965         (CHARSET_TO_BYTE1_TABLE): New macro.
3966         (CHARSET_TO_BYTE2_TABLE): New macro.
3967         (XCHARSET_DECODING_TABLE): New macro.
3968         (XCHARSET_TO_BYTE1_TABLE): New macro.
3969         (XCHARSET_TO_BYTE2_TABLE): New macro.
3970         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3971         tables.
3972         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3973         don't use `ucs_to_*' tables.
3974
3975 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3976
3977         * text-coding.c (Fmake_coding_system): Don't set up
3978         `codesys->fixed.size'.
3979         (encode_coding_no_conversion): Use `if' instead of `switch'.
3980
3981         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3982
3983 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3984
3985         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3986         (Fmake_charset): Modify for `make_charset'.
3987         (Fmake_reverse_direction_charset): Likewise.
3988         (complex_vars_of_mule_charset): Likewise.
3989
3990 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3991
3992         * text-coding.c (char_encode_shift_jis): Use table
3993         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3994
3995 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3996
3997         * text-coding.c (text_encode_generic): Use `if' instead of
3998         `switch'.
3999         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4000         decode JIS-Latin.
4001
4002 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4003
4004         * text-coding.c (encode_coding_sjis): Deleted.
4005         (char_encode_shift_jis): New function.
4006         (char_finish_shift_jis): New function.
4007         (reset_encoding_stream): Set up `encode_char' and `finish' for
4008         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4009         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4010         (char_encode_utf8): Treat `eol_type'.
4011
4012 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4013
4014         * file-coding.c (decode_coding_iso2022): Use
4015         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4016
4017 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4018
4019         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4020         to 0.7 (Hirano).
4021
4022 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4023
4024         * char-lb.h (CHAR_COLUMNS): New macro.
4025
4026 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4027
4028         * text-coding.c (char_encode_ucs4): New function.
4029         (char_finish_ucs4): New function.
4030         (encode_coding_ucs4): Deleted.
4031         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4032         (text_encode_generic): Delete local variable `charset' and `half'.
4033         (ucs_to_mule_table): Deleted.
4034         (mule_to_ucs_table): Deleted.
4035         (Fset_ucs_char): Deleted.
4036         (ucs_to_char): Deleted.
4037         (Fucs_char): Deleted.
4038         (Fset_char_ucs): Deleted.
4039         (Fchar_ucs): Deleted.
4040         (decode_ucs4): Deleted.
4041         (mule_char_to_ucs4): Deleted.
4042         (encode_ucs4): Deleted.
4043         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4044         (decode_coding_utf8): Likewise.
4045         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4046         (char_encode_iso2022): Fixed.
4047         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4048         `Fset_char_ucs' and `Fchar_ucs'.
4049         (complex_vars_of_file_coding): Don't initialize
4050         `ucs_to_mule_table'.
4051
4052         * objects-tty.c (tty_initialize_font_instance): Don't use
4053         `XCHARSET_COLUMNS'.
4054
4055         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4056         UTF-2000.
4057
4058         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4059         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4060
4061         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4062         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4063         (emchar_string_displayed_columns): Likewise.
4064
4065         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4066         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4067         (string_column_at_point): Likewise.
4068         (Fmove_to_column): Likewise.
4069
4070         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4071         `encoding_table' and `decoding_table'.
4072         (CHARSET_REP_BYTES): Deleted.
4073         (XCHARSET_REP_BYTES): Deleted.
4074         (XCHARSET_COLUMNS): Deleted.
4075         (CHAR_COLUMNS): New macro.
4076         (lookup_composite_char): Deleted unconditionally.
4077         (composite_char_string): Likewise.
4078
4079 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4080
4081         * char-ucs.h (Emchar_to_byte_table): New type.
4082         (get_byte_from_character_table): New function interface.
4083         (Vcharset_latin_jisx0201): New variable.
4084         (latin_jisx0201_to_ucs): New variable.
4085         (ucs_to_latin_jisx0201): New variable.
4086         (Vcharset_latin_iso8859_2): New variable.
4087         (latin_iso8859_2_to_ucs): New variable.
4088         (ucs_to_latin_iso8859_2): New variable.
4089         (Vcharset_latin_iso8859_3): New variable.
4090         (latin_iso8859_3_to_ucs): New variable.
4091         (ucs_to_latin_iso8859_3): New variable.
4092         (Vcharset_latin_iso8859_4): New variable.
4093         (latin_iso8859_4_to_ucs): New variable.
4094         (ucs_to_latin_iso8859_4): New variable.
4095         (Vcharset_latin_iso8859_9): New variable.
4096         (latin_iso8859_9_to_ucs): New variable.
4097         (ucs_to_latin_iso8859_9): New variable.
4098         (Vcharset_latin_viscii_lower): New variable.
4099         (latin_viscii_lower_to_ucs): New variable.
4100         (ucs_to_latin_viscii_lower): New variable.
4101         (Vcharset_latin_viscii_upper): New variable.
4102         (latin_viscii_upper_to_ucs): New variable.
4103         (ucs_to_latin_viscii_upper): New variable.
4104         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4105         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4106         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4107         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4108         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4109         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4110         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4111         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4112         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4113         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4114
4115         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4116         (Vcharset_latin_viscii_upper): New variable.
4117         (make_byte_from_character_table): New function.
4118         (put_byte_from_character_table): New function.
4119         (get_byte_from_character_table): New function.
4120         (CHAR96): New macro.
4121         (ucs_to_latin_jisx0201): New variable.
4122         (latin_jisx0201_to_ucs): New variable.
4123         (ucs_to_latin_iso8859_2): New variable.
4124         (latin_iso8859_2_to_ucs): New variable.
4125         (ucs_to_latin_iso8859_3): New variable.
4126         (latin_iso8859_3_to_ucs): New variable.
4127         (ucs_to_latin_iso8859_4): New variable.
4128         (latin_iso8859_4_to_ucs): New variable.
4129         (ucs_to_latin_iso8859_9): New variable.
4130         (latin_iso8859_9_to_ucs): New variable.
4131         (ucs_to_latin_viscii_lower): New variable.
4132         (latin_viscii_lower_to_ucs): New variable.
4133         (ucs_to_latin_viscii_upper): New variable.
4134         (latin_viscii_upper_to_ucs): New variable.
4135         (ucs_to_latin_tcvn5712): New variable.
4136         (latin_tcvn5712_to_ucs): New variable.
4137         (Qlatin_viscii_lower): New variable.
4138         (Qlatin_viscii_upper): New variable.
4139         (syms_of_mule_charset): Set up new symbol
4140         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4141         (complex_vars_of_mule_charset): Set up new charset
4142         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4143         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4144         `ucs_to_<CHARSET>' tables.
4145
4146 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4147
4148         * text-coding.c: New file.
4149
4150 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4151
4152         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4153
4154         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4155         (MAKE_CHAR): Modify for `ucs-bmp'.
4156         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4157         non-MULE characters of BMP.
4158
4159 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4160
4161         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4162         to 0.6.
4163
4164 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4165
4166         * lstream.h:
4167         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4168         - Include character.h for `CHAR_ASCII_P'.
4169
4170         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4171
4172         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4173         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4174
4175         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4176         (BYTE_C0_P): Likewise.
4177         (BYTE_C1_P): Likewise.
4178         (Lstream_get_emchar_1): Likewise.
4179         (Lstream_fput_emchar): Likewise.
4180         (Lstream_funget_emchar): Likewise.
4181         (copy_internal_to_external): Likewise.
4182         (copy_external_to_internal): Likewise.
4183
4184         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4185         (BYTE_C0_P): Likewise.
4186         (BYTE_C1_P): Likewise.
4187         (Lstream_get_emchar_1): Likewise.
4188         (Lstream_fput_emchar): Likewise.
4189         (Lstream_funget_emchar): Likewise.
4190         (copy_internal_to_external): Likewise.
4191         (copy_external_to_internal): Likewise.
4192
4193         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4194         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4195
4196         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4197         (BYTE_ASCII_P): Moved to mb-1byte.h.
4198
4199 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4200
4201         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4202
4203         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4204         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4205         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4206         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4207         (VALIDATE_CHARPTR_FORWARD): Likewise.
4208         (simple_charptr_emchar): Moved to mb-multibyte.h.
4209         (simple_set_charptr_emchar): Likewise.
4210         (simple_charptr_copy_char): Likewise.
4211         (non_ascii_charptr_emchar): Likewise.
4212         (non_ascii_set_charptr_emchar): Likewise.
4213         (non_ascii_charptr_copy_char): Likewise.
4214         (charptr_emchar): Moved to mb-*byte.h.
4215         (set_charptr_emchar): Likewise.
4216         (charptr_copy_char): Likewise.
4217
4218         * mb-1byte.h, mb-multibyte.h: New files.
4219
4220 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4221
4222         * mb-utf-8.h (MULTIBYTE): New macro.
4223         (MAX_EMCHAR_LEN): Moved from buffer.h.
4224         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4225
4226         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4227
4228         * mb-lb.h, multibyte.h: New files.
4229
4230         * char-1byte.h (Charset_ID): Moved from buffer.h.
4231         (MIN_LEADING_BYTE): Likewise.
4232         (LEADING_BYTE_ASCII): Likewise.
4233         (NUM_LEADING_BYTES): Likewise.
4234         (CHARSETP): Likewise.
4235         (CHARSET_BY_LEADING_BYTE): Likewise.
4236         (XCHARSET_LEADING_BYTE): Likewise.
4237         (XCHARSET_GRAPHIC): Likewise.
4238         (XCHARSET_COLUMNS): Likewise.
4239         (XCHARSET_DIMENSION): Likewise.
4240         (CHAR_CHARSET): Likewise.
4241         (CHAR_LEADING_BYTE): Likewise.
4242         (BREAKUP_CHAR): Likewise.
4243         (Vcharset_ascii): Likewise.
4244
4245         * buffer.h: Include multibyte.h unconditionally.
4246         (VALID_CHARPTR_P): Moved to multibyte.h.
4247         (ASSERT_VALID_CHARPTR): Likewise.
4248         (REAL_INC_CHARPTR): Likewise.
4249         (REAL_INC_CHARBYTIND): Likewise.
4250         (REAL_DEC_CHARPTR): Likewise.
4251         (INC_CHARPTR): Likewise.
4252         (INC_CHARBYTIND): Likewise.
4253         (DEC_CHARPTR): Likewise.
4254         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4255         (VALIDATE_CHARPTR_FORWARD): Likewise.
4256         (charptr_n_addr): Likewise.
4257         (MAX_EMCHAR_LEN): Moved to mb-*.h.
4258         (simple_charptr_emchar): Moved to multibyte.h.
4259         (simple_set_charptr_emchar): Likewise.
4260         (simple_charptr_copy_char): Likewise.
4261         (non_ascii_charptr_emchar): Likewise.
4262         (non_ascii_set_charptr_emchar): Likewise.
4263         (non_ascii_charptr_copy_char): Likewise.
4264         (charptr_emchar): Likewise.
4265         (set_charptr_emchar): Likewise.
4266         (charptr_copy_char): Likewise.
4267         (charptr_emchar_n): Likewise.
4268         (Charset_ID): Moved to char-1byte.h.
4269         (Vcharset_ascii): Likewise.
4270         (CHAR_CHARSET): Likewise.
4271         (CHAR_LEADING_BYTE): Likewise.
4272         (LEADING_BYTE_ASCII): Likewise.
4273         (NUM_LEADING_BYTES): Likewise.
4274         (MIN_LEADING_BYTE): Likewise.
4275         (CHARSETP): Likewise.
4276         (CHARSET_BY_LEADING_BYTE): Likewise.
4277         (XCHARSET_LEADING_BYTE): Likewise.
4278         (XCHARSET_GRAPHIC): Likewise.
4279         (XCHARSET_COLUMNS): Likewise.
4280         (XCHARSET_DIMENSION): Likewise.
4281         (BREAKUP_CHAR): Likewise.
4282
4283 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4284
4285         * character.h: Add document about interface for characters.
4286
4287         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
4288         (MAKE_CHAR): Delete comment about
4289         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
4290         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
4291         (BREAKUP_CHAR): Modify name of arguments.
4292         (CHAR_CHARSET): Modify name of argument.
4293
4294         * buffer.h: Delete document about Emchar accessors.
4295
4296 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4297
4298         * character.h (CHAR_INTP): Moved from buffer.h
4299         (CHAR_OR_CHAR_INTP): Likewise.
4300         (XCHAR_OR_CHAR_INT): Likewise.
4301         (CHECK_CHAR_COERCE_INT): Likewise.
4302
4303         * buffer.h (CHAR_INTP): Moved to character.h
4304         (CHAR_OR_CHAR_INTP): Likewise.
4305         (XCHAR_OR_CHAR_INT): Likewise.
4306         (CHECK_CHAR_COERCE_INT): Likewise.
4307
4308 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4309
4310         * character.h:
4311         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
4312         - Include char-1byte.h, char-lb.h or char-ucs.h.
4313
4314         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
4315
4316         * buffer.h: Include character unconditionally.
4317         (valid_char_p): Moved to char-*.h.
4318         (non_ascii_valid_char_p): Moved to char-lb.h.
4319
4320         * char-1byte.h, char-lb.h, char-ucs.h: New files.
4321
4322 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4323
4324         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
4325         in UTF-2000 because it is not ported yet and not to use
4326         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
4327         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
4328         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
4329
4330         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
4331         (CHAR_ASCII_P): Moved from character.h.
4332
4333         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
4334         (CHAR_ASCII_P): Likewise.
4335         (CHAR_FIELD1_MASK): Deleted.
4336         (CHAR_FIELD2_MASK): Deleted.
4337         (CHAR_FIELD3_MASK): Deleted.
4338         (MAX_CHAR_BASIC_LATIN): New macro.
4339         (CHAR_FIELD1): Deleted.
4340         (CHAR_FIELD2_INTERNAL): Deleted.
4341         (CHAR_FIELD3_INTERNAL): Deleted.
4342         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
4343         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
4344         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
4345         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
4346         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
4347         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
4348         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
4349         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
4350         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
4351         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
4352         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
4353         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
4354         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
4355         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
4356         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
4357         (MIN_CHAR_COMPOSITION): Deleted.
4358         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
4359         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
4360
4361 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
4362
4363         * buffer.h: Include mb-utf-8.h in UTF-2000.
4364
4365         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
4366
4367         * mb-utf-8.h: New file.
4368
4369 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
4370
4371         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
4372         instead of `int'.
4373
4374         * mule-charset.h, buffer.h (Charset_ID): New type.
4375
4376 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4377
4378         * mule-canna.c (c2mu): Use `MAKE_CHAR',
4379         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
4380         instead of `MULE_CHAR_PRIVATE_OFFSET',
4381         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
4382         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
4383         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
4384
4385         * character.h (Vcharset_japanese_jisx0212): New variable
4386         definition.
4387
4388 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4389
4390         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
4391         (charset_by_attributes): Delete array about direction.
4392         (latin_a_char_to_charset): New variable in UTF-2000.
4393         (latin_a_char_to_byte1): New variable in UTF-2000.
4394         (latin_a_char_to_byte2): New variable in UTF-2000.
4395         (Qucs_bmp): New variable.
4396         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
4397         `Bufbyte'.
4398         (next_allocated_2_byte_leading_byte): Likewise.
4399         (non_ascii_set_charptr_emchar): Likewise.
4400         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
4401         `CHARSET_TYPE_256X256' in UTF-2000; modify for
4402         `charset_by_attributes'.
4403         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
4404         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
4405         and `CHARSET_BY_LEADING_BYTE'.
4406         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
4407         `utf-2000-version' to `vars_of_mule_charset'.
4408         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
4409         define `leading-code-private-11' in UTF-2000; move setting of
4410         `utf-2000-version' from `syms_of_mule_charset'.
4411         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
4412         UTF-2000.
4413
4414         * character.h (Charset_ID): New type.
4415         (LEADING_BYTE_UCS_BMP): New macro.
4416         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
4417         (CHARSET_ID_OFFSET_94): New macro.
4418         (MIN_CHARSET_ID_PRIVATE_94): New macro.
4419         (MAX_CHARSET_ID_PRIVATE_94): New macro.
4420         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
4421         final-byte.
4422         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
4423         (LEADING_BYTE_LATIN_JISX0201): Likewise.
4424         (CHARSET_ID_OFFSET_96): New macro.
4425         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
4426         CHARSET_ID_OFFSET_96 and final-byte.
4427         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
4428         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
4429         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
4430         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
4431         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
4432         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
4433         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
4434         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
4435         (LEADING_BYTE_THAI_TIS620): Likewise.
4436         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
4437         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
4438         (CHARSET_ID_OFFSET_94x94): New macro.
4439         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
4440         CHARSET_ID_OFFSET_94x94 and final-byte.
4441         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
4442         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
4443         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
4444         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
4445         (LEADING_BYTE_CHINESE_GB2312): Likewise.
4446         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
4447         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
4448         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
4449         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
4450         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
4451         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
4452         (CHARSET_TYPE_128X128): New macro.
4453         (CHARSET_TYPE_256X256): New macro.
4454         (XCHARSET_PRIVATE_P): Delete unconditionally.
4455         (charset_by_attributes): Delete array about direction.
4456         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4457         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4458         (MIN_CHAR_94): New macro.
4459         (MAX_CHAR_94): New macro.
4460         (MIN_CHAR_96): New macro.
4461         (MAX_CHAR_96): New macro.
4462         (MIN_CHAR_94x94): New macro.
4463         (MAX_CHAR_94x94): New macro.
4464         (MIN_CHAR_96x96): New macro.
4465         (MAX_CHAR_96x96): New macro.
4466         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4467         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4468         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4469         - 32)'.
4470         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4471         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4472         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4473         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4474         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4475         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4476         `XCHARSET_LEADING_BYTE' to make code-point.
4477         (latin_a_char_to_charset): New variable.
4478         (latin_a_char_to_byte1): New variable.
4479         (latin_a_char_to_byte2): New variable.
4480         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4481         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4482         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4483
4484         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4485         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4486         (find_charsets_in_emchar_string): Likewise.
4487         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4488
4489         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4490         `int'.
4491         (decode_coding_iso2022): Likewise.
4492
4493         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4494         of `unsigned char'.
4495
4496         * redisplay.c (redisplay_text_width_emchar_string): Use
4497         `Charset_ID' instead of `unsigned char'.
4498         (redisplay_frame_text_width_string): Likewise.
4499
4500         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4501         `unsigned char'.
4502
4503         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4504         instead of `unsigned char'.
4505         (face_cachel_charset_font_metric_info): Likewise.
4506
4507         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
4508         (get_non_ascii_char_table_value): Likewise.
4509         (get_char_table): Likewise.
4510         (put_char_table): Likewise.
4511         (map_over_other_charset): Likewise.
4512         (map_char_table): Likewise.
4513
4514         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
4515         instead of `unsigned char'.
4516
4517 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
4518
4519         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
4520         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
4521
4522         * mule-charset.c (leading_code_private_11): Don't define in
4523         UTF-2000.
4524
4525         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
4526         in UTF-2000 because it is not ported yet and not to use
4527         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
4528
4529 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
4530
4531         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
4532
4533 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4534
4535         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
4536         in UTF-2000.
4537
4538         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
4539         of unsigned char to store leading-byte.
4540
4541         * chartab.c (get_non_ascii_char_table_value): Don't use
4542         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
4543
4544         * file-coding.c (encode_coding_big5): Delete bogus implementation
4545         in UTF2000.
4546
4547         * character.h (LEADING_BYTE_*): Delete definition for
4548         non-UTF-2000.
4549         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
4550         (LEADING_BYTE_PREFIX_P): Deleted.
4551         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
4552         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
4553         (BUFBYTE_LEADING_BYTE_P): Deleted.
4554         (CHARSET_PRIVATE_P): Deleted unconditionally.
4555         (rep_bytes_by_first_byte): Deleted unconditionally.
4556         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
4557         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
4558         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4559         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
4560         (CHAR_FIELD2): Deleted.
4561         (CHAR_FIELD3): Deleted.
4562         (MAKE_CHAR): Delete definition for non-UTF-2000.
4563         (BREAKUP_CHAR_1_UNSAFE): Deleted.
4564         (breakup_char_1): New implementation.
4565         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
4566         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
4567
4568 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4569
4570         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
4571         condition.
4572
4573 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4574
4575         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
4576         (CHARSET_PRIVATE_P): Likewise.
4577         (XCHARSET_PRIVATE_P): Likewise.
4578         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
4579
4580         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
4581         UTF2000.
4582         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
4583
4584 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4585
4586         * character.h (LEADING_BYTE_*): Changed in UTF2000.
4587         (NUM_LEADING_BYTES): Changed from 128 to 256.
4588         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4589         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
4590         UTF2000.
4591         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4592
4593         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
4594         UTF2000.
4595         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
4596         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
4597         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
4598         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
4599         (Qchinese_cns11643_3): New variable in UTF2000.
4600         (Qchinese_cns11643_4): New variable in UTF2000.
4601         (Qchinese_cns11643_5): New variable in UTF2000.
4602         (Qchinese_cns11643_6): New variable in UTF2000.
4603         (Qchinese_cns11643_7): New variable in UTF2000.
4604         (syms_of_mule_charset): Define `chinese-cns11643-3',
4605         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4606         and `chinese-cns11643-7' in UTF2000.
4607         (vars_of_mule_charset): Initialize
4608         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
4609         + 1 in UTF2000.
4610         (complex_vars_of_mule_charset): Setup charset
4611         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
4612         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
4613
4614 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4615
4616         * mule-charset.c: Move setting for `leading-code-private-11' from
4617         `syms_of_mule_charset' to `vars_of_mule_charset'.
4618
4619 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4620
4621         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
4622         and `NUM_LEADING_BYTES' in assert.
4623
4624 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4625
4626         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
4627         instead of 128.
4628         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
4629         `NUM_LEADING_BYTES' instead of 128.
4630
4631 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4632
4633         * mule-charset.h (charset_by_leading_byte): Use
4634         `NUM_LEADING_BYTES' instead of 128.
4635         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
4636
4637         * mule-charset.c (charset_by_leading_byte): Use
4638         `NUM_LEADING_BYTES' instead of 128.
4639         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
4640
4641         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
4642         128.
4643
4644 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4645
4646         * mule-charset.c (syms_of_mule_charset): Update to
4647         0.4 (Shin-Imamiya).
4648
4649 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4650
4651         * file-coding.c (encode_coding_sjis): New implementation for
4652         UTF2000.  (decode_coding_sjis): Ditto.
4653
4654 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4655
4656         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
4657         Don't define in UTF2000.
4658
4659         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
4660         defined.
4661
4662         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4663         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
4664         MULE.
4665
4666 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4667
4668         * config.h.in (CHAR_IS_UCS4): New macro.
4669
4670         * mule-charset.c (rep_bytes_by_first_byte): Modify for
4671         conventional MULE representation.
4672         (syms_of_mule_charset): Update to 0.3 (Imamiya).
4673
4674         * mule-charset.h: Reverted to original.
4675
4676         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4677         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
4678         "mule-charset.h" if CHAR_IS_UCS4 is defined.
4679
4680         * character.h: New file.
4681
4682         * file-coding.c (Fmake_coding_system): Set 1 to
4683         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
4684         defined.
4685         (encode_coding_no_conversion): New implementation for UTF2000.
4686
4687         * file-coding.h (struct Lisp_Coding_System): Add new member
4688         `fixed.size'.
4689
4690 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
4691
4692         * file-coding.c (decode_coding_iso2022): Code-point arguments of
4693         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
4694         (encode_coding_iso2022): New implementation for UTF2000.
4695
4696 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4697
4698         * mule-canna.c (c2mu): New implementation for UTF2000.
4699         (m2c): Likewise.
4700
4701 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4702
4703         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
4704
4705 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4706
4707         * file-coding.c (reset_encoding_stream): Set 0 to
4708         `str->iso2022.current_char_boundary' in UTF2000.
4709         (encode_utf8): Don't define in UTF2000.
4710         (encode_coding_utf8): New implementation for UTF-8 representation
4711         of UTF2000.
4712         (complex_vars_of_file_coding): Define coding-system `utf-8'.
4713
4714 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4715
4716         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
4717
4718         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
4719         UTF2000.
4720         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4721
4722         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
4723
4724         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
4725         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
4726         as UTF-8 in UTF2000.
4727         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
4728         (non_ascii_valid_char_p): Don't define in UTF2000.
4729         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
4730         (Lstream_get_emchar_1): Likewise.
4731         (utf-2000-version): New variable in UTF2000.
4732
4733         * lread.c (read_escape): Add new reader `u'.
4734
4735         * insdel.c (three_to_one_table): Don't define in UTF2000.
4736         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
4737         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4738         UTF2000.
4739         (bytind_to_bufpos_func): Likewise.
4740         (buffer_mule_signal_inserted_region): Likewise.
4741         (vars_of_insdel): Don't initialize `three_to_one_table'.
4742         (init_buffer_text): Use `buf->text->mule_size' instead of
4743         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4744         UTF2000.
4745
4746         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
4747         UTF-8 representation in UTF2000.
4748         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
4749         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
4750         (decode_coding_iso2022): Don't define local variable `lb' in
4751         UTF2000; don't use LEADING_BYTE in UTF2000; use
4752         `DECODE_ADD_UCS_CHAR' in UTF2000.
4753         (convert_to_external_format): Decode as UTF-8 in UTF2000.
4754
4755         * config.h.in (UTF2000): New macro.
4756
4757         * buffer.h (struct buffer_text): Add new member `mule_size' and
4758         don't add `mule_shifter' and `mule_three_p' in UTF2000.
4759         (valid_char_p): Return always 1 in UTF2000.
4760         (MAX_EMCHAR_LEN): 6 in UTF2000.
4761         (three_to_one_table): Don't define in UTF2000.
4762         (real_bufpos_to_bytind): Modify for UTF-8 representation in
4763         UTF2000.
4764         (real_bytind_to_bufpos): Likewise.
4765
4766         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
4767
4768 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4769
4770         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
4771         representation change.
4772         (Vutf_2000_version): New variable.
4773         (leading_code_private_11): New variable.
4774         (syms_of_mule_charset): Add new variables `utf-2000-version' and
4775         `leading-code-private-11'.
4776
4777         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
4778         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
4779         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
4780         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
4781         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
4782         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
4783         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
4784         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
4785         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
4786         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
4787         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
4788         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
4789         (MIN_CHAR_GREEK): New macro.
4790         (MAX_CHAR_GREEK): New macro.
4791         (MIN_CHAR_CYRILLIC): New macro.
4792         (MAX_CHAR_CYRILLIC): New macro.
4793         (MIN_CHAR_HEBREW): New macro.
4794         (MAX_CHAR_HEBREW): New macro.
4795         (MIN_CHAR_THAI): New macro.
4796         (MAX_CHAR_THAI): New macro.
4797         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
4798         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
4799         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
4800         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
4801         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
4802         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
4803         (CHAR_FIELD2): New inline function.
4804         (CHAR_FIELD3): New inline function.
4805         (MULE_CHAR_PRIVATE_OFFSET): New macro.
4806         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
4807         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
4808         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
4809         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
4810         (MIN_CHAR_COMPOSITION): Likewise.
4811         (CHAR_LEADING_BYTE): Modified for character representation change.
4812         (MAKE_CHAR): Likewise.
4813
4814         * lisp.h (Vcharset_latin_iso8859_1): New variable.
4815         (Vcharset_greek_iso8859_7): Likewise.
4816         (Vcharset_cyrillic_iso8859_5): Likewise.
4817         (Vcharset_hebrew_iso8859_8): Likewise.
4818         (Vcharset_thai_tis620): Likewise.
4819         (Vcharset_katakana_jisx0201): Likewise.
4820
4821 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
4822
4823         * XEmacs 21.4.12 "Portable Code" is released.
4824
4825 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
4826
4827         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
4828         * s/cygwin.sc: new linker file.
4829
4830 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
4831
4832         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
4833
4834         * redisplay-x.c (x_output_string): Use X11-specified types.
4835         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
4836         * emacs.c (__free_hook): Use typeof with Intel compiler.
4837         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
4838
4839 2003-01-08  Andy Piper  <andy@xemacs.org>
4840
4841         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
4842         reserve size during unexec().
4843
4844 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
4845
4846         * process-unix.c (unix_create_process): Don't let outchannel block.
4847
4848 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
4849
4850         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
4851         Needed for IsBadReadPtr().
4852
4853 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
4854
4855         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
4856
4857 2002-12-14  Ben Wing  <ben@xemacs.org>
4858
4859         * callint.c: Declaration error.
4860         * dumper.c (pdump):
4861         * dumper.c (pdump_load): Warning fix.
4862         * process.c: GCPRO error.
4863         * glyphs.c (unmap_subwindow):
4864         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
4865         * event-stream.c (maybe_kbd_translate): Wrong argument to
4866         character_to_event().
4867
4868         * alloc.c (garbage_collect_1):
4869         * emacs.c:
4870         * emacs.c (debug_can_access_memory):
4871         * emacs.c (fatal_error_signal):
4872         * emacs.c (mswindows_handle_hardware_exceptions):
4873         * emacs.c (main_1):
4874         * emacs.c (main):
4875         * emacs.c (assert_failed):
4876         * emacs.c (syms_of_emacs):
4877         * lisp.h:
4878         * print.c:
4879         * print.c (std_handle_out_va):
4880         * print.c (write_string_to_stdio_stream):
4881         * print.c (write_fmt_string):
4882         * print.c (printing_badness):
4883         * print.c (printing_major_badness):
4884         * print.c (print_internal):
4885         * print.c (debug_print_no_newline):
4886         * print.c (debug_backtrace):
4887         Be more defensive in handling bad values when printing.  Add code
4888         from trunk involving inhibit_non_essential_printing_operations.
4889         When going down or in debug_print(), don't do external conversion
4890         and such and try really, really hard when printing to avoid core
4891         dumping.  Add force-debugging-signal, debug_break().
4892
4893 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
4894
4895         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
4896         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
4897
4898 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
4899
4900         * database.c: Fix open_database. Berkeley DB API has changed in
4901         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
4902
4903 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
4904
4905         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
4906
4907 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
4908
4909         * event-Xt.c (Xt_timeout):
4910         (Xt_timeout_callback):
4911         (emacs_Xt_add_timeout):
4912         (emacs_Xt_remove_timeout):
4913         (Xt_timeout_to_emacs_event):
4914         Turn completed_timeouts from a stack into a queue.  Fixes
4915         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
4916
4917 2002-11-07  Wolfram Gloger  <wg@malloc.de>
4918
4919         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
4920         * emacs.c (main): Assert that mmap'd allocation is disabled.
4921
4922 2002-10-14  Andy Piper  <andy@xemacs.org>
4923
4924         * glyphs-widget.c (layout_query_geometry): add in fiddle
4925         factor. Include border text in width layout calculation.
4926         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
4927
4928 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
4929
4930         * XEmacs 21.4.10 "Military Intelligence" is released.
4931
4932 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
4933
4934         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
4935         using the NAS private array SoundFileInfo that no longer exists in
4936         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
4937         and earlier.  This is broken for some versions between 1.5a and
4938         1.5f.
4939
4940 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
4941
4942         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
4943
4944         * emacs.c (shut_down_emacs): Improve crash message.
4945
4946 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
4947
4948         * file-coding.c (determine_real_coding_system): Check for coding
4949         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
4950         shebangs and Python PEP 263.
4951
4952 2002-10-08  Andy Piper  <andy@xemacs.org>
4953
4954         * glyphs-widget.c (layout_query_geometry): only resize dynamically
4955         if static sizes haven't been set.
4956
4957 2002-08-30  Mike Alexander  <mta@arbortext.com>
4958
4959         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
4960         to close a socket.
4961
4962 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
4963
4964         * callproc.c (child_setup): 21.4 doesn't have retry_close.
4965
4966 2002-09-20  Mike Sperber <mike@xemacs.org>
4967
4968         (This partially gets back my patch from 2002-07-20 without the
4969         bug.)
4970         * callproc.c (child_setup): Remove Ben's comment noting confusion
4971         over the file descriptors >= 3: close_process_descs() doesn't
4972         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
4973         * process-unix.c (unix_create_process): Call
4974         begin_dont_check_for_quit to inhibit unwanted interaction (and
4975         thus breaking of X event synchronicity) in the child.
4976
4977 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
4978
4979         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
4980         widget.
4981
4982 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
4983
4984         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
4985         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
4986         the xemacs process did not exit, but looped infinitely here.  This
4987         fixes that problem.
4988
4989 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
4990
4991         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
4992         (find_context): Improve comments.
4993
4994         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
4995         (re_match_2): An XCHAR_TABLE operation was missing.
4996
4997         Many of the following changes were inspired by Andy Piper's (now
4998         obsolete) patch to make syntax-table text property lookup optional.
4999
5000         [Documentation]
5001
5002         * syntax.h (top level): Document semantics of syntax flags.
5003         * syntax.c (comstr_start, Fforward_comment): Improve comments.
5004         * syntax.c, syntax.h (top level): Document syntax cache better in
5005         comments.
5006
5007         [Instrument syntax caching (temporary change)]
5008
5009         * syntax.h (enum syntax_cache_statistics_functions, struct
5010         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
5011         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
5012         * syntax.c (scan_words, Fforward_comment, scan_lists,
5013         Fbackward_prefix_characters):
5014         * font-lock.c (find_context):
5015         Use them to instrument syntax caching. 
5016         * syntax.c (struct syntax_cache_statistics, scs_statistics,
5017         syntax_cache_statistics_function_names): New type and variables.
5018         * syntax.c (update_syntax_cache): Update and report statistics.
5019
5020         [Major syntax cache optimizations]
5021
5022         syntax.c (lookup_syntax_properties): Default off.
5023
5024         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
5025         * syntax.c (update_syntax_cache):
5026         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
5027
5028         [Minor syntax cache optimizations and code clarifications]
5029
5030         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
5031         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
5032         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
5033         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
5034         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
5035         (Code clarification.)
5036
5037         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
5038         scan_lists): Compute code from syncode, use Boolean macros instead
5039         of redundant masking operations.  (Code clarification; any decent
5040         compiler can do this optimization.)
5041
5042         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
5043         for clarity.
5044
5045         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
5046         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
5047         use F*_single_property_change instead of F*_extent_change.
5048         Currently F*_single_property_change is _much_ less efficient.
5049
5050         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
5051         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
5052         syntax_cache.object properly, don't leave Qt or Qnil.
5053         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
5054         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
5055         tests for Qt or Qnil.
5056
5057 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
5058
5059         * redisplay.c (point_in_line_start_cache): 
5060         * extents.c (print_extent_1):
5061         Fix warnings.
5062
5063         * extents.c (Fset_extent_property): Document `syntax-table' property.
5064
5065         * extents.h (Fnext_single_property_change): EXFUN it.
5066
5067 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5068
5069         * search.c (clear_unused_search_regs): New static function.
5070         (search_buffer): 
5071         (simple_search): 
5072         (boyer_moore):
5073         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
5074         Minor clarifications in comments.
5075
5076         * regex.c (re_match_2_internal): Ensure no stale submatches.
5077
5078 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5079
5080         * event-Xt.c (enqueue_focus_event): Add missing prototype.
5081
5082 2002-08-29  Jerry James  <james@xemacs.org>
5083
5084         * lisp.h: structrures -> structures.
5085
5086 2002-06-03  Andy Piper  <andy@xemacs.org>
5087
5088         * frame.c (frame_conversion_internal): add conversion appropriate
5089         for setting frame dimensions in pixels.
5090
5091         * console.h (struct console_methods): add device-specific widget
5092         layout functions.
5093
5094         * emacs.c (main_1): initialize glyph vars.
5095
5096         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
5097         (handle_focus_event_2): new function. Allow focus to
5098         be set to a particular window and widget.
5099         (enqueue_focus_event): new function. Create a
5100         synthetic focus event.
5101         (emacs_Xt_handle_magic_event): call
5102         handle_focus_event_2.
5103
5104         * frame.c (Fset_frame_pixel_height): new function. Allow
5105         pixel-based sizing. Does the right thing on character-oriented
5106         displays.
5107         (Fset_frame_pixel_width): ditto.
5108         (Fset_frame_pixel_size): ditto.
5109         (syms_of_frame): declare.
5110
5111         * general-slots.h: add :vertically-justify and
5112         :horizontally-justify.
5113
5114         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
5115         (mswindows_widget_border_width): new function.
5116         (mswindows_combo_box_instantiate): set border widths.
5117         (console_type_create_glyphs_mswindows): declare.
5118
5119         * glyphs-widget.c:
5120         (check_valid_justification): allow vertical and horizontal
5121         justification.
5122         (widget_border_width): new function. Call device methods.
5123         (widget_instance_border_width): ditto.
5124         (logical_unit_height): new function. Determine the height of a
5125         logical-unit. Logical units are intended to provide grid-like
5126         layout for subcontrols in a layout. If the layout is
5127         :vertically-justify top then subcontrols will be positioned on
5128         logical-unit boundaries, thus allowing adjacent subcontrols to
5129         line up.
5130         (widget_logical_unit_height): ditto for widgets.
5131         (redisplay_widget): misc cleanup.
5132         (widget_spacing): new function. Call device specific
5133         methods. Intended to be the default gap between adjacent widgets.
5134         (widget_query_geometry): use new spacing functions to determine
5135         appropriate geometry.
5136         (initialize_widget_image_instance): initialize horizontal and
5137         vertical justification.
5138         (widget_instantiate): use logica-units where appropriate for
5139         sizing large widgets.
5140         (button_query_geometry): use widget_instance_border_width.
5141         (tree_view_query_geometry): ditto.
5142         (tab_control_query_geometry): ditto.
5143         (edit_field_query_geometry): new function.
5144         (layout_update): pick up :justify, :horizontally-justify and
5145         :vertically-justify none of which worked previously. :justify is
5146         used as a fallback for both horizontal and vertical justification.
5147         (layout_query_geometry): use logical units to size appropriately.
5148         (layout_layout): ditto.
5149         (Fwidget_logical_to_character_width): new function. Allow users to
5150         convert from logical units to characters so that frame sizes can
5151         be set appropriately.
5152         (Fwidget_logical_to_character_height): ditto.
5153         (syms_of_glyphs_widget): declare.
5154         (image_instantiator_edit_fields): add edit_field_query_geometry.
5155         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
5156         :horizontally-justify.
5157         (specifier_vars_of_glyphs_widget): new function. Declare
5158         Vwidget_border_width which is not yet used.
5159
5160         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
5161         (x_widget_border_width): new function.
5162         (x_widget_instantiate): create a sensible name for widgets.
5163         (console_type_create_glyphs_x): declare x_widget_border_width.
5164
5165         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
5166         (struct Lisp_Image_Instance): add :vertically-justify and
5167         :horizontally-justify.
5168         (LAYOUT_JUSTIFY_TOP): new.
5169         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
5170         (ROUND_UP): new macro. Round argument up to next integral
5171         interval.
5172
5173         * redisplay-output.c (redisplay_output_layout): misc formatting.
5174
5175         * symsinit.h: declare specifier_vars_of_glyphs_widget.
5176
5177 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
5178
5179         * XEmacs 21.4.9 "Informed Management" is released.
5180
5181 2002-08-19  Andy Piper  <andy@xemacs.org>
5182
5183         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
5184         win32 format.
5185
5186         * realpath.c (xrealpath): normalize drive spec also so that dir
5187         sep chars are not mixed on cygwin.
5188
5189 2002-08-06  Jerry James  <james@xemacs.org>
5190
5191         * window.c (Fsplit_window): Count only half of the divider width
5192         against the left window when splitting horizontally. 
5193
5194 2002-06-24  Andy Piper  <andy@xemacs.org>
5195
5196         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
5197         toolbar was cleared.
5198
5199         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
5200         function. Split out from mswindows_output_frame_toolbars.
5201         (mswindows_output_frame_toolbars): move clear pieces to
5202         mswindows_output_frame_toolbars.
5203
5204         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
5205         out from gtk_output_frame_toolbars.
5206         (gtk_output_frame_toolbars): move clear pieces to
5207         gtk_clear_frame_toolbars.
5208
5209         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
5210         the frame is cleared. How this ever worked before is a mystery.
5211         (x_output_frame_toolbars): Only output toolbars.
5212         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
5213
5214         * gutter.c (update_gutter_geometry):
5215         Mark frame layout changed.
5216         (update_frame_gutter_geometry, update_frame_gutters):
5217         Respect frame_layout_changed.
5218
5219         * console.h (struct console_methods): add
5220         clear_frame_toolbars_method.
5221
5222         * redisplay.c (redisplay_frame): call
5223         update_frame_toolbars_geometry and re-order update_frame_toolbars.
5224
5225         * toolbar.h: declare update_frame_toolbars_geometry.
5226
5227         * toolbar.c (update_frame_toolbars_geometry): new function. Split
5228         out from update_frame_toolbars.  Call clear_frame_toolbars.
5229         (update_frame_toolbars): only output, do not change geometry.
5230
5231         * redisplay.c: add frame_layout_changed.
5232
5233         * redisplay.h: add frame_layout_changed.
5234         (CLASS_RESET_CHANGED_FLAGS): set it.
5235         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
5236         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
5237         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
5238
5239         * device.h (struct device): add frame_layout_changed.
5240         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
5241
5242         * frame.h (struct frame): add frame_layout_changed.
5243         (MARK_FRAME_LAYOUT_CHANGED): new.
5244
5245 2002-06-30  Mike Alexander  <mta@arbortext.com>
5246
5247         * event-msw.c (mswindows_need_event): Don't wait for a new message
5248         if the queue is not empty.  Suggested by Paul Moore.
5249
5250 2002-06-12  Andy Piper  <andy@xemacs.org>
5251
5252         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
5253         for printing on accurately.
5254
5255 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
5256
5257         * event-msw.c (mswindows_wnd_proc): Add a handler for the
5258         WM_ACTIVATE message. Make sure that the frame is visible if the
5259         window is visible. This seemss to fix the problem where XEmacs
5260         appears to freeze after switching desktops with certain virtual
5261         window managers.
5262         (debug_output_mswin_message): Added code to output message
5263         parameters for WM_WINDOWPOSCHANGED, 
5264         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
5265
5266 2002-05-25  Andy Piper  <andy@xemacs.org>
5267
5268         * select-x.c (vars_of_select_x): Fix docstring of
5269         x-selection-strict-motif-ownership
5270
5271 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5272
5273         * keymap.c (get_keymap):
5274         Add comment about do_autoload GCPROs own args.
5275
5276 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5277
5278         * bytecode.c (execute_optimized_program): check_opcode ifdef
5279         ERROR_CHECK_BYTE_CODE.
5280
5281 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5282
5283         Thanks to Ben Wing and Michael Sperber.
5284
5285         * eval.c (Fcommand_execute):
5286         (Feval):
5287         (Ffuncall):
5288         (Fmacroexpand_internal):
5289         (function_argcount):
5290         callint.c (Fcall_interactively):
5291         Add comment about do_autoload GCPROs own args.
5292
5293         * (do_autoload): GCPRO both args as well as local Lisp_Object.
5294
5295         * eval.c (Ffuncall): Extra braces to placate GCC.
5296
5297 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
5298
5299         * backtrace.h (grow_specpdl):
5300         (SPECPDL_RESERVE):
5301         * EmacsFrame.c (EmacsFrameSetValues):
5302         * eval.c (grow_specpdl):
5303         * ExternalShell.c (hack_event_masks_1):
5304         * glyphs-x.c (convert_EImage_to_XImage): 
5305         (x_finalize_image_instance):
5306         * ralloc.c (page_size):
5307         (r_alloc_sbrk):
5308         * xgccache.c (gc_cache_hash):
5309         Fix unsigned comparison warnings.
5310
5311 2002-07-29  Jerry James  <james@xemacs.org>
5312
5313         * lread.c (locate_file): Any nonnegative return value indicates
5314         success if MODE is nonnegative.
5315
5316 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
5317
5318         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
5319         argument. 
5320
5321 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
5322
5323         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
5324
5325         * dumper.c (pdump_get_indirect_count):
5326         (pdump_scan_by_alignment):
5327         (pdump_dump_root_struct_ptrs):
5328         (pdump_dump_rtables):
5329         (pdump_dump_root_objects):
5330         (pdump):
5331         * nas.c (WaveOpenDataForReading):
5332         * fns.c (print_bit_vector):
5333         * font-lock.c (SINGLE_SYNTAX_STYLE):
5334         * glyphs.c (check_for_ignored_expose):
5335         (find_matching_subwindow):
5336         * glyphs-eimage.c:
5337         * imgproc.c (get_histogram):
5338         * redisplay.c (point_in_line_start_cache):
5339         * redisplay-output.c (redisplay_unmap_subwindows):
5340         * symbols.c (defsymbol_massage_name_1):
5341         (defkeyword_massage_name):
5342         (deferror_massage_name_and_message):
5343         * redisplay-x.c (x_output_string): 
5344         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
5345         * frame.h (struct frame):
5346         * filelock.c (current_lock_owner):
5347         * doprnt.c (emacs_doprnt_1):
5348         * lisp.h (struct Lisp_Bit_Vector):
5349         (DO_REALLOC):
5350         Fix warnings.
5351
5352 2002-02-13  Ben Wing  <ben@xemacs.org>
5353
5354         * event-stream.c (reset_key_echo):
5355         * event-stream.c (reset_this_command_keys):
5356         * event-stream.c (execute_command_event):
5357         If console is dead as a result of C-x 5 0, then post-command stuff
5358         needs to be careful and do only non-console-specific stuff.
5359
5360 2002-07-01  Mike Sperber <mike@xemacs.org>
5361
5362         * process-unix.c (unix_send_process): Mark coding_outstream as
5363         non-open upon SIGPIPE.
5364
5365         * event-stream.c (Fnext_event): Reorder switch cases to something
5366         that makes sense.
5367
5368 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
5369
5370         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
5371         Don't bogusly reinitialize ascii_character property.
5372
5373 2002-07-08  Mike Sperber <mike@xemacs.org>
5374
5375         * process.c (Fstart_process_internal): Do error checking before we
5376         fork off the child, so the child can't muck with the state of the
5377         parent.
5378
5379 2002-07-08  Mike Sperber <mike@xemacs.org>
5380
5381         * ralloc.c (init_ralloc): Allocate properly for pdump.
5382
5383 2002-06-12  Andy Piper  <andy@xemacs.org>
5384
5385         * glyphs.c (query_string_geometry): check the string.
5386
5387         * glyphs-widget.c (widget_logical_unit_height): cope with nil
5388         widget names.
5389
5390 2002-06-17  Jerry James  <james@xemacs.org>
5391
5392         * sysdll.c: Remove RTLD_GLOBAL initialization.
5393         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
5394
5395 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
5396
5397         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
5398
5399 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
5400
5401         * sysdep.c (sys_rename): Make sys_rename work for the case where
5402         Windows rename sets errno to EACCES if target file exists.
5403
5404 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
5405
5406         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5407         Fix detection of metric units to work on Win95
5408
5409 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
5410
5411         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
5412
5413 2002-04-25  Andy Piper  <andy@xemacs.org>
5414
5415         * redisplay.c (create_text_block): Remove extra comment trailer.
5416
5417 2002-04-24  Andy Piper  <andy@xemacs.org>
5418
5419         * redisplay.c (create_text_block): Don't actually add propagation
5420         data if the line ends after we have added a glyph.
5421
5422 2002-04-22  Andy Piper  <andy@xemacs.org>
5423
5424         * extents.c (extent_fragment_update): check for glyphs we have
5425         previously displayed.
5426         * extents.c (print_extent_1): warning removal.
5427         * extents.h: change prototype.
5428         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
5429         widths correctly for wide glyphs.
5430         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
5431         * redisplay.c (prop_type): add PROP_GLYPH.
5432         * redisplay.c (struct prop_block): add glyph type
5433         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
5434         to the propagation data.
5435         * redisplay.c (create_text_block): if there is a glyph in the
5436         propagation data use it to salt extent_fragment_update.
5437         * redisplay.c (create_string_text_block): ditto.
5438
5439 2002-04-13  Nix  <nix@esperi.demon.co.uk>
5440
5441         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
5442         * redisplay-output.c (compare_runes): Compare them.
5443         * redisplay.c: Update copyright date.
5444         * redisplay.c (pos_data): Add need_baseline_computation field.
5445         * redisplay.c (add_glyph_rune): Update ascent, descent, and
5446         need_baseline_computation; zero yoffset. Set max_pixmap_height
5447         for all pixmaps, not just automatically positioned ones.
5448         * redisplay.c (calculate_yoffset): New, compute yoffset values.
5449         * redisplay.c (calculate_baseline): New, compute textual baseline.
5450         * redisplay.c (add_glyph_rune): Call them.
5451         * redisplay.c (create_text_block): Likewise.
5452         * redisplay.c (create_overlay_glyph_block): Likewise.
5453         * redisplay.c (add_margin_runes): Likewise.
5454         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
5455
5456         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
5457         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
5458         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
5459         * redisplay-msw.c (mswindows_output_string): Likewise.
5460         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
5461         * redisplay-gtk.c (gtk_output_display_block): Likewise.
5462         * redisplay-x.c (x_output_display_block): Likewise.
5463
5464 2002-03-28  Ben Wing  <ben@xemacs.org>
5465
5466         * redisplay.c: Fixed bug in redisplay
5467         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
5468         and down of the lines, since they're bigger than the line
5469         size. (It was seen most obviously when there's a horizontal scroll
5470         bar, e.g. do C-h a glyph or something like that.) The problem was
5471         that the glyph-contrib-p setting on glyphs was ignored even if it
5472         was set properly, which it wasn't until now.
5473
5474 2002-04-24  Andy Piper  <andy@xemacs.org>
5475
5476         * lisp.h (Dynarr_end): Fix definition.
5477
5478 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
5479
5480         * redisplay.c (mark_redisplay): Remove call to
5481         update_frame_window_mirror.
5482
5483 2001-11-15  Andy Piper  <andy@xemacs.org>
5484
5485         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
5486         cygwin (again).
5487
5488 2002-02-13  Andy Piper  <andy@xemacs.org>
5489
5490         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
5491         we did in fact enqueue the XM_MAPFRAME event.
5492
5493 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
5494
5495         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
5496         to fix problem switching between virtual desktops under virtuawin
5497         virtual window manager.
5498
5499 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
5500
5501         * event-msw.c: Typo fix.
5502         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
5503         magic XM_MAPFRAME event has been sent.
5504
5505 2001-11-23  Andy Piper  <andy@xemacs.org>
5506
5507         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
5508
5509 2001-11-21  Andy Piper  <andy@xemacs.org>
5510
5511         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
5512         mouse events outside the frame.
5513
5514 2002-03-20  Andy Piper  <andy@xemacs.org>
5515
5516         * menubar-msw.c (mswindows_popup_menu): warning removal.
5517         * dialog-msw.c (dialog_popped_down): ditto.
5518
5519 2001-12-11  Andy Piper  <andy@xemacs.org>
5520
5521         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
5522         * dialog-msw.c (mswindows_make_dialog_box_internal): set
5523         popup_up_p.
5524         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
5525         * menubar-msw.c (mswindows_handle_wm_command): ditto.
5526         * menubar-msw.c (mswindows_popup_menu): ditto.
5527
5528 2001-10-29  Andy Piper  <andy@xemacs.org>
5529
5530         * dialog-msw.c (handle_directory_dialog_box): quit if the user
5531         cancels.
5532
5533 2002-01-03  Andy Piper  <andy@xemacs.org>
5534
5535         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
5536         letters.
5537         (xrealpath): ditto.
5538
5539 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
5540
5541         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
5542         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
5543         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5544         Detect and handle case where machine is set up for metric units
5545
5546 2002-04-02  Andy Piper  <andy@xemacs.org>
5547
5548         * dired-msw.c (mswindows_get_files): 
5549         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
5550         completely handled by XEmacs. Suggested by Thomas Vogler
5551         <mail@thomas-vogler.de>.
5552
5553 2001-11-14  Andy Piper  <andy@xemacs.org>
5554
5555         * nt.c (REG_ROOT): change registry key to XEmacs.
5556
5557 2002-04-27  Andy Piper  <andy@xemacs.org>
5558
5559         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
5560
5561 2002-04-26  Andy Piper  <andy@xemacs.org>
5562
5563         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
5564         behavior.
5565
5566 2002-03-14  Mike Alexander  <mta@arbortext.com>
5567
5568         * event-msw.c (mswindows_unwait_process): New, remove process from
5569         wait list
5570         * process-nt.c (nt_finalize_process_data): Call
5571         mswindows_unwait_process
5572         * console-msw.h: Declare mswindows_unwait_process
5573
5574 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
5575
5576         * editfns.c (Fdecode_time):
5577         (Fformat_time_string):
5578         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
5579         (make_time): Warning elimination (change arg name).
5580
5581 2001-11-24  Andy Piper  <andy@xemacs.org>
5582
5583         * window.c (Fsplit_window): Doc return type.
5584
5585 2002-04-01  Andy Piper  <andy@xemacs.org>
5586
5587         * emacs.c (Fkill_emacs): Only output message box in interactive
5588         mode.
5589
5590 2002-04-26  Andy Piper  <andy@xemacs.org>
5591  
5592         * config.h.in: pull in 21.5.x change to stop alloca warnings under
5593         cygwin.
5594
5595 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
5596
5597         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
5598         bit platform.
5599
5600 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
5601
5602         * XEmacs 21.4.8 "Honest Recruiter" is released.
5603
5604 2002-05-07  Nix  <nix@esperi.demon.co.uk>
5605
5606         Supersedes 2002-04-17 patch.
5607
5608         * process.h (PROCESS_LIVE_P): Use the process status as
5609         evidence of health, not the state of the input stream.
5610         (PROCESS_READABLE_P): Say if the process is readable
5611         from. (It may be dead nonetheless.)
5612         (CHECK_READABLE_PROCESS): Test for that condition.
5613
5614         * process.c (create_process): Use PROCESS_READABLE_P.
5615         (read_process_output, set_process_filter): Likewise.
5616
5617         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
5618         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
5619
5620         This code is #if 0'd, this is not the time to add new functions:
5621
5622         * process.c (Fprocess_readable_p): Report readability status.
5623         * process.c (Qprocess_readable_p): New, associated symbol...
5624         * process.c (syms_of_process): ... initialize it.
5625
5626 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
5627
5628         * XEmacs 21.4.7 "Economic Science" is released.
5629
5630 2002-04-17  Nix  <nix@esperi.demon.co.uk>
5631
5632         * process.h (PROCESS_LIVE_P): Use the process status as
5633         evidence of health, not the state of the input stream.
5634
5635 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
5636
5637         * sysdep.c (sys_siglist): change "signum" to "signal"
5638
5639 2001-04-21  Martin Buchholz  <martin@xemacs.org>
5640
5641         * s/darwin.h: New file.
5642         Thanks to Greg Parker <gparker@cs.stanford.edu>.
5643         
5644 2002-04-23  Andreas Jaeger  <aj@suse.de>
5645
5646         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
5647         which use lib64 for 64-bit libs.
5648         (START_FILES): Likewise.
5649
5650 2002-02-11  Mike Sperber  <mike@xemacs.org>
5651
5652         * device-x.c: 
5653         (x_IO_error_handler):
5654         (x_init_device): Temporarily keep device in static variable
5655         `device_being_initialized' so we can recover gracefully from
5656         internal XOpenDevice failure.  (XOpenDevice is documented to
5657         return NULL on failure, but sometimes calls the IO error handler
5658         instead.)
5659
5660 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
5661
5662         * dired.c (Ffile_name_all_completions): Change documentation --
5663         remove reference to completion-ignored-extensions.
5664         * dired.c (vars_of_dired): Change documentation for
5665         completion-ignored-extensions -- remove reference to
5666         file-name-all-completions.
5667
5668 2002-03-06  Jerry James  <james@xemacs.org>
5669
5670         * emodules.c (emodules_load): Fix multiple loading of same module.
5671
5672 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
5673         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
5674         RTLD_LAZY to avoid incorrect symbol binding when using nested
5675         shared libraries on Solaris.
5676
5677 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
5678
5679         * fileio.c (Ffind_file_name_handler): Improve docstring.
5680
5681 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
5682
5683         * fns.c (Fmapconcat): Improve docstring.
5684
5685 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
5686
5687         * device-gtk.c: Add prototype for
5688         emacs_gtk_selection_clear_event_handle.
5689         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
5690         selection.  Setup signal handler for "selection_clear_event"
5691         (emacs_gtk_selection_clear_event_handle).
5692
5693         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
5694         other applications owning the clipboard (based on
5695         x_handle_selection_clear).
5696
5697 2001-12-23  William M. Perry  <wmperry@gnu.org>
5698
5699         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
5700         
5701 2002-01-04  Martin Buchholz  <martin@xemacs.org>
5702
5703         * keymap.c (define_key_alternate_name): Parenthesize EQ.
5704
5705 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
5706
5707         * XEmacs 21.4.6 "Common Lisp" is released.
5708
5709 2001-12-16  Torsten Duwe  <duwe@caldera.de>
5710
5711         * search.c (Freplace_match): Add missing sub-expression functionality.
5712
5713         * buffer.c (decode_buffer): Add a check for pointer type to
5714         decode_buffer, before gcc's CSE optimization reorders a
5715         dereference in front of the allow_string test.
5716
5717 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
5718
5719         * window.c (window_loop): Fix bug that sometimes prevented
5720         window_loop() from iterating across multiple devices.  Also, at
5721         Ben's request, changed infloop-detecting code to abort() instead
5722         of silently terminating window_loop().
5723
5724 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
5725
5726         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
5727         * editfns.c (make_time): New function.
5728         (Fencode_time): Use it instead of wasteful_word_to_lisp.
5729         * lisp.h (make_time): Prototype and comment it.
5730         * dired.c (wasteful_word_to_lisp): Deprecate.
5731         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
5732
5733 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
5734
5735         * fileio.c (auto_save_1): Use current coding system, not
5736         escape-quoted.
5737
5738 2001-11-13  Ben Wing  <ben@xemacs.org>
5739
5740         * window.c:
5741         * window.c (window_truncation_on):
5742         * window.c (syms_of_window):
5743         truncate-partial-width-windows should respect the buffer being
5744         displayed, like other redisplay vars.
5745
5746 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
5747
5748         * event-stream.c (Fread_key_sequence): save current buffer.
5749
5750 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
5751
5752         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
5753
5754 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
5755
5756         * alloc.c (lcrecord_stats): Add space for types defined in modules.
5757
5758 2001-10-26  Mike Alexander  <mta@arbortext.com>
5759
5760         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
5761
5762 2001-10-25  Andy Piper  <andy@xemacs.org>
5763
5764         * ChangeLog:
5765         * dialog-msw.c (handle_directory_proc): new function.
5766          (handle_directory_dialog_box): new fucntion.
5767          (handle_file_dialog_box): use new directory dialog support.
5768          (mswindows_make_dialog_box_internal): ditto.
5769         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
5770         handling.
5771         (mswindows_find_frame): make global.
5772         * fileio.c (Fexpand_file_name): build fix.
5773         * general-slots.h: add Qdirectory.
5774         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
5775         handling.
5776         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
5777         cygwin not leaving win32 paths unchanged.
5778         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
5779         cygwin runtime to do path conversion.
5780         (Fmswindows_shell_execute): fix cygwin handling of URLs.
5781         (syms_of_win32): add new function.
5782         * window.c (window_loop): build fix.
5783
5784 2001-10-15  Andy Piper  <andy@xemacs.org>
5785
5786         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
5787
5788 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
5789
5790         * XEmacs 21.4.5 "Civil Service" is released.
5791
5792 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
5793
5794         * glyphs-x.c: Force buffer-tab highlight update when moving the
5795         buffer, avoiding an ugly black border, used for keyboard focus
5796         indication, on a widget that can never have keyboard focus, the
5797         buffer tab.
5798
5799 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
5800
5801         * process-unix.c (unix_open_multicast_group): Remove too much
5802         conversion between host and network byte order.
5803
5804 2001-09-10  Nix  <nix@esperi.demon.co.uk>
5805
5806         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
5807         before replacing them.
5808
5809         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
5810         operation.
5811
5812         * src/window.c (undedicate_windows): Use it.
5813         * src/window.h: Add prototype.
5814
5815 2001-09-17  Ben Wing  <ben@xemacs.org>
5816
5817         * fileio.c (normalize_filename):
5818         * fileio.c (Fexpand_file_name):
5819         Fix various C++ compile errors in Andy's recent code.
5820         
5821         * callint.c (Fcall_interactively):
5822         * editfns.c (Ftemp_directory):
5823         * editfns.c (Fuser_full_name):
5824         * emacs.c (argmatch):
5825         * lread.c (locate_file_map_suffixes):
5826         * redisplay-x.c (x_ring_bell):
5827         Fix sign-compare warnings.
5828         
5829 2001-09-08  Andy Piper  <andy@xemacs.org>
5830
5831         * fileio.c (normalize_filename): copied from nt.c
5832         * (Ffile_name_directory): enable win32 paths under cygwin.
5833         * (Ffile_name_nondirectory): ditto.
5834         * (directory_file_name): ditto.
5835         * (Fexpand_file_name): ditto.
5836         * (Ffile_truename): ditto.
5837         * (Fsubstitute_in_file_name): ditto.
5838         * (Ffile_name_absolute_p): ditto.
5839         * (Ffile_readable_p): ditto.
5840
5841 2001-09-08  Andy Piper  <andy@xemacs.org>
5842
5843         * device-msw.c (mswindows_finish_init_device): remove dde
5844         initialization.
5845         * device-msw.c (mswindows_init_dde): factor out from
5846         mswindows_finish_init_device()
5847         * device-msw.c (init_mswindows_very_early): new function
5848         initialize but don't enable dde.
5849         * emacs.c (main_1): call init_mswindows_very_early.
5850         * event-msw.c:
5851         * event-msw.c (mswindows_dde_callback): only execute when we are
5852         ready.
5853         * symsinit.h: declare init_mswindows_very_early.
5854
5855 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5856
5857         [sjt: This has been in 21.5 for months with no complaints.]
5858
5859         * console.h (struct console_methods): Added flags member.
5860         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
5861         (CONMETH_IMPL_FLAG):
5862         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
5863         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5864
5865         * device.c (window_system_pixelated_geometry): Use the above macros.
5866
5867         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
5868         implememntation flag.
5869         * device.h (DEVICE_DISPLAY_P): Use it.
5870
5871         * frame.c (delete_frame_internal): Use the above macro.
5872
5873         * redisplay.c (redisplay_device): Use it.
5874         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5875         (redisplay_frame): Ditto.
5876
5877         * device-msw.c (mswindows_device_implementation_flags): Removed.
5878         (msprinter_device_implementation_flags): Removed.
5879         (console_type_create_device_mswindows): Removed references to
5880         implementation_flags methods, set implementation flags here.
5881         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
5882
5883         * device-gtk.c (gtk_device_implementation_flags): Removed method.
5884         (console_type_create_device_gtk): Removed method declaration.
5885         Added commented out statement which semantically matches the
5886         commented out statement in the above removed method.
5887
5888 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
5889
5890         The attached patch fixes a few warnings. 
5891
5892         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
5893         * src/frame-gtk.c: guard against GNOME calls in GTK only
5894         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
5895         * src/select-gtk.c: prototype lisp_to_time
5896
5897 2001-06-08  Ben Wing  <ben@xemacs.org>
5898
5899         ------ gc-in-window-procedure fixes ------
5900         
5901         * alloc.c:
5902         * alloc.c (struct post_gc_action):
5903         * alloc.c (register_post_gc_action):
5904         * alloc.c (run_post_gc_actions):
5905         * alloc.c (garbage_collect_1):
5906         Create "post-gc actions", to avoid those dreaded "GC during window
5907         procedure" problems.
5908
5909         * event-msw.c:
5910         Abort, clean and simple, when GC in window procedure.  We want
5911         to flush these puppies out.
5912
5913         * glyphs-msw.c:
5914         * glyphs-msw.c (finalize_destroy_window):
5915         * glyphs-msw.c (mswindows_finalize_image_instance):
5916         Use a post-gc action when destroying subwindows.
5917
5918         * lisp.h:
5919         Declare register_post_gc_action().
5920
5921         * scrollbar-msw.c:
5922         * scrollbar-msw.c (unshow_that_mofo):
5923         Use a post-gc action when unshowing scrollbar windows, if in gc.
5924
5925         * redisplay.c (mark_redisplay):
5926         Add comment about the utter evilness of what's going down here.
5927
5928         ------ cygwin setitimer fixes ------
5929         
5930         * Makefile.in.in (sheap_objs):
5931         * Makefile.in.in (profile_objs):
5932         * Makefile.in.in (objs):
5933         Compile profile.c only when HAVE_SETITIMER.
5934         
5935         * nt.c (mswindows_sigset):
5936         * nt.c (mswindows_sighold):
5937         * nt.c (mswindows_sigrelse):
5938         * nt.c (mswindows_sigpause):
5939         * nt.c (mswindows_raise):
5940         * nt.c (close_file_data):
5941         Style fixes.
5942         
5943         * nt.c:
5944         Move setitimer() emulation to win32.c, because Cygwin needs it too.
5945         
5946         * profile.c:
5947         * profile.c (Fstart_profiling):
5948         * profile.c (Fstop_profiling):
5949         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
5950         instead of just plain setitimer().
5951         
5952         * signal.c:
5953         * signal.c (set_one_shot_timer):
5954         * signal.c (alarm):
5955         Define qxe_setitimer() as an encapsulation around setitimer() --
5956         call setitimer() directly unless Cygwin or MS Win, in which case
5957         we use our simulated version in win32.c.
5958         
5959         * systime.h:
5960         * systime.h (struct itimerval):
5961         * systime.h (ITIMER_REAL):
5962         Prototype mswindows_setitimer() and qxe_setitimer().  Long
5963         comment about "qxe" and the policy regarding encapsulation.
5964
5965         * win32.c:
5966         * win32.c (setitimer_helper_proc):
5967         * win32.c (setitimer_helper_period):
5968         * win32.c (setitimer_helper):
5969         * win32.c (mswindows_setitimer):
5970         Move setitimer() emulation here, so Cygwin can use it.
5971         Rename a couple of functions and variables to be longer and more
5972         descriptive.  In setitimer_helper_proc(), send the signal
5973         using either mswindows_raise() or (on Cygwin) kill().  If for
5974         some reason we are still getting lockups, we'll change the kill()
5975         to directly invoke the signal handlers.
5976
5977         ------ windows shell fixes ------
5978         
5979         * callproc.c:
5980         * ntproc.c:
5981         Comments about how these two files must die.
5982
5983         * callproc.c (init_callproc):
5984         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
5985         not just COMSPEC. (more correct and closer to FSF.) Don't
5986         force a value for SHELL into the environment. (Comments added
5987         to explain why not.)
5988         
5989         * nt.c (init_user_info):
5990         Don't shove a fabricated SHELL into the environment.  See above.
5991
5992 2001-06-01  Ben Wing  <ben@xemacs.org>
5993
5994         * Makefile.in.in (ldflags):
5995         eliminate that pesky "defaulting to 00401000" warning.
5996         * nt.h:
5997         eliminate warnings.
5998
5999 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
6000
6001         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
6002         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
6003
6004 2001-04-24  Jerry James <james@xemacs.org>
6005
6006         * faces.h: pass parameters to Fadd_spec_to_specifier in the
6007         correct order.
6008
6009 2001-06-01  Ben Wing  <ben@xemacs.org>
6010
6011         * event-msw.c (debug_mswin_messages):
6012         conditionalize the messages that were causing compile errors.
6013         (if only macros could generate #ifdef statements ...)
6014
6015 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
6016
6017         * XEmacs 21.4.4 "Artificial Intelligence" is released.
6018
6019 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6020
6021         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
6022
6023 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6024
6025         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
6026         * process-unix.c (unix_canonicalize_host_name):
6027         sysdep.c (init_system_name):
6028         Use it to conditionally support IPv6 canonicalization.
6029
6030 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
6031
6032         * event-msw.c:
6033         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
6034
6035 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
6036
6037         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
6038         attempt is made to scroll when no scroll bar is available.
6039
6040 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6041
6042         * input-method-motif.c (XIM_delete_frame): New callback.
6043         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
6044         got deleted from 21.4.3.)
6045
6046 2001-06-01  Ben Wing  <ben@xemacs.org>
6047
6048         * nt.c (mswindows_utime):
6049         * nt.c (close_file_data):
6050         fix off-by-one-indirection error.
6051
6052 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
6053
6054         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
6055         because set_file_times() now takes Lisp_Object path, instead of
6056         char*.
6057         * nt.c: Include buffer.h.
6058         * nt.c (convert_from_time_t): New.
6059         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
6060         not set mtime correctly.
6061         * nt.h: Declare mswindows_utime().
6062         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
6063         path, instead of char*.
6064         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
6065
6066 2001-05-30  Ben Wing  <ben@xemacs.org>
6067
6068         For 21.4:
6069
6070         (Stephen, just take all event-msw.c patches.  This includes
6071         the "iconify" fix below.)
6072
6073         * event-msw.c:
6074         * event-msw.c (mswindows_dequeue_dispatch_event):
6075         * event-msw.c (assert):
6076         * event-msw.c (emacs_mswindows_quit_p):
6077         * event-msw.c (debug_mswin_messages):
6078         * event-msw.c (debug_output_mswin_message):
6079         * event-msw.c (vars_of_event_mswindows):
6080         Fix yet more problems with C-g handling.
6081         Implement debug-mswindows-events.
6082         
6083 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6084
6085         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
6086         
6087 2001-05-23  Ben Wing  <ben@xemacs.org>
6088
6089         * event-msw.c (winsock_writer):
6090         * event-msw.c (winsock_closer):
6091         prior kludgy code was clobbering the buffer, thinking it was
6092         "unused" space to store an unneeded return value; instead, use
6093         the variable we've already got staring us in the face.
6094
6095 2001-05-17  Andy Piper  <andy@xemacs.org>
6096
6097         * sysfile.h: don't assume that file attributes are boolean
6098
6099 2001-05-23  Ben Wing  <ben@xemacs.org>
6100
6101         * device-msw.c (msprinter_init_device):
6102         signal an error rather than crash with an unavailable network
6103         printer (from Mike Alexander).
6104         
6105         * event-msw.c:
6106         * event-msw.c (struct winsock_stream):
6107         * event-msw.c (winsock_writer):
6108         * event-msw.c (winsock_closer):
6109         * event-msw.c (make_winsock_stream_1):
6110         cleanup headers.  fix (hopefully) an error with data corruption
6111         when sending to a network connection.
6112
6113         * fileio.c (Fexpand_file_name): Fix evil code that attempts
6114         to handle the ~user prefix by (a) always assuming we're referencing
6115         ourselves and not even verifying the user -- hence any file with
6116         a tilde as its first char is invalid! (b) if there wasn't a slash
6117         following the filename, the pointer was set *past* the end of
6118         file and we started reading from uninitialized memory.  Now we
6119         simply treat these as files, always.
6120
6121         * buffer.c (common_init_complex_vars_of_buffer): comment change.
6122         
6123 2001-05-19  Ben Wing  <ben@xemacs.org>
6124
6125         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
6126
6127         * process-nt.c:
6128         * process-nt.c (vars_of_process_nt):
6129         remove unused mswindows-quote-process-args.  rec for 21.4.
6130         
6131 2001-05-12  Ben Wing  <ben@xemacs.org>
6132
6133         * event-msw.c (mswindows_dde_callback):
6134         * event-msw.c (mswindows_wnd_proc):
6135         eliminate cygwin warnings.
6136
6137 2001-05-06  Ben Wing  <ben@xemacs.org>
6138
6139         * console-msw.h:
6140         * device-msw.c:
6141         * device-msw.c (print_dialog_worker):
6142         * device-msw.c (mswindows_handle_print_dialog_box):
6143         * device-msw.c (syms_of_device_mswindows):
6144         * dialog-msw.c (mswindows_make_dialog_box_internal):
6145         * general-slots.h:
6146         implement printing the selection when it's selected.
6147
6148 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
6149
6150         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
6151
6152 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
6153
6154         * lisp.h (EMACS_INT_MAX): This should be one bit less since
6155         EMACS_INT is signed.
6156
6157 2001-04-15  Michael Lausch  <mla@1012surf.net>
6158
6159         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
6160         gtk_widget_request_size() to give scrollbar >0 width for
6161         GTK >1.2.8.
6162
6163 2001-05-30  William M. Perry  <wmperry@gnu.org>
6164
6165         * event-gtk.c: Check for buttons as modifier keys.
6166
6167 2001-05-25  Craig Lanning  <CraigL@Knology.net>
6168
6169         * s\mingw32.h:
6170         Properly find MinGW's <process.h> inside Cygwin's restructured
6171         include directories.  Don't try to include <cygwin/version.h>
6172         since we are dropping support for MinGW in versions of Cygwin
6173         earlier than b21.
6174         * nt.c:
6175         Drop support for MinGW in versions of Cygwin before b21.
6176         * sysdep.c:
6177         Properly find MinGW's <process.h> inside Cygwin's restructured
6178         include directories.
6179         * syswindows.h:
6180         Drop support for MinGW in versions of Cygwin before b21.
6181         * unexcw.c:
6182         Even though a.out.h is no longer detected by configure, allow
6183         MinGW to use it until we figure out how to do the job with Win32.
6184
6185 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
6186
6187         * syntax.c (find_start_of_comment):
6188         Fix `unbalanced parentheses' bug when dealing with mixed comment
6189         styles in c++/java/etc. mode
6190
6191 2001-05-29  Mike Alexander  <mta@arbortext.com>
6192
6193         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
6194         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
6195
6196 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
6197
6198         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
6199
6200 2001-03-31  Mike Sperber <mike@xemacs.org>
6201
6202         * search.c (Freplace_match): Support FSF-style specification of
6203         match subexpression when applied to a buffer.
6204
6205 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6206
6207         * event-stream.c (is_scrollbar_event): add missing semicolon
6208
6209 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
6210
6211         * Makefile.in.in: Use TAR macro instead of hardcoding
6212           tar.  Allows use of GNU tar instead of system tar
6213
6214 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6215
6216         * event-stream.c (is_scrollbar_event): add missing semicolon
6217
6218 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6219
6220         * XEmacs 21.4.3 "Academic Rigor" is released.
6221
6222 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6223
6224         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
6225
6226 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
6227
6228         * buffer.c (Vcase_fold_search): Remove obsolete
6229           comment about non ASCII case-fold-search.  This
6230           bug has been fixed by case-table changes.
6231
6232 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
6233
6234         * event-msw.c: Restore include of events-mod.h.
6235
6236 2001-04-22   zhaoway  <zw@debian.org>
6237
6238         * event-stream.c (is_scrollbar_event): Noop returning 0 if
6239         !HAVE_SCROLLBARS.
6240
6241 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
6242
6243         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
6244
6245 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
6246
6247         * mule-charset.c (Fmake_charset): Add missing else.
6248
6249 2001-04-23  Ben Wing  <ben@xemacs.org>
6250
6251         * event-msw.c (FAKE_MOD_QUIT):
6252         * event-msw.c (mswindows_dequeue_dispatch_event):
6253         * event-msw.c (mswindows_wnd_proc):
6254         * event-msw.c (emacs_mswindows_quit_p):
6255         Get critical quit working.
6256
6257 2001-05-05  Ben Wing  <ben@xemacs.org>
6258
6259         * console-msw.h:
6260         * device-msw.c:
6261         * device-msw.c (mswindows_get_default_margin):
6262         * frame-msw.c (mswindows_size_frame_internal):
6263         * frame-msw.c (msprinter_init_frame_1):
6264         * frame-msw.c (vars_of_frame_mswindows):
6265         Change top/bottom margin defaults to 0.5 inches.
6266
6267 2001-05-01  Martin Buchholz  <martin@xemacs.org>
6268
6269         Fix link error with gcc 3.0 on Linux.
6270         * terminfo.c (UP): Remove.
6271         * terminfo.c (BC): Remove.
6272         * terminfo.c (PC): Remove.
6273         They weren't used, and in any case, these symbols should be
6274         defined in the *library*.
6275
6276 2001-05-03  Martin Buchholz  <martin@xemacs.org>
6277
6278         * s/aix4.h: Fix crash with xlc -O3.
6279         Improve comment explaining how -O3 works.
6280
6281 2001-04-15  Ben Wing  <ben@xemacs.org>
6282
6283         * event-stream.c:
6284         * event-stream.c (Fnext_event):
6285         * event-stream.c (is_scrollbar_event):
6286         * event-stream.c (execute_command_event):
6287         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
6288         crash' problem.  His fix introduces other problems.  We filter
6289         out scrollbar events specifically, making them somewhat invisible
6290         to command-building, and not appearing in `this-command-keys'.
6291         More work is still needed (see comments in event-stream.c), but
6292         this fixes all the major problems.
6293
6294 2001-04-20  Ben Wing  <ben@xemacs.org>
6295
6296         * .cvsignore: Added stuff for Windows.
6297
6298 2001-04-28  Ben Wing  <ben@xemacs.org>
6299
6300         * buffer.c (Ferase_buffer):
6301         * editfns.c (buffer_insert1):
6302         * editfns.c (Finsert_before_markers):
6303         * editfns.c (Finsert_string):
6304         * editfns.c (Finsert_char):
6305         * editfns.c (Fdelete_region):
6306         * editfns.c (Fwiden):
6307         * editfns.c (Fnarrow_to_region):
6308         remove bogus lines setting zmacs_region_stays to 0.
6309         
6310 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6311
6312         * process-unix.c (unix_open_network_stream): If connect() fails
6313         invalidate file descriptor after closing it.
6314
6315 2001-03-08  Mike Alexander  <mta@arbortext.com>
6316
6317         * event-msw.c (mswindows_need_event_in_modal_loop):
6318         Don't dispatch a message if we didn't get one.
6319         (mswindows_need_event):
6320         Terminate the correct process when one exits instead of the first
6321         one on Vprocess_list and look for process termination when in
6322         mswindows_protect_modal_loop.
6323
6324 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
6325
6326         * XEmacs 21.4.1 "Copyleft" is released.
6327
6328 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6329
6330         * input-method-motif.c (XIM_delete_frame): New callback.
6331         (XIM_init_frame): Register it.
6332
6333 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6334
6335         * XEmacs 21.4.0 "Solid Vapor" is released.
6336
6337 2001-04-15  Ben Wing  <ben@xemacs.org>
6338
6339         * cmdloop.c (call_command_loop):
6340         Fix braino in bit-rotting code.
6341         
6342 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
6343
6344         * extents.c (Fset_extent_endpoints): Force creation of extent info
6345         in buffer_or_string.
6346
6347         * extents.c (process_extents_for_insertion_mapper): Correctly
6348         check for open-open zero-length extents.
6349
6350 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6351
6352         * lisp.h: New typedefs Memory_count, Element_count.
6353         * regex.c:
6354         * regex.h:
6355         Sign-compare warning elimination: several unsigned -> signed.
6356         Based on work by Ben Wing <ben@xemacs.org>.
6357
6358 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
6359
6360         * XEmacs 21.2.47 "Zephir" is released.
6361
6362 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
6363
6364         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
6365
6366 2001-04-03  Mike Sperber <mike@xemacs.org>
6367
6368         * search.c: Revert previous patch due because of release.
6369
6370 2001-03-30  Ben Wing  <ben@xemacs.org>
6371
6372         * s\cygwin32.h:
6373         Add missing killpg prototype.
6374
6375         * elhash.c:
6376         Add a comment about fixing problems when a new entry is added
6377         while mapping.
6378
6379         * frame-msw.c (mswindows_init_frame_1):
6380         Fix compile warnings.
6381
6382         * menubar.c (vars_of_menubar):
6383         Provide `menu-accelerator-support' to indicate that we properly
6384         support %_ in menu specifications, so that package code can
6385         conditionalize on this (and remove %_ from menu specifications
6386         on older versions).
6387
6388         * event-msw.c:
6389         * scrollbar-msw.c:
6390         * scrollbar-msw.c (can_scroll):
6391         * scrollbar-msw.h:
6392         Fix handling of mouse wheel under Windows to follow standards --
6393         now scrolls window under pointer, not selected window.
6394
6395 2001-03-31  Mike Sperber <mike@xemacs.org>
6396
6397         * search.c (Freplace_match): Support FSF-style specification of
6398         match subexpression when applied to a buffer.
6399
6400 2001-03-15  Martin Buchholz  <martin@xemacs.org>
6401
6402         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
6403         function to modify KEYMAP, so map over a copy of the hash table.
6404
6405 2001-03-21  Martin Buchholz <martin@xemacs.org>
6406
6407         * XEmacs 21.2.46 "Urania" is released.
6408
6409 2001-03-20  Dan Holmsand  <dan@eyebee.com>
6410
6411         * realpath.c (xrealpath): Make file-truename work with symlinks to
6412         /cygdrive paths on cygwin. Always lowercase drive-letters on
6413         native windows.
6414         (cygwin_readlink): Don't try to find canonical filename unless
6415         file exists.
6416
6417 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
6418
6419         * ChangeLog: Log GTK merge.
6420
6421         * dumper.c:
6422         * select-x.c:
6423         * specifier.c:
6424         * symeval.h:
6425         Revert gratuitous whitespace changes from GTK merge.
6426
6427         * emacs.c: Document end of complex #ifdef @ l. 1495.
6428
6429
6430 2001-03-12  Andy Piper  <andy@xemacs.org>
6431
6432         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
6433         have to do likewise.
6434
6435 2001-03-12  Andy Piper  <andy@xemacs.org>
6436
6437         * sysdep.c: we only support mingw now.
6438
6439 2001-03-09  Andy Piper  <andy@xemacs.org>
6440
6441         * unexcw.c (copy_executable_and_dump_data_section): making approx
6442         overrun a warning only.
6443
6444 2001-03-10  William M. Perry  <wmperry@aventail.com>
6445
6446         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
6447         satisfy Stephen's identical-after-cpp plea.
6448
6449 2001-03-02  Ben Wing  <ben@xemacs.org>
6450
6451         * cmds.c:
6452         * cmds.c (Fforward_char):
6453         * syntax.c:
6454         * window.c:
6455
6456         Augment documentation of the most common motion commands to make
6457         note of the shifted-motion support.
6458         
6459 2001-03-02  Ben Wing  <ben@xemacs.org>
6460
6461         * nt.c (mswindows_fstat):
6462         * nt.c (mswindows_stat):
6463         * search.c (boyer_moore):
6464         Fix compile warnings under Windows.
6465         
6466         * sysdep.c (sys_readdir):
6467         Fix buggy filename-conversion code under Mule.
6468
6469 2001-03-09  William M. Perry  <wmperry@aventail.com>
6470
6471         * Makefile.in.in:
6472         * config.h.in:
6473         * console.c:
6474         * console.h:
6475         * device.c:
6476         * device.h:
6477         * dragdrop.c:
6478         * emacs.c:
6479         * event-stream.c:
6480         * events.c:
6481         * events.h:
6482         * faces.c:
6483         * frame.h:
6484         * general-slots.h:
6485         * glyphs.c:
6486         * gutter.c:
6487         * inline.c:
6488         * lisp.h:
6489         * lrecord.h:
6490         * make-src-depend:
6491         * redisplay-output.c:
6492         * redisplay.c:
6493         * symsinit.h:
6494         * sysfile.h:
6495         * toolbar.c:
6496         * window.c:
6497         The Great GTK Merge.
6498
6499         * ChangeLog.GTK:
6500         * console-gtk.c:
6501         * console-gtk.h:
6502         * device-gtk.c:
6503         * emacs-marshals.c:
6504         * emacs-widget-accessors.c:
6505         * event-gtk.c:
6506         * frame-gtk.c:
6507         * gccache-gtk.c:
6508         * gccache-gtk.h:
6509         * glade.c:
6510         * glyphs-gtk.c:
6511         * glyphs-gtk.h:
6512         * gtk-glue.c:
6513         * gtk-xemacs.c:
6514         * gtk-xemacs.h:
6515         * gui-gtk.c:
6516         * gui-gtk.h:
6517         * menubar-gtk.c:
6518         * native-gtk-toolbar.c:
6519         * objects-gtk.c:
6520         * objects-gtk.h:
6521         * redisplay-gtk.c:
6522         * scrollbar-gtk.c:
6523         * scrollbar-gtk.h:
6524         * select-gtk.c:
6525         * toolbar-gtk.c:
6526         * ui-byhand.c:
6527         * ui-gtk.c:
6528         * ui-gtk.h:
6529         The Great GTK Merge: new files.
6530
6531 2001-02-26  Ben Wing  <ben@xemacs.org>
6532
6533         Reapplied Lstream change.
6534
6535 2001-02-26  Ben Wing  <ben@xemacs.org>
6536
6537         Undid the last change, since it is more controversial than I
6538         thought.  It should be back in at some point soon.
6539         
6540 2001-02-25  Ben Wing  <ben@xemacs.org>
6541
6542         * buffer.c:
6543         * callproc.c (Fold_call_process_internal):
6544         * event-msw.c (ntpipe_slurp_reader):
6545         * event-msw.c (ntpipe_shove_writer):
6546         * event-msw.c (winsock_reader):
6547         * event-msw.c (winsock_writer):
6548         * file-coding.c:
6549         * file-coding.c (detect_eol_type):
6550         * file-coding.c (detect_coding_type):
6551         * file-coding.c (determine_real_coding_system):
6552         * file-coding.c (Fdetect_coding_region):
6553         * file-coding.c (decoding_reader):
6554         * file-coding.c (decoding_writer):
6555         * file-coding.c (mule_decode):
6556         * file-coding.c (Fdecode_coding_region):
6557         * file-coding.c (encoding_reader):
6558         * file-coding.c (encoding_writer):
6559         * file-coding.c (mule_encode):
6560         * file-coding.c (Fencode_coding_region):
6561         * file-coding.c (detect_coding_sjis):
6562         * file-coding.c (decode_coding_sjis):
6563         * file-coding.c (encode_coding_sjis):
6564         * file-coding.c (detect_coding_big5):
6565         * file-coding.c (decode_coding_big5):
6566         * file-coding.c (encode_coding_big5):
6567         * file-coding.c (detect_coding_ucs4):
6568         * file-coding.c (decode_coding_ucs4):
6569         * file-coding.c (encode_coding_ucs4):
6570         * file-coding.c (detect_coding_utf8):
6571         * file-coding.c (decode_coding_utf8):
6572         * file-coding.c (encode_coding_utf8):
6573         * file-coding.c (detect_coding_iso2022):
6574         * file-coding.c (decode_coding_iso2022):
6575         * file-coding.c (encode_coding_iso2022):
6576         * file-coding.c (decode_coding_no_conversion):
6577         * file-coding.c (encode_coding_no_conversion):
6578         * glyphs-x.c (write_lisp_string_to_temp_file):
6579         * gpmevent.c (tty_get_foreign_selection):
6580         * lisp.h:
6581         * lstream.c:
6582         * lstream.c (Lstream_flush_out):
6583         * lstream.c (Lstream_adding):
6584         * lstream.c (Lstream_write_1):
6585         * lstream.c (Lstream_write):
6586         * lstream.c (Lstream_raw_read):
6587         * lstream.c (Lstream_read_more):
6588         * lstream.c (Lstream_read):
6589         * lstream.c (Lstream_unread):
6590         * lstream.c (Lstream_fputc):
6591         * lstream.c (stdio_reader):
6592         * lstream.c (stdio_writer):
6593         * lstream.c (filedesc_reader):
6594         * lstream.c (filedesc_writer):
6595         * lstream.c (lisp_string_reader):
6596         * lstream.c (struct fixed_buffer_stream):
6597         * lstream.c (make_fixed_buffer_input_stream):
6598         * lstream.c (make_fixed_buffer_output_stream):
6599         * lstream.c (fixed_buffer_reader):
6600         * lstream.c (fixed_buffer_writer):
6601         * lstream.c (struct resizing_buffer_stream):
6602         * lstream.c (resizing_buffer_writer):
6603         * lstream.c (dynarr_writer):
6604         * lstream.c (lisp_buffer_reader):
6605         * lstream.c (lisp_buffer_writer):
6606         * lstream.h:
6607         * lstream.h (lstream_implementation):
6608         * lstream.h (struct lstream):
6609         * md5.c (Fmd5):
6610         * process-nt.c (nt_send_process):
6611         * process-unix.c (unix_send_process):
6612         
6613         Correct Lstream lossage due to mixing of signed and unsigned
6614         quantities.  All Lstream uses of size_t and ssize_t are now a
6615         single signed data type Lstream_data_count.  This fixes problems
6616         under Windows with sending large quantities of data to a process,
6617         and may well fix other subtle bugs.
6618
6619 2001-02-23  Martin Buchholz <martin@xemacs.org>
6620
6621         * XEmacs 21.2.45 "Thelxepeia" is released.
6622
6623 2001-02-21  Martin Buchholz  <martin@xemacs.org>
6624
6625         * lisp-union.h (XSETINT): 
6626         (XSETCHAR):
6627         (XSETOBJ): 
6628         Reverse previous change of 2001-02-06.
6629
6630 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
6631
6632         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
6633         buffers.
6634         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
6635         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
6636         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
6637         * regex.c (POS_AS_IN_BUFFER): removed
6638         * regex.c (re_search_2):
6639         * regex.c (re_match_2):
6640         Don't use an offset of 1 when calculating buffer positions, since
6641         `BI_BUF_BEGV' does it already.
6642
6643 2001-02-18  Wim Dumon  <wim@easics.be>
6644
6645         * insdel.c (prepare_to_modify_buffer): Also check for
6646         supersession when clash-detection is enabled. 
6647
6648 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
6649
6650         * regex.c (re_match_2_internal):
6651         Convert temp characters from 'const unsigned char' to 're_char'.
6652         Fix crashing bug with extended characters under mule.
6653         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
6654         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
6655         font-lock, pdump, and new syntax-table code.
6656         * syntax.c (find_start_of_comment):
6657         (find_end_of_comment):
6658         (forward-comment):
6659         Fix crashing bugs involving moving beyond end of buffer.
6660         * syntax.c (find_start_of_comment):
6661         Fixed logic to allow proper detection of cases where the same
6662         character is used to end both a two-char comment start and a
6663         two-char comment end sequence. Fixes `(forward-comment -1)'.
6664         * syntax.c (find_start_of_comment):
6665         Return position just past last comment-end character for all cases
6666         (previously was only done for two-char comment-end sequences).
6667         * syntax.c (forward-comment):
6668         Take value returned from `find_end_of_comment', rather than
6669         incrementing it.
6670         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
6671         Properly deal with BUFFERP (syntax_cache.object)
6672
6673 2001-02-17  Martin Buchholz  <martin@xemacs.org>
6674
6675         * alloc.c (Fgarbage_collect): 
6676         * alloc.c (make_bit_vector_from_byte_vector):
6677         -Wsign-compare-correctness.
6678
6679 2001-02-16  Martin Buchholz  <martin@xemacs.org>
6680
6681         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
6682         (XSETCHAR): Likewise.
6683         (XSETOBJ): Likewise.
6684
6685 2001-02-15  Martin Buchholz  <martin@xemacs.org>
6686
6687         * mule-canna.c (canna-func-delete_previous): 
6688         Rename to canna-func-delete-previous.
6689
6690 2001-02-14  Martin Buchholz  <martin@xemacs.org>
6691
6692         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
6693
6694 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
6695
6696         * font-lock.c (find_context): Fix C++ compile errors introduced by
6697         recent patch
6698
6699 2001-02-13  Martin Buchholz  <martin@xemacs.org>
6700
6701         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
6702         pragma, but earlier ones barf on the same pragma.
6703
6704 2001-02-06  Mike Sperber <mike@xemacs.org>
6705
6706         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
6707         `configure-mule-lisp-directory'.
6708
6709 2001-02-12  Martin Buchholz  <martin@xemacs.org>
6710
6711         Make sure dump-id.c is compiled in the same way as other .c's.
6712         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
6713         * dump-id.h: Remove.
6714         * emacs.c: Move dump-id.h into dumper.h.
6715         * dumper.h: Move dump-id.h into dumper.h.
6716         * Makefile.in.in:
6717         Use standard .c.o rule for building dump-id.o.
6718         Remove preprocessor flags from link command.
6719         Add dump-id.o to ${otherobjs} if PDUMP.
6720
6721 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
6722
6723         Port FSF 20.7 syntax table improvements.
6724         * syntax.c.
6725         * syntax.h.
6726
6727         Fixups for new syntax table stuff.
6728         * dired.c: Include syntax.c.
6729         (Fdirectory_files): Initialize regex_match_object and
6730         regex_emacs_buffer.
6731         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
6732         and Fget_char_property.
6733
6734         Use ported FSF 20.7 syntax table improvements.
6735         * font-lock.c.
6736         * regex.c.
6737         * search.c.
6738         
6739 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6740
6741         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
6742         Unixware's enum boolean from sys/types.h.
6743
6744 2001-02-10  Martin Buchholz  <martin@xemacs.org>
6745
6746         Fix support for building with latest Purify.
6747         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
6748         (PURIFY_FLAGS): Likewise.
6749
6750 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6751
6752         * fileio.c (lisp_string_set_file_times): New.
6753         * fileio.c (Fcopy_file): Use it.
6754         Fixes bug:
6755         (copy-file filename non-ascii-filename t t)
6756         ==> No such file or directory, non-ascii-filename
6757
6758 2001-02-10  Martin Buchholz  <martin@xemacs.org>
6759
6760         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
6761         USHRT_MAX seems clearer than ~0 anyways.
6762
6763 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6764
6765         dumper improvements.  Inspired by Olivier.
6766         * dumper.c (pdump_max_align): New.
6767         * dumper.c (pdump_add_entry): Use pdump_max_align.
6768         * dumper.c (pdump_get_entry_list): Likewise.
6769         * dumper.c (pdump_scan_by_alignment): Likewise.
6770         Don't iterate through unnecessary alignments.
6771         * dumper.c (pdump_file_get): No need to align result of malloc().
6772         * dumper.c (pdump_mallocadr): Remove.  
6773         The result of malloc() is guaranteed to be maximally aligned.
6774         * dumper.c: s/elmt/elt/g;
6775         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
6776         * dumper.c (pdump_alert_undump_object): Likewise.
6777         * dumper.c (pdump_align_table): 
6778         Don't support alignments > 64.
6779         Store ALIGNOF's, not shift counts, in table.
6780
6781 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6782
6783         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
6784         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
6785         * systime.h: Use HAVE_UTIME.
6786         * sysdep.c (struct utimbuf): Remove.
6787         * sysdep.c (set_file_times): Prefer utime() to utimes().
6788         * config.h.in (HAVE_UTIME): New.
6789         * config.h.in (HAVE_UTIME_H): Remove.
6790         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
6791
6792 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6793
6794         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
6795
6796 2001-02-08  Martin Buchholz  <martin@xemacs.org>
6797
6798         * s/irix6-0.h: Use the standard system memmove, not bcopy.
6799
6800 2001-02-08  Martin Buchholz <martin@xemacs.org>
6801
6802         * XEmacs 21.2.44 "Thalia" is released.
6803
6804 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6805
6806         Fixes crashes in kill-emacs on some systems.
6807         * process-unix.c (unix_kill_child_process):
6808         It's OK for kill() to fail with ESRCH.
6809
6810 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6811
6812         Contortions to make .gdbinit tricks work on most systems.
6813         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
6814         * alloc.c (dbg_valmask): Make non-const.
6815         * alloc.c (dbg_typemask): Make non-const.
6816         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
6817         * alloc.c (dbg_valbits): Make non-const.
6818         * alloc.c (dbg_gctypebits): Make non-const.
6819         * .gdbinit (decode_object): Make it work with AIX cc.
6820
6821 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6822
6823         * elhash.c (make_general_lisp_hash_table):
6824         Use simpler and more efficient calloc to clear entries.
6825
6826 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6827
6828         * window.c (window_scroll): Work around an AIX C compiler bug.
6829         Fixes 'scroll-up' does nothing problem with xlC.
6830
6831 2001-02-05  Martin Buchholz  <martin@xemacs.org>
6832
6833         * .gdbinit: Remove obsolete comment.
6834
6835 2001-01-31  Mike Alexander  <mta@arbortext.com>
6836
6837         * select.c (Fown_selection_internal): Set owned_p for device
6838         method correctly.
6839
6840 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6841
6842         Port to g++ 2.97.
6843         "not" cannot be used as a macro name as it is an operator in C++
6844         * config.h.in: Stop #defining `not'.
6845         * chartab.c (check_category_char): not ==> not_p
6846         * chartab.h: Likewise.
6847         * regex.c (re_match_2_internal): Likewise.
6848
6849 2001-02-02  Martin Buchholz  <martin@xemacs.org>
6850
6851         * lisp-disunion.h: Fix up comments.
6852
6853 2001-01-31  Martin Buchholz  <martin@xemacs.org>
6854
6855         * keymap.c (define_key_check_and_coerce_keysym):
6856         (syms_of_keymap):
6857         Support mouse-6 and mouse-7 bindings in the obvious way.
6858
6859 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6860
6861         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
6862
6863 2001-01-30  Martin Buchholz  <martin@xemacs.org>
6864
6865         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
6866         Previous patch missed DEFVAR_INT_MAGIC.
6867         Make sure future DEFVAR_foo use correct types.
6868         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
6869         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
6870         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
6871         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
6872         * (DEFVAR_INT): Likewise.
6873         * redisplay.c (vertical_clip): Should be of type Fixnum.
6874         * redisplay.c (horizontal_clip): Likewise.
6875         * lisp.h (dump_add_opaque_int): New.
6876         (dump_add_opaque_fixnum): New.
6877
6878 2001-01-29  Andy Piper  <andy@xemacs.org>
6879
6880         * glyphs-widget.c (check_valid_int_or_function): allow symbols
6881         since they can be eval'ed
6882
6883 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6884
6885         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
6886         Oops, XEmacs redefines `class'.  Use `typename' instead.
6887
6888 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6889
6890         * dumper.c: Fix C++ compile errors.
6891
6892 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6893
6894         * tparam.c: Use correct prototypes.
6895
6896 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6897
6898         * sysproc.h: #include util.h for NetBSD's openpty.
6899
6900 2001-01-27  Martin Buchholz  <martin@xemacs.org>
6901
6902         More 64-bit correctness.
6903         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
6904         Use a typedef `fixnum' for the type used for DEFVAR_INT.
6905         Fix up comments.
6906         This finally finishes the 64-bit SGI port.
6907         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
6908         * symbols.c: Fix up comments and type casts.
6909         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
6910         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
6911         * symeval.h (Fixnum): New type.
6912         * symeval.h (symbol_value_type): Fix up comment.
6913
6914         * commands.h:
6915         * nt.c:
6916         * emacs.c:
6917         * data.c:
6918         * redisplay.c:
6919         * abbrev.c:
6920         * dired-msw.c:
6921         * event-Xt.c:
6922         * eldap.c:
6923         * window.c:
6924         * sound.c:
6925         * event-stream.c:
6926         * eval.c:
6927         * buffer.c:
6928         * mule-canna.c: A million DEFVAR_INTs here...
6929         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
6930         * extents.c:
6931         * cmdloop.c:
6932         * lisp.h:
6933         * select-x.c:
6934         * console-x.h:
6935         * event-msw.c:
6936         * mule-wnnfns.c:
6937         * hpplay.c:
6938         * ralloc.c:
6939         * alloc.c:
6940         * keymap.c:
6941         * profile.c:
6942         s/int/Fixnum/g in DEFVAR_INT declarations.
6943
6944 2001-01-26  Martin Buchholz  <martin@xemacs.org>
6945
6946         Port pdump to SGI alignment-sensitive environment.
6947         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
6948         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
6949         properly aligned.
6950         Define and use aligned reading and writing macros.
6951         Use buffered stdio instead of posix i/o for faster dumping.
6952         Eliminate kludgy 256 byte space for header.
6953         Read and write from dump file using structs for alignment safety.
6954         * dumper.c (pdump_align_stream): New.
6955         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
6956         * dumper.c (PDUMP_READ_ALIGNED): New.
6957         * dumper.c (PDUMP_WRITE_ALIGNED): New.
6958         * dumper.c (pdump_static_Lisp_Object): New struct.
6959         * dumper.c (pdump_static_pointer): New struct.
6960         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
6961         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
6962         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
6963         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
6964
6965         * dumper.c (pdump_backtrace):
6966         * dumper.c (pdump_get_indirect_count):
6967         * dumper.c (pdump_register_object):
6968         * dumper.c (pdump_register_struct):
6969         * dumper.c (pdump_reloc_one):
6970         * dumper.c (pdump_scan_by_alignment):
6971         * dumper.c (pdump_dump_from_root_struct_ptrs):
6972         * dumper.c (pdump_dump_opaques):
6973         * dumper.c (pdump_dump_rtables):
6974         * dumper.c (pdump_dump_from_root_objects):
6975         * dumper.c (pdump):
6976         * dumper.c (pdump_load_finish):
6977         Use aligned reading and writing.
6978
6979         * dumper.c (pdump_free): Make static.
6980         * dumper.c (pdump_hFile): Likewise.
6981         * dumper.c (pdump_hMap): Likewise.
6982
6983 2001-01-26  Martin Buchholz <martin@xemacs.org>
6984
6985         * XEmacs 21.2.43 "Terspichore" is released.
6986
6987 2001-01-25  Martin Buchholz  <martin@xemacs.org>
6988
6989         Type fiddling for window_config.saved_windows_count
6990         * window.c (struct window_config): 
6991         Make saved_windows_count member unsigned.
6992         * window.c (sizeof_window_config_for_n_windows): 
6993         Make parameter unsigned.
6994         * window.c (mark_window_config):
6995         * window.c (window_config_equal):
6996         * window.c (free_window_configuration):
6997         * window.c (Fset_window_configuration):
6998         * window.c (count_windows):
6999         * window.c (Fcurrent_window_configuration):
7000         * window.c (reinit_vars_of_window):
7001         Update all callers and users.
7002
7003 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7004
7005         Alignment correctness for flexible arrays.
7006         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
7007         Make alignment-correct. Add interesting comments.
7008         * alloc.c (size_vector):
7009         * alloc.c (make_vector_internal):
7010         * alloc.c (make_bit_vector_internal):
7011         * alloc.c (sweep_bit_vectors_1):
7012         * fns.c (size_bit_vector):
7013         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
7014         * window.c (sizeof_window_config_for_n_windows): 
7015         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
7016
7017 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7018
7019         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
7020
7021 2001-01-23  Andy Piper  <andy@xemacs.org>
7022
7023         * select.c (Fown_selection_internal): pass owned_p
7024
7025         * select-msw.c (mswindows_own_selection): New Signature.
7026
7027         * console.h (struct console_methods): add owned_p to
7028         _own_selection.
7029
7030         * select-x.c (x_own_selection): pass owned_p
7031         (hack_motif_clipboard_selection): use owned_p
7032         (vars_of_select_x): new variable -
7033         x_selection_strict_motif_ownership.
7034
7035 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7036
7037         * specifier.h (specifier_data_offset): Remove pointless parens.
7038         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
7039
7040 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7041
7042         Make Lisp_Object sizeof methods be alignment-correct.
7043         pdump must restore objects to the same alignment as the C compiler
7044         assumes.  It really matters on SGIs.
7045         * lstream.c (aligned_sizeof_lstream): New.
7046         (sizeof_lstream): Use aligned_sizeof_lstream.
7047         (Lstream_new): Likewise.
7048         * opaque.c (aligned_sizeof_opaque): New.
7049         (sizeof_opaque): Use aligned_sizeof_opaque.
7050         (make_opaque): Likewise.
7051         * specifier.c (aligned_sizeof_specifier): New.
7052         (sizeof_specifier): Use aligned_sizeof_specifier.
7053         (make_specifier_internal): Likewise.
7054
7055 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7056
7057         * lstream.h (struct lstream): Use max_align_t for trailing data.
7058         * specifier.h (struct Lisp_Specifier): Likewise.
7059
7060 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7061
7062         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
7063         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
7064         (CCL_SUSPEND): Likewise.
7065         (CCL_INVALID_CMD): Likewise.
7066         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
7067         (ccl_driver): Likewise.
7068         (CCL_WRITE_CHAR): Macro hygiene.
7069         (CCL_WRITE_STRING): Macro hygiene.
7070
7071 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7072
7073         Port "portable" dumper to SunOS 4 and HP-UX.
7074         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
7075         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
7076         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
7077
7078 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7079
7080         * lisp.h (ALIGNOF): A better definition for C++.
7081
7082 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7083
7084         Macro hygiene.
7085         Fix printf warnings: int format, long int arg.
7086         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
7087         (PUSH_FAILURE_POINT): Use correct printf formats.
7088         (POP_FAILURE_POINT): Use correct printf formats.  
7089         Use do {...} while (0)
7090
7091 2001-01-20  Martin Buchholz <martin@xemacs.org>
7092
7093         * XEmacs 21.2.42 "Poseidon" is released.
7094
7095 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7096
7097         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
7098
7099 2001-01-19  Martin Buchholz  <martin@xemacs.org>
7100
7101         De-kludgify FIXED_TYPE free list frobbing.
7102         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
7103         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
7104         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
7105         * alloc.c (Lisp_Free): New pseudo lisp object definition.
7106         * alloc.c (LRECORD_FREE_P): New.
7107         * alloc.c (MARK_LRECORD_AS_FREE): New.
7108         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
7109         * alloc.c (STRUCT_FREE_P): Deleted.
7110         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
7111         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
7112         * alloc.c (STRING_CHARS_FREE_P): New.
7113         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
7114         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
7115         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
7116         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
7117         * alloc.c (resize_string): Use new definitions.
7118         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
7119         * alloc.c (verify_string_chars_integrity): Use new definitions.
7120         * alloc.c (compact_string_chars): Use new definitions.
7121         * alloc.c: Update monster comments.
7122         * lrecord.h (lrecord_type): Add some new lrecord types for
7123         alloc.c's use.
7124
7125 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7126
7127         Improve alignment hackery.
7128         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
7129         (max_align_t): Moved from opaque.h - general purpose.
7130         (ALIGN_PTR): Use size_t, not long.
7131         * opaque.h (max_align_t): Move to lisp.h.
7132
7133 2001-01-18  Norbert Koch  <nk@LF.net>
7134
7135         * gui.h: Fix and add prototypes to fix build problems.
7136
7137 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7138
7139         temacs is going away, so `dump-temacs' is now a bad name.
7140         * .dbxrc (dump-temacs): Rename to `dmp'.
7141         * .gdbinit (dump-temacs): Rename to `dmp'.
7142
7143 2001-01-17  Andy Piper  <andy@xemacs.org>
7144
7145         * glyphs.c (print_image_instance): comment to make martin happy.
7146
7147         * glyphs-x.c (x_redisplay_widget): update faces after a frame
7148         change.
7149
7150         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
7151         activation.
7152         (mswindows_tab_control_redisplay): warning suppression.
7153
7154         * glyphs-widget.c (widget_update): re-write to cope with updated
7155         items.
7156         (widget_instantiate): use new gui_item functions.
7157         (tab_control_update): deleted.
7158         (progress_gauge_update): deleted.
7159         (image_instantiator_progress_guage): take out update reference.
7160         (image_instantiator_tree_view): ditto.
7161         (image_instantiator_tab_control): ditto.
7162
7163         * gui.c (widget_gui_parse_item_keywords): new function. Do things
7164         Right the new way.
7165         (gui_item_add_keyval_pair): re-write to cope with descriptors and
7166         return whether anything was changed.
7167         (update_gui_item_keywords): as it sounds.
7168
7169         * gui.h: declare widget_gui_parse_item_keywords.
7170
7171         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
7172         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
7173
7174 2001-01-17  Martin Buchholz <martin@xemacs.org>
7175
7176         * XEmacs 21.2.41 "Polyhymnia" is released.
7177
7178 2001-01-16  Didier Verna  <didier@xemacs.org>
7179
7180         * glyphs.c (image_instantiate): don't use fallbacks when
7181         instantiating a face's background pixmap by inheritance.
7182
7183 2001-01-14  Mike Sperber <mike@xemacs.org>
7184
7185         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
7186         Conditionalize accordingly.
7187
7188 2001-01-16  Martin Buchholz  <martin@xemacs.org>
7189
7190         * dumper.c (pdump_file_get): Fix a compiler warning.
7191
7192 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7193
7194         Make Purify happy when pdumping.
7195         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
7196         iniitalizing all bits of new lisp object memory.
7197         * symbols.c (Fmake_local_variable): Likewise.
7198         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
7199         * symbols.c (Fdefvaralias): Likewise.
7200         * mule-charset.c (vars_of_mule_charset): Likewise.
7201
7202 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7203         Add the `-nd' flag when running pre-dump operations under the debugger.
7204         * .dbxrc (run-temacs): Add `-nd'.
7205         * .dbxrc (update-elc): Likewise.
7206         * .dbxrc (dump-temacs): Likewise.
7207         * .gdbinit (run-temacs): Likewise.
7208         * .gdbinit (check-temacs): Likewise.
7209         * .gdbinit (update-elc): Likewise.
7210         * .gdbinit (dump-temacs): Likewise.
7211
7212 2001-01-14  Martin Buchholz  <martin@xemacs.org>
7213
7214         Allow building 64-bit executables on AIX with GNU malloc, e.g.
7215         export OBJECT_MODE=64
7216         configure --pdump --use-union-type=no
7217         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
7218         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
7219
7220         * miscplay.c (sndcnv8U_2mono):
7221         Avoid two uses of `++' in the same expression.
7222         Suppresses a GCC warning.
7223
7224 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7225
7226         Make sure future compilers don't miscompile alloc.c.
7227         * alloc.c:
7228         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
7229         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
7230
7231 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7232
7233         * dumper.c: A little post-pdump-rename comment fixup.
7234
7235 2001-01-09  Jerry James  <james@eecs.ku.edu>
7236
7237         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
7238
7239 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7240
7241         * *.[ch]: Globally rename symbols using the following `pdump-rename'
7242         script:
7243         #!/bin/sh
7244         replace_symbol () {
7245           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
7246         }
7247
7248         replace_symbol pdump_wire_lists pdump_weak_object_chains
7249         replace_symbol pdump_wire_list dump_add_weak_object_chain
7250
7251         replace_symbol pdump_wires pdump_root_objects
7252         replace_symbol pdump_wire dump_add_root_object
7253
7254         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
7255         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
7256
7257         replace_symbol dumpstructinfos pdump_root_struct_ptrs
7258         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
7259         replace_symbol dumpstructinfo pdump_root_struct_ptr
7260         replace_symbol dumpstruct dump_add_root_struct_ptr
7261
7262         replace_symbol dumpopaque dump_add_opaque
7263         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
7264         replace_symbol dumpopaqueinfos pdump_opaques
7265         replace_symbol dumpopaqueinfo pdump_opaque
7266
7267         replace_symbol nb_structdump nb_root_struct_ptrs
7268         replace_symbol nb_opaquedump nb_opaques
7269
7270         replace_symbol align_table pdump_align_table
7271         replace_symbol dump_header pdump_header
7272
7273         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
7274         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
7275
7276
7277 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7278
7279         * s/aix4.h: Keep the C for AIX compiler from overaggressively
7280         optimizing bytecount_to_charcount().
7281
7282 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7283
7284         * config.h.in:
7285         (HAVE_DLFCN_H): Removed.
7286         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
7287
7288 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7289
7290         Portable dumper maintainability improvements.
7291         * alloc.c (staticpro):
7292         * alloc.c (staticpro_nodump):
7293         * alloc.c (garbage_collect_1):
7294         * alloc.c (reinit_alloc_once_early):
7295         * alloc.c (init_alloc_once_early):
7296         * alloc.c: Move dumper functions to alloc.c.
7297         * dumper.c (pdump_backtrace):
7298         * dumper.c (pdump_dump_structs):
7299         * dumper.c (pdump_dump_opaques):
7300         * dumper.c (pdump_dump_rtables):
7301         * dumper.c (pdump_dump_wired):
7302         * dumper.c (pdump):
7303         * dumper.c (pdump_load_check):
7304         * dumper.c (pdump_load_finish):
7305         * dumper.c (pdump_file_unmap):
7306         * dumper.c (pdump_file_get):
7307         * dumper.c (pdump_resource_free):
7308         * dumper.c (pdump_resource_get):
7309         * dumper.c (pdump_file_free):
7310         * dumper.c (pdump_file_try):
7311         * dumper.c (pdump_load):
7312         Remove fixed size limits on staticpro(), staticpro_nodump(),
7313         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
7314         Remove custom code for dumping lrecord_implementations_table - use
7315         dumpopaque instead.
7316         Remove (most of the) custom code for dumping staticpros - dump it
7317         like any other dynarr.
7318
7319         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
7320         * dumper.c: Moved functions from alloc.c.
7321         * alloc.c (dumpstruct): Moved to dumper.c.
7322         * alloc.c (dumpopaque): Likewise.
7323         * alloc.c (pdump_wire): Likewise.
7324         * alloc.c (pdump_wire_list): Likewise.
7325
7326         * lisp.h (Dynarr_sizeof): New.
7327         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
7328         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
7329         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
7330
7331         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
7332         * lisp.h (dumpopaque): ditto.
7333         * lisp.h (pdump_wire): ditto.
7334         * lisp.h (pdump_wire_list): ditto.
7335
7336 2001-01-09  Martin Buchholz  <martin@xemacs.org>
7337
7338         * make-src-depend (PrintPatternDeps):
7339         Use `sort' to make output independent of perl version.
7340
7341 2001-01-08  Martin Buchholz  <martin@xemacs.org>
7342
7343         Port to Netbsd 1.5.
7344         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
7345         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
7346
7347 2001-01-03  Didier Verna  <didier@xemacs.org>
7348
7349         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
7350         that `focus_frame' is alive before thinking of calling
7351         `redisplay_redraw_cursor' on it.
7352
7353 2001-01-08  Martin Buchholz <martin@xemacs.org>
7354
7355         * XEmacs 21.2.40 is released.
7356
7357 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7358
7359         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
7360
7361 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7362
7363         * alloc.c (dbg_valmask): Make const.
7364         * alloc.c (dbg_typemask): Make const.
7365         * alloc.c (dbg_USE_UNION_TYPE): Make const.
7366         * alloc.c (dbg_valbits): Make const.
7367         * alloc.c (dbg_gctypebits): Make const.
7368
7369 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
7370
7371         * redisplay-x.c (x_bevel_area):
7372         redisplay.h (struct rune):
7373         Typo fixes in comments.
7374
7375 2001-01-05  Andy Piper  <andy@xemacs.org>
7376
7377         * glyphs-x.c (x_redisplay_widget): use size changed for offset
7378         adjustment.
7379
7380         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
7381
7382 2001-01-05  Martin Buchholz  <martin@xemacs.org>
7383
7384         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
7385
7386         * mule-ccl.c (stack_idx_of_map_multiple):
7387         Non const global data must not be initialized!
7388         Found by MIYASHITA Hisashi.
7389
7390 2001-01-02  Andy Piper  <andy@xemacs.org>
7391
7392         * frame.c (change_frame_size): make sure frame size is always
7393         marked as changed.
7394
7395         * glyphs.c (image_instance_layout): minor code reuse.
7396
7397         * window.c (Fcurrent_window_configuration): revert previous
7398         change.
7399
7400 2001-01-02  Martin Buchholz  <martin@xemacs.org>
7401
7402         * glyphs.h:
7403         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
7404
7405 2000-12-31  Andy Piper  <andy@xemacs.org>
7406
7407         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
7408         when widget gets unmapped.
7409
7410         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
7411         function. Make sure widgets losing focus don't just drop it.
7412         (handle_focus_event_1): record the widget with focus.
7413
7414 2000-12-31  Andy Piper  <andy@xemacs.org>
7415
7416         * window.c (allocate_window): use
7417         make_image_instance_cache_hash_table.
7418         (make_dummy_parent): ditto.
7419         (Fset_window_configuration): ditto.
7420
7421         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
7422
7423         * glyphs.c (process_image_string_instantiator): use
7424         INSTANTIATOR_TYPE.
7425         (get_image_instantiator_governing_domain): ditto.
7426         (normalize_image_instantiator): ditto.
7427         (instantiate_image_instantiator): ditto.
7428         (make_image_instance_1): ditto.
7429         (image_instantiate): ditto. Key on glyph *and* instantiator type.
7430         (instantiator_eq_equal): new function for use with instance hash
7431         tables.
7432         (instantiator_eq_hash): ditto.
7433         (make_image_instance_cache_hash_table): create a suitable hash
7434         table for storing image instances.
7435
7436         * elhash.h (hash_table_weakness): new internal weakness type
7437         HASH_TABLE_KEY_CAR_VALUE_WEAK.
7438         declare new functions.
7439
7440         * elhash.c (finish_marking_weak_hash_tables): introduce yet
7441         another weakness type for glyphs.
7442         (make_standard_lisp_hash_table): new function split out from
7443         make_general_lisp_hash_table.
7444         (make_lisp_hash_table): call make_standard_lisp_hash_table.
7445         (hash_table_instantiate): ditto.
7446         (Fmake_hash_table): ditto.
7447
7448 2000-12-31  Martin Buchholz <martin@xemacs.org>
7449
7450         * XEmacs 21.2.39 is released.
7451
7452 2000-12-29  Andy Piper  <andy@xemacs.org>
7453
7454         * menubar.c (menubar_visible_p_changed): signal the frame changed.
7455
7456         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
7457         the frame has changed so that we pick up geometry changes such as
7458         menubar visibility.
7459
7460 2000-12-28  Andy Piper  <andy@xemacs.org>
7461
7462         * lastfile.c (my_ebss): make a char array so we can pad the
7463         bss. Fixes cygwin unexec.
7464
7465         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
7466
7467 2000-12-26  Andy Piper  <andy@xemacs.org>
7468
7469         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
7470         comments and try and be more precise about a non-/SIGIO world.
7471         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
7472         SIGIO.
7473
7474         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
7475         we don't normalize to zero width or height.
7476
7477 2000-12-24  Andy Piper  <andy@xemacs.org>
7478
7479         * Makefile.in.in (ldflags): add -mwindows when appropriate.
7480
7481 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
7482
7483         * s/sco5.h: SCO 5 has pty support.
7484
7485 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
7486
7487         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
7488         input-method-xlib.c contains whole contents of input-method-xfs.c,
7489         so we can use input-method-xlib.c's code for USE_XFONTSET
7490         using #ifdefs.
7491         * input-method-xfs.c: removed.
7492
7493 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
7494
7495         * file-coding.h (enum coding_category_type): reorder enumerators to
7496         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
7497         (now one greater than largest real coding_category_type enumerator).
7498         * file-coding.c (coding_category_symbol, coding_category_by_priority,
7499         coding_category_system, fcd_descriptihon_1, decode_coding_category,
7500         Fcoding_category_list, Fset_coding_priority_list,
7501         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
7502         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
7503
7504 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
7505
7506         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
7507         * redisplay-output.c (redisplay_output_window): Clear top of window
7508         when face is changed.
7509         * redisplay-x.c (x_redraw_exposed_window): Call
7510         redisplay_clear_top_of_window.
7511         * redisplay.h: Publish redisplay_clear_top_of_window.
7512
7513 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
7514
7515         * buffer.c (Fkill_buffer): Map over all devices.
7516         * window.c (window_loop): Remove UNSHOW_BUFFER code.
7517         (list_windows): New function.
7518         (list_all_windows): Ditto.
7519         (Freplace_buffer_in_windows): Use them.
7520
7521 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
7522
7523         * database.c (berkdb_subtype): Recognize new subtype `queue'.
7524         (Fopen_database): Use `db_create' instead of `db_open'.
7525         (syms_of_database): Initialize Qqueue.
7526
7527 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
7528
7529         * buffer.c (common_init_complex_vars_of_buffer): Initialize
7530         buffer_local_face_property.
7531         * buffer.h (struct buffer): New member buffer_local_face_property.
7532         * window.c (Fset_window_buffer):  Mark window's face as changed
7533         when buffer has buffer local face.
7534         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
7535         * objects.c (color_after_change): Set buffer_local_face_property
7536         when locale of face specifier is buffer.
7537         * objects.c (font_after_change): Ditto.
7538         * objects.c (face_boolean_after_change): Ditto.
7539         * glyphs.c (image_after_change): Ditto.
7540
7541 2000-12-09  Dan Holmsand  <dan@eyebee.com>
7542
7543         * nt.c (mswindows_fstat): Report file permissions, volume serial
7544         number, etc. Code adapted from FSF Emacs 20.7.
7545
7546 2000-12-09  Dan Holmsand  <dan@eyebee.com>
7547
7548         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
7549         of stat when we don't have symbolic links, to make sure
7550         mswindows_stat is called on mswindows.
7551
7552 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
7553
7554         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
7555
7556 2000-12-12  Martin Buchholz  <martin@xemacs.org>
7557
7558         * doprnt.c (emacs_doprnt_1): More printing fixes.
7559         Make printing of numbers compatible with libc and FSF Emacs.
7560         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
7561         Use the system printf to do most of the hard work of formatting,
7562         instead of doprnt_1().
7563         Calculate memory to allocate for format string.
7564         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
7565         (doprnt_1): Cleaner code and documentation.
7566
7567 2000-12-01  Jerry James  <james@eecs.ukans.edu>
7568
7569         * Makefile.in.in: Use the loop variable to install headers.
7570
7571 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7572
7573         * window.c (Fsplit_window): Don't invalidate face cache.
7574
7575 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7576
7577         * minibuf.c (Fall_completions): Undo the previous change
7578         which removed checking elements start with space.
7579
7580 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
7581
7582         * mule-canna.c: Didier suppression.
7583
7584 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
7585
7586         * mule-canna.c: rename static unsigned char buf[] to key_buffer
7587         (warning suppression).  Add English comment translations.
7588
7589 2000-12-05  Martin Buchholz  <martin@xemacs.org>
7590
7591         * unexelfsgi.c (unexec): Better test for mmap failure.
7592
7593 2000-12-05  Martin Buchholz <martin@xemacs.org>
7594
7595         * XEmacs 21.2.38 is released.
7596
7597 2000-12-05  Martin Buchholz  <martin@xemacs.org>
7598
7599         * redisplay.c (bar-cursor): Make a user variable.
7600
7601         * symsinit.h: Add init_postgresql_from_environment.
7602
7603 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7604
7605         * regex.c: Convert to clean C.
7606
7607 2000-12-05  Dan Holmsand  <dan@eyebee.com>
7608
7609         * realpath.c:
7610         Don't #include sysfile.h. Revert to duplicating PATH_MAX
7611         initialization.
7612         (sys_readlink): renamed to system_readlink to avoid conflict with
7613         the other sys_readlink.
7614
7615 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
7616
7617         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
7618
7619 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
7620
7621         * postgresql.c (init_postgresql_from_environment): new function.
7622         (vars_of_postgresql): Move code initializing Lisp variables out and
7623         into init_postgresql_from_environment.
7624         emacs.c (main_1): Call init_postgresql_from_environment if and only
7625         if running a dumped XEmacs.
7626
7627 2000-08-31  Dan Holmsand  <dan@eyebee.com>
7628
7629         * buffer.c: Make find-file-compare-truenames default to true on
7630         windows.
7631
7632         * realpath.c (win32_abs_start):
7633         (cygwin_readlink):
7634         (win32_readlink): New functions.
7635         (xrealpath): Return really real filenames on windows.
7636
7637         * fileio.c (Ffile_truename): Make file-truename work on windows.
7638
7639 2000-11-29  Didier Verna  <didier@xemacs.org>
7640
7641         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
7642         * faces.c (update_face_cachel_data): use it.
7643         * faces.c (add_face_cachel): use it. Complete background pixmap
7644         frobbing in face cache if `update_face_cachel_data' has not done so.
7645
7646 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
7647
7648         * search.c (string_match_1): Don't set last_thing_searched
7649         when search failed.
7650
7651 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
7652
7653         * buffer.c: Include casetab.h
7654         (common_init_complex_vars_of_buffer): Use new case-table object.
7655         * buffer.h: Include casetab.h
7656         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
7657         (DOWNCASE_TABLE_OF): Ditto.
7658         * bufslots.h: Remove char-tables and add case-table.
7659         * casetab.c: Include casetab.h
7660         (CASE_TABLE_P): Removed.
7661         (mark_case_table): New function.
7662         (allocate_case_table): New function.
7663         (Fcase_table_p): Use new case-table.
7664         (case_table_char): New function.
7665         (Fget_case_table): Ditto.
7666         (Fput_case_table): Ditto.
7667         (Fput_case_table_pair): Ditto.
7668         (Fcopy_case_table): Ditto.
7669         (Fcurrent_case_table): Return case-table.
7670         (Fstandard_case_table): Return case-table.
7671         (Fset_case_table): Fix doc-string.
7672         (set_case_table): Use case-table
7673         (syms_of_casetab): DEFSUBR new functions.
7674         (complex_vars_of_casetab): Set up standard case-table.
7675         * casetab.h: New file.
7676         * editfns.c: Include casetab.h
7677         (Fcompare_buffer_substrings): Use case-table.
7678         * inline.c: Include casetab.h
7679         * lisp.h: Remove bogus extern.
7680         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
7681         * search.c: Include casetab.h
7682         (TRANSLATE_ASCII): Removed.
7683         (TRANSLATE): Unconditionally translate character.
7684         (looking_at_1): Use case-table.
7685         (string_match_1): Ditto.
7686         (fast_string_match): Ditto.
7687         (search_command): Ditto.
7688         (search_buffer): Separate boyer_moore.  Check whether
7689         boyer_moore is possible.
7690         (simple_search): New function.
7691         (boyer_moore): Separated from search_buffer. Translate char.
7692
7693 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7694
7695         * regex.c (RE_TR_ASCII): Removed.
7696         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
7697         (PATFETCH): Call PATFETCH_RAW.
7698         (PATFETCH_RAW): Fetch Emchar.
7699         (PATUNFETCH): Decrement charptr.
7700         (GET_BUFFER_SPACE): Rename b to buf_end.
7701         (BUF_PUSH): Ditto.
7702         (BUF_PUSH_2): Ditto.
7703         (BUF_PUSH_3): Ditto.
7704         (EXTEND_BUFFER): Ditto.
7705         (SET_LIST_BIT): Ditto.
7706         (regex_compile): Ditto.  Translate non ASCII char.
7707         (compile_range): Ditto.
7708         (re_search_2): Ditto.
7709         (re_match_2_internal): Compare Emchar.
7710         (bcmp_translate): Ditto.
7711
7712 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
7713
7714         * lisp.h (basic char/int typedefs):  comment improvement.
7715
7716 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
7717
7718         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
7719         unstomp inhibit_site_lisp.  Improve comments.
7720
7721 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
7722
7723         * mule-charset.c (Fcharset_property):  improve type checking, comments.
7724
7725 2000-11-28  Andy Piper  <andy@xemacs.org>
7726
7727         * redisplay-output.c (redisplay_output_subwindow): make sure we do
7728         clipped display for windows in the gutter also.
7729         (redisplay_display_boxes_in_window_p): change semantics of return
7730         codes to be more intuitive.
7731
7732         * gutter.h: declare display_boxes_in_gutter_p.
7733
7734         * gutter.c (display_boxes_in_gutter_p): new function for
7735         redisplay.
7736
7737 2000-11-22  Andy Piper  <andy@xemacs.org>
7738
7739         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
7740         autodetect domain.
7741
7742 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
7743
7744         * callproc.c (Fold_call_process_internal):
7745         * gpm.c (Freceive_gpm_event):
7746         (tty_get_foreign_selection): Might be just warning supression.
7747         * fileio.c (Fwrite_region_internal):
7748         (Fset_visited_file_modtime):
7749         * keymap.c (event_matches_key_specifier_p):
7750         Initialize GCPROed variable.
7751
7752         * menubar-x.c (command_builder_find_menu_accelerator):
7753         Initialize before use.
7754
7755 2000-11-23  Andy Piper  <andy@xemacs.org>
7756
7757         * unexcw.c (unexec): make the resulting executable executable.
7758
7759 2000-11-21  Martin Buchholz  <martin@xemacs.org>
7760
7761         * doc.c (get_doc_string):
7762         Use size_t, not int, for result of XSTRING_LENGTH.
7763
7764         * cmds.c (Fdelete_char):
7765         * cmds.c (Fpoint_at_eol):
7766         * cmds.c (Fself_insert_command):
7767         Use EMACS_INT, not int, for result of XINT.
7768         Someday, someone will want to insert more than 2**31 identical characters.
7769
7770         * cmds.c (Fdelete_char):
7771         * cmds.c (Fdelete_backward_char):
7772         * syntax.c (Fforward_word):
7773         * syntax.c (Fforward_comment):
7774         Make COUNT argument optional, for consistency with forward-char et al.
7775
7776 2000-11-22  Martin Buchholz  <martin@xemacs.org>
7777
7778         * lisp.h:
7779         * print.c (long_to_string):
7780         Return a useful value: the pointer at end of data written.
7781
7782         * doprnt.c:
7783         Use `static const char * const' for constant strings.
7784         (union printf_arg): Delete `i', `ui' members.
7785         (get_doprnt_args):
7786         (emacs_doprnt_1):
7787         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
7788         Do all printf-ing via the `l' specifier.
7789         Use EMACS_INT instead of int.
7790         Optimize.
7791
7792 2000-11-20  Didier Verna  <didier@xemacs.org>
7793
7794         * faces.c (update_face_cachel_data): don't frob the background
7795         pixmap when the window is being created. The face is needed but
7796         does not exist yet.
7797
7798 2000-11-20  Andy Piper  <andy@xemacs.org>
7799
7800         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
7801         messing with a debug environment.
7802
7803 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7804
7805         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
7806
7807 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7808
7809         * casetab.c (Fcase_table_p): Fix compile error and crash.
7810
7811 2000-11-18  Philip Aston  <philipa@mail.com>
7812
7813         * s/cygwin32.h: Cygwin has SVR4-like pty support.
7814
7815 2000-11-18  Martin Buchholz  <martin@xemacs.org>
7816
7817         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
7818         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
7819
7820 2000-11-17  Martin Buchholz  <martin@xemacs.org>
7821
7822         * config.h.in: Define HAVE_ELF_H if elf.h exists.
7823         * unexelf.c: Use HAVE_ELF_H.
7824         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
7825         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
7826         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
7827         Greg Harrington <greg_harrington@hotmail.com> provided a machine
7828         for testing.
7829         So this is an unexelfsgi.c from a different line of development.
7830
7831 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7832
7833         * regex.c (RE_TR_ASCII): New function.
7834         (RE_TRANSLATE): Call it.
7835
7836 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7837
7838         * buffer.h (TRT_TABLE_OF): Remove assert.
7839         (IN_TRT_TABLE_DOMAIN): Removed.
7840
7841 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7842
7843         * free-hook.c (log_gcpro):
7844         (show_gcprohist): Add support for GCPRO5.
7845
7846 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
7847
7848         * emacs.c (main_1): Improve -sd error message when --pdump=no.
7849
7850 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
7851
7852         * symeval.h: Declare flush_all_buffer_local_cache.
7853
7854         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
7855         (flush_buffer_local_cache): Added.
7856         (flush_all_buffer_local_cache): Added.
7857
7858         * lrecord.h: Remove unused XD_LO_RESET_NIL.
7859
7860         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
7861         (pdump_dump_data): Ditto.
7862         (pdump_reloc_one): Ditto.
7863         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
7864         before dumping.
7865
7866
7867 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7868
7869         * buffer.c: Remove if 0'ed entry.
7870         * buffer.h: Rewrite TRT to use char-table.
7871         * bufslots.h: Remove mirror tables.
7872         * casetab.c: Remove mirror tables.
7873         (CASE_TABLE_P): New macro.
7874         (Fcase_table_p): Element of a case table is string or char-table.
7875         (make_mirror_trt_table): Removed.
7876         (set_case_table): Setup char-table from strings for backward
7877         compatibility.
7878         * dired.c (Fdirectory_files):
7879         * dired-msw.c: (mswindows_get_files):
7880         * lisp.h: Change prototype of re_pattern_buffer.
7881         * regex.c: (RE_TRANSLATE): New macro.
7882         (TRANSLATE_P): Ditto.
7883         Change translate to type RE_TRANSLATE_TYPE.
7884         * regex.h: Define RE_TRANSLATE_TYPE
7885         * search.c (TRANSLATE): New macro.
7886         (TRANSLATE_ASCII): New macro.
7887         Translate table is changed to Lisp_Object.
7888         (signal_failure): Inhibit return.
7889
7890 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7891
7892         * device-msw.c:
7893         * eldap.c:
7894         * event-Xt.c:
7895         * event-stream.c:
7896         * print.c:
7897         Do UNGCPRO before return.
7898
7899 2000-11-14  Martin Buchholz <martin@xemacs.org>
7900
7901         * XEmacs 21.2.37 is released.
7902
7903 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
7904
7905         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
7906         Add comments about discarded return value.
7907
7908 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
7909
7910         * callint.c:
7911         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
7912
7913 2000-10-27  Andy Piper  <andy@xemacs.org>
7914
7915         * gutter.c (Fset_default_gutter_position): default left and right
7916         gutters to visible.
7917         (calculate_gutter_size): calculate resonable heuristic for left
7918         and right gutter sizes.
7919         (specifier_vars_of_gutter): change left and right gutter sizes to
7920         autodetect.
7921         (calculate_gutter_size_from_display_lines): new function.
7922         (output_gutter): check for resizing on left and right gutters.
7923         (clear_gutter): don't special case top and left gutters.
7924         (specifier_vars_of_gutter): use new signature for
7925         set_specifier_caching.
7926
7927         * glyphs-x.c (x_redisplay_widget): spelling fix.
7928         * glyphs.c (specifier_vars_of_glyphs):
7929         * menubar.c (specifier_vars_of_menubar):
7930         * redisplay.c (specifier_vars_of_redisplay):
7931         * toolbar.c (specifier_vars_of_toolbar):
7932         * window.c (specifier_vars_of_window):
7933         * scrollbar.c (specifier_vars_of_scrollbar):
7934         (complex_vars_of_scrollbar): use new signature for
7935         set_specifier_caching.
7936
7937         * specifier.c (set_specifier_caching): include recompute flag.
7938         (recompute_one_cached_specifier_in_window): always recompute if
7939         flag set.
7940         (recompute_one_cached_specifier_in_frame): ditto.
7941
7942         * specifier.h (struct specifier_caching): add recompute flag.
7943
7944 2000-10-24  Andy Piper  <andy@xemacs.org>
7945
7946         * unexcw.c (copy_executable_and_dump_data_section): add new
7947         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
7948         5.0 happy.
7949
7950 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7951
7952         * console-x.h (x_device): New member modifier_release_time.
7953         * event-Xt.c (x_handle_sticky_modifiers):
7954         Bound interval modifier keys are sticky.
7955         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
7956         * events.h: extern it.
7957
7958 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7959
7960         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
7961
7962 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7963
7964         * event-stream.c (execute_command_event): Preserve current_events
7965         and the like when event is misc-user-event.
7966         Inhibit quit during the call to maybe_echo_keys.
7967
7968 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
7969
7970         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
7971         symlink when buffer is killed.
7972         (inhibit_clash_detection): New variable.
7973
7974 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
7975
7976         * console.c (Fset_input_method): Trigger redisplay on tty.
7977
7978 2000-11-07  Martin Buchholz  <martin@xemacs.org>
7979
7980         * process.c (Fprocess_status): Revert to previous behavior:
7981         (process-status "nosuchprocess") ==> nil
7982
7983 2000-11-06  Martin Buchholz  <martin@xemacs.org>
7984
7985         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
7986         Work around another GCC 2.95.2 optimizer bug.
7987
7988 2000-11-02  Martin Buchholz  <martin@xemacs.org>
7989
7990         * process.c (Fget_process): Use LIST_LOOP_2.
7991         (kill_buffer_processes): Use LIST_LOOP_2.
7992
7993         * minibuf.c (Fall_completions):
7994         Delete old non-functional code for FSF fourth argument.
7995
7996         * frame.c (frame_matches_frame_spec):
7997         Renamed from `frame_matches_frametype'.  Update all callers.
7998         (device_matches_device_spec):
7999         Renamed from 'device_matches_console_spec'.  Update all callers.
8000
8001         * doc.c (Fsubstitute_command_keys):
8002         Remove buffer overflow crash.  Small code cleanups.
8003
8004         * casetab.c (check_case_table): Simpler code.
8005
8006         * window.c (Freplace_buffer_in_windows):
8007         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
8008         (and similar implementation) as Fdelete_windows_on.
8009         Update all callers.
8010
8011         * alloc.c (Fmake_list):
8012         * alloc.c (make_vector):
8013         * alloc.c (Fmake_vector):
8014         * alloc.c (make_bit_vector):
8015         * alloc.c (Fmake_bit_vector):
8016         * alloc.c (Fbit_vector):
8017         * alloc.c (Fmake_string):
8018         * alloc.c (Fpurecopy):
8019         * alloc.c (Fmemory_limit):
8020         * buffer.c:
8021         * buffer.c (Fget_buffer):
8022         * buffer.c (Fkill_buffer):
8023         * buffer.c (complex_vars_of_buffer):
8024         * bytecode.c (Fcompiled_function_stack_depth):
8025         * callint.c (Fprefix_numeric_value):
8026         * event-stream.c:
8027         * event-stream.c (Fread_key_sequence):
8028         * casetab.c:
8029         * casetab.c (Fcase_table_p):
8030         * casetab.c (check_case_table):
8031         * casetab.c (Fset_case_table):
8032         * casetab.c (Fset_standard_case_table):
8033         * chartab.c:
8034         * chartab.c (Fchar_table_type):
8035         * chartab.c (Freset_char_table):
8036         * chartab.c (Fget_char_table):
8037         * chartab.c (Fget_range_char_table):
8038         * chartab.c (Fput_char_table):
8039         * chartab.c (Fmap_char_table):
8040         * chartab.c (Fcategory_table_p):
8041         * chartab.c (Fcheck_category_at):
8042         * chartab.c (Fchar_in_category_p):
8043         * chartab.c (Fcategory_table):
8044         * chartab.c (Fcopy_category_table):
8045         * chartab.c (Fset_category_table):
8046         * chartab.c (Fcategory_designator_p):
8047         * chartab.c (Fcategory_table_value_p):
8048         * cmds.c (Fdelete_char):
8049         * cmds.c (Fdelete_backward_char):
8050         * cmds.c (Fself_insert_command):
8051         * cmds.c (Fself_insert_internal):
8052         * console.c (Fvalid_console_type_p):
8053         * console.c (Fcdfw_console):
8054         * console.c (Fconsole_type):
8055         * console.c (Fconsole_name):
8056         * console.c (Fconsole_device_list):
8057         * console.c (Fconsole_on_window_system_p):
8058         * data.c:
8059         * data.c (Feq):
8060         * data.c (Fold_eq):
8061         * data.c (Fsubr_interactive):
8062         * data.c (Fchar_to_int):
8063         * data.c (Fint_to_char):
8064         * data.c (Fsetcar):
8065         * data.c (Fsetcdr):
8066         * data.c (Fnumber_to_string):
8067         * data.c (Fstring_to_number):
8068         * data.c (Frem):
8069         * database.c (mark_database):
8070         * database.c (finalize_database):
8071         * database.c (Fdatabase_live_p):
8072         * database.c (Fdatabasep):
8073         * device-x.c (Fx_get_resource):
8074         * device.c (Fdfw_device):
8075         * dired.c:
8076         * dired.c (Ffile_name_completion):
8077         * dired.c (Ffile_name_all_completions):
8078         * dired.c (Fuser_name_completion):
8079         * dired.c (Fuser_name_completion_1):
8080         * dired.c (Fuser_name_all_completions):
8081         * doc.c (Fdocumentation):
8082         * doc.c (Fdocumentation_property):
8083         * doc.c (Fsubstitute_command_keys):
8084         * editfns.c:
8085         * editfns.c (Fchar_to_string):
8086         * editfns.c (Fstring_to_char):
8087         * editfns.c (Ftemp_directory):
8088         * editfns.c (Finsert_char):
8089         * editfns.c (Fbuffer_substring_no_properties):
8090         * editfns.c (Fnarrow_to_region):
8091         * editfns.c (Fchar_equal):
8092         * editfns.c (Fchar_Equal):
8093         * editfns.c (Ftranspose_regions):
8094         * emacs.c (Fdump_emacs):
8095         * eval.c (Fthrow):
8096         * eval.c (Fcommand_execute):
8097         * eval.c (Fautoload):
8098         * eval.c (Fbacktrace):
8099         * eval.c (Fbacktrace_frame):
8100         * events.c:
8101         * events.c (Fcopy_event):
8102         * events.c (Fcharacter_to_event):
8103         * events.c (Fevent_button):
8104         * events.c (Fevent_process):
8105         * extents.c:
8106         * extents.c (Fnext_extent_change):
8107         * extents.c (Fextent_property):
8108         * faces.c (Ffacep):
8109         * faces.c (Fmake_face):
8110         * file-coding.c:
8111         * file-coding.c (Fencode_shift_jis_char):
8112         * file-coding.c (Fencode_big5_char):
8113         * fileio.c (Ffile_name_directory):
8114         * fileio.c (Ffile_name_nondirectory):
8115         * fileio.c (Ffile_name_as_directory):
8116         * fileio.c (Fdirectory_file_name):
8117         * fileio.c (Ffile_truename):
8118         * fileio.c (Fsubstitute_in_file_name):
8119         * fileio.c (Ffile_modes):
8120         * fileio.c (Fset_file_modes):
8121         * fileio.c (Fset_default_file_modes):
8122         * fileio.c (Fverify_visited_file_modtime):
8123         * floatfns.c (Facos):
8124         * floatfns.c (Fasin):
8125         * floatfns.c (Fatan):
8126         * floatfns.c (Fcos):
8127         * floatfns.c (Fsin):
8128         * floatfns.c (Ftan):
8129         * floatfns.c (Fbessel_j0):
8130         * floatfns.c (Fbessel_j1):
8131         * floatfns.c (Fbessel_jn):
8132         * floatfns.c (Fbessel_y0):
8133         * floatfns.c (Fbessel_y1):
8134         * floatfns.c (Fbessel_yn):
8135         * floatfns.c (Ferf):
8136         * floatfns.c (Ferfc):
8137         * floatfns.c (Flog_gamma):
8138         * floatfns.c (Fexp):
8139         * floatfns.c (Fexpt):
8140         * floatfns.c (Flog):
8141         * floatfns.c (Flog10):
8142         * floatfns.c (Fsqrt):
8143         * floatfns.c (Fcube_root):
8144         * floatfns.c (Facosh):
8145         * floatfns.c (Fasinh):
8146         * floatfns.c (Fatanh):
8147         * floatfns.c (Fcosh):
8148         * floatfns.c (Fsinh):
8149         * floatfns.c (Ftanh):
8150         * floatfns.c (Fabs):
8151         * floatfns.c (Ffloat):
8152         * floatfns.c (Flogb):
8153         * floatfns.c (Fceiling):
8154         * floatfns.c (Ffloor):
8155         * floatfns.c (Fround):
8156         * floatfns.c (Ftruncate):
8157         * floatfns.c (Ffceiling):
8158         * floatfns.c (Fffloor):
8159         * floatfns.c (Ffround):
8160         * floatfns.c (Fftruncate):
8161         * fns.c (Fstring_equal):
8162         * fns.c (Fstring_lessp):
8163         * fns.c (concat2):
8164         * fns.c (concat3):
8165         * fns.c (vconcat2):
8166         * fns.c (vconcat3):
8167         * fns.c (Fsubstring):
8168         * fns.c (Fassoc):
8169         * fns.c (Fold_assoc):
8170         * fns.c (assoc_no_quit):
8171         * fns.c (Fassq):
8172         * fns.c (Fold_assq):
8173         * fns.c (assq_no_quit):
8174         * fns.c (Frassoc):
8175         * fns.c (Fold_rassoc):
8176         * fns.c (Frassq):
8177         * fns.c (Fold_rassq):
8178         * fns.c (rassq_no_quit):
8179         * fns.c (Fremassoc):
8180         * fns.c (remassoc_no_quit):
8181         * fns.c (Fremassq):
8182         * fns.c (remassq_no_quit):
8183         * fns.c (Fremrassoc):
8184         * fns.c (Fremrassq):
8185         * fns.c (remrassq_no_quit):
8186         * fns.c (Fsort):
8187         * fns.c (Fplist_get):
8188         * fns.c (Fplist_put):
8189         * fns.c (Fplist_remprop):
8190         * fns.c (Fplist_member):
8191         * fns.c (Flax_plist_get):
8192         * fns.c (Flax_plist_put):
8193         * fns.c (Flax_plist_remprop):
8194         * fns.c (Flax_plist_member):
8195         * fns.c (Fequal):
8196         * fns.c (Fold_equal):
8197         * fns.c (Frequire):
8198         * fns.c (Fbase64_encode_region):
8199         * fns.c (Fbase64_encode_string):
8200         * fns.c (Fbase64_decode_region):
8201         * frame.c:
8202         * frame.c (frame_matches_frame_spec):
8203         * frame.c (device_matches_device_spec):
8204         * frame.c (next_frame):
8205         * frame.c (previous_frame):
8206         * frame.c (Fnext_frame):
8207         * frame.c (Fprevious_frame):
8208         * frame.c (Fframe_property):
8209         * frame.c (Fset_frame_height):
8210         * frame.c (Fset_frame_size):
8211         * frame.h:
8212         * glyphs.c:
8213         * glyphs.c (if):
8214         * glyphs.c (decode_error_behavior_flag):
8215         * glyphs.c (Fmake_image_instance):
8216         * indent.c (Findent_to):
8217         * intl.c (Fignore_defer_gettext):
8218         * keymap.c (Fkeymapp):
8219         * keymap.c (Flookup_key):
8220         * lread.c:
8221         * lread.c (Fload_internal):
8222         * lread.c (Feval_buffer):
8223         * lread.c (Feval_region):
8224         * macros.c (Fexecute_kbd_macro):
8225         * marker.c (set_marker_internal):
8226         * marker.c (Fset_marker):
8227         * marker.c (set_marker_restricted):
8228         * marker.c (Fcopy_marker):
8229         * marker.c (noseeum_copy_marker):
8230         * menubar.c:
8231         * menubar.c (Fpopup_menu):
8232         * minibuf.c:
8233         * mule-charset.c (Fcharset_name):
8234         * mule-charset.c (Fchar_charset):
8235         * mule-charset.c (Fchar_octet):
8236         * mule-charset.c (Fsplit_char):
8237         * mule-wnnfns.c (Fwnn_open):
8238         * mule-wnnfns.c (Fwnn_dict_comment):
8239         * mule-wnnfns.c (Fwnn_quit_henkan):
8240         * mule-wnnfns.c (Fwnn_word_toroku):
8241         * mule-wnnfns.c (Fwnn_word_sakujo):
8242         * mule-wnnfns.c (Fwnn_word_use):
8243         * mule-wnnfns.c (Fwnn_hindo_set):
8244         * objects.c:
8245         * objects.c (Fmake_color_instance):
8246         * objects.c (Fmake_font_instance):
8247         * print.c (Fwrite_char):
8248         * process.c:
8249         * process.c (mark_process):
8250         * process.c (print_process):
8251         * process.c (get_process_from_usid):
8252         * process.c (Fprocessp):
8253         * process.c (Fprocess_live_p):
8254         * process.c (Fget_process):
8255         * process.c (Fget_buffer_process):
8256         * process.c (get_process):
8257         * process.c (Fprocess_id):
8258         * process.c (Fprocess_name):
8259         * process.c (Fprocess_command):
8260         * process.c (init_process_io_handles):
8261         * process.c (start_process_unwind):
8262         * process.c (Fstart_process_internal):
8263         * process.c (Fopen_multicast_group_internal):
8264         * process.c (Fset_process_window_size):
8265         * process.c (read_process_output):
8266         * process.c (send_process):
8267         * process.c (Fprocess_tty_name):
8268         * process.c (Fset_process_buffer):
8269         * process.c (Fprocess_buffer):
8270         * process.c (Fprocess_mark):
8271         * process.c (set_process_filter):
8272         * process.c (Fset_process_filter):
8273         * process.c (Fprocess_filter):
8274         * process.c (Fprocess_send_region):
8275         * process.c (Fprocess_send_string):
8276         * process.c (exec_sentinel):
8277         * process.c (Fset_process_sentinel):
8278         * process.c (Fprocess_sentinel):
8279         * process.c (status_notify):
8280         * process.c (Fprocess_status):
8281         * process.c (Fprocess_exit_status):
8282         * process.c (process_send_signal):
8283         * process.c (Fprocess_send_eof):
8284         * process.c (deactivate_process):
8285         * process.c (remove_process):
8286         * process.c (Fdelete_process):
8287         * process.c (kill_buffer_processes):
8288         * process.c (Fprocess_kill_without_query):
8289         * process.c (Fprocess_kill_without_query_p):
8290         * rangetab.c:
8291         * rangetab.c (Fget_range_table):
8292         * rangetab.c (Fput_range_table):
8293         * rangetab.c (Fremove_range_table):
8294         * rangetab.c (Fclear_range_table):
8295         * search.c:
8296         * search.c (Fskip_chars_forward):
8297         * search.c (Fskip_chars_backward):
8298         * search.c (Fskip_syntax_forward):
8299         * search.c (Fskip_syntax_backward):
8300         * search.c (search_command):
8301         * search.c (Freplace_match):
8302         * search.c (Fregexp_quote):
8303         * select.c (Fown_selection_internal):
8304         * select.c (Fselection_owner_p):
8305         * select.c (Fselection_exists_p):
8306         * select.c (Fget_selection_internal):
8307         * specifier.c:
8308         * symbols.c:
8309         * symbols.c (Fintern):
8310         * symbols.c (Fintern_soft):
8311         * symbols.c (Funintern):
8312         * symbols.c (Fapropos_internal):
8313         * symbols.c (Fset_default):
8314         * syntax.c:
8315         * syntax.c (Fsyntax_table_p):
8316         * syntax.c (Fcopy_syntax_table):
8317         * syntax.c (Fset_syntax_table):
8318         * syntax.c (Fchar_syntax):
8319         * syntax.c (syntax_match):
8320         * syntax.c (Fmatching_paren):
8321         * syntax.c (Fforward_word):
8322         * syntax.c (scan_lists):
8323         * syntax.c (Fscan_lists):
8324         * syntax.c (Fscan_sexps):
8325         * syntax.c (Fparse_partial_sexp):
8326         * toolbar.c (Fcheck_toolbar_button_syntax):
8327         * tooltalk.doc:
8328         * window.c:
8329         * window.c (Fwindowp):
8330         * window.c (Fwindow_live_p):
8331         * window.c (Fwindow_point):
8332         * window.c (Fdelete_window):
8333         * window.c (Fnext_window):
8334         * window.c (Fprevious_window):
8335         * window.c (Fother_window):
8336         * window.c (window_loop):
8337         * window.c (Fget_lru_window):
8338         * window.c (Fsplit_window):
8339         * window.c (Fenlarge_window):
8340         * window.c (Fenlarge_window_pixels):
8341         * window.c (Fshrink_window):
8342         * window.c (Fshrink_window_pixels):
8343         * window.c (change_window_height):
8344         * window.c (Fwindow_configuration_p):
8345         * window.c (Fcurrent_window_configuration):
8346         * window.h:
8347         * casefiddle.c (casify_object):
8348         * casefiddle.c (Fupcase):
8349         * casefiddle.c (Fdowncase):
8350         * casefiddle.c (Fcapitalize):
8351         * casefiddle.c (Fupcase_initials):
8352         * casefiddle.c (casify_region_internal):
8353         * casefiddle.c (casify_region):
8354         * casefiddle.c (Fupcase_region):
8355         * casefiddle.c (Fdowncase_region):
8356         * casefiddle.c (Fcapitalize_region):
8357         * casefiddle.c (Fupcase_initials_region):
8358         * casefiddle.c (Fupcase_word):
8359         * casefiddle.c (Fdowncase_word):
8360         * casefiddle.c (Fcapitalize_word):
8361         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
8362         Replace 0 with '\0' when working with bytes.
8363         Replace initial "(" with "\(" in docstrings.
8364
8365 2000-11-01  Martin Buchholz  <martin@xemacs.org>
8366
8367         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
8368
8369         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
8370
8371 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8372
8373         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
8374
8375 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8376
8377         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
8378         correctly.
8379
8380 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8381
8382         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
8383         (inhibit_auto_save_session): New variable.
8384         (vars_of_fileio): Declare and initialize them.
8385         * fileio.c (Fdo_auto_save): Don't create session file if
8386         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
8387
8388 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8389
8390         * sgiplay.c (play_internal): C++ compilability.
8391         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
8392         * callproc.c (Fold_call_process_internal):
8393         Remove unused vars `env', `first'.
8394         * scrollbar.c (update_scrollbar_instance):
8395         #### unused var `current_window'.
8396         * redisplay-tty.c: Put currently unused vars insert_mode_on,
8397         etc. within #ifdef NOT_YET.
8398         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
8399         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
8400         * specifier.c (specifier_instance):
8401         #### unused var `tag'.
8402         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
8403
8404 2000-10-27  Martin Buchholz  <martin@xemacs.org>
8405
8406         * fns.c (Fbutlast):
8407         * fns.c (list_sort):
8408         * fns.c (Ffillarray):
8409         * fns.c (bytecode_nconc2):
8410         * fns.c (Fnconc):
8411         * fns.c (mapcar1):
8412         * fns.c (Fmapconcat):
8413         Be pedantically 64-bit correct.  For the time when someone will
8414         want to have a list with length > 2**32.
8415
8416         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
8417         Work around MIPSpro compiler bug.
8418
8419         * process-unix.c (unix_kill_child_process): Add snarky comment.
8420         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
8421
8422         * config.h.in: Oops, _getpt ==> _getpty
8423
8424 2000-10-26  Martin Buchholz  <martin@xemacs.org>
8425
8426         * config.h.in:
8427         * regex.c:
8428         Use void*, not char*, as return type of alloca().
8429
8430         * alloc.c (free_marker): Side effect inside assert expression!
8431
8432 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
8433
8434         * mule-charset.c (Fset_charset_ccl_program): To check
8435         if the given ccl program is valid, use setup_ccl_program()
8436         instead of CHECK_VECTOR().
8437         (Fmake_charset): Likewise.
8438
8439 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
8440
8441         * faces.c (get_extent_fragment_face_cache_index):
8442         Fix cachel.merged_faces memory leak.
8443
8444 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
8445
8446         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
8447         Reset MSB of octets obtained by DECODE_SJIS
8448         because of the incompatibility with Emacs.
8449         (ccl_driver)<CCL_ENCODE_SJIS>:
8450         Set MSB of octets before passing them to
8451         ENCODE_SJIS because of the incompatibility
8452         with Emacs.
8453
8454 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
8455
8456         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
8457         (DECLARE_LRECORD): Undo the last change.
8458         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
8459
8460 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
8461
8462         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
8463         the implementation to lrecord_implementations_table.
8464
8465 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
8466
8467         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
8468         initial value of `lrecord_type_##c_name' and
8469         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
8470         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
8471         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
8472         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
8473         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
8474
8475 2000-10-17  Martin Buchholz  <martin@xemacs.org>
8476
8477         * miscplay.c (sndcnv8S_2mono):
8478         (sndcnv2monounsigned):
8479         (sndcnvULaw_2linear):
8480         (sndcnv16swap):
8481         Remove implementation-defined behavior.
8482
8483 2000-10-12  Martin Buchholz  <martin@xemacs.org>
8484
8485         * input-method-xlib.c: Warning suppression.
8486
8487 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
8488
8489         * mule-ccl.c: Sync up with Emacs 21.0.90.
8490         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
8491         Do nothing.
8492         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
8493         Likewise.
8494         (ccl_driver[WriteMultibyteChar2]): Bug fix.
8495         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
8496         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
8497         leading char belongs to official 2-dimensional charset.
8498         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
8499         write the given character as is.  Otherwise,
8500         if it is a multibyte char, convert it by
8501         non_ascii_set_charptr_emchar, then write it.
8502         (CCL_WRITE_STRING): Likewise.
8503         (ccl_get_compiled_code): New function.
8504         (setup_ccl_program): When ccl_prog is invalid,
8505         return -1.
8506         (Fregister_code_conversion_map): New function.
8507         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
8508
8509         * mule-ccl.h: Sync up with Emacs 21.0.90.
8510         (Fregister_ccl_program): export it.
8511
8512         * redisplay-msw.c (separate_textual_runs):
8513         If ccl program is not valid, don't do ccl conversion.
8514
8515         * redisplay-x.c (separate_textual_runs): Ditto.
8516
8517         * file-coding.c (Fmake_coding_system):
8518         When type is ccl and value is vector, register it
8519         with a proper symbol.  And checks whether the
8520         given ccl program is valid.
8521         (mule_decode): When calling ccl_driver, if src indicates
8522         NULL pointer, set an empty string instead.
8523         (mule_encode): Likewise.
8524
8525 2000-10-11  Martin Buchholz  <martin@xemacs.org>
8526
8527         The following large batch of changes gets us back to a state of
8528         C++ compilability.  Extbyte is now a char, which means that
8529         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
8530
8531         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
8532
8533         * sound.c (Fplay_sound): Type correctness.
8534
8535         * select-x.c (hack_motif_clipboard_selection): Type correctness.
8536         (x_get_window_property): Type correctness.
8537         (receive_incremental_selection): unsigned char ==> Extbyte
8538         (selection_data_to_lisp_data): unsigned char ==> Extbyte
8539         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
8540         (Fx_store_cutbuffer_internal): Type correctness.
8541
8542         * process-unix.c (try_to_initialize_subtty): Type correctness.
8543
8544         * objects-x.c (x_print_color_instance): Type correctness.
8545         (x_print_font_instance): Type correctness.
8546         (x_list_fonts): SExtbyte ==> Extbyte.
8547         (valid_x_font_name_p): SExtbyte ==> Extbyte.
8548         (x_find_charset_font): SExtbyte ==> Extbyte.
8549         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
8550         (truename_via_XListFonts): SExtbyte ==> Extbyte.
8551         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
8552         Use bufbyte_strcmp.
8553
8554         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
8555         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
8556         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
8557         (BYTE_C0_P): Use bit ops for char-signedness safety.
8558         (BYTE_C1_P): Use bit ops for char-signedness safety.
8559         (CHARSET_BY_LEADING_BYTE):
8560         (CHARSET_BY_ATTRIBUTES):
8561         Always use inline function.
8562         Use type_checking_assert.
8563         Hide chlook.
8564
8565         * mule-charset.c (non_ascii_charptr_copy_char):
8566         Modify to work with both ASCII and non-ASCII characters.
8567         Improve docs and variable names.
8568         Replace over-clever fall-through switch with a simple loop.
8569         (Lstream_get_emchar_1):
8570         Replace over-clever fall-through switch with a simple loop.
8571
8572         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8573         Warning suppression.
8574
8575         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
8576         the return value of Lstream_getc, which could be EOF as well.
8577
8578         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
8579
8580         * lisp.h: Make Extbyte a char, not unsigned char, so that external
8581         APIs can be used on Extbytes without casts.  Risky!
8582         (SExtbyte): Remove.
8583         (UExtbyte): Remove.
8584
8585         * input-method-xlib.c (XIM_init_device):
8586         Use Xlib.h instead of IntrinsicP.h.
8587         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
8588         which will break in X11R7.
8589         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
8590         to call XRegisterIMInstantiateCallback with correct types.
8591
8592         * gui-x.c (button_item_to_widget_value): Type correctness.
8593
8594         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
8595
8596         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
8597         (xbm_instantiate_1): Type correctness.
8598         (BUILD_GLYPH_INST):  Type correctness.
8599
8600         * fileio.c (Fsubstitute_in_file_name): Type correctness.
8601
8602         * file-coding.c:
8603         (decode_coding_sjis):
8604         (decode_coding_big5):
8605         (decode_coding_ucs4):
8606         (decode_coding_utf8):
8607         (decode_coding_iso2022):
8608         (decode_coding_no_conversion):
8609         Make all decoding functions take an Extbyte * arg.
8610         (encode_coding_sjis):
8611         (encode_coding_big5):
8612         (encode_coding_ucs4):
8613         (encode_coding_utf8):
8614         (encode_coding_iso2022):
8615         (encode_coding_no_conversion):
8616         Make all encoding functions take a Bufbyte * arg.
8617         Use size_t instead of unsigned int for memory sizes.
8618         Only cast to unsigned char whenever dereferencing Extbyte *.
8619
8620         * doc.c (unparesseuxify_doc_string): Type correctness.
8621
8622         * console-x.c (split_up_display_spec):
8623         Rewrite without using details of internal string representation.
8624         (x_semi_canonicalize_device_connection): Type correctness.
8625
8626         * config.h.in:
8627         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
8628         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
8629         (HAVE_XFREE386): Removed.
8630
8631         * buffer.h (DEC_CHARPTR): `const' correctness.
8632         (bufbyte_strcmp): New.
8633         (bufbyte_memcmp): New.
8634
8635         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
8636
8637         * buffer.h (XCHAR_OR_CHAR_INT):
8638         Always use inline function.
8639         Remove redundant type checking assert() - XINT will abort quite nicely.
8640
8641 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
8642
8643         * search.c (Freplace_match): Set newtext to an empty string.
8644
8645 2000-10-10  Martin Buchholz  <martin@xemacs.org>
8646
8647         * s/decosf1-3.h: Remove #include of stropts.h
8648         * s/ptx.h: Remove #include of stropts.h
8649         * s/usg5-4.h: Remove #include of stropts.h
8650         * sysproc.h:
8651         * config.h.in:
8652         Use stropts.h, not sys/stropts.h.
8653         Use strtio.h, not sys/strtio.h.
8654
8655 2000-10-04  Martin Buchholz <martin@xemacs.org>
8656
8657         * XEmacs 21.2.36 is released.
8658
8659 2000-09-21  Andy Piper  <andy@xemacs.org>
8660
8661         * glyphs-x.c (x_redisplay_widget): make sure non-structural
8662         changes still involve copying the widget tree.
8663         (update_widget_face): make sure a change is register in the widget
8664         tree. Call update_tab_widget_face appropriately.
8665         (update_tab_widget_face): ditto.
8666         (x_tab_control_redisplay): make sure non-structural changes still
8667         involve copying the widget tree.
8668
8669 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
8670
8671         * lread.c (locate_file): Check the path element is non-nil.
8672
8673 2000-10-02  Martin Buchholz  <martin@xemacs.org>
8674
8675         * lisp.h: Warning suppression for SCO compilers.
8676
8677         * redisplay-tty.c (reset_tty_modes): Fix crash.
8678         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
8679
8680 2000-09-27  Martin Buchholz  <martin@xemacs.org>
8681
8682         Big signal/process handling overhaul.  Bugs fixed:
8683         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
8684         M-x comint-kill-subjob should work for both values nil and t of
8685         process-connection-type. It was broken on most platforms.
8686         Testing on Irix and Cygwin still needed.  Other plaforms tested.
8687         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
8688         * process-unix.c: Signal/Process handling overhaul.
8689         (pty_name): make 64 bytes, as `expect' does, for paranoia.
8690         (allocate_pty): Use all available modern methods of allocating
8691         ptys, falling back to old style BSD allocation as a last resort.
8692         Use allegedly more secure Unix98 pty allocation by default.
8693         (allocate_pty_the_old_fashioned_way): New. the last resort.
8694         (unix_create_process): Push ptem, ldterm, ttcompat where
8695         available.  Autoconfiscate.
8696         (try_to_initialize_subtty): New.
8697         (unix_kill_child_process): Proper signal handling for ptys on most
8698         platforms, using special knowledge of AIX, BSD, etc...
8699         (unix_create_process): Always disconnect_controlling_terminal() for
8700         subprocesses, whether using ptys or not.
8701         * process.h: Remove old getpt-dependent PTY code.
8702         * process.c (Fprocess_send_signal): New, obvious generic function.
8703         (decode_signal): New.
8704         (Finterrupt_process):
8705         (Fkill_process):
8706         (Fquit_process):
8707         (Fstop_process):
8708         (Fcontinue_process):
8709         (Fsignal_process): Use decode_signal.
8710         (process_send_signal):
8711         Many docstring corrections.
8712         Allow any signal to be sent to a process object.
8713         * config.h.in: Add symbols for big signal/process overhaul.
8714         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
8715         * sysproc.h: Include process-related headers, where available:
8716         sys/stropts.h sys/strtio.h pty.h libutil.h
8717         * s/irix4-0.h:
8718         * s/irix5-0.h:
8719         * s/cygwin32.h:
8720         * s/gnu.h:
8721         * s/linux.h:
8722         * s/hpux.h:
8723         * s/aix3-1.h:
8724         Remove old S&M pty stuff.
8725         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
8726         * systty.h: Simplify cpp hackery, improve comments.
8727         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
8728
8729         * editfns.c (Fformat_time_string):
8730         Be a little more paranoid with the return value of ctime.
8731
8732         * fileio.c (check_executable):
8733         (check_writable):
8734         Use symbolic constants X_OK, W_OK.
8735
8736         * console-x.c (split_up_display_spec): Fix a warning.
8737
8738 2000-10-02  Martin Buchholz  <martin@xemacs.org>
8739
8740         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
8741         * ntproc.c (sys_spawnve): make_string ==> build_string
8742         Small clarity improvements.
8743
8744 2000-09-30  Martin Buchholz  <martin@xemacs.org>
8745
8746         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
8747
8748         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
8749
8750         * config.h.in (HAVE_STRCASECMP): Remove.
8751
8752 2000-09-29  Martin Buchholz  <martin@xemacs.org>
8753
8754         * redisplay-output.c (redisplay_output_pixmap):
8755         Cleaner and possibly more 64-bit correct code.
8756
8757 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
8758
8759         * dumper.c (pdump_load_finish): move restoration of
8760         `noninteractive1' to emacs.c (main_1).
8761         * emacs.c (main_1): protect LISP-visible command-line flags
8762         from pdump_load().
8763
8764 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
8765
8766         * Makefile.in.in (versionclean):  Use EXE_TARGET and
8767         DUMP_TARGET instead of literal program names.
8768
8769 2000-09-20  Martin Buchholz  <martin@xemacs.org>
8770
8771         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
8772
8773 2000-09-19  Martin Buchholz  <martin@xemacs.org>
8774
8775         * *: Spelling mega-patch
8776
8777 2000-09-19  Martin Buchholz  <martin@xemacs.org>
8778
8779         * fns.c (bad_bad_turtle):
8780         Delete "Eek!" comment, since we fixed the bug to which it refers.
8781
8782 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8783
8784         * alloca.c: Replace REGISTER with register.
8785
8786 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
8787
8788         * file-coding.c (ucs_to_char): Use countof.
8789
8790 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8791
8792         * file-coding.c: (ucs_to_char):
8793         (complex_vars_of_file_coding):
8794         Use countof instead of sizeof.
8795         Use CHECK_NATNUM instead of CHECK_INT.
8796
8797         * sysdep.c (strcasecmp): Remove.
8798         * device-x.c (ascii_strcasecmp): New.
8799         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
8800         Avoid using non-standard non-portable strcasecmp.
8801
8802 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8803
8804         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
8805         * font-lock.c: remove reference to emacsfns.h.
8806         * search.c: small doc improvement.
8807         * event-Xt.c: correct file names in comments.
8808         * console-x.h Correct file names in comments.
8809         * frame.c: Correct file names in comments.
8810         * event-stream.c: remove Energize from comments.
8811
8812 2000-09-15  Martin Buchholz  <martin@xemacs.org>
8813
8814         * symeval.h (DEFERROR_STANDARD):
8815         (DEFERROR):
8816         (DEFSYMBOL):
8817         (DEFSYMBOL_NO_DUMP):
8818         (DEFSYMBOL_MULTIWORD_PREDICATE):
8819         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
8820         (DEFKEYWORD):
8821         The construct &##name is not sensible C.
8822         Fixes compilation errors with Unixware native compiler.
8823
8824 2000-09-14  Martin Buchholz  <martin@xemacs.org>
8825
8826         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
8827         (next_frame_internal): Removed.  We now just have next_frame.
8828         (next_frame):
8829         Write a simpler and cleaner one-pass algorithm.
8830         Remove called_from_delete_device arg and #ifdefed-out code.
8831         (previous_frame):
8832         Renamed from prev_frame.  Update callers.
8833         Cleaned up to have an analogous implementation to next_frame.
8834         (other_visible_frames_internal): Remove the
8835         called_from_delete_device bogus arg, and hence, remove this
8836         function.  Just use other_visible_frames().
8837
8838         * window.c (Fnext_window):
8839         Prettify docstring.
8840         Since next_frame() is guaranteed to return a frame, remove check
8841         for nil inserted in previous patch.
8842         (Fprevious_window):
8843         Prettify docstring.
8844         Make code look more like Fnext_window.
8845         (window_loop):
8846         Respect the `console' arg when iterating through windows.
8847         Fixes bug: (get-buffer-window buffer t device) not respecting
8848         the `device' arg.
8849         This function needs more work, as others have pointed out.
8850
8851         * frame.h: Rename prev_frame to previous_frame.
8852         device_matches_console_spec no longer takes a `frame' arg.
8853
8854         * s/gnu.h:
8855         * s/linux.h:
8856         * s/hpux.h:
8857         Use EMACS_BLOCK_SIGNAL instead of sigblock.
8858         From "Golubev I. N." <gin@mo.msk.ru>.
8859
8860         * make-src-depend: Fix typo.
8861
8862 2000-09-13  Martin Buchholz  <martin@xemacs.org>
8863
8864         * window.c (Fnext_window):
8865         next_frame() might return nil, not a frame.
8866         Fixes this crash:
8867         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8868
8869         * frame.c (next_frame_internal):
8870         We've passed a frame if we've passed its device.
8871         Fixes this crash:
8872         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8873 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
8874
8875 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8876
8877         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8878         Allow option to suppress accelerators in menu/dialog items.
8879         (populate_or_checksum_helper): Pass dialog title through above.
8880
8881 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8882
8883         * event-msw.c (mswindows_key_to_emacs_keysym):
8884         Add "pause" key, fix "menu" key.
8885
8886 2000-09-09  Martin Buchholz  <martin@xemacs.org>
8887
8888         * eval.c (reinit_vars_of_eval):
8889         Increase max_lisp_eval_depth to 1000,
8890         required for thai-xtis.el to byte-compile under some circumstances.
8891
8892 2000-09-04  Martin Buchholz  <martin@xemacs.org>
8893
8894         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
8895         From Kenichi Handa.
8896
8897 2000-09-01  Martin Buchholz  <martin@xemacs.org>
8898
8899         * make-src-depend: Make the generated Makefiles smaller.
8900
8901         * s/hpux.h (SETUP_SLAVE_PTY):
8902         Provide a %d in the format string for the errno argument.
8903
8904         * editfns.c (Ftemp_directory):
8905         Warning fix.
8906         Avoid buffer overrun on very long file name.
8907
8908         * input-method-xlib.c (XIM_init_device):
8909         6th parameter of XRegisterIMInstantiateCallback has different
8910         pointer types on different OSes, so simply cast to (void *).
8911
8912         * unexhp9k800.c: Warning fixes.  Fiddly changes.
8913
8914         * sysdll.c (dll_open):
8915         shl_load will hang hard if passed a NULL filename.
8916         Simply return NULL for compatibility with dlopen.
8917         * sysdll.c: Conform to XEmacs coding standards.
8918
8919         * sysdep.c (get_pty_max_bytes):
8920         Support pty input lines longer than 512 bytes on HP-UX 10.20.
8921
8922 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8923
8924         * tooltalk.c: Add #include <syssignal.h>
8925
8926 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
8927
8928         * s/hpux.h: Don't use undefined function sigunblock().
8929
8930 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8931
8932         * config.h.in: Add HAVE_BALLOON_HELP.
8933         * emacs.c: Use HAVE_BALLOON_HELP.
8934         * Makefile.in.in (x_objs):
8935         Make Balloon Help conditional on finding shape.h.
8936
8937 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
8938
8939         * syntax.c (regex_emacs_buffer_p): New variable.
8940         * syntax.h (regex_emacs_buffer_p): extern.
8941         * search.c (looking_at_1):
8942         (string_match_1):
8943         (fast_string_match):
8944         (search_buffer): Set regex_emacs_buffer_p.
8945         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
8946         when before_dot, at_dot, after_dot.
8947
8948 2000-08-23  Andy Piper  <andy@xemacs.org>
8949
8950         * gui-x.c (popup_selection_callback): Only set action_occurred
8951         when we really have an image instance.
8952         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8953
8954 2000-08-23  Andy Piper  <andy@xemacs.org>
8955
8956         * gui-msw.c (mswindows_handle_gui_wm_command): set
8957         action_occurred.
8958         * gui-x.c (popup_selection_callback): ditto.
8959
8960         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
8961         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
8962         (struct Lisp_Image_Instance): add action_occurred flag.
8963
8964         * glyphs.c (redisplay_subwindow): use action_occurred flag.
8965         (image_instance_changed): ditto.
8966         (reset_frame_subwindow_instance_cache): only unmap windows - do
8967         not remove them from the cache also.
8968
8969         * glyphs-widget.c (tab_control_update): better debug.
8970         (progress_gauge_update): ditto.
8971         (layout_update): ditto.
8972         (layout_instantiate): ditto.
8973         (tab_control_order_only_changed): cope with null pending items.
8974
8975         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
8976         debug. Force selection of an item when an action occurred. Cope
8977         with null pending_items.
8978         (mswindows_progress_gauge_redisplay): better debug.
8979         * glyphs-x.c (x_tab_control_redisplay): ditto.
8980
8981         * redisplay.c (redisplay_frame): reset the frame cache if the
8982         frame is garbaged.
8983
8984         * window.c (Fset_window_configuration): potentially re-enable
8985         frame cache reset.
8986         (window_unmap_subwindows): need to finalize instances here since
8987         it is only used in mark_window_as_deleted.
8988
8989 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
8990
8991         * nas.c (SndOpenDataForReading):
8992         nas.c (WaveOpenDataForReading):
8993         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
8994         Somehow escaped from the 2000-08-14 patch.
8995
8996 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
8997
8998         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
8999         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
9000
9001 2000-08-21  Andy Piper  <andy@xemacs.org>
9002
9003         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
9004         window if it is not already displayed.
9005
9006         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
9007         it is not already displayed.
9008
9009         * window.c (Fset_window_configuration): don't reset the frame
9010         cache.
9011
9012         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
9013         instances from the frame cache if we are actually finalizing them.
9014         (reset_frame_subwindow_instance_cache): reset frame cache only
9015         after unmapping everything.
9016         (map_subwindow): set displayed flag after mapping.
9017
9018 2000-08-21  Martin Buchholz  <martin@xemacs.org>
9019
9020         * data.c (indirect_function):
9021         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
9022
9023         * eval.c (function_argcount):
9024         Use original function when signaling errors.
9025
9026 2000-08-18  Andy Piper  <andy@xemacs.org>
9027
9028         * frame.c (delete_frame_internal): use new
9029         free_frame_subwindow_instances name.
9030
9031         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
9032         (add_tab_item): make return type correct.
9033         (mswindows_tab_control_instantiate): assert index of tab.
9034         (mswindows_tab_control_redisplay): Re-code to use
9035         gui_item_equal_sans_selected and gui_item_list_find_selected.
9036
9037         * glyphs-widget.c (tab_control_update): Correct comment.
9038
9039         * window.c (window_unmap_subwindows): use new
9040         unmap_subwindow_instance_cache_mapper.
9041         (window_unmap_subwindows_cache_mapper): deleted.
9042         (Fset_window_configuration): comparisons should now be with
9043         EQ. Preserve the subwindow instance cache across configuration
9044         changes.
9045         (allocate_window): ditto.
9046         (make_dummy_parent): ditto.
9047
9048         * glyphs.c (free_frame_subwindow_instances): rename from
9049         free_frame_subwindow_instance_cache. finalize all instances rather
9050         than just those in the display cache.
9051         (finalize_all_subwindow_instances): walk windows unmapping and
9052         finalizing subwindows.
9053         (unmap_subwindow_instance_cache_mapper): moved from
9054         window.c. Allow finalization as well as unmapping.
9055
9056         * gui.c (gui_item_list_find_selected): new function.
9057
9058         * gui.h (gui_item_list_find_selected): declare.
9059
9060         * glyphs-x.c (x_tab_control_redisplay): pick tab
9061         explicitly. Re-code to use gui_item_equal_sans_selected and
9062         gui_item_list_find_selected.
9063
9064         * glyphs-x.h: add lwlib-utils.h
9065
9066         * buffer.c (Frecord_buffer): undo previous change.
9067
9068 2000-08-09  Vin Shelton  <acs@xemacs.org>
9069
9070         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
9071         possible.  Create temporary files more securely.  The patch was
9072         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
9073         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
9074         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
9075         for details.
9076
9077 2000-08-07  Ben Wing  <ben@xemacs.org>
9078
9079         * getloadavg.c: remove duplicate (and windows-breaking)
9080         includes of fcntl.h and sys/file.h.
9081
9082         * nt.c: remove duplicate getloadavg() definition.
9083
9084         * sysdll.h (Qdll_filename_encoding): add missing stand-in
9085         encodings.
9086
9087 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9088
9089         * eval.c (function_argcount): If function needs to be autoloaded
9090         actually use the loaded definition.
9091         GCPRO function.
9092
9093 2000-08-05  Ben Wing  <ben@xemacs.org>
9094
9095         * getloadavg.c: add prototype for getloadavg().  remove
9096         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
9097         of the code).  remove duplicate header includes.
9098
9099         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
9100
9101         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
9102         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
9103         useful load average.
9104
9105         * alloc.c (reinit_alloc_once_early): removed references to
9106         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
9107         the lisp vars are the only things referencing the malloc_sbrk_*
9108         vars, and they were already if 0'd out.  these vars only exist
9109         in the older malloc.c, which is basically unused, and they're
9110         only for informational purposes.
9111
9112         * m\*.h: removed useless VIRT_ADDR_VARIES.
9113
9114         * m\powerpc.h: removed stray NO_ARG_ARRAY.
9115
9116 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9117
9118         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
9119         color if the image is a mono pixmap.
9120
9121 2000-07-30  Ben Wing  <ben@xemacs.org>
9122
9123         * Makefile.in.in (release):
9124         Remove stray @.
9125
9126         * buffer.c (directory_is_current_directory):
9127         * dired-msw.c (mswindows_get_files):
9128         * dired.c:
9129         * dired.c (Fdirectory_files):
9130         * dired.c (file_name_completion_stat):
9131         * dired.c (Ffile_attributes):
9132         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
9133         preprocessor tricks, to avoid problems on some machines
9134         (e.g. SCO).
9135
9136         * callproc.c (egetenv): GC docs.
9137
9138         * console-msw.h:
9139         * console-msw.h (struct mswindows_dialog_id):
9140         * lrecord.h (lrecord_type):
9141         New object for use with MSW dialogs.
9142
9143         * console.h (struct console_methods):
9144         New enable/disable frame methods, for proper modal dialogs.
9145
9146         * device-msw.c (msprinter_default_printer): Fix to follow
9147         proper Mule conventions.
9148
9149         * device-msw.c:
9150         * device-msw.c (signal_open_printer_error):
9151         * device-msw.c (msprinter_init_device):
9152         * device-msw.c (ensure_not_printing):
9153         * device-msw.c (plist_get_margin):
9154         * device-msw.c (Fmsprinter_select_settings):
9155         * device-msw.c (finalize_devmode):
9156         * device-msw.c (Fmsprinter_settings_despecialize):
9157         * device-msw.c (signal_enum_priner_error):
9158         * extents.c (decode_extent):
9159         * extents.c (decode_map_extents_flags):
9160         * extents.c (decode_extent_at_flag):
9161         * extents.c (Fextent_at):
9162         * extents.c (Fextents_at):
9163         * extents.c (symbol_to_glyph_layout):
9164         [[[[2]]]] Use structured errors.
9165
9166         * dialog-msw.c:
9167         * dialog-msw.c (mswindows_is_dialog_msg):
9168         * dialog-msw.c (mark_mswindows_dialog_id):
9169         * dialog-msw.c (dialog_proc):
9170         * dialog-msw.c (handle_question_dialog_box):
9171         * dialog-msw.c (syms_of_dialog_mswindows):
9172         Define new object to clean up marking; use it as a dialog identifier.
9173         Call new delete-dialog-box-hook.
9174
9175         * dialog-x.c (dbox_selection_callback):
9176         * dialog-x.c (dbox_descriptor_to_widget_value):
9177         * dialog-x.c (x_make_dialog_box_internal):
9178         Call new delete-dialog-box-hook.
9179         Return an id.
9180
9181         * dialog.c:
9182         * dialog.c (syms_of_dialog):
9183         * dialog.c (vars_of_dialog):
9184         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
9185
9186         * eval.c:
9187         * eval.c (signal_call_debugger):
9188         when noninteractive, output stack traces on the console instead
9189         of in a (never-seen) buffer.
9190
9191         * eval.c (signal_type_error):
9192         * eval.c (invalid_argument_2):
9193         * lisp.h:
9194         new funs for use w/structured errors.
9195
9196         * event-Xt.c:
9197         * event-Xt.c (x_to_emacs_keysym):
9198         * event-Xt.c (describe_event):
9199         * event-Xt.c (emacs_Xt_event_handler):
9200         * event-Xt.c (vars_of_event_Xt):
9201         * event-msw.c:
9202         * event-msw.c (mswindows_wnd_proc):
9203         * event-msw.c (vars_of_event_mswindows):
9204         rename {x,mswindows}-debug-events to debug-{}-events for
9205         consistency with other debug-foo variables.
9206
9207         * event-stream.c:
9208         document next-event more clearly.
9209
9210         * fileio.c (Ffile_name_directory):
9211         * fileio.c (Ffile_name_nondirectory):
9212         * fileio.c (Funhandled_file_name_directory):
9213         * fileio.c (file_name_as_directory):
9214         * fileio.c (Ffile_name_as_directory):
9215         * fileio.c (directory_file_name):
9216         * fileio.c (Fdirectory_file_name):
9217         * fileio.c (Fmake_temp_name):
9218         * fileio.c (Ffile_truename):
9219         * fileio.c (Fsubstitute_in_file_name):
9220         * fileio.c (expand_and_dir_to_file):
9221         * fileio.c (barf_or_query_if_file_exists):
9222         * fileio.c (check_executable):
9223         * fileio.c (Ffile_exists_p):
9224         * fileio.c (Ffile_writable_p):
9225         * fileio.c (Ffile_directory_p):
9226         * fileio.c (Ffile_regular_p):
9227         * fileio.c (Ffile_modes):
9228         * fileio.c (Ffile_newer_than_file_p):
9229         * fileio.c (Fverify_visited_file_modtime):
9230         * fileio.c (Fset_visited_file_modtime):
9231         * fileio.c (auto_save_1):
9232         (1). (2).
9233         fix up gcpro's.
9234
9235         * frame-msw.c:
9236         * frame-msw.c (mswindows_init_frame_1):
9237         * frame-msw.c (mswindows_enable_frame):
9238         * frame-msw.c (error_frame_unsizable):
9239         * frame-msw.c (msprinter_init_frame_1):
9240         * frame-msw.c (msprinter_init_frame_3):
9241         * frame-msw.c (console_type_create_frame_mswindows):
9242         (2).
9243         implement new enable/disable frame methods.
9244
9245         * frame-x.c:
9246         * frame-x.c (x_enable_frame):
9247         * frame-x.c (console_type_create_frame_x):
9248         implement new enable/disable frame methods.
9249
9250         * frame.c:
9251         * frame.c (Fdisable_frame):
9252         * frame.c (syms_of_frame):
9253         * frame.h (struct frame):
9254         implement new enable/disable frame methods/functions.
9255
9256         * general-slots.h:
9257         add initial-focus.
9258
9259         * glyphs-msw.c (mswindows_widget_instantiate):
9260         comment that initial-focus should be implemented.
9261
9262         * glyphs-widget.c:
9263         * glyphs-widget.c (check_valid_instantiator):
9264         * glyphs-widget.c (check_valid_orientation):
9265         * glyphs-widget.c (check_valid_tab_orientation):
9266         * glyphs-widget.c (check_valid_justification):
9267         * glyphs-widget.c (check_valid_border):
9268         * glyphs-widget.c (check_valid_callback):
9269         * glyphs-widget.c (check_valid_int_or_function):
9270         * glyphs-widget.c (check_valid_string_or_vector):
9271         * glyphs-widget.c (check_valid_item_list_1):
9272         * glyphs-widget.c (widget_validate):
9273         * glyphs-widget.c (combo_box_validate):
9274         * glyphs-widget.c (widget_instantiate):
9275         * glyphs-widget.c (syms_of_glyphs_widget):
9276         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
9277         * glyphs-widget.c (image_instantiator_combo_box):
9278         * glyphs-widget.c (image_instantiator_scrollbar):
9279         * glyphs-widget.c (image_instantiator_tab_control):
9280         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
9281         (2).
9282         support (unimplemented) keyword initial-focus.
9283         reindent long macros.
9284
9285         * glyphs-x.c (x_redisplay_widget):
9286         * glyphs-x.c (x_button_instantiate):
9287         * glyphs-x.c (x_button_redisplay):
9288         * glyphs-x.c (x_progress_gauge_instantiate):
9289         * glyphs-x.c (x_edit_field_instantiate):
9290         * glyphs-x.c (x_combo_box_instantiate):
9291         * glyphs-x.c (x_tab_control_instantiate):
9292         * glyphs-x.c (x_label_instantiate):
9293         * gui-x.c:
9294         * gui-x.c (button_item_to_widget_value):
9295         * gui-x.c (gui_items_to_widget_values_1):
9296         * gui-x.c (gui_item_children_to_widget_values):
9297         * gui-x.c (gui_items_to_widget_values):
9298         * gui-x.h:
9299         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9300         add new flag to gui-parsing routines to indicate whether
9301         accelerator specs should be supported.
9302
9303         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
9304
9305         * glyphs.h (struct Lisp_Image_Instance):
9306         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
9307         add initial-focus flag.
9308
9309         * gui.c:
9310         * gui.c (syms_of_gui):
9311         * gui.c (vars_of_gui):
9312         clean up menu-no-selection-hook.
9313
9314         * gui.h:
9315         support delete-dialog-box-hook.
9316
9317         * lread.c (Fload_internal):
9318         * lread.c (locate_file_in_directory_mapper):
9319         (1).
9320
9321         * lrecord.h:
9322         * lrecord.h (struct toolbar_button):
9323         * lrecord.h (syms_of_toolbar):
9324         document how to create a new object.
9325
9326         * menubar-msw.c (mswindows_char_is_accelerator):
9327         may be called on frames w/o menus.
9328
9329         * menubar.c (vars_of_menubar):
9330         clean up :filter docs.
9331
9332         * nt.c (readdir):
9333         * ntproc.c:
9334         (1).
9335
9336         * process-nt.c:
9337         * process-nt.c (validate_signal_number):
9338         * process-nt.c (signal_cannot_launch):
9339         * process-nt.c (nt_create_process):
9340         * process-nt.c (nt_send_process):
9341         * process-nt.c (nt_kill_child_process):
9342         * process-nt.c (nt_open_network_stream):
9343         * process-nt.c (syms_of_process_nt):
9344         (2).
9345         delete quote-handling.  call new lisp code that does it better.
9346
9347         * process-unix.c (connect_to_file_descriptor):
9348         * process-unix.c (allocate_pty):
9349         * process-unix.c (unix_send_process):
9350         * process-unix.c (unix_kill_child_process):
9351         * process-unix.c (unix_open_network_stream):
9352         * process-unix.c (unix_open_multicast_group):
9353         (1). (2).
9354
9355         * process.c:
9356         * process.c (Fstart_process_internal):
9357         (2).  need to canonicalize process path even if absolute.
9358
9359         * select-msw.c (symbol_to_ms_cf):
9360         * select-msw.c (ms_cf_to_symbol):
9361         * select-msw.c (cf_is_autofreed):
9362         * select-msw.c (mswindows_destroy_selection):
9363         * select.c:
9364         * select.c (syms_of_select):
9365         * select.h:
9366         support dibv5, fix bugs. (from Mike Alexander)
9367
9368         * select.c (Fget_selection_internal):
9369         * select.c (select_convert_out):
9370
9371         * sysdep.c:
9372         * sysdep.c (xemacs_stat):
9373         renamed.
9374
9375         * sysdep.c (mkdir):
9376         * sysdep.c (rmdir):
9377         but keep original stat() here because we provide encapsulation
9378         around these funs.
9379
9380         * sysfile.h:
9381         * sysfile.h (fstat):
9382         remove stat garbage.
9383
9384         * syswindows.h:
9385         fix X/MSW conflict.
9386         don't include tchar.h.  it's inappropriate because it makes
9387         compile-time distinctions when we want runtime distinctions.
9388         (we provide our own tchar replacements)
9389
9390         * toolbar.c:
9391         use default object printer for toolbar-button.
9392
9393         * unexcw.c:
9394         make sure we don't encapsulate.
9395
9396         * window.c (vars_of_window):
9397         emphasize that temp-buffer-show-hook is obsolete.
9398
9399 2000-08-05  Martin Buchholz  <martin@xemacs.org>
9400
9401         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
9402         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
9403
9404         * events.c (Fevent_timestamp_lessp):
9405         Not 64-bit clean.  Use EMACS_INT, not int.
9406
9407 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
9408
9409         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
9410         unsigned int and changed the last enum to
9411         lrecord_type_last_built_in_type.
9412         (lrecord_implementations_table): changed prototype to know how
9413         long the array is supposed to be.
9414         (lrecord_type_count): new unsigned int to keep track of the
9415         current number of lisp lrecord types.
9416         (DEFINE_EXTERNAL_LRECORD):
9417         (DECLARE_EXTERNAL_LRECORD): Added these two for external
9418         dynamic-modules to declare new lisp types. They are the same
9419         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
9420         int for each new type, and increment lrecord_type_count by 1.
9421
9422         * alloc.c (lrecord_implementations_table): Changed to reference
9423         lrecord_type_last_built_in_type for the size of the array.
9424         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
9425
9426 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9427
9428         * glyphs.h (check_valid_item_list): Renamed from
9429         check_valid_item_list_1.
9430
9431 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
9432
9433         * select.c (Qselect_coerce): New.
9434         * select.c (Vselection_coercion_alist): New.
9435         * select.c (syms_of_select): Declare.
9436         * select.c (get-selection-internal): Use it.
9437         Use the new select-coerce functionality.
9438
9439         * select.c (select_coerce): New.
9440         * select.h (select_coerce): Declare.
9441         New function to coerce one type of data into another.
9442
9443 2000-08-03  Martin Buchholz  <martin@xemacs.org>
9444
9445         * callproc.c (Fcall_process_internal):
9446         (Fcall_process_internal):
9447         * process-unix.c (unix_create_process):
9448         Save and restore the value of errno, so that error messages are accurate.
9449
9450 2000-08-01  Martin Buchholz  <martin@xemacs.org>
9451
9452         * elhash.c (print_hash_table):
9453         Fix printing of hash tables to also use `key-and-value' instead of `t'.
9454         Prettify docstrings and indentation.
9455
9456 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
9457
9458         * window.c (Fwindow_pixel_edges): Subtract frame border and
9459         gutter size.
9460
9461 2000-07-31  Andy Piper  <andy@xemacs.org>
9462
9463         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
9464         will acknowledge the change.
9465
9466         * glyphs.h: declare tab_control_order_only_changed.
9467
9468         * glyphs-x.c (x_tab_control_redisplay): use
9469         tab_control_order_only_changed.
9470
9471         * glyphs-widget.c (tab_control_order_only_changed): new function.
9472
9473         * glyphs-msw.c (mswindows_tab_control_redisplay): use
9474         tab_control_order_only_changed.
9475
9476         * gui.c (gui_item_equal_sans_selected): new function.
9477         (gui_item_equal): use it.
9478
9479         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
9480         :properties in favor of :items..
9481
9482         * glyphs-widget.c (check_valid_item_list): rename from
9483         check_valid_item_list_1.
9484         (check_valid_item_list_1): renamed.
9485         (combo_box_validate): deprecate :properties in favor of :items.
9486         (widget_instantiate): ditto.
9487         (tab_control_update): ditto.
9488         (image_instantiator_combo_box): ditto.
9489         (image_instantiator_tree_view): ditto.
9490         (image_instantiator_tab_control): ditto.
9491         (layout_post_instantiate): remove dead code.
9492
9493         * print.c (debug_print_no_newline): only write to debugger if in
9494         WIN32_NATIVE.
9495
9496         * elhash.c (Fmake_hash_table): update doc string.
9497
9498         * event-msw.c (mswindows_wnd_proc): don't allow processing of
9499         messages whilst in GC. This at least stops XEmacs crashing but has
9500         the potential for wierd behaviour.
9501
9502 2000-07-31  Martin Buchholz  <martin@xemacs.org>
9503
9504         * config.h.in:
9505         Make existence of s&m files optional.
9506
9507         * s/bsd386.h: Remove HAVE_GETLOADAVG.
9508         * s/freebsd.h: Remove HAVE_GETLOADAVG.
9509         * s/gnu.h: Remove HAVE_GETLOADAVG.
9510         * s/netbsd.h: Remove HAVE_GETLOADAVG.
9511         * s/sol2.h: Remove HAVE_GETLOADAVG.
9512         * lisp.h: Remove getloadavg() declaration.
9513         * fns.c:
9514         Include <sys/loadavg.h> if available.
9515         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
9516         * config.h.in:  Group together getloadavg()-related macros.
9517         Use only configure-time tests to detect getloadavg().
9518
9519 2000-07-30  Martin Buchholz  <martin@xemacs.org>
9520
9521         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
9522
9523 2000-07-25  Andy Piper  <andy@xemacs.org>
9524
9525         * syswindows.h: add tchar.h for native builds.
9526
9527         * frame.c (syms_of_frame): remove set-glyph-image.
9528
9529         * general-slots.h: add Qset_glyph_image.
9530
9531         * glyphs-widget.c (layout_update): add domain arg to
9532         set-glyph-image.
9533         (syms_of_glyphs_widget): remove set-glyph-image.
9534
9535 2000-07-23  Ben Wing  <ben@xemacs.org>
9536
9537         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
9538         Vpopup_frame_list.
9539
9540 2000-07-22  Andy Piper  <andy@xemacs.org>
9541
9542         * symsinit.h: add syms_of_win32().
9543
9544         * gui-msw.c (syms_of_gui_mswindows): remove
9545         Fmswindows_shell_execute.
9546         (Fmswindows_shell_execute): moved to win32.c.
9547
9548         * emacs.c (main_1): add syms_of_win32 ().
9549
9550         * win32.c (init_potentially_nonexistent_functions): rewrite in
9551         compiler-friendly terms.
9552         (Fmswindows_shell_execute): move here from gui-msw.c.
9553         (syms_of_win32): new.
9554
9555         * device-msw.c (Fmswindows_printer_list): clean up args to
9556         EnumPrinters.
9557         Don't include tchar under cygwin or mingw.
9558         (msprinter_default_printer): make cygwin-friendly.
9559
9560 2000-07-21  Andy Piper  <andy@xemacs.org>
9561
9562         * glyphs-widget.c (image_instantiator_tree_view): use tab
9563         control's update function.
9564         (layout_property): new function. Retrieve items.
9565
9566         * glyphs-msw.c (mswindows_tree_view_redisplay): new
9567         function. Re-populate the tree view from the pending items.
9568
9569         * glyphs.c (instantiate_image_instantiator): Make sure the domain
9570         is designated the parent if the domain is an image instance. This
9571         is needed so that dirtiness can be cascade up the hierarchy and
9572         thus for layout children to be redisplayed correctly.
9573         (allocate_image_instance): rename glyph -> parent.
9574
9575         * redisplay.h: change redisplay_output_layout signature.
9576
9577         * redisplay-msw.c (mswindows_output_display_block): use domain
9578         arg.
9579
9580         * redisplay-x.c (x_output_display_block): use domain arg.
9581
9582 2000-07-10  Andy Piper  <andy@xemacs.org>
9583
9584         * window.c (Fset_window_configuration): add comment.
9585
9586         * redisplay-output.c (compare_runes):
9587         (redisplay_output_subwindow): redisplay rather than update subwindow.
9588         (redisplay_output_layout): ditto.
9589
9590         * redisplay-msw.c (mswindows_frame_output_end):
9591         (mswindows_frame_output_end): make defer window pos optional.
9592
9593         * lisp.h: add Flast.
9594
9595         * glyphs.h (struct image_instantiator_methods): add dest_mask top
9596         normalize method. Change update method to be for changed
9597         instantiators. Add redisplay method. Change signature of layout
9598         method.
9599         (struct Lisp_Image_Instance): add instantiator.
9600         (IMAGE_INSTANCE_INSTANTIATOR): new.
9601         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
9602         (XIMAGE_INSTANCE_INSTANTIATOR): new.
9603         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
9604
9605         * glyphs.c:
9606         (find_instantiator_differences): new function.
9607         (Fset_instantiator_property): new convenience function.
9608         (check_image_instance_structure): strictly check for vector
9609         instantiators.
9610         (normalize_image_instantiator): make non-static.
9611         (instantiate_image_instantiator): pass on dest_mask and use new
9612         signatures for image_instance_layout and friends.
9613         (mark_image_instance): mark the instantiator. Mark the subwindow
9614         face not the widget face.
9615         (image_instance_equal): add instantiator.
9616         (image_instance_hash): ditto.
9617         (allocate_image_instance): ditto.
9618         (Fset_image_instance_property): removed.
9619         (Fimage_instance_file_name): ditto.
9620         (Fcolorize_image_instance): ditto.
9621         (image_instance_layout): add offsets to be set.
9622         (update_image_instance): new function. update an image instance
9623         from its changed instantiator.
9624         (inherit_normalize): add dest_mask.
9625         (xbm_normalize): ditto.
9626         (xface_normalize): ditto.
9627         (xpm_normalize): ditto.
9628         (text_update): set_property -> update.
9629         (image_instantiate): use the glyph identity as a hash key, not the
9630         instantiator.
9631         (glyph_width): use new image_instance_layout signature.
9632         (glyph_ascent): ditto.
9633         (glyph_descent): ditto.
9634         (glyph_height): ditto.
9635         (glyph_query_geometry): ressurrect.
9636         (glyph_layout): ditto.
9637         (redisplay_subwindow): update -> redisplay.
9638         (syms_of_glyphs): add Fset_instantiator_property.
9639         (image_instantiator_format_create): set_property -> update.
9640
9641         * glyphs-x.c:
9642         (autodetect_normalize): add dest_maks to signature.
9643         (x_redisplay_subwindow): update -> redisplay.
9644         (x_redisplay_widget): ditto.
9645         (x_button_redisplay): ditto.
9646         (x_progress_gauge_redisplay): ditto.
9647         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
9648         stacking order.
9649         (console_type_create_glyphs_x): update -> redisplay.
9650         (image_instantiator_format_create_glyphs_x): ditto.
9651
9652         * glyphs-widget.c:
9653         (check_valid_instantiator): disallow glyphs in the instantiator,
9654         they must now be vectors.
9655         (check_valid_instantiator_list): ditto.
9656         (glyph_instantiator_to_glyph): use internal symbol rather than
9657         intern.
9658         (widget_update): renamed from widget_set_property. Call cascaded
9659         update methods.
9660         (redisplay_widget): renamed from update_widget.
9661         (widget_layout): image_instance_layout now takes position as well
9662         as size.
9663         (widget_normalize): ditto.
9664         (widget_instantiate): ditto.
9665         (tab_control_query_geometry) ditto.:
9666         (tab_control_update): renamed from tab_control_set_property.
9667         (progress_gauge_update): set_property -> update.
9668         (layout_normalize): rewrite so that child instantiators are
9669         normalized also.
9670         (layout_update): new function. Create glyphs from the normalized
9671         children and cope with any other layout keywords. We do not
9672         instantiate children here that will be take care of by
9673         redisplay_output_layout.
9674         (layout_instantiate): call layout_update and not much else.
9675         (layout_post_instantiate): not sure whether this is needed
9676         anymore.
9677         (layout_query_geometry): query glyph geometry rather than
9678         image_instance geometry.
9679         (layout_layout): set offsets from pass in parameters. Use glyph
9680         geometry and layout functions rather than image instance ones.
9681         (native_layout_layout): ditto.
9682         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
9683         (image_instantiator_widget): set_property -> update.
9684         (image_instantiator_buttons): ditto.
9685         (image_instantiator_progress_guage): ditto.
9686         (image_instantiator_tab_control): ditto.
9687         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
9688         (image_instantiator_layout): add update method.
9689
9690         * glyphs-msw.c (bmp_normalize):
9691         (mswindows_resource_normalize): add dest_mask so that it can be
9692         proprogated by layout_normalize.
9693         (begin_defer_window_pos): make optional because it may not be the
9694         right thing to do and it introduces differences with X.
9695         (mswindows_unmap_subwindow): ditto.
9696         (mswindows_map_subwindow): ditto.
9697         (mswindows_redisplay_subwindow): renamed from
9698         mswindows_update_subwindow.
9699         (mswindows_redisplay_widget): ditto.
9700         (mswindows_button_redisplay): renamed from
9701         mswindows_button_update. Update is now what the instantiation
9702         function does for a changed instantiator.
9703         (mswindows_progress_gauge_instantiate): set the progress value
9704         here if appropriate.
9705         (mswindows_tab_control_redisplay): cope with re-ordering of the
9706         members of the tab widget by simply selecting the new top
9707         widget. This makes things appear ok if you click on a tab.
9708         (mswindows_combo_box_instantiate): image_instance_layout now takes
9709         position as well as size.
9710         (mswindows_progress_gauge_redisplay): renamed from
9711         mswindows_progress_gauge_update.
9712         (console_type_create_glyphs_mswindows): fix update -> redisplay.
9713         (image_instantiator_format_create_glyphs_mswindows): ditto.
9714
9715         * glyphs-eimage.c (jpeg_normalize):
9716         (gif_normalize):
9717         (png_normalize):
9718         (tiff_normalize): add dest_mask so that it can be proprogated by
9719         layout_normalize.
9720
9721         * elhash.c:
9722         (print_hash_table):
9723         (hash_table_weakness_validate):
9724         (decode_hash_table_weakness):
9725         (Fhash_table_weakness):
9726         (Fhash_table_type):
9727         (syms_of_elhash): use Ben's naming scheme for hashtable types..
9728
9729         * console.h (struct console_methods): move update_* to
9730         redisplay_*.
9731
9732 2000-07-20  Ben Wing  <ben@xemacs.org>
9733
9734         * *.[ch] (XSETOBJ): remove unused middle argument.
9735         lisp-disunion.h: correct wrap_object() to one argument.
9736
9737 2000-07-15  Ben Wing  <ben@xemacs.org>
9738
9739         * s/cygwin32.h:
9740         * s/cygwin32.h (CYGWIN_CONV_PATH):
9741         Add missing logb prototype for v1.1.
9742         Use post-b20 names and alias to pre-b20 names when pre-b20.
9743
9744         * s/windowsnt.h: [5].
9745
9746 2000-07-15  Ben Wing  <ben@xemacs.org>
9747
9748         * Makefile.in.in (x_objs):
9749         * Makefile.in.in (sheap_objs):
9750         * Makefile.in.in (objs):
9751         added win32.o, cosmetic cleanups.
9752
9753         * alloc.c (Fmake_byte_code):
9754         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
9755         etc. macros which declare their own args now.
9756
9757         * alloc.c (syms_of_alloc):
9758         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
9759
9760         * buffer.c:
9761         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
9762
9763         * buffer.c (Fget_file_buffer):
9764         Fixed GCPRO problem.
9765
9766         * buffer.c (get_truename_buffer):
9767         Fixed comment about GC checking.
9768
9769         * buffer.c (syms_of_buffer):
9770         Undeclared those dedicated frame funs.
9771         [2].
9772
9773         * buffer.h:
9774         Define convenience macros for internal/external conversions.
9775         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
9776         and Qenvironment_variable_encoding for cleaner code.
9777
9778         * bufslots.h:
9779         Remove dedicated-frame; in lisp.
9780
9781         * bytecode.c (funcall_compiled_function):
9782         [1].
9783
9784         * bytecode.c (syms_of_bytecode):
9785         [2].
9786
9787         * console-msw.c:
9788         * console-msw.c (mswindows_show_console): Rewrote.
9789
9790         * console-msw.c (Fmswindows_debugging_output): New.
9791         Sends to OutputDebugString (special MSWin debugger interface).
9792
9793         * console-msw.c (Fmswindows_message_box):
9794         Fixed stupid bugs so it works when called from kill-emacs.
9795
9796         * console-msw.c (syms_of_console_mswindows):
9797         Declare Fmswindows_debugging_output.
9798
9799         * console-msw.h:
9800         New MSWin prototypes.
9801
9802         * console-msw.h (struct mswindows_frame):
9803         New entry last-click-mods for improved button-modifier support.
9804
9805         * console-msw.h (FRAME_MSWINDOWS_POPUP):
9806         New struct entry `popup' with corresponding accessor.
9807
9808         * console-x.c:
9809         * console-x.c (split_up_display_spec):
9810         * console-x.c (get_display_arg_connection):
9811         * console-x.c (x_semi_canonicalize_console_connection):
9812         * console-x.c (x_canonicalize_device_connection):
9813         [[[6]]]: Change char to more specific type.
9814         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
9815
9816         * console-x.c (x_semi_canonicalize_console_connection):
9817         * console-x.c (x_canonicalize_device_connection):
9818         [[[9]]]: Fix up error signalling to use new structured error system.
9819
9820         * console-x.h:
9821         [[[4]]]: Define codesys aliases:
9822         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
9823         Qx_color_name_encoding, Qx_display_name_encoding.
9824
9825         * console.h (struct console_methods):
9826         New method make_dialog_box_internal supersedes older
9827         popup_dialog_box method.
9828
9829         * data.c:
9830         Define many new errors, part of new structured errors.
9831
9832         * data.c (init_errors_once_early):
9833         * data.c (syms_of_data):
9834         [2].
9835
9836         * device-msw.c (mswindows_init_device):
9837         [[[5]]]: Cleanup to support NT 3.51.
9838
9839         * device-msw.c (decode_devmode): Cleanup.
9840
9841         * device-msw.c (mswindows_handle_print_setup_dialog_box):
9842         * device-msw.c (mswindows_handle_print_dialog_box):
9843         * device-msw.c (mswindows_handle_page_setup_dialog_box):
9844         * device-msw.c (syms_of_device_mswindows):
9845         Delete the dialog box primitives recently introduced by Kirill and
9846         instead interface to general dialog box interface.
9847
9848         * device-x.c:
9849         * device-x.c (compute_x_app_name):
9850         * device-x.c (x_init_device):
9851         * device-x.c (Fx_valid_keysym_name_p):
9852         * device-x.c (Fx_set_font_path):
9853         [6].
9854         [7].
9855
9856         * device.h (wrap_device): New.
9857         First of its kind; meant to replace XSETDEVICE.
9858
9859         * dialog-msw.c: Many file-dialog symbols.
9860
9861         * dialog-msw.c (mswindows_register_popup_frame): New.
9862         * dialog-msw.c (mswindows_is_dialog_msg): New.
9863         For supporting kbd traversal in dialog boxes.
9864
9865         * dialog-msw.c (dialog_proc):
9866         Support hitting ESC in dialogs.
9867
9868         * dialog-msw.c (struct):
9869         Common dialog box errors.
9870
9871         * dialog-msw.c (handle_file_dialog_box): New.
9872         Add file dialog code.
9873
9874         * dialog-msw.c (handle_question_dialog_box):
9875         Redo existing code to support new question dialog syntax.
9876
9877         * dialog-msw.c (console_type_create_dialog_mswindows):
9878         We support new dialog console method.
9879
9880         * dialog-msw.c (syms_of_dialog_mswindows):
9881         * dialog-msw.c (vars_of_dialog_mswindows):
9882         New file dialog symbols, vars.
9883
9884         * dialog-x.c:
9885         * dialog-x.c (maybe_run_dbox_text_callback):
9886         * dialog-x.c (dbox_descriptor_to_widget_value):
9887         * dialog-x.c (x_make_dialog_box_internal):
9888         * dialog-x.c (console_type_create_dialog_x):
9889         Mule-ize entire file.
9890         Redo to support question dialog syntax.
9891         [6].
9892
9893         * dialog.c:
9894         * dialog.c (Fmake_dialog_box_internal):
9895         * dialog.c (syms_of_dialog):
9896         Kill old popup-dialog-box, replace with new primitive.
9897         Just call device method or signal error.
9898
9899         * eldap.c (Fldap_open):
9900         * eldap.c (Fldap_search_basic):
9901         * eldap.c (Fldap_add):
9902         * eldap.c (Fldap_modify):
9903         [1].
9904         [7].
9905
9906         * emacs.c:
9907         * emacs.c (make_arg_list_1):
9908         * emacs.c (make_arg_list):
9909         Mule-ize call to dll_init().
9910         [6].
9911         [8].
9912
9913         * emacs.c (make_argc_argv):
9914         * emacs.c (free_argc_argv):
9915         * emacs.c (init_cmdargs):
9916         * emacs.c (main_1):
9917         * emacs.c (Fkill_emacs):
9918         * emacs.c (Fdump_emacs):
9919         Update comments about what can be used in syms_* etc.
9920         Call init_win32() when necessary.
9921         Fix up MS Win dialog box in kill-buffer to actually work right.
9922         [7].
9923
9924         * eval.c:
9925         * eval.c (For):
9926         * eval.c (Fand):
9927         * eval.c (Fprogn):
9928         * eval.c (Fprog1):
9929         * eval.c (Fprog2):
9930         * eval.c (FletX):
9931         * eval.c (Flet):
9932         * eval.c (condition_case_3):
9933         * eval.c (Feval):
9934         * eval.c (function_argcount):
9935         * eval.c (funcall_lambda):
9936         [1].
9937
9938         * eval.c (type_error): New.
9939         * eval.c (maybe_type_error): New.
9940         * eval.c (continuable_type_error): New.
9941         * eval.c (maybe_continuable_type_error): New.
9942         * eval.c (type_error_with_frob): New.
9943         * eval.c (maybe_type_error_with_frob): New.
9944         * eval.c (continuable_type_error_with_frob): New.
9945         * eval.c (maybe_continuable_type_error_with_frob): New.
9946         New functions for use with structured errors.
9947
9948         * event-Xt.c:
9949         * event-Xt.c (x_event_to_emacs_event):
9950         Buttons are now modifiers too.
9951
9952         * event-Xt.c (emacs_Xt_current_event_timestamp):
9953         Implement new event method.
9954         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
9955
9956         * event-msw.c:
9957         * event-msw.c (ntpipe_shove_writer): [5].
9958         * event-msw.c (mswindows_enqueue_mouse_button_event):
9959         * event-msw.c (mswindows_drain_windows_queue):
9960         * event-msw.c (mswindows_wnd_proc): [7].
9961         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
9962         * event-msw.c (mswindows_modifier_state):
9963         Throughout: support new button modifiers.
9964
9965         * event-msw.c (emacs_mswindows_current_event_timestamp):
9966         Implement new event method.
9967         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
9968
9969         * event-stream.c:
9970         * event-stream.c (event_stream_current_event_timestamp): New.
9971         * event-stream.c (maybe_kbd_translate): New functionality.
9972         * event-stream.c (vars_of_event_stream):
9973         Document new kbd-translate-table functionality.
9974
9975         * event-stream.c (Fcurrent_event_timestamp): New.
9976         New primitive for use in fabricated events.
9977         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
9978
9979         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
9980
9981         * events.c:
9982         * events.c (Fmake_event):
9983         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
9984         [1].
9985         [9].
9986
9987         * events.c (format_event_object): fix gcc warnings.
9988
9989         * events.c (Fevent_timestamp): Document new primitives.
9990
9991         * events.c (TIMESTAMP_HALFSPACE): New.
9992
9993         * events.c (Fevent_timestamp_lessp): New.  New primitive for
9994         comparing timestamps correctly (half-space algorithm).
9995
9996         * events.c (Fevent_modifier_bits): Doc fix.
9997
9998         * events.c (Fevent_modifiers): Major doc addition.
9999         * events.c (event_x_y_pixel_internal): Typo fix.
10000         * events.c (syms_of_events): Declare new primitives.
10001
10002         * events.h:
10003         Update long comment for button modifiers, timestamps.
10004
10005         * events.h (struct event_stream):
10006         New current_event_timestamp method.
10007
10008         * extents.c:
10009         * extents.c (extent_in_region_p):
10010         * extents.c (decode_extent):
10011         * extents.c (Fset_extent_parent):
10012         * extents.c (decode_map_extents_flags):
10013         Fix gcc warnings.
10014         [9].
10015
10016         * extents.c (struct extent_at_arg):
10017         * extents.c (decode_extent_at_flag):
10018         * extents.c (extent_at_mapper):
10019         * extents.c (extent_at_bytind):
10020         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
10021         * extents.c (Fextents_at): New primitive. [9].
10022         * extents.c (symbol_to_glyph_layout): [9].
10023         Support new primitive `extents-at'.
10024
10025
10026         * extents.c (get_text_property_bytind):
10027         extent_at_bytind has another arg.
10028         [9].
10029
10030         * extents.c (syms_of_extents): New primitive.
10031
10032         * file-coding.c (Fmake_coding_system): [1].
10033         * file-coding.c (subsidiary_coding_system): fix gcc warning
10034         * file-coding.c (syms_of_file_coding): [2].
10035
10036         * fileio.c (Fexpand_file_name):
10037         * fileio.c (Fsysnetunam):
10038         * fileio.c (Ffile_exists_p):
10039         * fileio.c (Ffile_executable_p):
10040         * fileio.c (Fverify_visited_file_modtime):
10041         Clean up GCPROing.
10042
10043         * fileio.c (syms_of_fileio): [2].
10044
10045         * filelock.c (lock_file_1):
10046         * filelock.c (current_lock_owner):
10047         * filelock.c (lock_if_free):
10048         * filelock.c (lock_file):
10049         * filelock.c (unlock_file):
10050         Clean up GCPROing.
10051
10052         * fns.c (concat): Fix gcc warning.
10053
10054         * fns.c (Fmember):
10055         * fns.c (Fold_member):
10056         * fns.c (Fmemq):
10057         * fns.c (Fold_memq):
10058         * fns.c (memq_no_quit):
10059         * fns.c (Fassoc):
10060         * fns.c (Fold_assoc):
10061         * fns.c (Fassq):
10062         * fns.c (Fold_assq):
10063         * fns.c (assq_no_quit):
10064         * fns.c (Frassoc):
10065         * fns.c (Fold_rassoc):
10066         * fns.c (Frassq):
10067         * fns.c (Fold_rassq):
10068         * fns.c (rassq_no_quit):
10069         * fns.c (Fdelete):
10070         * fns.c (Fold_delete):
10071         * fns.c (Fdelq):
10072         * fns.c (Fold_delq):
10073         * fns.c (delq_no_quit):
10074         * fns.c (Fremassoc):
10075         * fns.c (Fremassq):
10076         * fns.c (remassq_no_quit):
10077         * fns.c (Fremrassoc):
10078         * fns.c (Fremrassq):
10079         * fns.c (remrassq_no_quit):
10080         * fns.c (Freverse):
10081         * fns.c (mapcar1):
10082         [1].
10083
10084         * frame-msw.c (mswindows_init_frame_1):
10085         * frame-msw.c (mswindows_delete_frame):
10086         Register popups with dialog code so keyboard traversing works.
10087
10088         * frame-tty.c (tty_raise_frame_no_select): [1].
10089
10090         * frame-x.c:
10091         * frame-x.c (x_set_frame_text_value):
10092         * frame-x.c (x_set_frame_properties):
10093         * frame-x.c (x_create_widgets):
10094         [7].
10095
10096         * frame.c:
10097         * frame.c (Fmouse_pixel_position): Minor doc fixes.
10098
10099         * frame.h (wrap_frame): New.
10100         Macro like wrap_device.
10101
10102         * general.c:
10103         * general.c (SYMBOL):
10104         * general.c (syms_of_general):
10105         Major reorg.  This is now just a wrapper and symbols themselves
10106         are listed in general-slots.h.
10107
10108         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
10109         * glyphs-msw.c (mswindows_resource_instantiate): [5].
10110
10111         * glyphs-msw.c (mswindows_native_layout_instantiate):
10112         Add DS_CONTROL so keyboard traversal will work.
10113
10114         * glyphs-widget.c:
10115         * glyphs-widget.c (syms_of_glyphs_widget):
10116         Move some symbols to general-slots.h.
10117
10118         * glyphs-x.c:
10119         * glyphs-x.c (xbm_instantiate_1):
10120         * glyphs-x.c (x_xbm_instantiate):
10121         * glyphs-x.c (x_xface_instantiate):
10122         * glyphs-x.c (autodetect_instantiate):
10123         * glyphs-x.c (cursor_font_instantiate):
10124         * glyphs-x.c (x_update_widget):
10125         * glyphs-x.c (x_widget_instantiate):
10126         * glyphs.c (bitmap_to_lisp_data):
10127         * glyphs.c (pixmap_to_lisp_data):
10128         [7].
10129
10130         * glyphs.c (syms_of_glyphs):
10131         [2].
10132
10133         * gui-x.c:
10134         * gui-x.c (print_widget_value):
10135         * gui-x.c (menu_separator_style_and_to_external):
10136         * gui-x.c (add_accel_and_to_external):
10137         * gui-x.c (button_item_to_widget_value):
10138         * gui-x.c (gui_items_to_widget_values_1):
10139         * gui-x.c (gui_items_to_widget_values):
10140         * gui-x.c (syms_of_gui_x):
10141         * gui-x.c (vars_of_gui_x):
10142         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
10143         [9].
10144
10145         * gui-x.h:
10146         Muleize, prototype changes matching gui-x.c.
10147
10148         * gui.c:
10149         * gui.c (separator_string_p):
10150         * gui.c (gui_item_add_keyval_pair):
10151         * gui.c (make_gui_item_from_keywords_internal):
10152         * gui.c (signal_too_long_error):
10153         * gui.c (parse_gui_item_tree_item):
10154         * gui.c (syms_of_gui):
10155         * gui.c (vars_of_gui):
10156         * gui.h:
10157         menu-no-selection-hook moved here (used by MSWin).
10158         Move some symbols to general-slots.h.
10159         [6].
10160         [9].
10161
10162         * insdel.c (get_buffer_pos_char):
10163         * insdel.c (get_buffer_range_char):
10164         Add GC comments.
10165
10166         * keymap.c (keymap_lookup_directly):
10167         * keymap.c (keymap_store):
10168         * keymap.c (ensure_meta_prefix_char_keymapp):
10169         * keymap.c (describe_map):
10170         * keymap.h:
10171         Support new button modifiers.
10172
10173         * lisp-disunion.h (wrap_object):
10174         * lisp-disunion.h (XSETOBJ):
10175         Rename make_obj to wrap_object.
10176
10177         * lisp-union.h:
10178         * lisp-union.h (make_int):
10179         * lisp-union.h (make_char):
10180         Support wrap_object.
10181
10182         * lisp.h:
10183         * lisp.h (LIST_LOOP):
10184         * lisp.h (EXTERNAL_LIST_LOOP):
10185         * lisp.h (LIST_LOOP_2):
10186         * lisp.h (EXTERNAL_LIST_LOOP_1):
10187         * lisp.h (EXTERNAL_LIST_LOOP_2):
10188         * lisp.h (EXTERNAL_LIST_LOOP_3):
10189         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
10190         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10191         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
10192         * lisp.h (EXTERNAL_ALIST_LOOP_5):
10193         * lisp.h (EXTERNAL_ALIST_LOOP_6):
10194         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
10195         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
10196         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
10197         * lisp.h (struct Lisp_Symbol):
10198         * lisp.h (maybe_continuable_error_with_frob):
10199         Fix up section comments.
10200         Add new types for char to indicate usage.
10201         Delete symbols auto-generated from general-slots.h.
10202         Add prototypes for structured error functions.
10203         Add long comments describing looping macros and change interface
10204         so that lvalues are automatically declared.
10205         Add NO_DECLARE macro in case callers want to declare lvalues
10206         themselves.
10207
10208         * lread.c (read_syntax_error):
10209         * lread.c (continuable_read_syntax_error):
10210         * lread.c (read_structure):
10211         * lread.c (sequence_reader):
10212         * lread.c (read_list_conser):
10213         * lread.c (read_compiled_function):
10214         Rename syntax_error and continuable_syntax_error to avoid clash
10215         with same-named structured error functions.
10216
10217         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10218         * menubar-msw.c (populate_menu_add_item):
10219         * menubar-msw.c (populate_or_checksum_helper):
10220         [5].
10221         [9].
10222
10223         * menubar-x.c:
10224         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10225         Mule-ize whole file.
10226
10227         * menubar.c (Fnormalize_menu_item_name): Add optimization.
10228
10229         * mule-charset.c (Fmake_charset):
10230         * mule-wnnfns.c (Fwnn_set_param):
10231         [1].
10232
10233         * ntproc.c (create_child):
10234         * ntproc.c (Fwin32_set_current_locale):
10235         Add comments portending doom.
10236
10237         * objects-msw.c:
10238         * objects-msw.c (old_font_enum_callback_2):
10239         * objects-msw.c (font_enum_callback_1):
10240         * objects-msw.c (mswindows_enumerate_fonts):
10241         [5].
10242
10243         * objects-x.c:
10244         * objects-x.c (allocate_nearest_color):
10245         * objects-x.c (x_parse_nearest_color):
10246         * objects-x.c (x_initialize_color_instance):
10247         * objects-x.c (x_print_color_instance):
10248         * objects-x.c (x_finalize_color_instance):
10249         * objects-x.c (x_valid_color_name_p):
10250         * objects-x.c (x_initialize_font_instance):
10251         * objects-x.c (x_print_font_instance):
10252         * objects-x.c (valid_x_font_name_p):
10253         * objects-x.c (truename_via_FONT_prop):
10254         * objects-x.c (truename_via_random_props):
10255         * objects-x.c (truename_via_XListFonts):
10256         * objects-x.c (x_font_truename):
10257         * objects-x.c (x_font_instance_truename):
10258         * objects-x.c (x_font_instance_properties):
10259         * objects-x.c (x_list_fonts):
10260         * objects-x.c (x_find_charset_font):
10261         Mule-ize entire file.
10262         [7].
10263
10264         * objects-x.h:
10265         Mule-verify.
10266
10267         * print.c:
10268         * print.c (std_handle_out_external):
10269         * print.c (debug_print_no_newline):
10270         * print.c (syms_of_print):
10271         Output to all debugger kinds in debug-print.
10272         Fix console-output code under MSWin to actually work.
10273
10274         * process-nt.c (send_signal):
10275         * process-nt.c (nt_create_process):
10276         Use newer Unicode macros.
10277
10278         * process-unix.c (unix_create_process):
10279         * process-unix.c (unix_canonicalize_host_name):
10280         * process-unix.c (unix_open_network_stream):
10281         [7].
10282
10283         * scrollbar-x.c:
10284         Mule-verify.
10285
10286         * search.c (syms_of_search):
10287         [2].
10288
10289         * select-msw.c (mswindows_destroy_selection):
10290         Use LIST_LOOP_2.
10291
10292         * select-x.c (symbol_to_x_atom):
10293         [7].
10294
10295         * select.c (syms_of_select):
10296         [2].
10297
10298         * sound.c (Fplay_sound_file):
10299         [7].
10300
10301         * specifier.c:
10302         * specifier.c (decode_specifier_type):
10303         * specifier.c (Fvalid_specifier_locale_type_p):
10304         * specifier.c (check_valid_locale_or_locale_type):
10305         * specifier.c (decode_locale):
10306         * specifier.c (decode_locale_type):
10307         * specifier.c (decode_locale_list):
10308         * specifier.c (check_valid_domain):
10309         * specifier.c (decode_specifier_tag_set):
10310         * specifier.c (Fcanonicalize_tag_set):
10311         * specifier.c (Fdefine_specifier_tag):
10312         * specifier.c (Fspecifier_tag_predicate):
10313         * specifier.c (check_valid_inst_list):
10314         * specifier.c (check_valid_spec_list):
10315         * specifier.c (decode_how_to_add_specification):
10316         * specifier.c (check_modifiable_specifier):
10317         * specifier.c (specifier_add_spec):
10318         * specifier.c (boolean_validate):
10319         * specifier.c (display_table_validate):
10320         [9].
10321
10322         * specifier.c (syms_of_specifier):
10323         Move some symbols to general-slots.h.
10324         [2].
10325
10326         * symbols.c:
10327         * symbols.c (Fmapatoms):
10328         * symbols.c (Fapropos_internal):
10329         Add GCPROs.
10330
10331         * symbols.c (set_default_buffer_slot_variable):
10332         * symbols.c (set_default_console_slot_variable):
10333         [1].
10334
10335         * symbols.c (defsymbol_massage_name_1):
10336         * symbols.c (defkeyword_massage_name):
10337         * symbols.c (deferror_1):
10338         * symbols.c (deferror):
10339         * symbols.c (deferror_massage_name_and_message):
10340         * symeval.h:
10341         * symeval.h (DEFSYMBOL):
10342         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
10343
10344         * symbols.c (syms_of_symbols):
10345         [2].
10346
10347         * symsinit.h:
10348         * symsinit.h (init_win32): New.
10349         Also new is syms_of_dialog_mswindows.
10350
10351         * syswindows.h:
10352         Add new Unicode macros, missing Cygwin wide-char functions,
10353         convenience conversion macros for Qmswindows_tstr, macros for
10354         encapsulating required MSWin <-> Cygwin filename conversions,
10355         prototype for dynamically-extracted (not in NT 3.51) functions.
10356
10357         * toolbar-x.c:
10358         Mule-verify.
10359
10360         * tooltalk.c (Fadd_tooltalk_message_arg):
10361         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
10362         * tooltalk.c (Fadd_tooltalk_pattern_arg):
10363         [7].
10364
10365         * tooltalk.c (syms_of_tooltalk):
10366         [2].
10367
10368         * unexnt.c:
10369         * unexnt.c (unexec):
10370         Fix up headers, declaration of unexec() to be more standard.
10371
10372 2000-07-20  Martin Buchholz  <martin@xemacs.org>
10373
10374         * offix.h: Revert change to guard macros - they're used in offix.c!
10375
10376 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10377
10378         * lisp.h: Defsubred Fdelete.
10379
10380         * console-msw.h:  (msprinter_default_printer): Added.
10381
10382         * console-msw.c (msprinter_canonicalize_console_connection):
10383         (msprinter_canonicalize_device_connection): Added.
10384
10385         * device-msw.c (msprinter_default_printer):
10386         (Fmswingows_get_default_printer):
10387         (signal_enum_priner_error):
10388         (Fmswingows_printer_list): Added.
10389
10390 2000-07-19  Martin Buchholz <martin@xemacs.org>
10391
10392         * XEmacs 21.2.35 is released.
10393
10394 2000-07-19  Martin Buchholz  <martin@xemacs.org>
10395
10396         * select-x.c (x_handle_selection_request):
10397         Text selected in xemacs and pasted into xterm failed to appear.
10398         Spelling fixes and cosmetic changes.
10399
10400 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10401
10402         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
10403         XEmacs frame (fix for doubling chars in dialog boxes).
10404
10405 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10406
10407         * select.c (select_convert_in, select_convert_out):
10408         Don't call intern() every time.
10409
10410         * select.c (Qselect_convert_in, Qselect_convert_out): New.
10411         * select.c (vars_of_select): Initialise them.
10412
10413 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10414
10415         * select.c (selection-coercible-types): New.
10416
10417         * select.c (own-selection-internal):
10418         * select.c (get-selection-internal):
10419         MULE bug fix - these should default to COMPOUND_TEXT and not
10420         STRING for MULE. I think.
10421
10422         * select.c (select_convert_out): Use selection-coercible-types
10423         to find types that we can attempt to perform coercions on.
10424
10425 2000-07-18  Martin Buchholz  <martin@xemacs.org>
10426
10427         * mule-wnnfns.c:
10428         * mule-canna.c:
10429         Add coding: cookie to identify encoding.
10430
10431         * mule-canna.c (CANNA_mode_keys): make static.
10432         Use proper prototypes, even for functions of no arguments.
10433         Remove external prototype for Fding().
10434
10435         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
10436
10437         * select.c (syms_of_select): Add missing DEFSUBR.
10438
10439 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10440
10441         * select.c (get_selection_internal, own_selection_internal):
10442         Make the type default to STRING, rather than placing a nil type
10443         into Vselection_alist.
10444
10445 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10446
10447         * gpmevent.c (tty_selection_exists_p):
10448         * gpmevent.c (tty_own_selection):
10449         Updated parameter lists.
10450
10451 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
10452
10453         * select.h (selection-alist): Removed declaration.
10454
10455         * select.h (get_local_selection):
10456         * select.c (get_local_selection):
10457         Made static.
10458
10459         * select.h (convert_selection): Removed declaration.
10460         * select.c (convert_selection): Removed.
10461         This function belongs in Lisp.
10462
10463         * select.h (select_convert_in): Declare.
10464         * select.h (select_convert_out): Declare.
10465         * select.c (select_convert_in): New.
10466         * select.c (select_convert_out): New.
10467         New conversion functions for other files to call.
10468
10469         * select.h (select_notify_buffer_kill): Declare.
10470         * select.c (select_notify_buffer_kill): New.
10471         New functions that get called from kill-buffer.
10472
10473         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
10474         X-specific lisp code.
10475
10476         * select.h: Declare some of the lisp-visible functions for
10477         external use.
10478
10479         * select.c (clean_local_selection_data): Removed. This was
10480         a disgusting function, and previously should have been in
10481         select-x.c in any case. The functionality is now provided
10482         in select-convert-from-integer (select.el).
10483
10484         * select.c (available-selection-types): Fixed stupidity where
10485         INTEGER and ATOM got added twice. Also add STRING when we see an
10486         extent.
10487
10488         * select.c (get-selection-internal): Removed symbol stripping. No
10489         longer causes conversion when data comes from the internal cache.
10490
10491         * select.c (syms_of_select): Added new functions.
10492
10493         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
10494         error checking - previously this called abort!
10495
10496         * select-x.c (x_own_selection): Changed comment.
10497
10498         * select-x.c (x_handle_selection_request): Use select_convert_out.
10499         Don't mess with selection-alist; it's an internal variable of select.c.
10500
10501         * select-x.c (x_get_foreign_selection): Use select_convert_in.
10502
10503         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
10504         rather than messing with selection-alist.
10505
10506         * select-msw.c (mswindows_get_foreign_selection):
10507         Use TO_INTERNAL_FORMAT rather than hacking.
10508
10509 2000-07-14  Martin Buchholz  <martin@xemacs.org>
10510
10511         * process-unix.c (unix_open_multicast_group):
10512         (unix_open_multicast_group): Remove useless casts.
10513
10514 2000-07-13  Martin Buchholz  <martin@xemacs.org>
10515
10516         * sound.c (Fplay_sound): Fix `unused variable' warning.
10517
10518         * emacs.c (main): Use correct type for _environ on SCO5.
10519
10520 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
10521
10522         * console.h (own_selection_method):
10523         * console.h (selection_exists_p_method):
10524         * console.h (available_selection_types_method): New.
10525         * console.h (register_selection_data_type_method): New.
10526         * console.h (selection_data_type_name): New.
10527
10528         * console-msw.h (mswindows_destroy_selection): Declare it.  New
10529         function & alist to track GlobalAlloc()'d handles that need
10530         releasing when the clipboard data gets replaced or emptied.
10531
10532         * event-msw.c (mswindows_wnd_proc): Call it.
10533
10534         * lisp.h, general.c (Qappend): New symbol representing a
10535         `how-to-add' mode.
10536
10537         * select.c (own-selection-internal):
10538         * select.c (selection-exists-p):
10539         * select.c (available-selection-types): New.
10540         * select.c (register-selection-data-type): New.
10541         * select.c (selection-data-type-name): New.  New functions to deal
10542         with device-specific selection data formats.
10543         * select.c (selection-converter-out-alist): Renamed.
10544         * select.c (selection-converter-in-alist): New.
10545         * select.c (selection-appender-alist): New.  Added new alists.
10546         * select.c (syms_of_select, vars_of_select): Added new symbols &
10547         variables.
10548         * select.c (get_local_selection): Split.
10549         * select.c: Removed spurious type checking - selections may now be
10550         of any type, not just strings.
10551         * select.c (own-selection-internal):
10552
10553         * select.h, select.c (convert_selection): New. Created
10554         convert_selection() function based on get_local_selection().
10555         * select.h, select.c (QCF_*): New symbols representing mswindows
10556         clipboard formats.
10557         * select.h, select.c (Qreplace_all, Qreplace_existing): New
10558         symbols representing `how-to-add' modes.
10559
10560         * select-msw.c (x_sym_p): New.
10561         * select-msw.c (symbol_to_ms_cf): New.
10562         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
10563         symbols & clipboard formats. Can also handle string names.
10564         * select-msw.c (mswindows_own_selection):
10565         * select-msw.c (mswindows_selection_exists_p):
10566         Added `data-type' parameter. Use it.
10567         * select-msw.c (mswindows_available_selection_types): New.
10568         * select-msw.c (mswindows_register_selection_data_type): New.
10569         * select-msw.c (mswindows_selection_data_type_name): New.
10570         * select-msw.c (mswindows_own_selection):
10571         * select-msw.c (mswindows_get_foreign_selection):
10572         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
10573         * select-msw.c (console_create_select_mswindows): Added new methods.
10574         * select-msw.c (mswindows_destroy_selection): New.
10575         * select-msw.c (Vhandle_alist): New list.
10576         * select-msw.c (mswindows_own_selection):
10577
10578         * select-x.c (x_own_selection):
10579         * select-x.c (x_selection_exists_p):
10580         * select-x.c: Added some comments about maybe using new
10581         functionality.
10582         * select-x.c (x_own_selection):
10583
10584         * specifier.c: Remove definition of Qappend (now in general.c)
10585         * specifier.c (syms_of_specifier): Remove Qappend.
10586
10587 2000-07-12  Martin Buchholz  <martin@xemacs.org>
10588
10589         * config.h.in: Add socklen_t.
10590
10591         * s/decosf4-0.h: No special compiler flags needed or desired.
10592         In particular, undefine _BSD for DEC OSF 4.0.
10593
10594 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10595
10596         * redisplay-msw.c (msprinter_frame_output_end): Added.
10597         (console_type_create_redisplay_mswindows): Referred the above.
10598
10599         * frame.c (setup_frame_without_minibuffer): Do not create a
10600         default minibuffer frame on a printer device.
10601
10602         * frame-msw.c (apply_dc_geometry): Added.
10603         (msprinter_start_page):
10604         (msprinter_init_frame_3):
10605         (msprinter_eject_page): Use it.
10606
10607         * console-msw.h (struct msprinter_frame): Added pix_left and top,
10608         and removed residual duplex and orientation properties.
10609
10610 2000-07-11  Martin Buchholz  <martin@xemacs.org>
10611
10612         * eval.c (function_argcount): Work around a DEC CC compiler bug.
10613
10614         * unexalpha.c: Remove system prototypes from C sources!
10615
10616 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
10617
10618         * eval.c: Remove references to M-x edit-options in DEFUNs for
10619         `defvar' and `defconst'.
10620
10621 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10622
10623         * config.h.in: Remove SMART_INCLUDE hackery.
10624
10625         PostgreSQL hacking:
10626         * config.h.in: Don't use SMART_INCLUDE.
10627
10628         * postgresql.h: Include libpq-fe.h here.  Fix typo.
10629         * inline.c: Simply #include "postgresql.h"
10630         * postgresql.c:
10631         - Don't use SMART_INCLUDE
10632         - Use simply "const".
10633         - Use standard doc string conventions.
10634         - Use correct type for result of PQstatus.
10635
10636 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10637
10638         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
10639
10640         C++ compilation changes.
10641         * config.h.in (EXTERN_C): Define.
10642         * config.h.in (not): This is also a C++ keyword.
10643         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
10644         * cm.c: Use EXTERN_C.
10645         * redisplay-tty.c: Use EXTERN_C.
10646         * sysdep.c: Use EXTERN_C.  Remove Gould support.
10647
10648 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10649
10650         * general.c: Remove duplicate definition for Qfunction.
10651
10652 2000-07-08  Ben Wing  <ben@xemacs.org>
10653
10654         * device-msw.c (msprinter_init_device):
10655         * device-msw.c (sync_printer_with_devmode):
10656         * device-msw.c (handle_devmode_changes):
10657         * device-msw.c (print_dialog_worker):
10658         * device-msw.c (Fmsprinter_apply_settings):
10659         * device-msw.c (hash_devmode):
10660         * device-msw.c (Fmsprinter_settings_despecialize):
10661         use Qmswindows_tstr, not Qctext.
10662
10663         * vm-limit.c (check_memory_limits):
10664         avoid infinite loop printing warning messages.
10665
10666 2000-07-05  Craig Lanning  <lanning@scra.org>
10667
10668         * Makefile.in.in: Add support for including the Windows resources
10669         when building with the cygwin and mingw targets.
10670
10671         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
10672         not set or not correct.
10673         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
10674         (init_initial_directory): Don't try to use $PWD on the
10675         WIN32_NATIVE target.
10676
10677         * s\cygwin32.h:
10678         [[Add -mwindows to eliminate console window.]] not required --ben
10679         (HAVE_NATIVE_SOUND): removed; now handled by configure.
10680         (MAIL_USE_POP): removed; now handled by configure.
10681
10682         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
10683         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
10684         (HAVE_NATIVE_SOUND): removed; now handled by configure.
10685         (MAIL_USE_POP): removed; now handled by configure.
10686         (ENCAPSULATE_STAT): from Dan Holmsand, added.
10687         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
10688         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
10689         constant string.
10690         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
10691         up from <winsock.h> via systime.h.
10692         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
10693         (getpagesize): from Dan Holmsand, added.
10694         Added #endif which was left dangling by Ben's mega patch; added
10695         comment to help prevent this in the future.
10696
10697         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
10698
10699 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10700
10701         * console-msw.h (struct mswindows_device): Removed unnecessary
10702         cached device geometry values.
10703         Added update_tick and an accessor macro.
10704         (Lisp_Devmode): Added lrecord declaration.
10705         (struct msprinter_device): Contain devmode as a Lisp object.
10706         Added mswindows_get_selected_frame_hwnd();
10707
10708         * console.h (struct console_methods): Indentation nitpicking.
10709
10710         * device-msw.c (mswindows_init_device): Do not initialize geometry
10711         cache. Initialize update tick.
10712         (mswindows_device_system_metrics): Ask the device for its geometry.
10713         (global_free_2_maybe):
10714         (devmode_to_hglobal):
10715         (handle_printer_changes):
10716         (ensure_not_printing):
10717         (print_dialog_worker):
10718         (Fmsprinter_print_setup_dialog):
10719         (Fmsprinter_print_dialog):
10720         (plist_get_margin):
10721         (plist_set_margin):
10722         (Fmsprinter_page_setup_dialog): Added functions.
10723         (sync_printer_with_devmode):
10724         (handle_devmode_changes):
10725         (Fmsprinter_get_settings):
10726         (Fmsprinter_select_settings):
10727         (Fmsprinter_apply_settings):
10728         (allocate_devmode):
10729         (Fmsprinter_settings_copy):
10730         (Fmsprinter_settings_despecialize):
10731         (print_devmode):
10732         (finalize_devmode):
10733         (equal_devmode):
10734         (hash_devmode): Added functions
10735         (syms_of_device_mswindows): Init devmode lrecord class.
10736
10737         * device.h: Added an exfun for find-device.
10738
10739         * event-msw.c (mswindows_wnd_proc): Do not update the cached
10740         geometry; although, recreate the device compatible DC.
10741
10742         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
10743         (msprinter_init_frame_3):
10744         (msprinter_frame_property):
10745         (msprinter_internal_frame_property_p):
10746         (msprinter_frame_properties):
10747         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
10748         print job properties (will move to device settings).
10749
10750         * lisp.h: Added symbols.
10751
10752         * general.c (syms_of_general): Declared them.
10753
10754         * hash.c (string_hash): Added.
10755
10756         * lrecord.h (lrecord_type): Added devmode lrecord type.
10757
10758 2000-07-02  Mike Sperber <mike@xemacs.org>
10759
10760         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
10761         FreeBSD 4.0.
10762
10763 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
10764
10765         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
10766         integer.
10767
10768 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
10769
10770         * data.c (Fstring_to_number): Don't recognize floating point if
10771         base is not 10.
10772
10773 2000-06-22  Martin Buchholz  <martin@xemacs.org>
10774
10775         * glyphs-widget.c (tab_control_query_geometry):
10776         (widget_query_geometry):
10777         (button_query_geometry):
10778         * glyphs.c (text_query_geometry):
10779         Enforce type correctness.
10780
10781 2000-06-18  Martin Buchholz  <martin@xemacs.org>
10782
10783         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
10784         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
10785
10786 2000-06-17  Martin Buchholz  <martin@xemacs.org>
10787
10788         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
10789         conflicts with gcc's fixincluded version of FOO.h.
10790
10791         * glyphs.h (image_instance_geometry): Remove trailing `,'
10792
10793 2000-06-08  Mike Alexander  <mta@arbortext.com>
10794
10795         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
10796         (shove_thread): Don't write the same output twice
10797         (make_ntpipe_output_stream): Increase priority of shove thread
10798         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
10799         chance to run
10800         (ntpipe_shove_closer): Don't delete the pipe until we're done with
10801         it.
10802
10803 2000-06-12  Ben Wing  <ben@xemacs.org>
10804
10805         * s\mingw32.h (sigset):
10806         * s\windowsnt.h (sigset):
10807         rename msw_ to mswindows_ for consistency with general convention.
10808
10809 2000-06-12  Ben Wing  <ben@xemacs.org>
10810
10811         * console-msw.c:
10812         * console-msw.c (mswindows_get_console_hwnd):
10813         * console-msw.c (mswindows_ensure_console_allocated):
10814         * console-msw.c (mswindows_hide_console):
10815         * console-msw.c (mswindows_show_console):
10816         * console-msw.c (mswindows_ensure_console_buffered):
10817         * console-msw.c (mswindows_output_console_string):
10818         * console-msw.c (mswindows_windows9x_p):
10819         * console-msw.h:
10820         * device-msw.c (mswindows_get_workspace_coords):
10821         * device-msw.c (mswindows_device_system_metrics):
10822         * dialog-msw.c (mswindows_popup_dialog_box):
10823         * event-msw.c (mswindows_wnd_proc):
10824         * frame-msw.c (mswindows_size_frame_internal):
10825         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10826         * menubar-msw.c (displayable_menu_item):
10827         * menubar-msw.c (mswindows_char_is_accelerator):
10828         * nt.c:
10829         * nt.c (mswindows_sigset):
10830         * nt.c (mswindows_sigrelse):
10831         * nt.c (mswindows_sigpause):
10832         * nt.c (mswindows_raise):
10833         * nt.c (timer_proc):
10834         * ntproc.c:
10835         * ntproc.c (find_child_console):
10836         * ntproc.c (sys_kill):
10837         * print.c:
10838         * print.c (std_handle_out_external):
10839         * process-nt.c (find_child_console):
10840         * process-nt.c (send_signal_the_95_way):
10841         * process-nt.c (ensure_console_window_exists):
10842         * process-nt.c (nt_create_process):
10843         * syssignal.h:
10844         rename msw_ to mswindows_ for consistency with general convention.
10845
10846         * emacs.c:
10847         * dumper.c:
10848         include nt.h, not syswindows.h.
10849
10850         * nt.c (mswindows_fstat):
10851         * nt.c (mswindows_stat):
10852         prefix mswindows_ instead of attempting to directly override the
10853         library functions.  fix declarations.
10854
10855         * nt.h:
10856         include syswindows.h.  move some sysdep.h stuff here.
10857
10858         * ntheap.h:
10859         include syswindows.h, not <windows.h>.
10860
10861         * ntplay.c:
10862         clean up headers.
10863
10864         * sysdep.c:
10865         clean up headers.
10866
10867         * sysdep.c (sys_fstat):
10868         * sysdep.c (sys_stat):
10869         call mswindows versions when appropriate.
10870
10871         * sysdep.h:
10872         move mswin decls to nt.h.
10873
10874         * syswindows.h:
10875         add long comment describing appropriate use of the various windows
10876         headers.
10877
10878 2000-06-11  Ben Wing  <ben@xemacs.org>
10879
10880         * device-x.c: Correct doc string for sixth arg of x-get-resource.
10881
10882 2000-06-10  Ben Wing  <ben@xemacs.org>
10883
10884         * Makefile.in.in (release):
10885         Correction to make sure xemacs.exe always dumped when correct.
10886
10887         * alloca.c:
10888         * balloon_help.c:
10889         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
10890
10891         * buffer.c (set_buffer_internal):
10892         [[[[2]]]]: Remove HAVE_FEP code.
10893
10894         * buffer.c (init_initial_directory):
10895         [3].
10896
10897         * bytecode.c:
10898         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
10899         individual files.
10900
10901         * callproc.c:
10902         * callproc.c (call_process_cleanup):
10903         * callproc.c (Fold_call_process_internal):
10904         * callproc.c (child_setup):
10905         * callproc.c (getenv_internal):
10906         * callproc.c (init_callproc):
10907         * callproc.c (vars_of_callproc):
10908         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
10909         __CYGWIN32__ -> CYGWIN.
10910         DOS_NT -> WIN32_NATIVE.
10911         Remove MSDOS support/references, converting to WIN32_NATIVE
10912           where correct.
10913         __MINGW32__ -> MINGW.
10914         Fix windows.h includes.
10915         Remove bogus HAVE_NTGUI.
10916
10917         * config.h.in:
10918         [2].
10919
10920         * console-msw.c:
10921         mswindows_message_outputted added for use in allowing startup
10922         errors on the console to be seen.
10923
10924         * console-msw.c (msw_ensure_console_allocated):
10925         * console-msw.c (msw_output_console_string):
10926         * console-msw.c (DHEADER):
10927         * console-msw.c (DOPAQUE_DATA):
10928         * console-msw.c (DEVENT):
10929         * console-msw.c (DCONS):
10930         * console-msw.c (DCONSCDR):
10931         * console-msw.c (DSTRING):
10932         * console-msw.c (DVECTOR):
10933         * console-msw.c (DSYMBOL):
10934         * console-msw.c (DSYMNAME):
10935         Fix warnings.
10936
10937         * console-stream.c (stream_init_console):
10938         Fix text/binary problems.
10939
10940         * device-msw.c:
10941         * device-msw.c (mswindows_finish_init_device):
10942         * device-msw.c (mswindows_delete_device):
10943         [1].
10944
10945         * device.c (handle_asynch_device_change):
10946         [3].
10947
10948         * dgif_lib.c:
10949         * dgif_lib.c (DGifOpenFileName):
10950         * dgif_lib.c (DGifOpenFileHandle):
10951         * dgif_lib.c (DGifGetLine):
10952         * dgif_lib.c (DGifGetPixel):
10953         Added config.h/lisp.h, fix up includes.
10954         [1].
10955
10956         * dired-msw.c:
10957         [4].
10958
10959         * dired.c:
10960         * dired.c (file_name_completion):
10961         * dired.c (Ffile_attributes):
10962         * dired.c (syms_of_dired):
10963         [1].
10964
10965         * dumper.c:
10966         * dumper.c (pdump_file_unmap):
10967         * dumper.c (pdump_load):
10968         [1].
10969
10970         * editfns.c:
10971         * editfns.c (Ftemp_directory):
10972         * editfns.c (user_login_name):
10973         * editfns.c (Fuser_real_login_name):
10974         * editfns.c (get_home_directory):
10975         [1].
10976
10977         * elhash.c (finish_marking_weak_hash_tables):
10978         [[[[5]]]]: Fix GCC warnings.
10979
10980         * emacs.c:
10981         * emacs.c (mswindows_handle_hardware_exceptions):
10982         * emacs.c (make_arg_list_1):
10983         * emacs.c (main_1):
10984         * emacs.c (Fkill_emacs):
10985         * emacs.c (Fdump_emacs):
10986         [1].
10987         Fix problems with nested crashes, add long comment.
10988
10989         * event-Xt.c (init_event_Xt_late):
10990         [1].
10991
10992         * event-msw.c:
10993         * event-msw.c (mswindows_dde_callback):
10994         * event-msw.c (mswindows_handle_sticky_modifiers):
10995         * event-msw.c (mswindows_wnd_proc):
10996         [1].
10997         [5].
10998
10999         * events.c (character_to_event):
11000         [1].
11001
11002         * fileio.c:
11003         * fileio.c (Ffile_name_directory):
11004         * fileio.c (Ffile_name_nondirectory):
11005         * fileio.c (directory_file_name):
11006         * fileio.c (Fexpand_file_name):
11007         * fileio.c (Fsubstitute_in_file_name):
11008         * fileio.c (Ffile_name_absolute_p):
11009         * fileio.c (check_executable):
11010         * fileio.c (Ffile_readable_p):
11011         * fileio.c (Ffile_accessible_directory_p):
11012         * fileio.c (Ffile_modes):
11013         * fileio.c (Funix_sync):
11014         * fileio.c (vars_of_fileio):
11015         [1]. [4].
11016
11017         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
11018
11019         Expand getdefdir defn.
11020         Fix bogus rename() comment.
11021
11022         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
11023         to use standard XEmacs include files, e.g. sysfile.h, rather
11024         than system-specific includes.
11025
11026         * fns.c:
11027         * fns.c (Fsubseq):
11028         [5]. [6].
11029
11030         * frame.c (vars_of_frame):
11031         [1].
11032
11033         * getloadavg.c:
11034         * getloadavg.c (getloadavg):
11035         [1]. [6].
11036         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
11037         (We don't use it elsewhere in the code; just add a comment.)
11038
11039         * gif_io.c:
11040         [6].
11041         Add config.h.
11042
11043         * glyphs-msw.c:
11044         * glyphs-msw.c (mswindows_resource_instantiate):
11045         [1].
11046
11047         * glyphs-x.c (x_native_layout_instantiate):
11048         [5].
11049
11050         * gui-msw.c (Fmswindows_shell_execute):
11051         [1].
11052
11053         * insdel.c:
11054         [4].
11055
11056         * lisp.h:
11057         [4]. [5].
11058
11059         * lread.c (locate_file_in_directory_mapper):
11060         [1].
11061
11062         * lstream.c:
11063         [4].
11064
11065         * mem-limits.h:
11066         * mem-limits.h (get_lim_data):
11067         [1].
11068
11069         * menubar-msw.c:
11070         [4].
11071
11072         * ndir.h:
11073         [1].
11074
11075         * nt.c:
11076         * nt.c (getwd):
11077         * nt.c (closedir):
11078         * nt.c (rva_to_section):
11079         * nt.c (mswindows_executable_type):
11080         [1]. [6].
11081         Fix closedir() defn.
11082
11083         * nt.h:
11084         [[[[8]]]]: *_OK defs moved to sysfile.h.
11085
11086         * ntproc.c:
11087         [6]. [7].
11088
11089         * objects-x.c:
11090         [4].
11091
11092         * print.c:
11093         * print.c (std_handle_out_external):
11094         [1]. [4].
11095
11096         * process-nt.c:
11097         * process-nt.c (nt_create_process):
11098         [6].
11099         try to fix process quoting somewhat.
11100
11101         * process-unix.c (unix_create_process):
11102         [1].
11103
11104         * process.c:
11105         * process.c (vars_of_process):
11106         Add Vnull_device.
11107
11108         * process.h:
11109         [1].
11110
11111         * realpath.c:
11112         * realpath.c (xrealpath):
11113         [1].
11114
11115         * redisplay-tty.c (init_tty_for_redisplay):
11116         [3].
11117
11118         * redisplay.c:
11119         [4]. [6].
11120
11121         * scrollbar-msw.c:
11122         [4].
11123
11124         * sheap.c:
11125         * sheap.c (more_static_core):
11126         * sheap.c (report_sheap_usage):
11127         [5]. [6].
11128
11129         * signal.c:
11130         * signal.c (alarm_signal):
11131         [1]. [6].
11132
11133         * sound.c:
11134         [6].
11135
11136         * strftime.c:
11137         * strftime.c (zone_name):
11138         [1]. [5].
11139
11140         * symsinit.h (init_sunpro):
11141         [1].
11142
11143         * syscommctrl.h:
11144         commctrl.h not in Cygwin b20.1.
11145
11146         * sysdep.c:
11147         * sysdep.c (endif):
11148         * sysdep.c (sys_subshell):
11149         * sysdep.c (init_baud_rate):
11150         * sysdep.c (emacs_get_tty):
11151         * sysdep.c (emacs_set_tty):
11152         * sysdep.c (tty_init_sys_modes_on_device):
11153         * sysdep.c (init_system_name):
11154         * sysdep.c (sys_open):
11155         * sysdep.c (interruptible_open):
11156         * sysdep.c (sys_fopen):
11157         * sysdep.c (sys_mkdir):
11158         * sysdep.c (sys_rename):
11159         * sysdep.c (get_process_times_1):
11160         [1]. [6].
11161
11162         * sysdep.h:
11163         [1].
11164
11165         * sysdir.h:
11166         * sysdir.h (DIRENTRY_NONEMPTY):
11167         [1]. [6].
11168
11169         * sysdll.c (dll_init):
11170         * sysdll.h:
11171         [1].
11172
11173         * sysfile.h:
11174         [1]. [6]. [8].
11175         added text/binary defs.
11176
11177         * sysfloat.h:
11178         [1].
11179
11180         * sysproc.h:
11181         * sysproc.h (EDESTADDRREQ):
11182         * sysproc.h (poll_fds_for_input):
11183         [1]. [6].
11184
11185         * syspwd.h:
11186         [6].
11187
11188         * syssignal.h:
11189         [1].
11190
11191         * systime.h:
11192         [1]. [6].
11193
11194         * systty.h:
11195         [1].
11196
11197         * syswindows.h:
11198         [1].
11199         Always define WIN32_LEAN_AND_MEAN.
11200
11201         * unexcw.c (unexec):
11202         [5].
11203
11204         * unexec.c:
11205         * unexec.c (copy_text_and_data):
11206         * unexec.c (adjust_lnnoptrs):
11207         [1].
11208
11209         * unexnt.c:
11210         * unexnt.c (_start):
11211         [1].
11212
11213 2000-06-07  Ben Wing  <ben@xemacs.org>
11214
11215         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
11216         was used only as a model.  We've long since extracted any useful
11217         logic or code out of this. (I just did an exhaustive search.)
11218
11219         * s\msdos.h: Removed.
11220
11221         * s\windows95.h: Removed.
11222
11223 2000-06-10  Ben Wing  <ben@xemacs.org>
11224
11225         * s\cygwin32.h:
11226         [1]. [5].
11227         Don't use extern with fun defs.
11228
11229         * s\mingw32.h:
11230         [1]. [7].
11231         Remove nt\inc include.
11232         Remove getdisk, getdefdir. (The former is unused, the latter
11233         expanded in fileio.h.)
11234
11235         * s\windowsnt.h:
11236         * s\windowsnt.h (WIN32_NATIVE):
11237         * s\windowsnt.h (HAVE_STRCASECMP):
11238         [1]. [7].
11239         Add long comment about preprocessor changes.
11240         Remove getdisk, getdefdir. (The former is unused, the latter
11241         expanded in fileio.h.)
11242
11243 2000-06-10  Ben Wing  <ben@xemacs.org>
11244
11245         * m\arm.h:
11246         * m\delta.h:
11247         * m\intel386.h:
11248         * m\sequent.h:
11249         * m\template.h:
11250         * m\windowsnt.h:
11251         [1].
11252         Remove bogus/unused NO_SOCK_SIGIO.
11253
11254 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
11255
11256         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
11257         not an Emchar.
11258
11259 2000-06-04  Mike Sperber <mike@xemacs.org>
11260
11261         * casetab.c (set_case_table): For `set-standard-case-table',
11262         actually deposit the new case tables where the rest of XEmacs can
11263         see them.
11264
11265 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
11266
11267         * data.c (Faset): Don't cast XCHAR() to unsigned char.
11268
11269 2000-06-05  Ben Wing  <ben@xemacs.org>
11270
11271         * callproc.c (child_setup): Don't do close_load_descs() under
11272         MS Windows.  Put in a comment explaining why.
11273
11274 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
11275
11276         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
11277         Toolkit shell" which breaks `kill-compilation' on Windows NT
11278         native, retaining STDERR handling improvements.
11279
11280 2000-06-01  Andreas Jaeger  <aj@suse.de>
11281
11282         * s/s390.h: Support for S390, based on a patch by Martin
11283         Schwidefsky <schwidefsky@de.ibm.com>.
11284
11285 2000-05-30  Andy Piper  <andy@xemacs.org>
11286
11287         * window.c (allocate_window):
11288         (make_dummy_parent):
11289         (Fset_window_configuration): use new hashtable type.
11290
11291         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
11292         (struct image_instantiator_methods):
11293         (struct Lisp_Image_Instance): make instance geometry signed.
11294
11295         * glyphs.c (instantiate_image_instantiator):
11296         (image_instance_query_geometry):
11297         (image_instance_layout):
11298         (image_instance_layout):
11299         (query_string_geometry):
11300         (text_query_geometry):
11301         (image_instantiate):
11302         (image_instantiate):
11303         (cache_subwindow_instance_in_frame_maybe):
11304         (subwindow_query_geometry): make instance geometry signed.
11305
11306         * glyphs-widget.c (widget_query_geometry):
11307         (widget_layout):
11308         (button_query_geometry):
11309         (tree_view_query_geometry):
11310         (tab_control_query_geometry):
11311         (layout_query_geometry):
11312         (layout_layout):
11313         (native_layout_layout): make instance geometry signed.
11314
11315 2000-05-29  Olivier Galibert  <galibert@pobox.com>
11316
11317         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
11318         constant.
11319
11320         * general.c (syms_of_general): Add Qfull_assoc symbol.
11321
11322         * data.c (finish_marking_weak_lists): Mark full-assoc lists
11323         correctly.
11324         (decode_weak_list_type): Decode full-assoc type.
11325         (encode_weak_list_type): Encode full-assoc type.
11326         (Fmake_weak_list): Update doc string.
11327
11328 2000-05-30  Andy Piper  <andy@xemacs.org>
11329
11330         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
11331
11332         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
11333         (decode_hash_table_weakness): ditto.
11334         (Fhash_table_weakness): ditto.
11335         (Fhash_table_type): ditto.
11336         (finish_marking_weak_hash_tables): ditto.
11337         (hash_table_weakness_validate): ditto.
11338         (syms_of_elhash): ditto.
11339
11340 2000-05-28  Martin Buchholz <martin@xemacs.org>
11341
11342         * XEmacs 21.2.34 is released.
11343
11344 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11345
11346         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
11347         start cache.
11348         (updating_line_start_cache): Gone.
11349         (regenerate_window): Replace resetting of VERTICAL_CLIP by
11350         generic code to force a minimum of 1 line laid out in the
11351         CMOTION_DISP case.
11352
11353 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11354
11355         * glyphs.c (instantiate_image_instantiator): Check for initialized
11356         height & width no longer special cases IMAGE_NOTHING.
11357         (nothing_instantiate): Set height and width of instance.
11358
11359 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11360
11361         * unexelf.c (unexec): Search for ".data" section.
11362         Initialize new_data2_offset from old_data_index.
11363         Remove redundant check for ElfW.
11364
11365 2000-05-23  Andy Piper  <andy@xemacs.org>
11366
11367         * glyphs.c (get_image_instantiator_governing_domain): allow more
11368         specific domains as the governing domain rather than expecting an
11369         exact match. This fixes problems with layouts.
11370
11371 2000-05-22  Andy Piper  <andy@xemacs.org>
11372
11373         * redisplay-output.c (compare_runes): check for non-images
11374
11375         * glyphs.c (set_glyph_dirty_p): ditto.
11376         (update_glyph_cachel_data): ditto.
11377
11378         * glyphs-widget.c (layout_post_instantiate): ditto.
11379         (layout_post_instantiate): ditto.
11380
11381         * event-msw.c (mswindows_wnd_proc): warning removal.
11382
11383 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
11384
11385         * s\mingw32.h: Added #undef for CLASH_DETECTION.
11386
11387         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
11388
11389         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
11390
11391         * nt.c (rva_to_section): mingw32 needs rva_to_section.
11392         (mswindows_executable_type): mingw32 now has enough headers for
11393         this to work.
11394
11395 2000-05-20  Andy Piper  <andy@xemacs.org>
11396
11397         * console-msw.c (mswindows_output_last_error): ; -> ,
11398
11399 2000-05-12  Andy Piper  <andy@xemacs.org>
11400
11401         * console-msw.c (FROB): compare ints with ints.
11402
11403 2000-05-11  Andy Piper  <andy@xemacs.org>
11404
11405         * glyphs-x.c (x_finalize_image_instance): make minimal build
11406         happy.
11407
11408 2000-05-20  Ben Wing  <ben@xemacs.org>
11409
11410         * event-Xt.c:
11411         * event-Xt.c (vars_of_event_Xt):
11412         move modifier-keys-are-sticky to event-stream.c.
11413
11414         * event-msw.c:
11415         * event-msw.c (mswindows_enqueue_mouse_button_event):
11416         * event-msw.c (key_needs_default_processing_p):
11417         * event-msw.c (XEMSW_LCONTROL):
11418         * event-msw.c (mswindows_handle_sticky_modifiers):
11419         * event-msw.c (FROB):
11420         * event-msw.c (clear_sticky_modifiers):
11421         * event-msw.c (output_modifier_keyboard_state):
11422         * event-msw.c (output_alt_keyboard_state):
11423         * event-msw.c (mswindows_wnd_proc):
11424         * event-msw.c (mswindows_modifier_state):
11425         * event-msw.c (emacs_mswindows_handle_magic_event):
11426         implement sticky modifiers.
11427
11428         * event-stream.c:
11429         * event-stream.c (vars_of_event_stream):
11430         move modifier-keys-are-sticky here.
11431
11432         * lisp.h:
11433         add CHECK_FUNCTION.
11434
11435         * rangetab.c:
11436         implement map-range-table.
11437
11438
11439 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
11440
11441         * redisplay-tty.c (reset_tty_modes):
11442         (tty_redisplay_shutdown): Adjust argument type to
11443         tty_frame_output_end.
11444
11445 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
11446
11447         * eval.c (Fbacktrace): Don't output a line with only right
11448         parenthesis.
11449
11450 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
11451
11452         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
11453         (Fpq_reset_poll): Ditto.
11454
11455 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
11456
11457         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
11458
11459 2000-05-16  Ben Wing  <ben@xemacs.org>
11460
11461         * buffer.c:
11462         * buffer.c (dfc_convert_to/from_internal_format):
11463         * buffer.c (reinit_vars_of_buffer):
11464         Fix conversion functions to allow reentrancy.
11465
11466         * console-msw.c:
11467         * console-msw.c (mswindows_output_last_error):
11468         New fun, generally useful -- output a human-readable
11469         version of GetLastError() on the console.
11470
11471         * console-msw.h:
11472         * console-msw.h (struct mswindows_frame):
11473         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
11474
11475         * console-stream.c (stream_output_begin):
11476         * console-stream.c (stream_output_end):
11477         * console-stream.c (stream_output_vertical_divider):
11478         * console-stream.c (stream_clear_region):
11479         * console-stream.c (stream_flash):
11480         * console-stream.c (console_type_create_stream):
11481         Delete blank stream methods, not needed.
11482
11483         * console.h (struct console_methods):
11484         Split begin/end methods into window and frame.
11485
11486         * event-msw.c:
11487         * event-msw.c (mswindows_handle_paint):
11488         * event-msw.c (output_alt_keyboard_state):
11489         * event-msw.c (mswindows_wnd_proc):
11490         * event-msw.c (vars_of_event_mswindows):
11491         Comment about problems with ignored-expose.
11492         Define mswindows-debug-events; not really implemented.
11493
11494         * frame-msw.c (mswindows_init_frame_1):
11495         random cleanups.
11496
11497         * glyphs-msw.c:
11498         * glyphs-msw.c (begin_defer_window_pos):
11499         * glyphs-msw.c (mswindows_unmap_subwindow):
11500         * glyphs-msw.c (mswindows_map_subwindow):
11501         * glyphs-msw.c (mswindows_resize_subwindow):
11502         Use DeferWindowPos to reduce flashing when mapping/unmapping.
11503
11504         * glyphs.c (make_image_instance_1):
11505         Fix crash.
11506
11507         * gutter.c (Fredisplay_gutter_area):
11508         Use new begin/end methods.
11509
11510         * lisp.h (Dynarr_new2):
11511         New creation fun.
11512
11513         * redisplay-msw.c:
11514         * redisplay-msw.c (mswindows_frame_output_begin):
11515         * redisplay-msw.c (mswindows_frame_output_end):
11516         * redisplay-msw.c (console_type_create_redisplay_mswindows):
11517         New begin/end methods -- handle DeferWindowPos.
11518
11519         * redisplay-output.c (redisplay_move_cursor):
11520         * redisplay-output.c (redraw_cursor_in_window):
11521         * redisplay-output.c (redisplay_update_line):
11522         * redisplay-output.c (redisplay_output_window):
11523         New begin/end methods.
11524
11525         * redisplay-tty.c:
11526         * redisplay-tty.c (tty_frame_output_begin):
11527         * redisplay-tty.c (tty_frame_output_end):
11528         * redisplay-tty.c (console_type_create_redisplay_tty):
11529         New begin/end methods.
11530
11531         * redisplay-x.c:
11532         * redisplay-x.c (x_window_output_begin):
11533         * redisplay-x.c (x_window_output_end):
11534         * redisplay-x.c (console_type_create_redisplay_x):
11535         New begin/end methods.
11536
11537         * redisplay.c (redisplay_frame):
11538         * redisplay.c (Fredisplay_echo_area):
11539         New begin/end methods.
11540         use MAYBE_DEVMETH for clear_frame; it may not exist.
11541
11542         * window.h (WINDOW_XFRAME):
11543         WINDOW_XFOO macros -- get locale and decode struct pointer.
11544
11545
11546 2000-05-12  Ben Wing  <ben@xemacs.org>
11547
11548         * emacs.c:
11549         * emacs.c (ensure_no_quitting_from_now_on):
11550         * emacs.c (fatal_error_signal):
11551         * emacs.c (mswindows_handle_hardware_exceptions):
11552         * emacs.c (main):
11553         * emacs.c (Fkill_emacs):
11554         * emacs.c (shut_down_emacs):
11555         * emacs.c (assert_failed):
11556         various improvements in fatal error handling.
11557
11558         * eval.c:
11559         move preparing_for_armageddon to emacs.c.
11560
11561         * lisp.h:
11562         declare fatal_error_in_progress.
11563
11564         * print.c:
11565         * print.c (std_handle_out_external):
11566         * print.c (std_handle_out_va):
11567         * print.c (stderr_out):
11568         * print.c (stdout_out):
11569         use console under mswin when no standard output.
11570         don't do code conversion during fatal error.
11571
11572         * scrollbar.c (Fscrollbar_page_up):
11573         * scrollbar.c (Fscrollbar_page_down):
11574         fix missing else.  reindent.
11575
11576 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
11577
11578         Emergency fix.
11579
11580         * glyphs.h (GLYPH_CACHEL_DESCENT):
11581         (GLYPH_CACHEL_DESCENT):
11582         (GLYPH_CACHEL_DESCENT):
11583         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
11584         used in case these are inline functions.
11585         Use more absurd values to error check.
11586
11587         include window.h for error check functions.
11588
11589 2000-05-11  Ben Wing  <ben@xemacs.org>
11590
11591         * cmdloop.c (Freally_early_error_handler):
11592         Display message box under windows; otherwise, message will disappear
11593         before it can be viewed.
11594
11595         * console-msw.c:
11596         * console-msw.c (Fmswindows_message_box):
11597         * console-msw.c (FROB):
11598         * console-msw.c (syms_of_console_mswindows):
11599         Define new fun `mswindows-message-box'.
11600         #### I will merge this into `popup-dialog-box'; just give me
11601         a bit of time.
11602
11603         * general.c:
11604         * general.c (syms_of_general):
11605         Some new symbols used in `mswindows-message-box'.
11606
11607         * glyphs.c:
11608         * glyphs.c (Fset_image_instance_property):
11609         put warning in this fun.
11610
11611         * glyphs.h:
11612         * glyphs.h (GLYPH_CACHEL_WIDTH):
11613         * glyphs.h (GLYPH_CACHEL_ASCENT):
11614         * glyphs.h (GLYPH_CACHEL):
11615         * glyphs.h (GLYPH_CACHEL_GLYPH):
11616         define error-checking versions to try to catch a bug i've seen --
11617         redisplay gets in an infinite loop because the glyph width of the
11618         continuation glyph is 65535.
11619
11620         * lisp.h:
11621         Extern message-box stuff.
11622
11623         * window.c (allocate_window):
11624         * window.c (make_dummy_parent):
11625         * window.c (Fset_window_configuration):
11626         Use EQUAL not EQ for subwindow caches to make them work a bit
11627         better. (Something is still very broken.)
11628
11629
11630 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
11631
11632         * glyphs.c (image_instantiate): Suppress gcc warnings.
11633         (Fmake_image_instance): Fix doc string.
11634         * specifier.c (Fmake_specifier): Ditto.
11635
11636 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
11637
11638         * paths.h.in (PATH_LOCK): Removed.
11639         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
11640         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
11641
11642 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
11643
11644         * fns.c (Ffeaturep): Update e-mail address in doc-string.
11645         Document (featurep '(and xemacs 21.02)).
11646
11647 2000-05-09  Ben Wing  <ben@xemacs.org>
11648
11649         * buffer.c (complex_vars_of_buffer):
11650         update modeline-format doc.
11651
11652         * device.h:
11653         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
11654
11655         * emacs.c:
11656         timeline of all released versions of Emacs, for use in creating
11657         authorship comments and in synching up.
11658
11659         * glyphs-widget.c (image_instantiator_buttons):
11660         * glyphs-widget.c (image_instantiator_edit_fields):
11661         * glyphs-widget.c (image_instantiator_combo_box):
11662         * glyphs-widget.c (image_instantiator_scrollbar):
11663         * glyphs-widget.c (image_instantiator_progress_guage):
11664         * glyphs-widget.c (image_instantiator_tree_view):
11665         * glyphs-widget.c (image_instantiator_tab_control):
11666         * glyphs-widget.c (image_instantiator_labels):
11667         * glyphs-widget.c (image_instantiator_layout):
11668         * glyphs-widget.c (image_instantiator_native_layout):
11669         rename decode_domain method to governing_domain.
11670
11671         * glyphs.c:
11672         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
11673         * glyphs.c (add_entry_to_device_ii_format_list):
11674         make sure we don't put an entry more than once into the list.
11675         * glyphs.c (check_instance_cache_mapper):
11676         *************************************************************
11677         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
11678         HAVE BEEN GETTING.
11679         *************************************************************
11680         * glyphs.c (get_image_instantiator_governing_domain):
11681         clean up, expand on new concept of governing domain.
11682         * glyphs.c (instantiate_image_instantiator):
11683         * glyphs.c (allocate_image_instance):
11684         use governing_domain instead of cache_domain in naming.
11685         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
11686         * glyphs.c (make_image_instance_1):
11687         * glyphs.c (Fmake_image_instance):
11688         allow for any domain (not just device), and process the
11689         governing domain correctly.  very big doc fix.
11690         * glyphs.c (Fimage_instance_domain):
11691         new primitive, to retrieve the governing domain of an image instance.
11692         * glyphs.c (image_instantiate):
11693         use new governing_domain stuff.  this fixes a crash you could get
11694         by instantiating certain widget glyphs in frame locales. (should
11695         signal an error instead of crashing.)
11696         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
11697         * glyphs.c (Fglyphp): clean up doc.
11698         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
11699         * glyphs.c (syms_of_glyphs):
11700         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
11701         * glyphs.c (image_instantiator_format_create): add some comments about
11702         bogus code.
11703         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
11704         for current-display-table. (Apparently Hrjove implemented in 1998 a
11705         design I wrote up in 1996, but didn't update the doc string.)
11706
11707         * glyphs.h: clean up a doc string.
11708         * glyphs.h (governing_domain):
11709         * glyphs.h (struct image_instantiator_methods):
11710         changes for governing_domain stuff.
11711
11712         * gutter.c:
11713         * gutter.c (Fgutter_specifier_p):
11714         * gutter.c (Fgutter_size_specifier_p):
11715         * gutter.c (Fgutter_visible_specifier_p):
11716         * objects.c:
11717         * objects.c (Fcolor_specifier_p):
11718         * objects.c (Ffont_specifier_p):
11719         * objects.c (Fface_boolean_specifier_p):
11720         doc strings moved to make-*-specifier.
11721
11722         * redisplay.c (add_disp_table_entry_runes_1):
11723         * redisplay.c (generate_fstring_runes):
11724         * redisplay.c (screen):
11725         add random comments and doc strings.
11726
11727         * specifier.c:
11728         * specifier.c (Fmake_specifier):
11729         major overhaul of this doc string.
11730
11731         * specifier.c (Fvalid_specifier_domain_p):
11732         comment about the bogosity of image instances being domains.
11733         * specifier.c (decode_domain):
11734         now non-static, used in glyphs.c.
11735         * specifier.c (specifier_instance):
11736         comment about the bogosity of image instances being domains.
11737         * specifier.c (Fgeneric_specifier_p):
11738         move doc string to make-generic-specifier.
11739         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
11740         rebackslashify.
11741
11742         * specifier.h:
11743         * specifier.h (DOMAIN_FRAME):
11744         * specifier.h (DOMAIN_LIVE_P):
11745         * specifier.h (DOMAIN_XDEVICE):
11746         rebackslashify.
11747         add comments about problems with these macros.
11748         prototype for decode_domain.
11749
11750         * toolbar.c:
11751         * toolbar.c (Ftoolbar_specifier_p):
11752         move doc string to `make-toolbar-specifier'.
11753
11754         * window.c (window_unmap_subwindows_cache_mapper):
11755         *************************************************************
11756         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
11757         HAVE BEEN GETTING.
11758         *************************************************************
11759
11760 2000-05-09  Andy Piper  <andy@xemacs.org>
11761
11762         * glyphs.h: declare reset_frame_subwindow_instance_cache.
11763
11764         * window.c (Fset_window_configuration): reset the frame subwindow
11765         cache and re-initialize the window subwindow caches.
11766
11767         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
11768
11769 2000-05-09  Ben Wing  <ben@xemacs.org>
11770
11771         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
11772         DWORD.
11773
11774 2000-04-26  Mike Woolley  <mike@bulsara.com>
11775
11776         * ntheap.c: Changed recreate_heap to limit the amount reserved
11777         for the heap to that which is actually available. Also now
11778         displays a message box (with some dignostics) in the event that
11779         it still can't start.
11780
11781 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11782
11783         * callproc.c (Fold_call_process_internal): GCPRO path
11784
11785 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
11786
11787         Patch by Bill Perry.
11788
11789         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
11790         back data instead of #ifdef.
11791         (Fscrollbar_page_down): ditto.
11792
11793 2000-05-07  Ben Wing  <ben@xemacs.org>
11794
11795         * buffer.h:
11796         Kludge for defining Qmswindows_tstr.
11797
11798         * nt.c:
11799         * nt.c (open_input_file):
11800         * nt.c (open_output_file):
11801         * nt.c (rva_to_section):
11802         * nt.c (mswindows_executable_type):
11803         Move all memory-mapped-file routines here (some were in unexnt.c,
11804         which is bad because they are used by process-nt.c, and unexnt
11805         won't be around when portable dumping).  Synched the above routines
11806         with FSF 20.6.
11807
11808         * nt.h:
11809         Removed ifdef'd out bogus code.
11810         Fixed some prototypes.
11811
11812         * nt.h (file_data):
11813         * nt.h (OFFSET_TO_RVA):
11814         * nt.h (RVA_TO_OFFSET):
11815         * nt.h (RVA_TO_PTR):
11816         Moved the memory-mapped-file structures, macros and prototypes
11817         here, to parallel nt.c.  ntheap.h should really be removed
11818         entirely, and it's a non-portable-dumper specific file.
11819
11820         * ntheap.h (round_to_next):
11821         Moved the memory-mapped-file structures, macros and prototypes
11822         to nt.h.
11823
11824         * ntproc.c (compare_env):
11825         Moved rva_to_section and mswindows_executable_type to nt.c.
11826         Moved compare_env to process-nt.c.
11827         ntproc.c will die, one day.
11828
11829         * ntproc.c (sys_spawnve):
11830         Account for win32_ -> mswindows_.
11831
11832         * process-nt.c:
11833         * process-nt.c (struct nt_process_data):
11834         * process-nt.c (ensure_console_window_exists):
11835         * process-nt.c (compare_env):
11836         * process-nt.c (nt_create_process):
11837         * process-nt.c (nt_kill_process_by_pid):
11838         * process-nt.c (syms_of_process_nt):
11839         * process-nt.c (vars_of_process_nt):
11840         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
11841         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
11842         changes).  Eliminate our old `nt-quote-process-args' mechanism.
11843         Synch up nt_create_process with FSF 20.6 sys_spawnve.
11844         Move compare_env here from ntproc.c.
11845
11846         * process.c (Fprocess_send_region):
11847         Takes an optional fourth argument, BUFFER, which should fix some
11848         problems with call-process.
11849
11850         * syscommctrl.h:
11851         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
11852
11853         * syswindows.h:
11854         Move ICC_BAR_CLASSES to syscommctrl.h.
11855         Add preliminary macros for MSWindows/Mule.  More to come.
11856
11857         * unexnt.c:
11858         * unexnt.c (unexec):
11859         open_output_file moved to nt.c.
11860
11861
11862 2000-05-05  Andy Piper  <andy@xemacs.org>
11863
11864         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
11865         instance from the frame cache also since GC may catch up too late
11866         to make frame deletion sane.
11867
11868 2000-05-04  Andy Piper  <andy@xemacs.org>
11869
11870         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
11871         (x_finalize_image_instance): ungcpro on deletion.
11872
11873         * glyphs.c (image_instantiator_format_create): give pointers a
11874         query geometry method so that the geometry is at least set.
11875
11876         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
11877         initialize layouts if using widgets.
11878
11879 2000-05-03  Andy Piper  <andy@xemacs.org>
11880
11881         * nt.c: remove bogus reference to sysmmsystem.h
11882
11883         * gui-x.c (popup_selection_callback): fix no selection abort.
11884
11885 2000-05-02  Andy Piper  <andy@xemacs.org>
11886
11887         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
11888         (mswindows_widget_instantiate): ditto.
11889
11890         * glyphs-widget.c (initialize_widget_image_instance): initialize
11891         children correctly.
11892         (widget_instantiate): cope with children and items in the same
11893         instance.
11894
11895         * glyphs.c (mark_image_instance): cope with children as a first
11896         class member.
11897         (image_instance_equal): ditto.
11898         (image_instance_hash): ditto.
11899         (image_instance_changed): ditto.
11900
11901 2000-04-30  Andy Piper  <andy@xemacs.org>
11902
11903         * glyphs.c (subwindow_query_geometry): new function. Return some
11904         defaults.
11905         (subwindow_instantiate): don't assign dimensions if none have been
11906         given.
11907         (image_instantiator_format_create): add subwindow_query_geometry.
11908         (print_image_instance): cope with layouts as widgets.
11909
11910 2000-04-29  Andy Piper  <andy@xemacs.org>
11911
11912         * frame.c (delete_frame_internal): call
11913         free_frame_subwindow_instance_cache so that all subwindows are
11914         finalized before their parent.
11915         (mark_frame): remove subwindow_cachels.
11916         (Fmake_frame): remove subwindow_cachel manipulation.
11917         (allocate_frame_core): subwindow_instance_cache is a weak list.
11918         (delete_frame_internal): set subwindow_instance_cache to nil.
11919
11920         * glyphs-msw.c (mswindows_finalize_image_instance): make double
11921         finalization safe.
11922         (mswindows_finalize_image_instance): use the device
11923         not the domain as the domain may have died already.
11924
11925         * glyphs-x.c (x_finalize_image_instance): ditto.
11926         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
11927         HEIGHT.
11928
11929         * redisplay-output.c (redisplay_unmap_subwindows): update for
11930         subwindow instance cache as a weak list.
11931         (redisplay_unmap_subwindows_maybe): ditto.
11932         (redisplay_unmap_subwindows_except_us): ditto.
11933
11934         * glyphs.c (unmap_subwindow): error checking will check the domain
11935         so don't deal with it here. Don't use cachels anymore.
11936         (map_subwindow): ditto.
11937         (update_subwindow_cachel_data): remove old accessor names.
11938         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
11939         (Fresize_subwindow): don't update cachel.
11940         (mark_subwindow_cachels):
11941         (update_subwindow_cachel_data):
11942         (add_subwindow_cachel):
11943         (get_subwindow_cachel_index):
11944         (update_subwindow_cachel):
11945         (reset_subwindow_cachels):
11946         (mark_subwindow_cachels_as_not_updated): deleted.
11947         (cache_subwindow_instance_in_frame_maybe): new function. Add a
11948         subwindow instance to the frame cache.
11949         (find_matching_subwindow): update for subwindow instance cache as
11950         a weak list.
11951         (update_widget_instances): ditto.
11952         (image_instance_type_to_mask):inlined.
11953         (free_frame_subwindow_instance_cache): new function. finalize all
11954         subwindows that are instantiated.
11955
11956         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
11957         of cachel information.
11958         (IMAGE_INSTANCE_DISPLAY_X):
11959         (IMAGE_INSTANCE_DISPLAY_Y):
11960         (IMAGE_INSTANCE_DISPLAY_WIDTH):
11961         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
11962         (XIMAGE_INSTANCE_DISPLAY_X):
11963         (XIMAGE_INSTANCE_DISPLAY_Y):
11964         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
11965         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
11966         remove subwindow_cachel structure and function references.
11967         (image_instance_type_to_mask): inline from glyphs.c
11968
11969         * redisplay.c (redisplay_frame): remove subwindow_cachel
11970         references.
11971
11972         * frame.h (struct frame): remove subwindow_cachels.
11973         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
11974
11975         * frameslots.h: add subwindow_instance_cache.
11976
11977         * window.c (replace_window): check subwindow cache of replacement.
11978         (window_unmap_subwindows_cache_mapper):
11979         (window_unmap_subwindows): new functions. Unmap all subwindows
11980         cached on this window.
11981         (mark_window_as_deleted): unmap all subwindows.
11982
11983 2000-04-27  Andy Piper  <andy@xemacs.org>
11984
11985         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
11986
11987         * glyphs-widget.c (widget_layout): return something.
11988         (layout_layout): return something. Fail if not initialized.
11989         (layout_query_geometry): ditto.
11990         (image_instantiator_native_layout): new function. Initialized the
11991         native layout type.
11992         (widget_instantiate): don't do layout stuff here.
11993
11994         * glyphs.c (instantiate_image_instantiator): reorded calling or
11995         instantiate and post_instantiate with layout in between.
11996         (image_instance_layout): be more selective about deciding whether
11997         the layout has been done or not.
11998
11999         * glyphs.h (struct image_instantiator_methods): return a value
12000         from layout_method.
12001
12002 2000-04-26  Andy Piper  <andy@xemacs.org>
12003
12004         * glyphs.c (allocate_image_instance): make initial width and
12005         height unspecified. Set initialized to 0.
12006
12007         * syscommctrl.h new file. Encapsulates commctrl.h.
12008
12009         * syswindows.h new file. Encapsulates windows.h.
12010
12011         * ntplay.c: use new syswindows.h and syscommctrl.h header.
12012         * nt.c: ditto.
12013         * console-msw.h: ditto.
12014
12015         * redisplay-tty.c (tty_output_display_block): remove layout references.
12016
12017         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
12018         window handle rather than just the frame.
12019
12020         * glyphs.c (mark_image_instance): remove layout references.
12021         (print_image_instance): ditto.
12022         (image_instance_equal): ditto.
12023         (image_instance_hash): ditto.
12024         (decode_image_instance_type): ditto.
12025         (encode_image_instance_type): ditto.
12026         (image_instantiate): ditto.
12027         (allocate_glyph): ditto.
12028         (Fimage_instance_height): ditto.
12029         (Fimage_instance_width): ditto.
12030         (update_subwindow): ditto.
12031
12032         * redisplay-x.c (x_output_display_block): recode for layouts as
12033         widgets.
12034
12035         * redisplay-output.c (redisplay_output_layout): recode for layouts
12036         as widgets.
12037         (compare_runes): remove layout references.
12038
12039         * redisplay-msw.c (mswindows_output_display_block): recode for
12040         layouts as widgets.
12041
12042         * glyphs-widget.c (image_instantiator_layout): remove
12043         layout_possible_dest_types.
12044         (layout_possible_dest_types): deleted.
12045
12046         * glyphs.h (image_instance_type): remove layout references.
12047         (struct Lisp_Image_Instance): ditto. Add initialized flag.
12048         (IMAGE_INSTANCE_INITIALIZED): new accessor.
12049         (XIMAGE_INSTANCE_INITIALIZED): ditto.
12050
12051 2000-04-25  Andy Piper  <andy@xemacs.org>
12052
12053         * glyphs-widget.c (image_instantiator_buttons):
12054         (image_instantiator_edit_fields):
12055         (image_instantiator_combo_box):
12056         (image_instantiator_scrollbar):
12057         (image_instantiator_progress_guage):
12058         (image_instantiator_tree_view):
12059         (image_instantiator_tab_control):
12060         (image_instantiator_labels):
12061         (image_instantiator_layout): call default post_instantiate method.
12062         (widget_post_instantiate): new function. Simply lays out the
12063         widgets.
12064
12065         * glyphs.h (struct image_instantiator_methods): add
12066         post_instantiate method.
12067
12068         * glyphs.c (instantiate_image_instantiator): add post_instantiate
12069         method calls.
12070
12071 2000-04-23  Andy Piper  <andy@xemacs.org>
12072
12073         * glyphs.h (struct image_instantiator_methods): add
12074         decode_domain_method.
12075         (struct Lisp_Image_Instance): remove subwindow frame - it can be
12076         derived from the domain.
12077         (IMAGE_INSTANCE_FRAME): new accessor.
12078         (XIMAGE_INSTANCE_FRAME): ditto.
12079
12080         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
12081         instead of _SUBWINDOW_FRAME.
12082         (finalize_image_instance): ditto.
12083         (Fimage_instance_foreground): ditto.
12084         (Fimage_instance_background): ditto.
12085         (image_instantiate): ditto.
12086         (update_subwindow_cachel): ditto.
12087         (update_subwindow): ditto.
12088         (unmap_subwindow): ditto.
12089         (map_subwindow): ditto
12090         (subwindow_instantiate): ditto.
12091         * glyphs-msw.c (mswindows_update_widget): ditto.
12092         (mswindows_progress_gauge_instantiate): ditto.
12093         (mswindows_tab_control_update): ditto.
12094         * glyphs-x.c (x_update_widget): ditto.
12095         (x_widget_instantiate): ditto.
12096         (x_tab_control_instantiate): ditto.
12097         (x_tab_control_update): ditto.
12098         * event-msw.c (mswindows_wnd_proc): ditto
12099
12100         * glyphs-widget.c (image_instantiator_layout): use
12101         subwindow_decode_domain.
12102         (image_instantiator_buttons): ditto.
12103         (image_instantiator_edit_fields): ditto.
12104         (image_instantiator_combo_box): ditto.
12105         (image_instantiator_scrollbar): ditto.
12106         (image_instantiator_progress_guage): ditto.
12107         (image_instantiator_tree_view): ditto.
12108         (image_instantiator_tab_control): ditto.
12109         (image_instantiator_labels): ditto.
12110         (image_instantiator_layout): ditto.
12111
12112         * glyphs.c: add instance error checking to many functions.
12113         (instantiate_image_instantiator): decode device from cache_domain.
12114         (image_instantiate): partially rewrite by using
12115         decode_image_instantiator_domain to determine what domain the
12116         instance needs to be cached in.
12117         (decode_image_instantiator_domain): new function. Determine what
12118         domain the image needs to be cached in.
12119         (check_window_subwindow_cache): new error checking function.
12120         (check_instance_cache_mapper): ditto.
12121         (check_image_instance_structure): ditto.
12122         (subwindow_decode_domain): new function. Encodes a window as a
12123         subwindow's cache domain.
12124         (image_instantiator_format_create): use it for text and
12125         subwindows.
12126
12127 2000-04-21  Andy Piper  <andy@xemacs.org>
12128
12129         * glyphs.c (image_instance_device): new function.
12130         (image_instance_frame): new function.
12131         (image_instance_window): new function.
12132         (image_instance_live_p): new function.
12133
12134         * window.c (mark_window_as_deleted): reset the subwindow_instance_
12135         cache to nil.
12136
12137         * glyphs.h (struct Lisp_Image_Instance): device->domain.
12138         (IMAGE_INSTANCE_DOMAIN): new accessor.
12139         (XIMAGE_INSTANCE_DOMAIN): ditto.
12140
12141         * glyphs-x.c (x_finalize_image_instance): device->domain.
12142
12143         * glyphs-msw.c (init_image_instance_geometry): device->domain.
12144         (mswindows_finalize_image_instance): ditto.
12145
12146         * glyphs-eimage.c (jpeg_instantiate): device->domain.
12147         (gif_instantiate): ditto.
12148         (png_instantiate): ditto.
12149         (tiff_instantiate): ditto.
12150
12151         * glyphs.c (instantiate_image_instantiator): use domain rather
12152         than device.
12153         (mark_image_instance): device -> domain.
12154         (print_image_instance): ditto.
12155         (finalize_image_instance): ditto.
12156         (image_instance_equal): ditto.
12157         (allocate_image_instance): ditto.
12158         (Fcolorize_image_instance): ditto.
12159         (query_string_geometry): ditto.
12160         (image_instantiate): ditto
12161         (query_string_font): ditto.
12162         (image_instantiate): ditto.
12163         (update_subwindow): ditto.
12164         (unmap_subwindow): ditto.
12165         (map_subwindow): ditto.
12166         (subwindow_instantiate): ditto.
12167
12168         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
12169         (DOMAIN_FRAME): ditto.
12170         (DOMAIN_WINDOW): ditto.
12171         (DOMAIN_LIVE_P): ditto.
12172         (XDOMAIN_DEVICE): ditto.
12173         (XDOMAIN_FRAME): ditto.
12174         (XDOMAIN_WINDOW): ditto.
12175
12176         * specifier.c (Fvalid_specifier_domain_p): add image instances as
12177         a valid specifier domain.
12178
12179 2000-04-19  Andy Piper  <andy@xemacs.org>
12180
12181         * glyphs-widget.c (syms_of_glyphs_widget): remove
12182         widget-callback-current-channel.
12183         (vars_of_glyphs_widget): ditto.
12184         * glyphs.h: ditto
12185
12186         * gui.c (get_gui_callback): revert to previous behaviour.
12187
12188 2000-04-18  Andy Piper  <andy@xemacs.org>
12189
12190         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
12191         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
12192         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
12193
12194         * glyphs.c (image_instance_equal): add margin_width.
12195         (image_instance_hash): ditto.
12196
12197         * glyphs-widget.c (widget_instantiate): deal with margin-width.
12198         (layout_query_geometry): ditto.
12199         (layout_layout): ditto.
12200         (syms_of_glyphs_widget): add margin-width.
12201         (image_instantiator_layout): allow margin-width.
12202
12203         * glyphs.c (update_widget_instances): make a normal function.
12204         (syms_of_glyphs): remove Qupdate_widget_instances.
12205         * glyphs.h: ditto.
12206
12207         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
12208         so that we don't corrupt ideas about the last event or
12209         command. Remove widget-callback-current-channel fiddling.
12210         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
12211
12212 2000-05-01  Martin Buchholz <martin@xemacs.org>
12213
12214         * XEmacs 21.2.33 is released.
12215
12216 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
12217
12218         * make-src-depend: Allow dots in header file name.
12219
12220 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
12221
12222         * mule-charset.h (struct charset_lookup): Add
12223         next_allocated_1_byte_leading_byte and
12224         next_allocated_2_byte_leading_byte.
12225         * mule-charset.c: Move above two variables so that those values
12226         will be dumped.
12227
12228 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
12229
12230         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
12231         when string length is zero.
12232         (find_charsets_in_emchar_string): Ditto.
12233
12234 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
12235
12236         * lisp.h: extern Qdialog and Qmenubar.
12237
12238         * gui-x.c: added events.h.
12239                 also fixed typo which made the file uncompilable.
12240
12241         * general.c: Added Qmenubar and Qdialog
12242
12243 2000-04-28  Ben Wing  <ben@xemacs.org>
12244
12245         * frame-msw.c (mswindows_init_frame_1):
12246         * frame-msw.c (mswindows_mark_frame):
12247         * event-msw.c (mswindows_enqueue_dispatch_event):
12248         * console-msw.h:
12249         * console-msw.h (struct mswindows_frame):
12250         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
12251         there are now three hash tables for callbacks.
12252         mswindows_enqueue_dispatch_event is no longer static.
12253
12254         * dialog-x.c (maybe_run_dbox_text_callback):
12255         * dialog-x.c (dbox_descriptor_to_widget_value):
12256         switch to new cons3 form for callbacks.
12257
12258         * glyphs-msw.c (mswindows_register_gui_item):
12259         * glyphs-msw.c (mswindows_widget_instantiate):
12260         * glyphs-msw.c (add_tree_item):
12261         * glyphs-msw.c (add_tab_item):
12262         new image instance parameter, so it can be passed to callback-ex.
12263         respect :callback-ex as well as :callback.
12264
12265         * glyphs-widget.c (VALID_GUI_KEYWORDS):
12266         add :callback-ex.
12267
12268         * glyphs.c (print_image_instance):
12269         prettify, e.g. now prints widget type.
12270
12271         * gui-x.h:
12272         certain funs have new image instance parameter.
12273
12274         * gui.c:
12275         * gui.c (get_gui_callback):
12276         * gui.c (gui_item_add_keyval_pair):
12277         * gui.c (gui_item_init):
12278         * gui.c (gui_add_item_keywords_to_plist):
12279         * gui.c (mark_gui_item):
12280         * gui.c (gui_item_hash):
12281         * gui.c (gui_item_equal):
12282         * gui.c (copy_gui_item):
12283         * gui.c (syms_of_gui):
12284         recognize callback-ex in a number of places.
12285         also, fix the annoying "can't get out of yes-no dialog" bug.
12286
12287         * gui.h:
12288         * gui.h (struct Lisp_Gui_Item):
12289         recognize callback-ex in a number of places.
12290
12291         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12292         new parameter in button_item_to_widget_value.
12293
12294         * glyphs-x.c (x_update_widget):
12295         * glyphs-x.c (x_button_instantiate):
12296         * glyphs-x.c (x_button_update):
12297         * glyphs-x.c (x_progress_gauge_instantiate):
12298         * glyphs-x.c (x_edit_field_instantiate):
12299         * glyphs-x.c (x_combo_box_instantiate):
12300         * glyphs-x.c (x_tab_control_instantiate):
12301         * glyphs-x.c (x_label_instantiate):
12302         new image instance parameter in various places.
12303
12304         * event-Xt.c:
12305         * event-Xt.c (enqueue_Xt_dispatch_event):
12306         this fun gets exported.
12307
12308         * gui-msw.c:
12309         * gui-msw.c (mswindows_handle_gui_wm_command):
12310         handle both :callback and :callback-ex, and generate our own
12311         event because it's one of the callback-ex arguments.
12312
12313         * gui-x.c:
12314         * gui-x.c (popup_selection_callback):
12315         handle both :callback and :callback-ex, and generate our own
12316         event because it's one of the callback-ex arguments.
12317         * gui-x.c (button_item_to_widget_value):
12318         * gui-x.c (gui_items_to_widget_values_1):
12319         * gui-x.c (gui_item_children_to_widget_values):
12320         * gui-x.c (gui_items_to_widget_values):
12321         new image instance parameter in various places.
12322
12323         * fns.c (Freplace_list):
12324         fix small typo in doc string.
12325
12326         * lisp.h:
12327         declare enqueue_Xt_dispatch_event.
12328
12329 2000-04-28  Ben Wing  <ben@xemacs.org>
12330
12331         * buffer.c:
12332         * buffer.c (Frecord_buffer):
12333         * buffer.c (syms_of_buffer):
12334         delete record-buffer-hook.
12335
12336         * fns.c:
12337         * fns.c (Freplace_list):
12338         * fns.c (syms_of_fns):
12339         new primitive replace-list.
12340
12341         * frameslots.h:
12342         slot for old buffer-alist.
12343
12344         * lisp.h:
12345         exfun replace-list.
12346
12347         * redisplay.c:
12348         * redisplay.c (redisplay_frame):
12349         * redisplay.c (syms_of_redisplay):
12350         * redisplay.c (vars_of_redisplay):
12351         new hook buffer-list-changed-hook.
12352         call it.
12353
12354 2000-04-27  Ben Wing  <ben@xemacs.org>
12355
12356         * extents.h: extern in_modeline_generation.
12357
12358         * redisplay.c (generate_formatted_string_db): set
12359         in_modeline_generation.
12360
12361         * extents.c (extent_changed_for_redisplay): don't mark redisplay
12362         flags if in modeline generation.  otherwise frame-modified-tick
12363         is ticked far too often.
12364         Declare in_modeline_generation.
12365
12366 2000-04-26  Ben Wing  <ben@xemacs.org>
12367
12368         * emacs.c (vars_of_emacs): document quick-build "error-checking"
12369         option.
12370         (vars_of_emacs): add quick-build as an error-checking option.
12371         A bit kludgy, but there doesn't seem much point in creating
12372         a real var for this.
12373
12374         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
12375
12376 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12377
12378         * redisplay.h (struct display_line): Add a new variable,
12379         line_continuation.
12380
12381         * redisplay.c (create_text_block): Set dl->line_continuation if
12382         the line continues.
12383         (create_string_text_block): Ditto.
12384         (regenerate_window_incrementally): Use line_continuation instead
12385         of searching continuation glyph.
12386         (add_margin_runes): Call add_glyph_rune.
12387         (add_glyph_rune): Handle margin glyph.
12388
12389 2000-04-20  Martin Buchholz  <martin@xemacs.org>
12390
12391         * filelock.c (fill_in_lock_file_name):
12392         ANSIfy.
12393         Check for IS_ANY_SEP instead of '/'.
12394         (lock_file_1):
12395         Avoid generating gratuitous garbage.  Call user_login_name() directly.
12396         Never check errno without first seeing that system call failed.
12397         (unlock_file): Add GCPRO.
12398         (Flock_buffer): Fix docstring.
12399         (Ffile_locked_p): Fix docstring.  Add GCPRO.
12400
12401 2000-04-19  Martin Buchholz  <martin@xemacs.org>
12402
12403         * sysdep.c (get_pty_max_bytes):
12404         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
12405         strings longer than 252 bytes.
12406
12407         * md5.c: Unconditionally include ANSI header <limits.h>
12408
12409         * glyphs-x.c (convert_EImage_to_XImage):
12410         * lisp-union.h (union Lisp_Object):
12411         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
12412
12413 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
12414
12415         * filelock.c (current_lock_owner): Remove unused variable o, p.
12416
12417 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
12418
12419         * callint.c: Remove multiply defined symbol Qlet
12420         (syms_of_callint): ditto.
12421
12422 2000-04-14  Andy Piper  <andy@xemacs.org>
12423
12424         * general.c (syms_of_general): add last-command, this-command, let
12425         and funcall.
12426
12427         * lisp.h: declare various symbols.
12428
12429         * glyphs.h: declare Qwidget_callback_current_channel;
12430
12431         * glyphs-widget.c (syms_of_glyphs_widget): add
12432         Qgui_callback_current_channel.
12433         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
12434
12435         * gui-msw.c (mswindows_handle_gui_wm_command): bind
12436         widget-callback-current-channel when invoking the interactive
12437         arg. Also bind last-command and next-command when invoking the
12438         widget updates.
12439         * gui-x.c (popup_selection_callback): ditto.
12440
12441         * gui.c (get_gui_callback): massage args so that we are always
12442         calling eval. This allows us to add our own variable bindings
12443         outside.
12444
12445         * glyphs-x.c (x_button_instantiate): use
12446         gui_items_to_widget_values since this is GC safe.
12447         (x_progress_gauge_instantiate): ditto.
12448         (x_edit_field_instantiate): ditto.
12449         (x_label_instantiate): ditto.
12450
12451         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
12452         (emacs_Xt_event_widget_focus_out): new function
12453         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
12454         focus.
12455         (emacs_Xt_event_add_widget_actions): new function. add focus
12456         functions as actions.
12457         (init_event_Xt_late): use it.
12458
12459 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
12460
12461         * event-stream.c (Fdispatch_event): Doc fix.
12462
12463 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
12464
12465         * postgresql.c: Remove all references to PQsetenv*.
12466
12467         * postgresql.h: Remove references to PGsetenvHandler object.
12468         * lrecord.h (lrecord_type): Ditto.
12469
12470 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12471
12472         * glyphs-msw.h (struct mswindows_image_instance_data): Added
12473         real_heigh and real_width members, and accessor macros for these.
12474
12475         * glyphs-msw.c (init_image_instance_geometry): New function.
12476         (init_image_instance_from_dibitmap): Use it.
12477         (mswindows_resource_instantiate): Use it.
12478         (init_image_instance_from_xbm_inline): Use it.
12479         (mswindows_initialize_image_instance_mask): Use real bitmap
12480         geometry.
12481         (mswindows_create_resized_bitmap): Ditto.
12482         (mswindows_create_resized_mask): Ditto.
12483
12484         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
12485         and bitmap to their surface size.
12486
12487 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
12488
12489         * process-unix.c (unix_send_process): Guard against process MIA
12490         after Faccept_process_output.
12491
12492 2000-04-11  Ben Wing  <ben@xemacs.org>
12493
12494         * eval.c (unbind_to_hairy): fix brokenness introduced by
12495         nanosecond speed improvements.
12496
12497 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
12498
12499         * sunplay.c (init_device): To play sounds correctly, the device
12500         apparently needs to be initialized at least once by XEmacs.  Make
12501         it so.
12502
12503 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12504
12505         * redisplay.c (add_margin_runes): Add text image glyph
12506           handling.
12507
12508 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
12509
12510         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
12511         gcc is newer than 2.5.
12512
12513 2000-04-06  Colin Rafferty  <colin@xemacs.org>
12514
12515         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
12516
12517         * fns.c (size_bit_vector):
12518         * alloc.c (size_vector):
12519         (make_vector_internal):
12520         (make_bit_vector_internal):
12521         (sweep_bit_vectors_1):
12522         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
12523
12524 2000-04-06  Andy Piper  <andy@xemacs.org>
12525
12526         * gmalloc.c (malloc): undo previous change.
12527         (malloc): ditto.
12528         (free): ditto.
12529         (realloc): ditto.
12530
12531 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
12532
12533         * line-number.c (buffer_line_number): Revert to former version.
12534
12535 2000-04-06  Andy Piper  <andy@xemacs.org>
12536
12537         * gmalloc.c (malloc): add error checking.
12538         (malloc): ditto.
12539         (free): ditto.
12540         (realloc): ditto.
12541
12542         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
12543         button_item_to_widget_value arg.
12544
12545         * glyphs-x.c (x_button_instantiate): add extra
12546         button_item_to_widget_value arg.
12547         (x_progress_gauge_instantiate): ditto.
12548         (x_edit_field_instantiate): ditto.
12549         (x_label_instantiate): ditto.
12550
12551         * gui-x.c (gui_items_to_widget_values_1): add extra
12552         button_item_to_widget_value arg.
12553         (button_item_to_widget_value): add extra menu_item_p arg.
12554
12555         * gui-x.h: change signature of button_item_to_widget_value.
12556
12557         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
12558         button_item_to_widget_value arg.
12559
12560 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
12561
12562         * buffer.h (struct buffer): auto_save_modified should be long.
12563
12564 2000-04-05  Andy Piper  <andy@xemacs.org>
12565
12566         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
12567         type.
12568         (button_query_geometry): give a little more room so that athena
12569         buttons fit.
12570
12571 2000-04-05  Andy Piper  <andy@xemacs.org>
12572
12573         * faces.c (complex_vars_of_faces): The widget face should inherit
12574         the font of the gui-element face.
12575
12576 2000-04-04  Andy Piper  <andy@xemacs.org>
12577
12578         * glyphs-x.c (x_button_update): new function. unconditionally
12579         update a button's state when the instance is dirty.
12580         (image_instantiator_format_create_glyphs_x): add x_button_update.
12581         (x_widget_instantiate): remove old resize cruft.
12582
12583 2000-04-02  Andy Piper  <andy@xemacs.org>
12584
12585         * frame.c (change_frame_size_1): The introduction of gutters means
12586         that we need to allow 0 as a potential frame dimension.
12587
12588 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12589
12590         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
12591         image glyph if allow_cursor.
12592         (add_hscroll_rune): Don't allow cursor to border glyph.
12593         (create_text_block): Ditto.
12594
12595         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
12596         text not in buffer.
12597         (redisplay_output_layout): Call ensure_face_cachel_complete for
12598         text image glyph.
12599
12600
12601 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12602
12603         * redisplay.c (add_glyph_rune): Adding text image as text runes.
12604
12605         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
12606         not in buffer
12607
12608         * redisplay-tty.c (tty_output_display_block): Delete the routine
12609         for text image glyph
12610         * redisplay-x.c (x_output_display_block): ditto
12611         * redisplay-msw.c (mswindows_output_display_block): ditto
12612
12613 2000-02-02  Mike Alexander  <mta@arbortext.com>
12614
12615         Note: Some of these were committed by accident as part of other
12616         patches.
12617
12618         * regex.c (regex_compile): Avoid compiler warnings.
12619
12620         * ntproc.c (sys_spawnve): Avoid compiler warnings.
12621
12622         * nt.h: Declare term_ntproc correctly.
12623
12624         * nt.c: Remove incorrect declaration of get_home_directory which
12625         is declared correctly in lisp.h.
12626
12627         * keymap.c (get_keyelt): Avoid compiler warnings.
12628         (raw_lookup_key_mapper): Avoid compiler warnings.
12629
12630         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
12631
12632         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
12633
12634         * filemode.c (mode_string): Avoid compiler warnings.
12635
12636         * file-coding.c (Fcoding_system_aliasee): Add return statement to
12637         avoid warning.
12638
12639         * events-mod.h: Undef some things that winuser.h defines differently.
12640
12641         * data.c (Faset): Avoid compiler warnings.
12642
12643         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
12644
12645 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
12646
12647         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
12648         Fall through to simple beep on error.
12649         Replace "extern" by real header file.
12650
12651         * linuxplay.c: Use nativesound.h
12652         (play_sound_data): Return error code. Be less verbose on error.
12653
12654         * sunplay.c: Use nativesound.h
12655         (play_sound_data): Return error code. Be less verbose on error.
12656
12657         * ntplay.c: Use nativesound.h
12658         (play_sound_data): Return fake error code
12659
12660         * sgiplay.c: Use nativesound.h
12661         (play_sound_data): Return error code
12662
12663         * hpplay.c: Use nativesound.h, partially implement
12664         new error code. Break compilation until finished.
12665         (play_sound_data): error code.
12666
12667         * nativesound.h (play_sound_file):
12668           (play_sound_data): Prototype in new header.
12669
12670 2000-03-31  Andy Piper  <andy@xemacs.org>
12671
12672         * glyphs-widget.c: (button_query_geometry): new function. Adjust
12673         for toggle and radio buttons.
12674         (image_instantiator_buttons): use it.
12675
12676 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
12677
12678         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
12679         (x_update_horizontal_scrollbar_callback): Return if no mirror was
12680         found. Scrollbar event probably belonged to some old config.
12681
12682 2000-03-31  Andy Piper  <andy@xemacs.org>
12683
12684         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
12685         than 1.
12686         (initialize_widget_image_instance): default layout to
12687         LAYOUT_HORIZONTAL rather than 0.
12688         (widget_instantiate): reverse the item list at the end rather than
12689         every iteration.
12690         (layout_layout): re-code for the border text at the front of the
12691         item list rather than at the end.
12692         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
12693         provided by the user.
12694         (widget_query_geometry): comment.
12695
12696 2000-03-30  Andy Piper  <andy@xemacs.org>
12697
12698         * glyphs-widget.c (image_instantiator_layout): allow standard
12699         widget keywords in layouts.
12700
12701         * gutter.c (output_gutter): cope with nil gutter contents.
12702
12703         * frame.c (Fset_frame_properties): add gutter docs.
12704
12705 2000-03-29  Andy Piper  <andy@xemacs.org>
12706
12707         * toolbar-msw.c (TBSTYLE_FLAT): add.
12708         (mswindows_output_toolbar): minor fiddling.
12709
12710 2000-03-29  Andy Piper  <andy@xemacs.org>
12711
12712         * gutter.c (output_gutter): force gutter size recalculation if
12713         what we are trying to display won't fit.
12714         (update_gutter_geometry): new function. A per-gutter version of
12715         update_frame_gutter_geometry.
12716         (update_frame_gutter_geometry): use it.
12717         (redraw_exposed_gutter): add extra debugging output.
12718
12719 2000-03-28  Mike Alexander  <mta@arbortext.com>
12720
12721         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
12722         (pdump_file_unmap): Implement it on Windows
12723         (pdump_file_get): Save alocated handles for pdump_file_unmap
12724
12725 2000-03-28  Andy Piper  <andy@xemacs.org>
12726
12727         * gui.c (get_gui_callback): treat Quit specially.
12728
12729 2000-03-27  Andy Piper  <andy@xemacs.org>
12730
12731         * glyphs.c (image_instantiate): be careful to check in the same
12732         way we assigned.
12733
12734 2000-03-27  Didier Verna  <didier@xemacs.org>
12735
12736         * config.h.in: define the proper SMART_INCLUDE macro.
12737         handle renaming of `foo_h_path' to `foo_h_file'.
12738
12739         * database.c: ditto.
12740
12741         * emacs.c: ditto.
12742
12743         * linuxplay.c: ditto.
12744
12745         * terminfo.c: ditto.
12746
12747         * tooltalk.h: ditto.
12748
12749 2000-03-27  Andy Piper  <andy@xemacs.org>
12750
12751         * glyphs-msw.c (mswindows_update_widget): make sure the widget
12752         gets updated whenever the face might have changed.
12753
12754 2000-03-26  Mike Alexander  <mta@arbortext.com>
12755
12756         * dumper.c (pdump_resource_free): Fix the comment.
12757
12758 2000-03-21  Olivier Galibert  <galibert@pobox.com>
12759
12760         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
12761
12762 2000-03-22  Mike Alexander  <mta@arbortext.com>
12763
12764         * dumper.c: Include Windows headers on Windows
12765         (pdump_resource_free): Add a body to the function
12766         (pdump_load): exe_name -> exe_path and add some comments.
12767
12768 2000-03-25  Mike Alexander  <mta@arbortext.com>
12769
12770         * gui.c (copy_gui_item_tree): Return a value in all cases
12771
12772 2000-03-21  Didier Verna  <didier@xemacs.org>
12773
12774         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
12775         lwlib/config.h.in.
12776         (SMART_INCLUDE): new macro.
12777         (POSTGRES_INCLUDE): new macro to include postgresql headers from
12778         the proper location.
12779
12780         * postgresql.c: use it.
12781
12782         * inline.c: ditto.
12783
12784 2000-03-24  Andy Piper  <andy@xemacs.org>
12785
12786         * gutter.c (redraw_exposed_gutters): must be "in display" when we
12787         do this.
12788
12789 2000-03-24  Andy Piper  <andy@xemacs.org>
12790
12791         * redisplay-output.c (compare_runes): use image_instance_changed
12792         to detect changes. Do not depend on glyphs_changed, only depend on
12793         dirtiness.
12794          (redisplay_output_layout): add debug messages.
12795         (compare_runes): ditto.
12796
12797         * glyphs.h: declare new functions.
12798         (struct Lisp_Image_Instance): remove percent and associated
12799         accessors.
12800
12801         * gui.h: declare new copying functions.
12802
12803         * gui.c (copy_gui_item_tree): new function.
12804         (copy_gui_item): new function.
12805         (gui_item_id_hash): revert to standard hash.
12806         (gui_item_hash): ditto.
12807         (gui_item_hash_internal): deleted.
12808         (mark_gui_item): mark value.
12809         (gui_item_add_keyval_pair): add value.
12810         (gui_item_init): ditto.
12811         (gui_add_item_keywords_to_plist): ditto.
12812         (gui_item_equal): ditto.
12813         (syms_of_gui): add Q_value.
12814
12815         * glyphs-x.c (x_progress_gauge_update): use pending items and
12816         value for setting the state.
12817         (x_update_widget): don't set items from pending here.
12818
12819         * glyphs-widget.c (update_widget): update items here.
12820         (progress_gauge_set_property): use items for storing value. Put
12821         new value in pending items.
12822
12823         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
12824         items for new value. Convert percent -> value.
12825         (mswindows_tab_control_update): don't update items here.
12826
12827         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
12828         (update_subwindow): ditto.
12829         (image_instance_changed): new function. Compare hash values and
12830         past and present widget items.
12831         (image_instantiate): We more careful about where we instantiate
12832         things.
12833         (image_instantiate): add error checking.
12834
12835         * gutter.c (syms_of_gutter): use -hook.
12836
12837 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
12838
12839         * console-tty.c (Fset_console_tty_input_coding_system): Use
12840         Qkeyboard.
12841         (Fset_console_tty_output_coding_system): Use Qterminal.
12842         (tty_init_console): Use Qkeyboard and Qterminal.
12843
12844 2000-03-21  Ben Wing  <ben@xemacs.org>
12845
12846         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
12847         From Mike Alexander <mta@arbortext.com>.
12848
12849 2000-03-21  Ben Wing  <ben@xemacs.org>
12850
12851         * event-msw.c (mswindows_need_event): Horrible kludge to fix
12852         process brokenness.  Proper implementation to come.
12853         * callproc.c:
12854         Rename call-process-internal to old-call-process-internal.
12855         New impl. in process.el.
12856
12857 2000-03-21  Martin Buchholz  <martin@xemacs.org>
12858
12859         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
12860
12861 2000-03-20  Andy Piper  <andy@xemacs.org>
12862
12863         * glyphs.c (full_list_hash): make hashes of the same elements in
12864         different orders return different values.
12865
12866 2000-03-20  Martin Buchholz <martin@xemacs.org>
12867
12868         * XEmacs 21.2.32 is released.
12869
12870 2000-03-20  Martin Buchholz  <martin@xemacs.org>
12871
12872         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
12873         (DFC_MALLOC_USE_CONVERTED_DATA):
12874         Add aliasing-safe casts to allow use with char* or unsigned char*
12875         lvalues.
12876
12877         * eldap.c (Fldap_open):
12878         (Fldap_search_basic):
12879         (Fldap_add):
12880         (Fldap_modify):
12881         Make C++-compilable.
12882         Make sure GCPRO'ed variables are initialized.
12883         Use temp variables to avoid repeated calls to Flength.
12884
12885 2000-03-16  Martin Buchholz  <martin@xemacs.org>
12886
12887         * sysfile.h:
12888         Make sure PATH_MAX is always defined.
12889         Include limits.h for PATH_MAX.
12890         Deprecate use of MAXPATHLEN.
12891
12892 2000-03-10  Martin Buchholz  <martin@xemacs.org>
12893
12894         * emacs.c: Add reinit_vars_of_fileio.
12895         * symsinit.h: Add reinit_vars_of_fileio.
12896         * fileio.c (reinit_vars_of_fileio): New.
12897         * fileio.c (Fmake_temp_name):
12898         Initialize temp_name random number from microseconds to make
12899         collisions even less likely.  Initialize always at process startup
12900         time.  (make-temp-name) used to return the same file name twice in
12901         a row when PDUMP.
12902         Random stylistic fiddling.
12903         Comment fixes.
12904
12905 2000-03-20  Andy Piper  <andy@xemacs.org>
12906
12907         * glyphs.c (image_instantiate): allow text glyphs to be
12908         instantiated in the minibuffer window.
12909
12910 2000-03-19  Andy Piper  <andy@xemacs.org>
12911
12912         * glyphs.c (image_instance_hash): be careful about which items we
12913         hash on.
12914
12915         * glyphs-widget.c (tab_control_set_property): record into pending
12916         items rather than the actual items.
12917
12918         * glyphs-x.c (x_update_widget): use pending items to update with.
12919
12920         * glyphs-msw.c (mswindows_tab_control_update): use pending items
12921         to update with.
12922
12923         * glyphs.c (mark_image_instance): mark pending items.
12924
12925         * window.c (Fset_window_configuration): record the buffer.
12926         (Fselect_window): totally revert previous change which breaks many
12927         things.
12928
12929 2000-03-18  Andy Piper  <andy@xemacs.org>
12930
12931         * glyphs-msw.c (mswindows_tab_control_update): force selected
12932         item.
12933
12934         * glyphs.c (image_instantiate): don't allow the minibuffer as a
12935         window domain cache, otherwise we get inconsistencies at
12936         startup. There is something fishy at startup which can lead to the
12937         minibuffer being the selected window when the gutter content is
12938         instantiated.
12939
12940         * gui.c (parse_gui_item_tree_list): add probably unnecessary
12941         gcpros.
12942         (parse_gui_item_tree_children): ditto.
12943         (parse_gui_item_tree_item): ditto.
12944
12945         * glyphs.c (Fupdate_widget_instances): return something.
12946
12947 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
12948
12949         * window.c (Fselect_window): Undo 2000-03-17 change.
12950
12951 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
12952
12953         * postgresql.c (Fpq_setenv): Remove this turkey when linking
12954         against v7.0 libraries.  Insta-coredump city until the postgres
12955         folks fix it.
12956
12957 2000-03-17  Andy Piper  <andy@xemacs.org>
12958
12959         * faces.c (complex_vars_of_faces): don't give the widget face an
12960         inherited background pixmap.
12961
12962         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
12963         selected item.
12964
12965         * event-stream.c (Fdispatch_non_command_events): return something.
12966
12967         * gutter.c (output_gutter): use widget face.
12968         (clear_gutter): ditto.
12969
12970         * NEWS: adjust again.
12971
12972         * window.c (Fselect_window): make sure this runs to completion to
12973         avoid oddities with Fset_window_configuration.
12974         (Fcurrent_window_configuration): in general do not save the
12975         minibuffer as the selected window.
12976
12977         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
12978
12979 2000-03-16  Olivier Galibert  <galibert@pobox.com>
12980
12981         * emacs.c (Frunning_temacs_p): Revert previous patch.
12982         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
12983
12984 2000-03-16  Andy Piper  <andy@xemacs.org>
12985
12986         * glyphs-x.c (x_tab_control_update): if no widget values then
12987         return.
12988
12989         * NEWS: update for new features.
12990
12991         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
12992         synthetic event to the native system.
12993         (reinit_vars_of_event_Xt): set force_event_pending to
12994         emacs_Xt_force_event_pending.
12995
12996         * events.h (struct event_stream): add force_event_pending.
12997
12998         * specifier.c (recompute_one_cached_specifier_in_window): add
12999         comment.
13000
13001         * redisplay.c (redisplay_frame): don't call
13002         update_frame_subwindows. Reset subwindow cachels when
13003         subwindows_changed, removing this was an optimization too far.
13004
13005         * redisplay-output.c (compare_runes): reorganize so that we catch
13006         glyph changes when we want them. Set optimize_output when this
13007         would help layouts.
13008         (redisplay_output_layout): remove frame_really_changed, use
13009         optimize_output instead.
13010
13011         * redisplay-msw.c (mswindows_output_display_block): reset
13012         optimize_output after outputting a glyph.
13013         * redisplay-x.c (x_output_display_block): ditto.
13014         * redisplay-tty.c (tty_output_display_block): ditto.
13015
13016         * gutter.c: (specifier_vars_of_gutter): use new spec changed
13017         functions.
13018         (gutter_specs_changed): do specific gutter positions.
13019         (top_gutter_specs_changed): new function. Only update the
13020         specified gutter specs.
13021         (bottom_gutter_specs_changed): ditto.
13022         (left_gutter_specs_changed): ditto.
13023         (right_gutter_specs_changed): ditto.
13024
13025         * gui.c (gui_item_hash_internal): new function, does a real hash.
13026         (gui_item_id_hash): use it.
13027         (gui_item_hash): hash the eval'ed gui_item.
13028
13029         * gui-x.c (popup_selection_callback): send an eval event to call
13030         Fupdate_widget_instances.
13031
13032         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
13033         to call Fupdate_widget_instances.
13034
13035         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
13036         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
13037
13038         * glyphs.c: (update_frame_subwindows): deleted.
13039         (Fupdate_widget_instances): new function for updating the dirty
13040         state of widgets that might have changed.
13041         (syms_of_glyphs): add Qupdate_widget_instances.
13042         (full_list_hash): hash a list completely.
13043         (image_instance_hash): use it for items and properties.
13044
13045         * frame-msw.c (mswindows_size_frame_internal): remove unused
13046         variable.
13047
13048         * faces.h (struct face_cachel): fix comment.
13049
13050         * event-stream.c (Fdispatch_non_command_events): new
13051         function. Process non-command events, forcing an event cycle
13052         beforehand.
13053         (syms_of_event_stream): declare.
13054         (event_stream_force_event_pending): new function. Force an event
13055         on the native event queue so that an event cycle will occur next
13056         time we check.
13057
13058         * event-msw.c:
13059         (struct ntpipe_shove_stream):
13060         (mswindows_enqueue_dispatch_event):
13061         (mswindows_dequeue_dispatch_event):
13062         (mswindows_cancel_dispatch_event):
13063         (mswindows_pump_outstanding_events):
13064         (mswindows_drain_windows_queue):
13065         (mswindows_handle_paint):
13066         (mswindows_wnd_proc):
13067         (mswindows_key_to_emacs_keysym):
13068         (get_process_input_waitable):
13069         (emacs_mswindows_delete_stream_pair): re-indent file.
13070         (mswindows_need_event): do not process further fds if the windows
13071         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
13072         fixes the 100% cpu problem.
13073         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
13074
13075 2000-03-15  Olivier Galibert  <galibert@pobox.com>
13076
13077         * alloc.h: New.
13078         * dumper.h: New.
13079         * dumper.c: New.
13080
13081         * emacs.c: Moved dump file searching to dumper.c.
13082         (Frunning_temacs_p): Fixed.
13083
13084         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
13085         last_lrecord_type_index_assigned.
13086
13087 2000-02-20  Olivier Galibert  <galibert@pobox.com>
13088
13089         * symsinit.h: Added reinit parameter to init_console_stream
13090         declaration.
13091
13092         * lisp.h: Added file parameter to pdump_load declaration.
13093
13094         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
13095         support.  Added dump file searching.
13096
13097         * config.h.in: Added EMACS_PROGNAME.
13098
13099         * console-stream.c (init_console_stream): Fix reinitialisation
13100         when running from temacs.
13101
13102         * alloc.c (pdump): Add id support.
13103         (pdump_load): Add file parameter and signature/id support.
13104
13105         * Makefile.in.in: Add full pdump support.
13106
13107 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
13108
13109         * postgresql.c: Update documentation to reflect latest code
13110         status.
13111         (print_result): Show tuple counts in printed representation when
13112         appropriate.
13113         (Fpq_put_nbytes): MULE-ize.
13114         (Fpq_get_line_async): Ditto.
13115
13116 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13117
13118         * postgresql.c (Fpq_lo_import): Fix return value.
13119         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
13120
13121 2000-03-13  Ben Wing  <ben@xemacs.org>
13122
13123         * alloc.c (pdump_load):
13124         Fix compile warning under mswin.
13125
13126 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13127
13128         * postgresql.c: Mule-ization, bug fixes.
13129         Use PG_CODING to encapsulate coding system name changes.
13130         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
13131         (pg-coding-system): Create.
13132
13133         (Fpq_conn_defaults): Mule-ize.
13134         (Fpq_connectdb): Mule-ize & bug fix.
13135         (Fpq_connect_start): Mule-ize.
13136         (Fpq_set_client_encoding): Mule-ize.
13137         (Fpq_finish): Document `DEAD' connection status.
13138         (Fpq_clear): Ditto.
13139         (Fpq_pgconn): Mule-ize.
13140         (Fpq_exec): Mule-ize & bug fix.
13141         (Fpq_send_query): Ditto.
13142         (Fpq_get_result): Ditto.
13143         (Fpq_res_status): Mule-ize.
13144         (Fpq_result_error_message): Mule-ize.
13145         (Fpq_ntuples): fix comments.
13146         (Fpq_fname): Mule-ize.
13147         (Fpq_fnumber): Mule-ize.
13148         (Fpq_ftype): fix comments.
13149         (Fpq_get_value): Mule-ize.
13150         (Fpq_cmd_status): Ditto.
13151         (Fpq_cmd_tuples): Ditto.
13152         (Fpq_oid_value): Ditto.
13153         (Fpq_notifies): Ditto.
13154         (Fpq_lo_import): Ditto.
13155         (Fpq_lo_export): Ditto.
13156         (Fpq_get_line): Ditto.
13157         (Fpq_put_line): Mule-ize and bug fix.
13158         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
13159
13160 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13161
13162         * postgresql.c (vars_of_postgresql): Mule-ize.
13163         (Fpq_conn_defaults): Ditto.
13164
13165 2000-03-12  Ben Wing  <ben@xemacs.org>
13166
13167         * alloc.c (Fmake_byte_code):
13168         * alloc.c (debug_string_purity_print):
13169         * alloc.c (pdump_backtrace):
13170         * alloc.c (pdump_get_indirect_count):
13171         * alloc.c (pdump_register_sub):
13172         * alloc.c (pdump_register_object):
13173         * alloc.c (pdump_register_struct):
13174         * alloc.c (pdump_dump_data):
13175         * alloc.c (pdump_reloc_one):
13176         Minor cleanups.
13177
13178         * console-msw.c:
13179         * console-msw.c (GetConsoleHwnd):
13180         * console-msw.c (msw_hide_console):
13181         * console-msw.c (msw_show_console):
13182         * console-msw.c (msw_ensure_console_buffered):
13183         * console-msw.c (msw_output_console_string):
13184         * console-msw.c (console_type_create_mswindows):
13185
13186         a) Added functions to manipulate the console window for use with
13187         shell support.
13188
13189         b) Added support for writing text to the console, which is now
13190         used under Windows when xemacs is not being run non-interactively,
13191         to write text that would otherwise be destined for stdout because
13192         under these circumstances, text written to stdout tends to
13193         disappear and not be seen.
13194
13195         * console-msw.h:
13196         * event-Xt.c:
13197         * event-Xt.c (x_event_to_emacs_event):
13198         * event-Xt.c (describe_event_window):
13199         * events-mod.h (XEMACS_MOD_CONTROL):
13200         * events.c:
13201         * events.c (Fmake_event):
13202         * events.c (character_to_event):
13203         * events.c (event_to_character):
13204         * events.c (format_event_object):
13205         * events.c (Fevent_modifiers):
13206         * events.h:
13207         * events.h (struct key_data):
13208         * events.h (struct button_data):
13209         * events.h (struct misc_user_data):
13210         * frame-x.c (Fcde_start_drag_internal):
13211         * frame-x.c (Foffix_start_drag_internal):
13212         * gpmevent.c (Freceive_gpm_event):
13213         * keymap.c:
13214         * keymap.c (bucky_sym_to_bucky_bit):
13215         * keymap.c (control_meta_superify):
13216         * keymap.c (make_key_description):
13217         * keymap.c (keymap_lookup_directly):
13218         * keymap.c (create_bucky_submap):
13219         * keymap.c (keymap_store):
13220         * keymap.c (define_key_check_and_coerce_keysym):
13221         * keymap.c (define_key_parser):
13222         * keymap.c (define_key_alternate_name):
13223         * keymap.c (Fdefine_key):
13224         * keymap.c (raw_lookup_key_mapper):
13225         * keymap.c (struct map_keymap_unsorted_closure):
13226         * keymap.c (map_keymap_unsorted_mapper):
13227         * keymap.c (map_keymap_sort_predicate):
13228         * keymap.c (map_keymap_sorted):
13229         * keymap.c (accessible_keymaps_mapper_1):
13230         * keymap.c (where_is_recursive_mapper):
13231         * keymap.c (describe_map_mapper):
13232         * keymap.c (describe_map_sort_predicate):
13233         * keymap.c (describe_map):
13234         * keymap.c (complex_vars_of_keymap):
13235         And a number of other files, the key modifier preprocessor
13236         constants that xemacs uses have names that conflict with constants
13237         defined under MS Windows for other purposes, so they were renamed
13238         to begin with the prefix XEMACS_. The variables that hold such
13239         modifiers were changed to consistently be of type int to fix
13240         various compile warnings.
13241
13242         * console.c (complex_vars_of_console):
13243         * device.c:
13244         * device-msw.c:
13245         * device-msw.c (mswindows_finish_init_device):
13246         * device-msw.c (msw_get_workspace_coords):
13247         * device-msw.c (mswindows_device_system_metrics):
13248         and various other files, added support for a new
13249         device property called offset-workspace which returns the position
13250         of the upper left corner of the workspace area and goes along with
13251         the existing size-workspace property.
13252
13253         * dialog-msw.c:
13254         * dialog-msw.c (push_bufbyte_string_as_unicode):
13255         * dialog-msw.c (mswindows_popup_dialog_box):
13256         Added support for XEmacs-style accelerator specifications in
13257         button text.  Note: I didn't add support for this under X Windows,
13258         and somebody needs to do this.
13259
13260         * dialog.c:
13261         * dialog.c (Fpopup_dialog_box):
13262         Documented the support for accelerators that was just mentioned.
13263
13264         editfns.c (get_home_directory): Changed behavior under Windows
13265         when HOME not defined; former behavior was irretrievably broken.
13266
13267         * emacs.c:
13268         * emacs.c (main_1):
13269         * emacs.c (main):
13270         * minibuf.c (clear_echo_area_internal):
13271         * minibuf.c (echo_area_append):
13272         * print.c:
13273         * print.c (std_handle_out_external):
13274         * print.c (std_handle_out_va):
13275         * print.c (fatal):
13276         * print.c (write_string_to_stdio_stream):
13277         * print.c (output_string):
13278         * print.c (debug_print):
13279         * print.c (debug_backtrace):
13280         * print.c (debug_short_backtrace):
13281         Cleaned up the code that prints text to stdout so that this can be
13282         changed to output into a console window instead under MS Windows,
13283         as described above.
13284
13285         * eval.c:
13286         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
13287         * eval.c (internal_catch):
13288         * eval.c (unwind_to_catch):
13289         * eval.c (throw_or_bomb_out):
13290         * eval.c (condition_case_1):
13291         * eval.c (signal_1):
13292         * eval.c (check_error_state_sanity):
13293         * eval.c (call_with_suspended_errors_1):
13294         * eval.c (call_with_suspended_errors):
13295         * eval.c (reinit_vars_of_eval):
13296         Added code to catch throw loops and check for a pesky bug that may
13297         be gone now.
13298
13299         * event-msw.c:
13300         * event-msw.c (key_needs_default_processing_p):
13301         * event-msw.c (mswindows_wnd_proc):
13302         * event-msw.c (mswindows_modifier_state):
13303         * event-msw.c (emacs_mswindows_quit_p):
13304         * event-msw.c (vars_of_event_mswindows):
13305         a) Added support for using the alt key to select menu items as is
13306         standard under MS Windows.  This is controlled using the variable
13307         menu-accelerator-enabled, just like under X Windows.  There is an
13308         option on the options menu to turn this support on.  I really
13309         think that it should be on by default under Windows, but I'm not
13310         going to make this change yet.
13311
13312         b)  Added support for dynamic display size changes under Windows.
13313
13314         * event-stream.c:
13315         * event-stream.c (maybe_echo_keys):
13316         * event-stream.c (Fnext_event):
13317         * event-stream.c (command_builder_find_leaf):
13318         * event-stream.c (lookup_command_event):
13319         * event-stream.c (execute_command_event):
13320         * event-stream.c (pre_command_hook):
13321         * event-stream.c (post_command_hook):
13322         * event-stream.c (syms_of_event_stream):
13323         * event-stream.c (vars_of_event_stream):
13324         * event-stream.c (complex_vars_of_event_stream):
13325         * events.h (struct command_builder):
13326
13327         a) Tried to clean up a little bit the horribly written x-specific
13328         accelerator code that crept into this file.  I moved this code
13329         into menubar-x.c where it belongs. I also needed to move the
13330         command builder structure into the file events.h because it is
13331         accessed directly by this accelerator code.  What I didn't do, but
13332         which should be done at some point, is to properly abstract this
13333         code using device methods instead of the kludgy way that it
13334         currently hooks into the event code.
13335
13336         b) Added the lisp variables this-command-properties and
13337         last-command- properties, which should be used to synchronize two
13338         adjacent commands in preference to playing games with the variable
13339         this-command, which is typically what happens.
13340
13341         c) Added some slightly nasty code to hook into the lisp support
13342         for shifted- motion-key selection.  This is actually necessary for
13343         somewhat complicated reasons, which are described in
13344         simple.el. (NB: I think the proper thing would be to have the code
13345         that calls the pre and post command hooks also call out to generic
13346         lisp functions in simple.el, where all built-in stuff could be
13347         added.  I will think about this more.)
13348
13349         * event-unixoid.c (poll_fds_for_input):
13350         * lread.c (readchar):
13351         * redisplay-tty.c (tty_clear_frame):
13352         * redisplay-x.c (x_get_gc):
13353         * signal.c (interrupt_signal):
13354         And a whole bunch of other files: fixed up places that printed
13355         directly to stderr to instead call the function stderr_out so that
13356         the changes I made under Windows work correctly.
13357
13358         * filemode.c (mode_string):
13359         Warning fixes.
13360
13361         * frame-msw.c:
13362         * frame-msw.c (mswindows_size_frame_internal):
13363         Fixed the computation of frame size and position to keep the frame
13364         within the workspace area, rather than within the physical
13365         dimensions of the screen, so that the frame doesn't overlap window
13366         manager decorations, such as the start menu and toolbar, typically
13367         at the bottom of the screen.
13368
13369         * frame.c (vars_of_frame):
13370         Changed the default frame title format under MS Windows to consist
13371         of buffername-XEmacs, which is standard under MS Windows.  I think
13372         it might be a good idea to change this everywhere because I think
13373         it is superior to the current frame title format, but this is the
13374         kind of change that is likely to cause some people to get annoyed,
13375         so I'm not making it.
13376
13377         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
13378
13379         * gui-msw.c (mswindows_handle_gui_wm_command):
13380         Fixed compile warnings.
13381
13382         * gui-x.c:
13383         * gui-x.c (strdup_and_add_accel):
13384         * gui-x.c (button_item_to_widget_value):
13385         * gui-x.h:
13386         Added code to automatically put an accelerator onto the beginning
13387         of menu items that don't have one as is now the standard, and is
13388         described more later.  Also fixed things so that the menu item
13389         name can be an evaluated expression, again a new standard.
13390
13391         * gui.c:
13392         * gui.c (gui_item_add_keyval_pair):
13393         * gui.c (make_gui_item_from_keywords_internal):
13394         * gui.c (gui_add_item_keywords_to_plist):
13395         * gui.c (gui_item_accelerator):
13396         * gui.c (gui_name_accelerator):
13397         * gui.c (gui_item_included_p):
13398         * gui.c (gui_item_display_flush_left):
13399         * gui.c (gui_item_display_flush_right):
13400         * gui.c (parse_gui_item_tree_item):
13401         * gui.c (parse_gui_item_tree_children):
13402         * gui.c (parse_gui_item_tree_list):
13403         Mule-ized.  Cleanup.  GCPRO addition.
13404
13405         * line-number.c (buffer_line_number):
13406         * lisp.h:
13407         * lisp.h (EMACS_INT_MAX):
13408         Added the manifest constant EMACS_INT_MIN corresponding to the
13409         existing constant EMACS_INT_MAX.  This is partially to fix compile
13410         warnings under Windows, and partly for cleanliness.
13411
13412         * menubar-msw.c:
13413         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
13414         * menubar-msw.c (msw_translate_menu_or_dialog_item):
13415         * menubar-msw.c (displayable_menu_item):
13416         * menubar-msw.c (populate_menu_add_item):
13417         * menubar-msw.c (populate_or_checksum_helper):
13418         * menubar-msw.c (populate_menu):
13419         * menubar-msw.c (update_frame_menubar_maybe):
13420         * menubar-msw.c (prune_menubar):
13421         * menubar-msw.c (msw_char_is_accelerator):
13422         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
13423         * menubar-msw.c (mswindows_handle_wm_command):
13424         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
13425         * menubar-msw.c (mswindows_handle_wm_initmenu):
13426         * menubar-msw.c (mswindows_update_frame_menubars):
13427         * menubar-msw.c (mswindows_free_frame_menubars):
13428         * menubar-msw.c (mswindows_popup_menu):
13429         Fixed a bug in handling accelerators where an extra character
13430         would be displayed in the menu item.  Also generalized the
13431         function displayable_menu_item because it is now used by the
13432         dialog box code as well.  And finally, added code in the functions
13433         that create the menubar to extract a list of accelerators for the
13434         top level menubar, which is used in the event code to determine
13435         whether a particular alt-key combination should be used to invoke
13436         a menu item, or should be passed through to access the standard
13437         XEmacs keymap binding for this key combination.
13438
13439         Much needed GCPROing.
13440
13441         * menubar-x.c:
13442         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
13443         * menubar-x.c (menu_item_descriptor_to_widget_value):
13444         * menubar-x.c (restore_in_menu_callback):
13445         * menubar-x.c (x_popup_menu):
13446         * menubar-x.c (menu_move_up):
13447         * menubar-x.c (menu_move_down):
13448         * menubar-x.c (menu_move_left):
13449         * menubar-x.c (menu_move_right):
13450         * menubar-x.c (menu_select_item):
13451         * menubar-x.c (command_builder_operate_menu_accelerator):
13452         * menubar-x.c (menu_accelerator_junk_on_error):
13453         * menubar-x.c (command_builder_find_menu_accelerator):
13454         * menubar-x.c (Faccelerate_menu):
13455         * menubar.h:
13456         Moved a whole bunch of code here that was previously in
13457         event-stream.c as described above.  There is also code connected
13458         to the new standard of adding an accelerator to the beginning of
13459         menu items that don't have one as described above and below.
13460
13461         * menubar.c:
13462         * menubar.c (menu_parse_submenu_keywords):
13463         * menubar.c (Fmenu_find_real_submenu):
13464         * menubar.c (Fnormalize_menu_item_name):
13465         * menubar.c (syms_of_menubar):
13466         * menubar.c (vars_of_menubar):
13467         * menubar.c (complex_vars_of_menubar):
13468
13469         a) Cleaned up a bunch of documentation and improved it.
13470
13471         b) XEmacs now automatically adds an accelerator onto the beginning
13472         of any menu items that don't have one.  I did this because there
13473         will inevitably be some menu items on the main menubar that don't
13474         have accelerators on them because the package that adds that
13475         particular menu item hasn't yet been fixed up to have accelerators
13476         in them and it looked rather strange to have some items with and
13477         some items without accelerators, especially since even in items
13478         without accelerators, you can, at least under windows, still
13479         access the item through an accelerator corresponding to the first
13480         character in the item's name.  If people don't like this behavior,
13481         I can add a variable to turn it off optionally, but I'm not sure
13482         this is a good idea because we really do need to have accelerators
13483         on all of the menu items, and if a package doesn't like the
13484         accelerators being put on the first character, then it should put
13485         the accelerators where they belong.
13486
13487         c) I made a behavior change, which is that the descriptor that
13488         specifies the text of the menu item, which formerly was just a
13489         string, can now also be an evaluated expression.  This makes this
13490         descriptor parallel with all of the others, which could also be
13491         evaluated expressions.  This also obviates the need for the
13492         keyword :label, which was previously listed in the documentation
13493         as unimplemented, and which was for the same purpose.
13494
13495         d) GCPROing.
13496
13497         * ntproc.c:
13498         * ntproc.c (new_child):
13499         * ntproc.c (sys_spawnve):
13500         * ntproc.c (find_child_console):
13501         * ntproc.c (sys_kill):
13502         Fixed compile warnings.  By the way, this file should really go
13503         away entirely, and this will happen as soon as Kirill makes his
13504         final round of process cleanups, which affect the function
13505         call-process.
13506
13507         * process-nt.c:
13508         * process-nt.c (struct nt_process_data):
13509         * process-nt.c (find_process_from_pid):
13510         * process-nt.c (send_signal_the_nt_way):
13511         * process-nt.c (enable_child_signals):
13512         * process-nt.c (find_child_console):
13513         * process-nt.c (send_signal_the_95_way):
13514         * process-nt.c (nt_finalize_process_data):
13515         * process-nt.c (ensure_console_window_exists):
13516         * process-nt.c (nt_create_process):
13517         * process-nt.c (nt_kill_child_process):
13518         * process-nt.c (nt_kill_process_by_pid):
13519         * process-nt.c (nt_open_network_stream):
13520         * process-nt.c (vars_of_process_nt):
13521         Copied over code from Emacs 20.5 to correctly send signals to sub-
13522         processes under Windows 95.  Also added code to automatically
13523         create and hide console window when a sub-process is created under
13524         Windows 95, which obviates the need for the separate runemacs.exe
13525         executable, and finally implemented some variables that were
13526         implemented in Emacs 20.5, but previously not in XEmacs.  These
13527         include mswindows- start-process-share-console and
13528         mswindows-start-process-inherit-error-mode. (Both of these only
13529         apply to Windows 95.)
13530
13531         * regex.c (regex_compile): Fixed a compile warning.
13532
13533         * select-msw.c:
13534         * select-msw.c (mswindows_own_selection):
13535         * select-msw.c (mswindows_get_foreign_selection):
13536         * select-msw.c (mswindows_disown_selection):
13537         * select-msw.c (console_type_create_select_mswindows):
13538         * select-msw.c (syms_of_select_mswindows):
13539         Cleaned up the file and implemented the device method
13540         selection_exists_p, which had accidentally been left out.  Also
13541         removed four lisp functions that were remnants from before the
13542         time when the selection code was properly device abstracted.
13543         These functions are no longer needed because there are generic
13544         equivalents, and because they were added recently and don't exist
13545         in FSF Emacs, I don't think there's any problem with just deleting
13546         them.
13547
13548         * sysdep.c:
13549         * sysdep.c (sys_subshell):
13550         Fixed a compile warning, although in this case there's probably
13551         something wrong with this code, and it ought to be looked into
13552         more thoroughly by somebody who understands it.
13553
13554         * window.c:
13555         * window.c (Fwindow_text_area_height):
13556         * window.c (Fwindow_width):
13557         * window.c (Fwindow_full_width):
13558         * window.c (Fwindow_pixel_width):
13559         * window.c (debug_print_window):
13560         * window.c (syms_of_window):
13561         Added functions window-text-area-height and window-full-width,
13562         which are functions for returning various width and height
13563         characteristics of a window. (One of these functions is necessary
13564         for making the file dialog box work correctly, and the other one
13565         was added for completeness.)  Also added a table to the
13566         documentation for window-height which describes the entire scheme
13567         for accessing width and height characteristics of a window.
13568
13569 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13570
13571         * nt.c (fstat): Added a comment for another problem with
13572         non-encapsulated [f]stat(), reported by Adrian Aichner
13573         <aichner@ecf.teradyne.com>.
13574
13575 2000-03-11  Andy Piper  <andy@xemacs.org>
13576
13577         * window.c (make_dummy_parent): initialize subwindow instance
13578         cache.
13579         (Fset_window_configuration): zero extent_modiff.
13580
13581 2000-03-10  Andy Piper  <andy@xemacs.org>
13582
13583         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
13584         more changes can be triggered.
13585         (Fredisplay_frame): ditto.
13586         (Fredraw_device): ditto.
13587         (Fredisplay_device): ditto.
13588         (redisplay_frame): make non-static.
13589         (redisplay_frame): call update_frame_gutter_geometry outside of
13590         display proper.
13591
13592         * gutter.h: declare update_frame_gutter_geometry.
13593
13594         * redisplay.h: declare redisplay_frame.
13595
13596         * gutter.c (update_frame_gutter_geometry): move geometry changes
13597         in update_frame_gutters here. Geometry changes can only occur
13598         outside of redisplay.
13599         (update_frame_gutters): remove geometry change code.
13600         (Fredisplay_gutter_area): make sure that we are in display when we
13601         update and that we have flushed any size changes.
13602
13603 2000-03-11  Andy Piper  <andy@xemacs.org>
13604
13605         * alloc.c (pdump_dump_data): remove i & count shadows.
13606
13607 2000-02-27  Mike Alexander  <mta@arbortext.com>
13608
13609         * sysdep.h: Declare pdump_read_file
13610
13611         * sysdep.c (pdump_read_file): New function
13612
13613         * alloc.c (pdump_load): Call pdump_read_file to get the portable
13614         dump data
13615
13616 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13617
13618         * lrecord.h: add `lrecord_type_pgsetenv'.
13619
13620 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
13621
13622         * symsinit.h: declare (vars|syms)_of* functions.
13623         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
13624
13625 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
13626
13627         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
13628
13629         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
13630         GCCs.
13631
13632         * emacs.c (main_1): Call postgres initialization code.
13633
13634         * postgresql.h: New file.  PostgreSQL RDBMS support.
13635         * postgresql.c: New file.
13636
13637 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
13638
13639         * redisplay-output.c (redisplay_output_display_block): Disable
13640         redundant code.
13641
13642 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13643
13644         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
13645         (Fcanna_henkan_next): Ditto.
13646         (Fcanna_bunsetu_henkou): Ditto.
13647         (Fcanna_henkan_kakutei): Ditto.
13648         (Fcanna_henkan_end): Ditto.
13649         (Fcanna_henkan_quit): Ditto.
13650         (Fcanna_henkan_next): Set retun value correctly.
13651         (c2mu): Use unsigned char instead of signed char.
13652
13653 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13654
13655         * emacs.c (main_1): Always call syms_of_gui.
13656         * inline.c: include gui.h
13657
13658 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13659
13660         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
13661         converted to Lisp_Object.
13662         (Qtop_bottom): New variable.
13663         (syms_of_redisplay): Initialize it.
13664         * redisplay.h (Vvisible_bell): Ditto.
13665         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
13666         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
13667         only flash top and bottom.
13668
13669 2000-03-08  Andy Piper  <andy@xemacs.org>
13670
13671         * buffer.c (Frename_buffer): record new buffer name the right way.
13672
13673 2000-03-08  Andy Piper  <andy@xemacs.org>
13674
13675         * glyphs.c (update_subwindow): increase hash depth so that widget
13676         items get picked up properly.
13677
13678         * redisplay-output.c (compare_runes): increase hash depth so that
13679         widget items get picked up properly.
13680
13681 2000-03-08  Andy Piper  <andy@xemacs.org>
13682
13683         * gutter.c (output_gutter): add some debug.
13684
13685         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
13686         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
13687         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
13688
13689         * redisplay-output.c (compare_runes): use display_hash to
13690         determine if glyphs really are not the same.
13691
13692         * glyphs.c (update_subwindow): check display_hash to see if
13693         anything really needs to be updated. If not then do
13694         nothing. Record the display_hash after updating.
13695         (image_instance_equal): compare the image_instance face also.
13696
13697 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
13698
13699         * redisplay.h: Fix comment style.
13700
13701 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13702
13703         * consle-msw.h (struct mswindows_frame):
13704         Added new member paint_pending to indicate whether a WM_PAINT
13705         magic event has been queued for this frame.
13706
13707         * event-msw.c (mswindows_drain_windows_queue):
13708         Don't queue a WM_PAINT magic event if one is already queued.
13709         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
13710
13711         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
13712
13713 2000-03-07  Didier Verna  <didier@xemacs.org>
13714
13715         * dired.c: #include `regex.h' after `sysfile.h'.
13716
13717 2000-03-06  Martin Buchholz  <martin@xemacs.org>
13718
13719         * sound.c (init_nas_sound): Fix compiler warning.
13720
13721         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
13722         (FREE_STRUCT_P):
13723         (MARK_STRUCT_AS_FREE):
13724         (MARK_STRUCT_AS_NOT_FREE):
13725         Make `gcc -fstrict-aliasing' work properly.
13726
13727 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13728
13729         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
13730         (mswindows_delete_device): Call CoUnnitialize().
13731
13732         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
13733
13734 2000-02-25    <CraigL@DyCon.com>
13735
13736         * process-nt.c: MinGW now has <shellapi.h>, but still needs
13737         <errno.h>.
13738
13739         * sysdep.c: This extern declaration for environ prevents MinGW
13740         from finding the variable in CRTDLL.DLL.
13741
13742         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
13743         windows headers.
13744         (SHGFI_EXETYPE): ..
13745         (WM_MOUSEWHEEL): ..
13746         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
13747         definitions.
13748         (MMRESULT): Removed, now defined in cygwin's windows headers.
13749         (TIMECAPS): ..
13750         (uid_t,gid_t,pid_t,ssize_t): ..
13751         (_timeb): Removed, MinGW defines both _timeb and timeb.
13752         (HAVE_H_ERRNO): Added.
13753         (HAVE_TZNAME): Added, configure is not detecting this.
13754
13755 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
13756
13757         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
13758         * syntax.c (syntax_match): Use it.
13759
13760         * cmds.c: Import auto-fill-chars from FSF Emacs.
13761         (Vauto_fill_chars): New variables.
13762         (internal_self_insert): Check Vauto_fill_chars.
13763         (vars_of_cmds):
13764         Declare auto-fill-chars as a Lisp variable and initialize it.
13765
13766 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13767
13768         * fileio.c (Fmake_symbolic_link):
13769         (Ffile_symlink_p):
13770         Run handlers even if local machine doesn't have symlinks.
13771
13772 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13773
13774         * event-msw.c (mswindows_drain_windows_queue):
13775         Don't generate paint magic events for non-XEmacs frames.
13776
13777 2000-03-05  Andy Piper  <andy@xemacs.org>
13778
13779         * redisplay.c (redisplay_frame): generate_displayable_area and
13780         friends assumes that we are not in GC, we therefore have to make
13781         sure that this doesn't happen.
13782
13783         * gutter.c (calculate_gutter_size): generate_displayable_area
13784         assumes that we are not in GC, we therefore have to make sure that
13785         this doesn't happen.
13786
13787 2000-03-05  Martin Buchholz  <martin@xemacs.org>
13788
13789         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
13790
13791 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13792
13793         * redisplay.c (regenerate_window): Make sure we set a sane value
13794         for end_pos even if we jump out of the loop.
13795         (regenerate_window): Answer Ben's question :-).
13796         (start_end_of_last_line): Add may_error argument.
13797         (start_of_last_line):
13798         (end_of_last_line): Pass may_error = 0.
13799         (end_of_last_line_may_error): New function.
13800         (pixel_to_glyph_translation): Use it, so we don't crash in
13801         event_to_glyph.
13802
13803 2000-03-04  Andy Piper  <andy@xemacs.org>
13804
13805         * window.h (struct window): add gutter_extent_modiff.
13806
13807         * window.c (allocate_window): zero out gutter_extent_modiff.
13808
13809         * redisplay.h: declare sync_display_line_structs.
13810
13811         * redisplay.c (add_glyph_rune): add a better comment.
13812
13813         * redisplay-output.c (sync_display_line_structs): made non-static.
13814         (compare_runes): remove unneccesary glyph cachel access.
13815
13816         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
13817
13818         * gutter.c (output_gutter): don't output the gutter if extent
13819         changes only involve extents in buffers. use 4 sets of display
13820         lines.
13821         (gutter_extent_signal_changed_region_maybe): new function. Mark
13822         extents in gutters as changed.
13823         (update_frame_gutters): use 4 sets of display lines.
13824         (reset_gutter_display_lines): ditto.
13825         (free_frame_gutters): ditto.
13826         (redraw_exposed_gutter): force output of gutters.
13827
13828         * frame.h (struct frame): add 4 sets of gutter display lines.
13829
13830         * extents.c: (extent_changed_for_redisplay): signal changes to
13831         extents in strings in the gutter as well as extents in buffers.
13832
13833 2000-03-02  Andy Piper  <andy@xemacs.org>
13834
13835         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
13836
13837         * frame.c (Fmake_frame): make sure the gutters get initialized
13838         after the frame is visible.
13839         (set_frame_selected_window): re-arrange compilation macros a
13840         little.
13841         (change_frame_size_1): mark gutters changed.
13842
13843         * device.c (Fset_device_class): mark gutters changed.
13844
13845 2000-03-01  Andy Piper  <andy@xemacs.org>
13846
13847         * window.c (window_top_frame_gutter_height): deleted.
13848         (window_bottom_frame_gutter_height): ditto.
13849         (window_left_frame_gutter_height): ditto.
13850         (window_right_frame_gutter_height): ditto.
13851         (window_top_gutter_height): don't use them.
13852         (window_bottom_gutter_height): ditto.
13853         (window_left_gutter_width): ditto.
13854         (window_right_gutter_width): ditto.
13855         (Fsplit_window): ditto.
13856         (Fwindow_pixel_edges): don't use border dimensions here.
13857
13858         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
13859         (update_scrollbar_instance): ditto.
13860
13861         * redisplay.c (generate_modeline): don't take gutters into account.
13862         (generate_modeline): ditto.
13863         (redisplay_frame): small gutter display optimization.
13864
13865         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
13866
13867         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
13868         gutters into account.
13869
13870         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
13871         for window position and type.
13872
13873         * gutter.c (get_gutter_coords): fix for frame gutters.
13874         (update_frame_gutters): update frame geometry if the gutters have
13875         changed.
13876         (init_frame_gutters): record current gutter geometries.
13877
13878         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
13879         var.
13880         (mswindows_widget_instantiate): ditto.
13881
13882         * frame.h (struct frame): add current_gutter_bounds.
13883
13884         * frame.c (change_frame_size_1): position window and minibuffer
13885         appropriately taking into account the frame gutters.
13886
13887         * frame-x.c: (x_initialize_frame_size): take into account the
13888         frame gutters.
13889
13890 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13891
13892         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
13893
13894 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13895
13896         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
13897
13898 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13899
13900         * file-coding.c (reset_decoding_stream): Clear previous
13901         detection state when autodetect.
13902
13903 2000-02-29  Didier Verna  <didier@xemacs.org>
13904
13905         * extents.c (set_extent_glyph_1): don't require extents to be
13906         attached.
13907
13908 2000-02-27  Andy Piper  <andy@xemacs.org>
13909
13910         * gutter.c (Fset_default_gutter_position): don't default left and
13911         right gutter visibility to t.
13912         (Fset_default_gutter_position): run
13913         default-gutter-position-changed-hook.
13914         (syms_of_gutter): add default-gutter-position-changed-hook.
13915
13916 2000-02-26  Andy Piper  <andy@xemacs.org>
13917
13918         * specifier.c (Fmake_specifier): add gutter references.
13919
13920         * gutter.h (RAW_WINDOW_GUTTER): new macro.
13921
13922         * lisp.h: declare Fvalid_plist_p.
13923
13924         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
13925         as changed.
13926         (default_gutter_visible_p_changed_in_window): invalidate gutter as
13927         well as its visibility so that it gets reconstructed.
13928         (construct_window_gutter_spec): new function. Construct a string
13929         to be displayed in the gutter from a plist of strings. Take care
13930         to only use elements that are declared as visible.
13931         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
13932         WINDOW_GUTTER.
13933         (gutter_validate): allow plists of strings in the specifier.
13934         (gutter_specs_changed): construct the real_gutter from the gutter
13935         specs using construct_window_gutter_spec.
13936         (gutter_visible_validate): gutter-visible is a new specifier type.
13937         (Fgutter_visible_specifier_p): new function for the new specifier.
13938         (syms_of_gutter): declare gutter-visible and
13939         Fgutter_visible_specifier_p.
13940         (specifier_type_create_gutter): intitalize new gutter-visible
13941         specifier.
13942         (reinit_specifier_type_create_gutter): ditto.
13943         (specifier_vars_of_gutter): use new specifier type for gutter
13944         visibility.
13945         (init_frame_gutters): construct real_gutter correctly.
13946         (Fgutter_specifier_p): beef up documentation.
13947         (Fgutter_size_specifier_p): ditto.
13948
13949         * winslots.h: add real_gutter slots.
13950
13951 2000-02-25  Andy Piper  <andy@xemacs.org>
13952
13953         * device-msw.c: Be kind to older cygwin versions. From Raymond
13954         Toy <toy@rtp.ericsson.se>.
13955
13956         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
13957         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
13958
13959 2000-02-25  Martin Buchholz  <martin@xemacs.org>
13960
13961         * elhash.c (MARK_OBJ): Practice macro hygiene.
13962
13963 2000-02-24  Martin Buchholz  <martin@xemacs.org>
13964
13965         * miscplay.c: s/__inline__/inline/g;
13966         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
13967         (get_device_compdc): INLINE ==> static inline
13968         * *.[ch]: Change INLINE to INLINE_HEADER globally.
13969         find -name '*.h' | \
13970         xargs global-replace \
13971         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
13972
13973 2000-02-25  Andy Piper  <andy@xemacs.org>
13974
13975         * window.c (window_top_frame_gutter_height): new function.
13976         (window_top_window_gutter_height): ditto.
13977         (window_top_gutter_height): use them.
13978         (window_bottom_frame_gutter_height): new function.
13979         (window_bottom_window_gutter_height): ditto.
13980         (window_bottom_gutter_height): use them.
13981         (window_left_window_gutter_width): new function.
13982         (window_left_frame_gutter_width): ditto.
13983         (window_left_gutter_width): use them.
13984         (window_right_window_gutter_width): new function.
13985         (window_right_frame_gutter_width): ditto.
13986         (window_right_gutter_width): use them.
13987         (window_pixel_height): new function. calulate window pixel height
13988         with frame gutter involvement.
13989         (Fsplit_window): calculate new sizes taking frame gutters into
13990         account.
13991         (window_char_height_to_pixel_height): don't include frame gutters.
13992         (window_char_height): use window_pixel_height.
13993         (window_pixheight): rename from window_pixel_height.
13994         (change_window_height): use it.
13995         (window_pixel_height_to_char_height): don't include frame gutters.
13996         (window_char_width_to_pixel_width): ditto.
13997
13998 2000-02-25  Andy Piper  <andy@xemacs.org>
13999
14000         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
14001         if it is.
14002
14003 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14004
14005         * alloc.c (staticpro):
14006         (staticpro_nodump):
14007         (dumpstruct):
14008         (dumpopaque):
14009         (pdump_wire):
14010         (pdump_wire_list):
14011         (compact_string_chars):
14012         (pdump_dump_wired):
14013         Convert:  if (foo) abort();  ==>  assert (! foo);
14014
14015         * eldap.c (Fldap_search_basic):
14016         (Fldap_add):
14017         (Fldap_modify):
14018         (Fldap_delete):
14019         Fix compiler warnings, and possible crashes if (random) return
14020         value were to be used.
14021
14022 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14023
14024         * device-msw.c: Workaround ResetDC failure.
14025
14026         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
14027         applying a devmode.
14028
14029         * redisplay-msw.c (get_frame_dc): Added start_page_p.
14030         (mswindows_text_width): Do not start printer page.
14031
14032         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
14033
14034         * glyphs-msw.c: Added image methods to msprinter console and
14035         msprinter-specific image instantiation.
14036
14037 2000-02-20  Mike Alexander  <mta@arbortext.com>
14038
14039         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
14040         to avoid crashes when selection-sets-clipboard is on
14041         (mswindows_own_selection): ditto
14042
14043 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14044
14045         * glyphs-msw.c:
14046         * redisplay-msw.c (get_frame_dc):
14047         (get_frame_compdc):
14048         * console-msw.h:
14049         * device-msw.c (mswindows_init_device):
14050         (mswindows_delete_device):
14051         (msprinter_init_device):
14052         (msprinter_delete_device):
14053         * frame-msw.c (mswindows_init_frame_1):
14054         (mswindows_delete_frame):
14055         (msprinter_init_frame_3):
14056         (msprinter_delete_frame): Move compatible DC to device object from
14057         frame object, for both mswindows and msprinter. Only one at a time
14058         is needed, it is a real waste to have one per frame!
14059
14060 2000-02-23  Andy Piper  <andy@xemacs.org>
14061
14062         * glyphs.c: add dynamic width and height elements.
14063         (image_instance_equal): ditto.
14064
14065         * glyphs-widget.c (widget_query_geometry): calculate width and
14066         height dynamically if required.
14067         (initialize_widget_image_instance): initialize dynamic dimensions.
14068         (widget_instantiate): pick-up dynamic dimensions.
14069
14070         * glyphs.h (struct Lisp_Image_Instance): add width and height for
14071         dynamic determination. Add appropriate macros.
14072
14073         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
14074         dimensions safe.
14075         (WINDOW_GUTTER_SIZE): ditto.
14076         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
14077
14078         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
14079         inline.
14080         (get_frame_dc): ditto.
14081
14082         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
14083         here.
14084
14085 2000-02-23  Martin Buchholz <martin@xemacs.org>
14086
14087         * XEmacs 21.2.31 is released.
14088
14089 2000-02-22  Ben Wing <ben@xemacs.org>
14090
14091         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
14092
14093 2000-02-22  Andy Piper  <andy@xemacs.org>
14094
14095         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
14096
14097 2000-02-21  Mike Sperber <mike@xemacs.org>
14098
14099         * .dbxrc:
14100         * .gdbinit:
14101         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
14102         variables.
14103
14104 2000-02-21  Mike Sperber <mike@xemacs.org>
14105
14106         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
14107
14108 2000-02-21  Martin Buchholz <martin@xemacs.org>
14109
14110         * XEmacs 21.2.30 is released.
14111
14112 2000-02-20  Martin Buchholz  <martin@xemacs.org>
14113
14114         Performance hacking.
14115         * *.c (syms_of_*):
14116         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
14117         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
14118         * emacs.c (main_1):
14119         * lisp.h (DEFUN):
14120         * console.c (DEFVAR_CONSOLE_LOCAL_1):
14121         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
14122         * symeval.h (DEFVAR_SYMVAL_FWD):
14123         * symbols.c (guts_of_unbound_marker):
14124         Make all c_readonly objects also lisp_readonly and marked for life.
14125         * lrecord.h (struct lrecord_implementation):
14126         Document flags better.
14127         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
14128         * lrecord.h (DECLARE_LRECORD):
14129         * lrecord.h (XSETRECORD):
14130         * lrecord.h (RECORDP):
14131         * lrecord.h (RECORD_TYPEP):
14132         * lrecord.h (RECORD_MARKER): New.
14133         * lrecord.h (error_check_*):
14134         * lrecord.h (CONCHECK_NONRECORD):
14135         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
14136         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
14137         * lrecord.h (set_lheader_implementation):
14138         * lrecord.h (enum lrecord_type): New.
14139         * symeval.h (SYMBOL_VALUE_MAGIC_P):
14140         * alloc.c (disksave_object_finalization_1):
14141         * alloc.c (mark_object):
14142         * alloc.c (lrecord_type_index):
14143         * alloc.c (tick_lcrecord_stats):
14144         * alloc.c (Fgarbage_collect):
14145         * alloc.c (init_alloc_once_early):
14146         * alloc.c (pdump_load):
14147         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
14148         * alloc.c (lrecord_type_index): Delete.
14149         Make lisp object type indexes be constant.
14150           Makes (byte-compile) 5% faster.
14151         Put all marker functions into their own array.
14152           Makes (garbage-collect) 5% faster.
14153         Optimize SYMBOL_VALUE_MAGIC_P.
14154           Makes (byte-compile) 2-3% faster.
14155         * config.h.in (gc_checking_assert): New.
14156         * alloc.c: Use gc_checking_assert().
14157         * .dbxrc: Make compatible with new object type implementation.
14158         * .gdbinit: Make compatible with new object type implementation.
14159         * alloc.c: Delete all symbols defined only for debugging, such as
14160         Lisp_Type_Vector and lrecord_charset.
14161
14162 2000-02-21  Andy Piper  <andy@xemacs.org>
14163
14164         * gui-msw.c (Fmswindows_shell_execute): fix file location
14165         problems.
14166
14167         * buffer.c (Fkill_buffer): remove buffer from alist buffer
14168         unshowing so that set_window_buffer doesn't undo
14169         kill_buffer_hook's hard work.
14170
14171         * glyphs-widget.c (tab_control_query_geometry): don't count the
14172         first item when calculating geometry.
14173
14174         * glyphs.c (map_subwindow): remove redundant code.
14175         (update_frame_subwindows): be more circumspect about when to
14176         update subwindows.
14177
14178         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
14179         when items haven't changed. Update faces if faces have changed as
14180         well as just the widget face.
14181         (x_tab_control_update): Update faces if faces have changed as well
14182         as just the widget face.
14183
14184 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14185
14186         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
14187         registration.
14188         (build_syscolor_string): Use mswindows_color_to_string to try to
14189         get a named color.
14190         (mswindows_device_system_metrics): Reverse the foreground and
14191         background colors so that they match the documentation.
14192
14193         * objects-msw.c: (mswindows_X_color_map): tweak some values so
14194         they match the default Windows palette.
14195         (mswindows_color_to_string): New function.
14196
14197 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14198
14199         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
14200
14201 2000-02-18  Olivier Galibert  <galibert@pobox.com>
14202
14203         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
14204         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
14205
14206         * symbols.c (init_symbols_once_early): Removed obsolete
14207         DATA_SEG_BITS related kludge.
14208         (defvar_magic): Ditto.
14209
14210         * malloc.c: Removed obsolete DATA_SEG_BITS
14211         * ralloc.c: Ditto.
14212         * mem-limits.h: Ditto.
14213
14214         * Makefile.in.in: Removed obsolete HAVE_SHM
14215         * emacs.c: Ditto.
14216
14217 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14218
14219         *  device-msw.c (mswindows_delete_device): Free DDE string
14220         handles.
14221
14222 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14223
14224         * keymap.c (get_keyelt):
14225         * unexnt.c (unexec):
14226         * vm-limit.c (memory_warnings):
14227         * ntheap.c (recreate_heap):
14228         * ntheap.h (UNINIT_PTR):
14229         * select-msw.c (Fmswindows_get_clipboard):
14230         (Fmswindows_set_clipboard):
14231         * objects-msw.h (MSWINDOWS_BAD_HFONT):
14232         * objects-msw.c:
14233         * menubar-msw.c (displayable_menu_item):
14234         * glyphs-msw.c:
14235         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
14236         * sysdep.c (sys_subshell):
14237         * process-nt.c (nt_create_process):
14238         * nt.c (normalize_filename):
14239         (dostounix_filename):
14240         (unixtodos_filename):
14241         * ntproc.c (win32_executable_type):
14242         * ntplay.c (play_sound_data_1):
14243         (play_sound_file):
14244         * editfns.c (get_home_directory):
14245         * event-msw.c (struct winsock_stream):
14246         (mswindows_dde_callback):
14247         * device-msw.c (msprinter_init_device):
14248         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
14249
14250         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
14251         mswindows_clear_toolbar were swapped!
14252
14253         * objects-msw.c:(colormap_t):
14254         (fontmap_t):
14255         * emacs.c (struct standard_args): Fixed const jumble.
14256
14257         * glyphs-widget.c (update_widget): Fixed comparison notation.
14258
14259         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
14260
14261         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
14262         __declspec(noreturn) syntax.
14263
14264 2000-02-19  Martin Buchholz  <martin@xemacs.org>
14265
14266         * eldap.c (Fldap_open):
14267         (Fldap_search_basic):
14268         (Fldap_add):
14269         (Fldap_modify):
14270         Use new coding system conversion macros.
14271
14272 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14273
14274         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
14275
14276 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
14277
14278         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
14279         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14280
14281         * eldap.c (Qadd, Qreplace): New constant symbols
14282         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
14283         interruptions by XEmacs signals
14284         Remove unnecessary calls to slow_down_interrupts and
14285         speed_up_interrupts
14286         (Fldap_search_basic): Renamed from Fldap_search_internal
14287         Added new optional parameter VERBOSE that triggers the
14288         display of progress messages
14289         Remove unnecessary calls to slow_down_interrupts and
14290         speed_up_interrupts
14291         LDAP result code analysis rewritten
14292         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14293         (syms_of_eldap): Define the new symbols and functions
14294
14295
14296 2000-02-17  Martin Buchholz  <martin@xemacs.org>
14297
14298         * realpath.c: Determine PATH_MAX maximally portably.
14299
14300         * insdel.c (bytecount_to_charcount): Optimize.
14301         The function used to be optimized for entirely ASCII sequences.
14302         Now it is optimized for successive characters from the same
14303         charset.  This also wins big for _mostly_ ASCII sequences.
14304
14305         * fileio.c (Ffile_truename): convert return from realpath() using
14306         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
14307         - Rewrite GCPROing slightly.
14308
14309         * sysdep.c (sys_open): Do filename conversion, like all other
14310         sys_* functions.  Fixes bug:
14311         (let ((file-name-coding-system 'iso-8859-2))
14312            (write-region x y latin2-name))
14313         ==> writes filename using internal encoding.
14314
14315 2000-02-18  Martin Buchholz  <martin@xemacs.org>
14316
14317         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
14318         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
14319         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
14320         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
14321         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
14322         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
14323         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
14324         (CONST_IF_NOT_DEBUG): Delete.
14325         * alloc.c (this_one_is_unmarkable): Delete.
14326         (mark_object): Don't check for this_one_is_unmarkable. Use the
14327         c_readonly flag instead.
14328         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
14329
14330 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14331
14332         * event-msw.c (mswindows_drain_windows_queue):
14333         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
14334         away redundant repaint events.
14335
14336 2000-02-17  Andy Piper  <andy@xemacs.org>
14337
14338         * redisplay.h: declare mark_redisplay_structs.
14339
14340         * redisplay.c (redisplay_window):
14341         (redisplay_frame): don't check subwindows_state_changed.
14342         (mark_redisplay): mark gutters here.
14343
14344         * glyphs.c: (instantiate_image_instantiator): always layout if we
14345         haven't done so already.
14346         (allocate_image_instance): don't mark as dirty.
14347         (update_subwindow): bind inhibit_quit.
14348
14349         * gutter.c (mark_gutters): new function.
14350
14351         * glyphs-x.c (x_update_widget): Always resize to get round a
14352         widget bug.
14353
14354         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
14355         breaking absolutely everything.
14356
14357         * gutter.h: declare mark_gutters.
14358
14359 2000-02-16  Martin Buchholz <martin@xemacs.org>
14360
14361         * XEmacs 21.2.29 is released.
14362
14363 2000-02-15  Olivier Galibert  <galibert@pobox.com>
14364
14365         * fns.c (size_bit_vector): Fix computation of the size.
14366
14367 2000-02-15  Martin Buchholz  <martin@xemacs.org>
14368
14369         * *.[ch]: Change CONST to const globally.
14370         find -name '*.[ch]' | \
14371         xargs global-replace \
14372         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
14373         - Remove vestigial references to CONST_IS_LOSING
14374
14375 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14376
14377         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
14378         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
14379         events instead of dispatching them directly.
14380         (mswindows_handle_paint): New function to do repainting.
14381         (mswindows_wnd_proc):
14382         (emacs_mswindows_handle_magic_event): Call above function.
14383
14384 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14385
14386         * objects-msw.c (mswindows_create_font_variant): Return the new
14387         font handle.
14388         (initialize_font_instance): Get font metrics from the underlined
14389         variant of the font to cope with the case where the underlined
14390         font has a bigger descent.
14391
14392 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14393
14394         * gui.c (gui_item_accelerator): Return the first underlined
14395         character in item name.
14396
14397 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14398
14399         * lisp.h: Added Qprinter.
14400
14401         * general.c (syms_of_general): Initialized it.
14402
14403         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
14404         (get_frame_dc):
14405         (get_frame_compdc): Made inline.
14406
14407         * console.h (struct console_methods): Added eject_page method.
14408
14409         * frame.h: Added FRAME_DISPLAY_P and friends.
14410         Aligned backslahes in many macros in more readable fashion.
14411         Added page_number to struct frame, and an accessor macro
14412         for it.
14413
14414         * defice.h: Added DEVICE_DISPLAY_P and friends.
14415
14416         * device.c (Fdevice_printer_p): Used these.
14417
14418         * frame.c (allocate_frame_core): Initialize page number.
14419         (Fprint_job_page_number):
14420         (Fprint_job_eject_page): Implemented.
14421
14422         * frame-msw.c (msprinter_eject_page): Added method.
14423         (msprinter_start_page): Added.
14424
14425         * window.c (Fwindow_truncated_p): Fixed docstring.
14426         (Fwindow_last_line_visible_height): Implemented.
14427
14428 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14429
14430         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
14431
14432 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14433
14434         * syntax.c (scan_words): Always advance at least one character.
14435
14436 2000-02-13  Andy Piper  <andy@xemacs.org>
14437
14438         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
14439         to make sure the glyph is in the cachels.
14440
14441         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
14442         global image instance flag.
14443         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
14444         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
14445
14446         * glyphs.c (allocate_image_instance): set dirty bits correctly.
14447         (Fset_image_instance_property): mark layout as changed.
14448         (invalidate_glyph_geometry_maybe): mark layout as changed.
14449         (glyph_width): use new NEEDS_LAYOUT macro.
14450         (glyph_ascent): ditto.
14451         (glyph_descent): ditto.
14452         (glyph_height): ditto.
14453         (image_instance_layout): mark layout as clean after laying out.
14454         (update_subwindow): don't mark layout as clean here.
14455
14456         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
14457         should no longer be needed.
14458
14459         * glyphs-x.c (x_update_widget): sanitize asserts.
14460         (x_finalize_image_instance): sanitize assignment to widgets.
14461
14462         * glyphs-widget.c (widget_instantiate): don't need to clear the
14463         layout flag here.
14464
14465 2000-02-13  Martin Buchholz  <martin@xemacs.org>
14466
14467         * sysdep.c (getcwd): Use standard prototype.
14468         * sysdep.h (getcwd): Use standard prototype.
14469
14470         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
14471         (sequence, start, end).
14472         Remove redundant type checking.
14473         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
14474         view of `caller-protects') to avoid a crash where the real fix was
14475         found elsewhere.
14476
14477 2000-02-12  Martin Buchholz  <martin@xemacs.org>
14478
14479         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
14480
14481         * s/sol2.h: Remove feature macro initialization.
14482
14483         * alloc.c (alloc_lcrecord): Add more type checking assertions.
14484         (vector_hash): New.  Code from internal_hash.
14485         * lrecord.h:
14486         Fix up allocation subsystem comments.
14487
14488         * config.h.in: Add __EXTENSIONS__ for Solaris.
14489
14490         * systime.h (EMACS_GETTIMEOFDAY): New.
14491         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
14492         Remove Solaris-specific code.
14493         Use void* for the (ignored) second arg for gettimeofday().
14494
14495         * elhash.c (hash_table_hash): Implement it, finally.
14496         * elhash.c:  Use hashcode_t.
14497
14498         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
14499         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
14500
14501         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
14502         * fns.c (size_bit_vector):
14503         * alloc.c (size_vector):
14504         (make_vector_internal):
14505         (make_bit_vector_internal):
14506         (sweep_bit_vectors_1):
14507         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
14508
14509 2000-02-10  Martin Buchholz  <martin@xemacs.org>
14510
14511         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
14512         Include strings.h to avoid warnings for bzero and strcasecmp.
14513
14514 2000-02-10  Olivier Galibert  <galibert@pobox.com>
14515
14516         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
14517         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
14518
14519         * fns.c (size_bit_vector): New.  Declare bit vectors as a
14520         sequence.
14521
14522 2000-02-10  Olivier Galibert  <galibert@pobox.com>
14523
14524         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
14525         use a value field instead.
14526         (symbol_value_forward_forward): Use value field.
14527         (DEFVAR_SYMVAL_FWD): Use value field.
14528         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
14529         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
14530         (DEFVAR_CONST_INT): Ditto.
14531         (DEFVAR_BOOL): Ditto.
14532         (DEFVAR_CONST_BOOL): Ditto.
14533         (DEFVAR_INT_MAGIC): Ditto.
14534         (DEFVAR_BOOL_MAGIC): Ditto.
14535
14536         * symbols.c (guts_of_unbound_marker): Use value field.
14537         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
14538         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
14539
14540         * lisp.h: Declare dumpopaque and noninteractive1.
14541
14542         * alloc.c (dumpopaque): Added.
14543         (pdump_dump_opaquevec): Added.
14544         (pdump): Call pdump_dump_opaquevec to dump opaque data.
14545         (pdump_load): Reload opaque data.  Sync noninteractive1 with
14546         noninteractive.
14547
14548 2000-02-10  Andy Piper  <andy@xemacs.org>
14549
14550         * glyphs.c (image_instance_layout): if the size changes, mark it
14551         as such.
14552
14553         * redisplay-output.c (redisplay_output_layout): Update the
14554         subwindow here.
14555         (redisplay_output_subwindow): ditto.
14556
14557         * glyphs.c (update_subwindow): make sure we reset flags for
14558         layouts as well as everything else.
14559
14560         * glyphs-widget.c (layout_layout): don't need to set the instances
14561         dimensions here.
14562
14563 2000-02-09  Martin Buchholz  <martin@xemacs.org>
14564
14565         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
14566         not HAVE_DLOPEN, which is a lower-level thing.
14567
14568         * .cvsignore: Ignore gmon.out
14569
14570 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
14571
14572         * .cvsignore: Ignore portable dumper xemacs.dmp file
14573
14574 2000-02-09  Andy Piper  <andy@xemacs.org>
14575
14576         * redisplay-output.c (redisplay_output_layout): be more clever
14577         about when we output based on the changed flags.
14578
14579         * glyphs.h (struct image_instantiator_methods): add update_method.
14580         (struct Lisp_Image_Instance): add changed flags. Declare new
14581         macros for manipulating them.
14582
14583         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
14584         (image_instance_parent_glyph): find an image_instance's parent
14585         glyph or image_instance.
14586         (image_instance_layout): mark the size as changed.
14587         (set_image_instance_dirty_p): new function. mark an image
14588         instance, plus all of its parents, as dirty.
14589         (Fset_image_instance_property): use it.
14590         (Fglyph_animated_timeout_handler): use it.
14591         (update_subwindow): call update_widget and device methods for
14592         update_subwindow. Mark all changed flags as clean.
14593         (Fresize_subwindow): mark size as changed.
14594
14595         * glyphs-x.c (x_finalize_image_instance): try and detect gc
14596         failures.
14597         (x_update_subwindow): only resize subwindows here.
14598         (x_update_widget): new function. Update all changed properties of
14599         a widget.
14600         (x_resize_subwindow): deleted.
14601         (x_widget_set_property): deleted.
14602         (x_progress_gauge_set_property): deleted.
14603         (x_progress_gauge_update): new function. Implement recorded
14604         changes.
14605         (x_tab_control_update): ditto.
14606         (x_tab_control_set_property): deleted.
14607         (console_type_create_glyphs_x): declare new functions.
14608         (image_instantiator_format_create_glyphs_x): ditto.
14609
14610         * glyphs-widget.c (widget_set_property): mark text changed.
14611         (update_widget): new function. Update properties of a widget.
14612         (widget_instantiate): for layouts make sure we set their
14613         children's parent correctly.
14614         (tab_control_set_property): new function. Record changes that will
14615         take place under redisplay's control.
14616         (progress_gauge_set_property): ditto.
14617         (image_instantiator_progress_guage): declare new functions.
14618         (image_instantiator_tab_control): ditto.
14619
14620         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
14621         now.
14622         (mswindows_update_widget): new function. Update all properties on
14623         a widget that have changed.
14624         (mswindows_button_update): new function. Update a button's set
14625         state.
14626         (mswindows_tab_control_update): new function. Update the items in
14627         a tab.
14628         (mswindows_tab_control_set_property): deleted.
14629         (mswindows_progress_gauge_update): new function. Update the
14630         progress gauge's progress.
14631         (mswindows_widget_set_property): deleted. This is all done
14632         asynchronously now.
14633         (mswindows_progress_gauge_set_property): ditto.
14634         (console_type_create_glyphs_mswindows): declare new methods.
14635         (image_instantiator_format_create_glyphs_mswindows): ditto.
14636
14637         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
14638         (msprinter_set_frame_properties): ditto.
14639
14640         * console.h (struct console_methods): Add update_widget_method.
14641
14642 2000-02-09  Andy Piper  <andy@xemacs.org>
14643
14644         * gui-msw.c (Fmswindows_shell_execute): Make
14645         mswindows-shell-execute industrial strength.
14646
14647 2000-02-08  Martin Buchholz  <martin@xemacs.org>
14648
14649         * lrecord.h: Make macro argument `props' match member function `plist'.
14650         * fns.c (Fget):
14651         * fns.c (Fput):
14652         * fns.c (Fremprop):
14653         * fns.c (Fobject_plist):
14654         * alloc.c:
14655         * symbols.c:
14656         Object property list frobbing cleanup.
14657         - Allow any lisp object (compared with `eq'), not just symbols, as
14658           keys in object plists.
14659         - Move symbol plist frobbing into symbols.c, where it belongs.
14660         - Move string plist frobbing into alloc.c, where it belongs.
14661         - Everything's an lrecord now, so no need to test for symbolp, etc.
14662         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
14663
14664         * extents.c: Reorder code to remove declarations.
14665
14666         * frame.h (store_in_alist): Remove useless declaration.
14667
14668 2000-02-07  Martin Buchholz  <martin@xemacs.org>
14669
14670         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
14671         * config.h.in: Add HAVE_XCONVERTCASE.
14672
14673 2000-02-07  Andy Piper  <andy@xemacs.org>
14674
14675         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
14676         it breaks many things.
14677
14678 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
14679
14680         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
14681         actually can start a common comment type.
14682         * src/syntax.h (SYNTAX_END_P): ditto for end.
14683
14684 2000-02-07  Martin Buchholz <martin@xemacs.org>
14685
14686         * XEmacs 21.2.28 is released.
14687
14688 2000-02-06  Martin Buchholz  <martin@xemacs.org>
14689
14690         * event-Xt.c (x_keysym_to_character): New.
14691         (maybe_define_x_key_as_self_inserting_character): New.
14692         (x_has_keysym): New.
14693         Auto-define all keys on the keyboard as self-insert-key.
14694
14695 2000-02-02  Martin Buchholz  <martin@xemacs.org>
14696
14697         * menubar.c (vars_of_menubar): A small code simplification.
14698
14699         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
14700
14701         * ExternalShell.c:
14702         * ExternalClient.c:
14703         * EmacsShell-sub.c:
14704         * EmacsManager.c:
14705         * EmacsFrame.c:
14706         Use consistent style for specifying X resources.
14707
14708         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
14709         This makes (dontusethis-set-symbol-value-handler) actually usable.
14710
14711         * lrecord.h (lrecord_decription_type):
14712         * alloc.c (pdump_register_sub):
14713         (pdump_dump_data):
14714         (pdump_reloc_one):
14715         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
14716         Comply with XEmacs coding style.
14717         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
14718         args, and XD_LISP_OBJECT_ARRAY with 3 args.
14719
14720         * keymap.c (Faccessible_keymaps):
14721         Make (accessible-keymaps map "\C-h") do the Right Thing.
14722         Make (accessible-keymaps map []) do the Right Thing.
14723         Make (accessible-keymaps map "") do the Right Thing.
14724         (check_keymap_definition_loop): New function.
14725         (keymap_store_internal): Keep luser from shooting self in foot,
14726           via (define-key ctl-x-4-map "p" global-map).
14727         Remove fullness slot from struct Lisp_Keymap, since hash tables
14728         are now reliable.
14729         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
14730
14731 2000-01-30  Martin Buchholz  <martin@xemacs.org>
14732
14733         * redisplay.c (init_redisplay): Fix small memory leak.
14734         * elhash.h:
14735         * elhash.c (pdump_reorganize_hash_table):
14736         Rename from reorganize_hash_table. Change prototype.
14737         Reuse the original memory for hentries.  Save 100k.
14738         * alloc.c (PDUMP_READ): new macro.
14739         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
14740         * alloc.c: No need to #ifndef before #undef.
14741
14742         * print.c: Allow debug_print() to print readably by modifying
14743         debug_print_readably.  Use consistent variable names.
14744
14745         * .dbxrc: Try to get things to work even if stopped in a function
14746         without source available by explicitly specifying source files.
14747 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14748
14749         * unexnt.c (_start): Removed bogus code which caused loading heap
14750         from differrent executable file.
14751         Removed bogus assignment to _fmode, which caused inconsistencies.
14752
14753 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14754
14755         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
14756         Have spawnve encapsulation regard DONT_ENCAPSULATE.
14757         Do not preliminary `#define signal sigset'.
14758
14759         * systime.h: Do not prototype environ on windows nt and cygwin,
14760         this conflicts with system header.
14761
14762         * syssignal.h: Use correct define for WINDOWSNT
14763
14764         * sysdep.h: Do not prototype environ on windows nt, this conflicts
14765         with system header.
14766
14767         * sysdep.c (near start of file): Fixed commentary and rearranged
14768         ifdefs in readable order.
14769         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
14770         (start_of_text):
14771         (end_of_text):
14772         (end_of_data): Do not compile in if using PDUMP.
14773
14774         * symsinit.h: Prototyped vars_of_nt().
14775
14776         * ntproc.c (windows9x_p): Added, instead of os_subtype.
14777         (find_child_console): Use it.
14778         (sys_kill): Use it.
14779
14780         * ntheap.h: Do not extern os_subtype.
14781
14782         * ntheap.c (cache_system_info): Do not cache unneeded:
14783         nt_major_version, nt_minor_version and os_subtype.
14784         (recreate_heap): Do not compile in when PDUMPing.
14785
14786         * nt.c (geteuid and friends): Use the new varibale
14787         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
14788         (init_user_info): Removed the above mentioned hackery.
14789         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
14790         stat has been fixed in the C runtime.
14791         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
14792
14793         * file-coding.c (struct file_coding_dump): Do not define
14794         ucs_to_mule_table in the struct if not MULE.
14795         (struct struct lrecord_description fcd_description_1): Do not dump
14796         the above.
14797
14798         * emacs.c (main_1): Call vars_of_nt().
14799         (right before Fdump_emacs_data): Don't need lastfile if using both
14800         portabe dumper and system malloc.
14801
14802         * alloc.c (Fmemory_limit): Conditionalized out.
14803         (pdump): Use OPEN_BINARY for the portable dump file.
14804         (pdump_load): Ditto.
14805
14806 2000-02-02  Mike Alexander  <mta@arbortext.com>
14807
14808         * nt.c (convert_time): Set tm_isdst before calling mktime and
14809         avoid calling it at all if the compiler supports 64 bit integers.
14810         Also initialize utc_base_ft before using it.
14811
14812 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14813
14814         * frame.c (change_frame_size_1): Take f->internal_border_width
14815         into consideration when calculating the width of the frame.
14816
14817 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14818
14819         * window.c (frame_min_height):
14820         (frame_size_valid_p):
14821         (frame_pixsize_valid_p): Added.
14822         (check_frame_size): Generalized.
14823
14824         * window.h: Prototyped the above.
14825
14826         * lisp.h:
14827         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
14828         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
14829         Deleted Vwin32_* and Vbinary_process_* unused variables.
14830
14831         * device-msw.c (msprinter_init_device): Do not get printer font
14832         list; Added DEVMODE functions.
14833
14834         * frame-msw.c: Added lots of printer code.
14835
14836         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
14837         general.c.
14838
14839         * console-msw.h: Added more msprinter device private slots.
14840
14841 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14842
14843         * event-msw.c (key_needs_default_processing_p): Added.
14844         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
14845
14846 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14847
14848         * glyphs.c (image_instance_layout): Mark image instance as clean
14849         after layout.
14850         (glyph_dirty_p): Removed redundant function.
14851         (invalidate_glyph_geometry_maybe): Added.
14852         (update_glyph_cachel_data): Call it.
14853
14854         * glyphs.h: Prototyped it.
14855
14856         * redisplay.c (add_glyph_rune): Call it.
14857         (redisplay_window): Reset glyphs cachels when frame faces have
14858         changed, thus forcing recomputation of built-in border glyphs.
14859
14860 2000-01-30  Martin Buchholz  <martin@xemacs.org>
14861
14862         * Makefile.in.in: Make portable dumper and purify play well together.
14863         Add imperfect, but better than nothing, support for pdump.
14864         Remove xemacs.dmp when temacs is re-generated.
14865         Don't ignore errors when dumping xemacs.
14866
14867         * symbols.c (maybe_call_magic_handler): Remove one magic number.
14868
14869 2000-01-28  Andy Piper  <andy@xemacs.org>
14870
14871         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
14872         (setup_normal_frame): ditto.
14873         (setup_frame_without_minibuffer): ditto.
14874         (setup_minibuffer_frame): ditto.
14875         (delete_frame_internal): ditto.
14876         (Fmake_frame_invisible): ditto.
14877         (Ficonify_frame): ditto.
14878
14879         * window.h: change Fset_window_buffer signature.
14880
14881         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
14882         (Fset_window_buffer): allow recording of buffer if the window is
14883         the selected window.
14884         (window_loop): Use new Fset_window signature.
14885
14886 2000-01-23  Daniel Pittman  <daniel@danann.net>
14887
14888         * config.h.in: Added template for `HAVE_ATHENA_3D'
14889
14890 2000-01-29  Andy Piper  <andy@xemacs.org>
14891
14892         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
14893
14894         * gutter.c (output_gutter): Don't output if the window isn't live.
14895
14896 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14897
14898         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
14899         of 01/12/00: Moved SetFocus back here where it belongs.
14900
14901 2000-01-23  Andy Piper  <andy@xemacs.org>
14902
14903         * s/cygwin32.h: declare printer things.
14904
14905 2000-01-26  Andy Piper  <andy@xemacs.org>
14906
14907         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
14908         Alexander.
14909
14910 2000-01-24  Andy Piper  <andy@xemacs.org>
14911
14912         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
14913         (mswindows_button_instantiate): Make sure glyph is a pixmap.
14914
14915         * glyphs-widget.c (widget_instantiate): Avoid shadows.
14916
14917         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
14918
14919         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
14920
14921         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
14922         (mswindows_output_display_block): Avoid local shadows.
14923
14924         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
14925         (mswindows_enqueue_mouse_button_event): ditto.
14926         (mswindows_handle_gui_wm_command): remove declaration.
14927
14928         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
14929         warnings.
14930
14931         * console-msw.h: Avoid shadows.
14932         (mswindows_get_toolbar_button_text):
14933         (emacs_mswindows_create_stream_pair):
14934         (emacs_mswindows_delete_stream_pair):
14935         (mswindows_handle_toolbar_wm_command): declare.
14936
14937         * device-msw.c (build_syscolor_string): Avoid shadows.
14938
14939 2000-01-23  Andy Piper  <andy@xemacs.org>
14940
14941         * glyphs-widget.c (widget_instantiate): reverse the items for
14942         layouts so that children are in the expected order.
14943
14944 2000-01-28  Martin Buchholz  <martin@xemacs.org>
14945
14946         * ralloc.c: safe_bcopy ==> memmove
14947         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
14948         * s/msdos.h: Remove BCOPY macros.
14949         * insdel.c (gap_right): Remove BCOPY conditional code.
14950         * insdel.c (gap_left): Remove BCOPY conditional code.
14951         XEmacs demands a working ANSI C compiler - hence memmove.
14952
14953         * regex.c (regex_compile): Remove accidental use of trigraphs.
14954
14955 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14956
14957         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
14958         event timestamp.
14959
14960 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14961
14962         * event-msw.c (mswindows_drain_windows_queue): Added the
14963         parameter.
14964         (mswindows_need_event): Commented the call to
14965         mswindows_drain_windows_queue().
14966         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
14967         only.
14968
14969         * console-msw.h: Moved a few function prototypes here from
14970         event-msw.c.
14971
14972         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
14973         parameter from unsigned short to unsigned long.
14974         (Fmswindows_shell_execute): Added return value.
14975
14976 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
14977
14978         * sysdep.c (init_system_name):
14979           process-unix.c (unix_canonicalized_host_name):
14980         Don't call freeaddrinfo() if getaddrinfo() fails.
14981
14982         * process-unix.c (unix_open_unix_network_stream):
14983         Moved the code to get a port # into address loop.
14984
14985 2000-01-27  Martin Buchholz  <martin@xemacs.org>
14986
14987         * buffer.c (reinit_vars_of_buffer):
14988         The right place to initialize conversion_in_dynarr and
14989         conversion_out_dynarr.
14990
14991         * alloc.c (pdump): Use the real open() till sys_open() is functional.
14992
14993         * process-unix.c (unix_canonicalize_host_name): Muleize.
14994         (unix_open_network_stream): Muleize.
14995
14996         * buffer.h: Fix up prototypes for ralloc.c functions.
14997
14998 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
14999         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
15000         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
15001                 instead of gethostbyname()
15002         * process-unix.c: In unix_canonicalize_host_name() and
15003                 unix_open_network_stream(), add code to use getaddrinfo()
15004                 instead of gethostbyname().
15005
15006 2000-01-27  Daniel Pittman <daniel@danann.net>
15007
15008         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
15009         libs when built with flat Athena.
15010
15011 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15012
15013         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
15014         Use coding standards for function prototypes.
15015
15016 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15017
15018         * dialog-msw.c (push_lisp_string_as_unicode):
15019         * doc.c (unparesseuxify_doc_string):
15020         * dired.c (Fuser_name_completion_1):
15021         * dired.c (Fuser_name_all_completions):
15022         * dired.c (free_user_cache):
15023         * dired.c (user_name_completion):
15024         * console-x.c (get_display_arg_connection):
15025         * minibuf.c (clear_echo_area_internal):
15026         * minibuf.c (echo_area_append):
15027         * eldap.c (Fldap_open):
15028         * eldap.c (Fldap_search_internal):
15029         * frame-x.c (x_set_frame_text_value):
15030         * frame-x.c (x_set_frame_properties):
15031         * frame-x.c (x_create_widgets):
15032         * redisplay-tty.c (term_get_fkeys_1):
15033         * objects-x.c (x_parse_nearest_color):
15034         * objects-x.c (x_valid_color_name_p):
15035         * objects-x.c (x_initialize_font_instance):
15036         * objects-x.c (x_list_fonts):
15037         * objects-x.c (x_find_charset_font):
15038         * tooltalk.c (Fadd_tooltalk_message_arg):
15039         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
15040         * tooltalk.c (Fadd_tooltalk_pattern_arg):
15041         * process-unix.c (unix_create_process):
15042         * ntproc.c (sys_spawnve):
15043         * sound.c (Fplay_sound_file):
15044         * sound.c (Fplay_sound):
15045         * buffer.c (init_initial_directory):
15046         * buffer.c (init_buffer):
15047         * editfns.c (init_editfns):
15048         * editfns.c (Ftemp_directory):
15049         * editfns.c (Fuser_full_name):
15050         * editfns.c (uncache_home_directory):
15051         * editfns.c (get_home_directory):
15052         * editfns.c (Fuser_home_directory):
15053         * editfns.c (Fformat_time_string):
15054         * editfns.c (Fcurrent_time_string):
15055         * gui-x.c (button_item_to_widget_value):
15056         * database.c (Fopen_database):
15057         * event-Xt.c (x_to_emacs_keysym):
15058         * event-Xt.c (x_event_to_emacs_event):
15059         * event-Xt.c (describe_event_window):
15060         * event-msw.c (mswindows_wnd_proc):
15061         * glyphs-eimage.c (jpeg_instantiate):
15062         * glyphs-eimage.c (gif_instantiate):
15063         * glyphs-eimage.c (png_instantiate):
15064         * glyphs-eimage.c (tiff_instantiate):
15065         * glyphs-x.c (xbm_instantiate_1):
15066         * glyphs-x.c (x_xbm_instantiate):
15067         * glyphs-x.c (x_xface_instantiate):
15068         * glyphs-x.c (autodetect_instantiate):
15069         * glyphs-x.c (cursor_font_instantiate):
15070         * glyphs-x.c (x_widget_instantiate):
15071         * glyphs-x.c (x_widget_set_property):
15072         * glyphs-x.c (x_widget_property):
15073         * glyphs-x.c (BUILD_GLYPH_INST):
15074         * print.c (write_string_to_stdio_stream):
15075         * print.c (output_string):
15076         * print.c (Falternate_debugging_output):
15077         * print.c (Fexternal_debugging_output):
15078         * glyphs-msw.c (extract_xpm_color_names):
15079         * glyphs-msw.c (mswindows_xpm_instantiate):
15080         * glyphs-msw.c (bmp_instantiate):
15081         * glyphs-msw.c (resource_name_to_resource):
15082         * glyphs-msw.c (mswindows_resource_instantiate):
15083         * glyphs-msw.c (xbm_instantiate_1):
15084         * glyphs-msw.c (mswindows_xbm_instantiate):
15085         * glyphs-msw.c (mswindows_xface_instantiate):
15086         * glyphs-msw.c (mswindows_widget_instantiate):
15087         * glyphs-msw.c (add_tree_item):
15088         * glyphs-msw.c (add_tab_item):
15089         * glyphs-msw.c (mswindows_combo_box_instantiate):
15090         * glyphs-msw.c (mswindows_widget_property):
15091         * glyphs-msw.c (mswindows_combo_box_property):
15092         * glyphs-msw.c (mswindows_widget_set_property):
15093         * console.c (stuff_buffered_input):
15094         * objects-msw.c (mswindows_initialize_color_instance):
15095         * objects-msw.c (mswindows_valid_color_name_p):
15096         * objects-msw.c (mswindows_list_fonts):
15097         * objects-msw.c (mswindows_font_instance_truename):
15098         * bytecode.c (optimize_compiled_function):
15099         * select-x.c (symbol_to_x_atom):
15100         * select-x.c (x_atom_to_symbol):
15101         * select-x.c (hack_motif_clipboard_selection):
15102         * select-x.c (selection_data_to_lisp_data):
15103         * select-x.c (lisp_data_to_selection_data):
15104         * select-x.c (Fx_get_cutbuffer_internal):
15105         * select-x.c (Fx_store_cutbuffer_internal):
15106         * buffer.h (TO_EXTERNAL_FORMAT): New function.
15107         * buffer.h (TO_INTERNAL_FORMAT): New function.
15108         * emacs.c (make_arg_list_1):
15109         * emacs.c (make_argc_argv):
15110         * emacs.c (main_1):
15111         * emacs.c (Fdump_emacs):
15112         * emacs.c (split_string_by_emchar_1):
15113         * file-coding.h:
15114         * lisp.h:
15115         * lstream.h:
15116         * symsinit.h:
15117         * device-x.c (x_init_device):
15118         * device-x.c (Fx_valid_keysym_name_p):
15119         * device-x.c (Fx_get_font_path):
15120         * device-x.c (Fx_set_font_path):
15121         * glyphs.c (bitmap_to_lisp_data):
15122         * glyphs.c (pixmap_to_lisp_data):
15123         * alloc.c (make_ext_string): Use coding system arguments.  Update
15124         all callers.
15125         * alloc.c (build_string):
15126         * callproc.c (child_setup):
15127         * callproc.c (init_callproc):
15128         * fileio.c (lisp_strerror):
15129         * fileio.c (directory_file_name):
15130         * fileio.c (Fexpand_file_name):
15131         * fileio.c (Ffile_truename):
15132         * fileio.c (Fsysnetunam):
15133         * fileio.c (Fdo_auto_save):
15134         * sysdep.c (sys_readdir):
15135         * tests.c: New file.  Allow adding C tests.
15136         Replace GET_* macros with a more comprehensible and flexible
15137         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
15138         Modify all calls.
15139         Any coding system can be used to do format conversion.
15140         Eliminate enum external_data_format.
15141         Eliminate convert_to_external_format.
15142         Eliminate convert_to_internal_format.
15143         Make sure file-name, keyboard, terminal, and ctext are always
15144         defined as coding systems or aliases.  Make
15145         file-name-coding-system, terminal-coding-system, and
15146         keyboard-coding-system magical variables that are equivalent to
15147         defining the corresponding coding system aliases.
15148
15149         * file-coding.c (Fcoding_system_canonical_name_p): New function.
15150         * file-coding.c (Fcoding_system_alias_p): New function.
15151         * file-coding.c (Fcoding_system_aliasee): New function.
15152         * file-coding.c (append_suffix_to_symbol): New function.
15153         * file-coding.c (dangling_coding_system_alias_p): New function.
15154         * file-coding.c (Ffind_coding_system):
15155         * file-coding.c (Fcopy_coding_system):
15156         * file-coding.c (encode_coding_no_conversion):
15157         * file-coding.c (syms_of_file_coding):
15158         * file-coding.c (vars_of_file_coding):
15159         Rewrite coding system alias code.
15160         Allow nested aliases, like symbolic links.
15161         Allow redefinition of coding system aliases.
15162         Prevent existence of dangling coding system aliases.
15163
15164         * dired.c (Fuser_name_completion_1):
15165         * dired.c (Fuser_name_all_completions):
15166         A crash would happen if user did QUIT in the middle of building
15167         user_name_cache.  Remove redundant code in mainline and unwind_protect.
15168
15169         * lisp.h:
15170         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
15171
15172         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
15173         an unsigned char *.  Update all callers.
15174
15175 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15176
15177         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
15178
15179 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15180
15181         * elhash.c (hentry_description): Use more portable definition.
15182         (resize_hash_table): Initialize new hentries using
15183         xnew_array_and_zero, thereby simplifying the code.
15184
15185         * mule-charset.c (make_charset): Make sure entire object is
15186         initialized, to avoid Purify warnings.
15187
15188         * alloc.c (resize_string): Fix unlikely crash with big strings.
15189
15190 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15191
15192         * realpath.c (xrealpath):
15193         Don't call getwd().
15194
15195 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15196
15197         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
15198
15199 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
15200
15201         * unexelfsgi.c (unexec): Change the way we decide which segment
15202         should be extended.
15203
15204         Assumption that .bss section should be outside the PT_LOADable
15205         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
15206         it's present) is inside the 'data' segment. This would fail the
15207         test which was used to find a segment to grow and cover new
15208         heap. Instead of this assumption, I created another one - on IRIX
15209         the segment to grow should start below .bss and it's address
15210         should extent above the end of .bss. Once this segment is
15211         identified, it's grown to accommodate the new heap and new
15212         zero-length .bss section is added at the end of .data2.
15213
15214 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15215
15216         * eval.c (Feval): Wrong number of arguments should use original
15217         function, not the indirect_function version of it.
15218
15219 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
15220
15221         * glyphs-x.c (x_button_instantiate): Don't add image if
15222         it is not a pixmap.
15223         (x_locate_pixmap_file): Call Fexpand_file_name when file name
15224         is relative.
15225
15226 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
15227
15228         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
15229         declaration.
15230         (DEFVAR_INT_MAGIC): Ditto.
15231         (DEFVAR_BOOL_MAGIC): Ditto.
15232         * glyphs.h: Reindent backslash.
15233
15234 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15235
15236         * glyphs-widget.c (layout_query_geometry):
15237         (layout_layout): Use correct types for gheight, gwidth.
15238
15239 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15240
15241         * EmacsManager.c (QueryGeometry): Purified.
15242
15243 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15244
15245         * alloc.c (make_float): Make sure entire object is initialized, to
15246         avoid Purify warnings.
15247         (pdump_register_sub): Remove useless assignment.
15248         (pdump): Use xmalloc, not malloc.
15249         (pdump_load): Use xmalloc, not malloc.
15250
15251 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15252
15253         * callproc.c:
15254         * dired-msw.c:
15255         * fileio.c:
15256         * process-nt.c:
15257         * redisplay-msw.c:
15258         * sysdep.c: Removed redundant #include <windows.h>
15259
15260 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15261
15262         * frame.c (delete_frame_internal): Do not delete device when its
15263         implementation so declares.
15264         (delete_frame_internal): Set device selected frame to nil when
15265         last frame goes away.
15266
15267         * device-msw.c (msprinter_device_system_metrics): Implemented.
15268         (mswindows_device_system_metrics): Added 'device-dpi property.
15269
15270         * device.c: (Fdevice_printer_p): Added.
15271         Added 'offset-workspace device metric.
15272
15273         * console.h (device_metrics): Declared DM_offset_workspace.
15274
15275 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15276
15277         * fileio.c (Ffile_truename): Remove pointless and confusing
15278         initialization of elen.
15279
15280         * glyphs-widget.c: Compiler warning fixes.
15281
15282 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
15283
15284         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
15285         instead of a Lisp_Object as argument to make it consistent with
15286         the other LIVE_P macros.
15287         (CHECK_LIVE_PROCESS): New macro.
15288
15289         * process.c: Declare Qprocess_live_p.
15290         (Fprocess_live_p): New function.
15291         (create_process): Use PROCESS_LIVE_P.
15292         (read_process_output): Ditto.
15293         (set_process_filter): Ditto.
15294         (Fdelete_process): Ditto.
15295         (kill_buffer_processes): Ditto
15296         (process_send_signal): Use CHECK_LIVE_PROCESS.
15297         (Fprocess_input_coding_system): Check whether process is still
15298         alive (fix PR#1061).
15299         (Fprocess_output_coding_system): Ditto.
15300         (Fprocess_coding_system): Ditto.
15301         (Fset_process_input_coding_system): Ditto.
15302         (Fset_process_output_coding_system): Ditto.
15303
15304 2000-01-23  Andy Piper  <andy@xemacs.org>
15305
15306         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
15307         layout and widget.
15308
15309         * glyphs.c (mark_image_instance): take into account changed
15310         image_instance format.
15311         (image_instance_equal): ditto.
15312         (image_instance_hash): ditto.
15313
15314         * glyphs-widget.c (widget_instantiate): Incorporate layout
15315         instantiation here. Delay layout of the layout until later.
15316         (layout_instantiate): deleted.
15317         (layout_query_geometry): new function. get the geometry of a
15318         layout.
15319         (layout_layout): layout a layout dynamically.
15320         (image_instantiator_widget): New function - splitting up
15321         image_instantiator_format_create_glyphs_widget for netwinder
15322         compilation.
15323         (image_instantiator_buttons):
15324         (image_instantiator_edit_fields):
15325         (image_instantiator_combo_box):
15326         (image_instantiator_scrollbar):
15327         (image_instantiator_progress_guage):
15328         (image_instantiator_tree_view):
15329         (image_instantiator_tab_control):
15330         (image_instantiator_labels):
15331         (image_instantiator_layout): ditto.
15332         (image_instantiator_format_create_glyphs_widget): Call preceding
15333         functions.
15334
15335 2000-01-22  Martin Buchholz  <martin@xemacs.org>
15336
15337         * process.c (Fset_process_coding_system):
15338         * device-x.c (Fx_keysym_hash_table):
15339         Docstring fixes.
15340
15341         * lstream.c (Lstream_write): Return documented value, not 0.
15342
15343         * fileio.c (directory_file_name):
15344         (Fsubstitute_in_file_name):
15345         (Fsubstitute_insert_file_contents_internal):
15346         (Fwrite_region_internal):
15347         * emacs.c:
15348         * sysdep.c:
15349         * getloadavg.c:
15350         * systty.h:
15351         Remove vestigial APOLLO-conditional code.
15352
15353 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15354
15355         * getpagesize.h: Add guard macros.
15356         * libsst.h: Add guard macros.
15357         * libst.h: Add guard macros.
15358         * line-number.h: Add guard macros.
15359         * ndir.h: Add guard macros.
15360         * sysfloat.h: Add guard macros.
15361         * sysfile.h: Add guard macros.
15362         * sysproc.h: Add guard macros.
15363         * syswait.h: Add guard macros.
15364         * xintrinsic.h: Add guard macros.
15365         * xintrinsicp.h: Add guard macros.
15366         * xmmanager.h: Add guard macros.
15367         * xmmanagerp.h: Add guard macros.
15368         * xmprimitive.h: Add guard macros.
15369         * xmu.h: Add guard macros.
15370         * gpmevent.h: Add copyright statement. Add guard macros.
15371         * miscplay.h: Add guard macros.
15372         * *.h: Use consistent C-standards-approved guard macro names.
15373
15374         * opaque.c (make_opaque): Switch parameter order.
15375         * opaque.h (make_opaque): Switch parameter order.
15376         Update all callers.
15377         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
15378
15379         * config.h.in (type_checking_assert): Added.
15380         (bufpos_checking_assert): Added.
15381
15382 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15383
15384         * alloc.c: Harmless pdump changes.
15385         - Use countof().
15386         - spell alignment correctly.
15387         * sysdep.c: Use countof()
15388
15389 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15390
15391         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
15392         initially_selected_for_input() console method, default to 0.
15393         (semi_canonicalize_console_connection): Try to delegate to
15394         canonicalize_console_connection if no such console method.
15395         (canonicalize_console_connection): Vice versa.
15396         (print_console): Do not print nil connection.
15397
15398         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
15399         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
15400         (XDEVIMPF_FRAMELESS_OK): Added.
15401         (CONSOLE_INHERITS_METHOD): Added.
15402
15403         * console-msw.c (mswindows_canonicalize_console_connection):
15404         Added.
15405         (mswindows_canonicalize_device_connection): Added.
15406
15407         * console-msw.h (struct msprinter_device): Added this struct and
15408         accessor macros.
15409         (mswindows_device): Made fontlist a lisp object.
15410
15411         * device.c (semi_canonicalize_device_connection):  Try to delegate
15412         to canonicalize_device_connection if no such console method.
15413         (canonicalize_device_connection): Vice versa.
15414         (print_device): Do not print nil connection.
15415
15416         * device-msw.c (mswindows_init_device): Call InitCommonControls
15417         when have widgets.
15418         (mswindows_delete_device): Removed fontlist deallocation.
15419         (mswindows_mark_device): Added.
15420
15421         * events.c (event_equal): Added abort() at unreached code.
15422         (event_hash): Ditto.
15423
15424         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
15425         fallback tags of Windows devices.
15426
15427         * general.c (syms_of_general): Initialized Qmsprinter.
15428
15429         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
15430         of fallback tags of Windows devices.
15431
15432         * lisp.h: Declared Qmsprinter.
15433
15434         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
15435         of strings.
15436         (mswindows_list_fonts): Ditto.
15437         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
15438         that it can be used by both mswindows and msprinter devices.
15439         (initialize_font_instance): Added.
15440         (mswindows_initialize_font_instance): Use it.
15441         (msprinter_initialize_font_instance): Added.
15442
15443         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
15444         and implementation flags check.
15445         (redisplay_without_hooks): Changed the call to the above.
15446         (Fredraw_device): Ditto.
15447         (Fredisplay_device): Ditto.
15448
15449         * redisplay-msw.c (get_frame_dc): Implemented.
15450         (get_frame_compdc): Implemented.
15451         (many functions): Use the two functions above to get device
15452         contexts, ether for a window or a printer.
15453
15454 2000-01-21  Olivier Galibert  <galibert@pobox.com>
15455
15456         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
15457         initialization here.
15458         (init_symbols_once_early): Call it.
15459         * emacs.c (main_1): Call it.
15460         * symsinit.h: Declare it.
15461
15462 2000-01-19  Olivier Galibert  <galibert@pobox.com>
15463
15464         * alloc.c: Use a lrecord_header * in the backtrace instead of a
15465         Lisp_Object.
15466         (pdump_backtrace): Ditto.
15467         (pdump_register_object): Ditto.  Cleanup use of the pointers.
15468         (pdump_get_entry): Abort if trying to register a null pointer.
15469         (pdump_dump_data): Cleanup types when relocating.
15470         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
15471         (pdump_dump_rtables): Remove bad casts.
15472         (pdump_load): Cleanup relocation w.r.t union type.  Use a
15473         Lisp_Object instead of a EMACS_INT for the hashtable
15474         reorganization.
15475
15476 2000-01-20  Martin Buchholz  <martin@xemacs.org>
15477
15478         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
15479
15480         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
15481
15482         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
15483
15484         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
15485
15486 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15487
15488         * faces.h (FACE_STRIKETHRU_P): Added.
15489
15490         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
15491         of font variants.
15492
15493         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
15494         (mswindows_set_dc_font): New function, aware of font variants,
15495         separated from mswindows_update_dc.
15496
15497         * objects-msw.h (struct mswindows_font_instance_data): Added
15498         definition.
15499
15500         * objects-msw.c (mswindows_finalize_font_instance): Delete all
15501         cached fonts and the data structure.
15502         (mswindows_initialize_font_instance): Added creation of font data
15503         structure.
15504         (mswindows_print_font_instance): Print at least something.
15505         (mswindows_create_font_variant): Implemented.
15506         (mswindows_get_hfont): Implemented.
15507
15508 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
15509
15510         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
15511         prototyping problem with msvc.
15512
15513         * emacs.c (main_1): added syms_of_gui_mswindows() call
15514
15515         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
15516         syms_of_gui_mswindows() function
15517
15518         * symsinit.h: added the prototype for syms_of_gui_mswindows()
15519
15520 2000-01-18  Martin Buchholz <martin@xemacs.org>
15521
15522         * XEmacs 21.2.27 is released.
15523
15524 2000-01-18  Martin Buchholz  <martin@xemacs.org>
15525
15526         * glyphs-eimage.c (struct tiff_error_struct):
15527         (tiff_error_func):
15528         (tiff_warning_func):
15529         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
15530
15531         * unexmips.c:
15532         * unexhp9k3.c:
15533         * unexfreebsd.c:
15534         * unexec.c: Remove vestigial Lucid C code.
15535         * unexalpha.c:
15536         * unexaix.c:
15537         * termcap.c:
15538         * libsst.c: Ansify.
15539         Remove declarations of errno and strerror().
15540
15541         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
15542
15543         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
15544
15545 2000-01-16  Martin Buchholz  <martin@xemacs.org>
15546
15547         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
15548         Optimize.
15549
15550 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15551
15552         * md5.c:
15553         * file-coding.c:
15554         * file-coding.h:
15555         Change enum eol_type to eol_type_t.
15556
15557 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15558
15559         * gui.c (get_gui_callback): Check cons before accessing car.
15560
15561 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15562
15563         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
15564         (XSETSPECIFIER_TYPE): Ditto.
15565
15566 2000-01-17  Didier Verna  <didier@xemacs.org>
15567
15568         * redisplay.c (generate_fstring_runes): compute string size in
15569         characters, not bytes.
15570
15571 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
15572
15573         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
15574
15575 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
15576
15577         * print.c (print_error_message): Call print_prepare().
15578
15579 2000-01-14  Martin Buchholz  <martin@xemacs.org>
15580
15581         * .dbxrc: Renamed from dbxrc.
15582
15583         * events.c (event_to_character):
15584         Use `assert (foo)' instead of `if (!foo) abort()'
15585
15586         * .gdbinit (xtype): Add documentation.
15587         * .gdbinit (check-temacs): New function.
15588         * .gdbinit (check-xemacs): New function.
15589         * dbxrc (check-xemacs): New function.
15590         * dbxrc (check-xemacs): New function.
15591
15592 2000-01-14  Andy Piper  <andy@xemacs.org>
15593
15594         * glyphs-widget.c (widget_query_geometry): Make sure that we
15595         calculate default dimensions correctly.
15596
15597 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15598
15599         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
15600
15601         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
15602         pdump_wire'd variable.
15603
15604         * emacs.c: (main_1): Conditionalized calls to
15605         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
15606
15607 2000-01-13  Martin Buchholz  <martin@xemacs.org>
15608
15609         * window.c (Fset_window_configuration):
15610         * sysdep.c (_start):
15611         * input-method-motif.c (res):
15612         * event-Xt.c (Xt_process_to_emacs_event):
15613         Simple compiler warning fixes.
15614
15615         * bytecode.c (funcall_compiled_function): Use the original
15616         function symbol on the backtrace list in preference to the
15617         compiled_function object in error messages.
15618
15619 2000-01-13  Andy Piper  <andy@xemacs.org>
15620
15621         * glyphs-x.c (update_widget_face): Make sure we update the widget
15622         background as well as foreground.
15623
15624 2000-01-13  Andy Piper  <andy@xemacs.org>
15625
15626         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
15627         fields to subwindow.
15628         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
15629         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
15630         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
15631         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
15632
15633         * glyphs-widget.c (check_valid_tab_orientation): new function.
15634         (initialize_widget_image_instance): zero orientation and
15635         justification.
15636         (widget_instantiate): pick up orientation.
15637         (tab_control_query_geometry): return appropriate values for
15638         vertical tabs.
15639
15640         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
15641         appropriate creation flags for left, right and bottom tabs.
15642
15643         * s/cygwin32.h: add tab definitions.
15644
15645 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15646
15647         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
15648         frame upon hiding a subwindow.
15649         (mswindows_button_instantiate): Changed the push button style to
15650         BS_PUSHBUTTON.
15651         (mswindows_button_instantiate): Removed button BS_NOTIFY
15652         style.
15653         (mswindows_button_instantiate): Removed redundant check for
15654         a disabled gui item.
15655         (mswindows_button_instantiate): Made use of WS_TABSTOP
15656         consistent: "operable" controls (edit, button, tree, scroll) have
15657         this style, "display-only" ones (static, progress gauge) do
15658         not. This style is currently ignored by XEmacs though. Also,
15659         removed the WS_EX_CONTROLPARENT style - it is not for children,
15660         it is for their parents!
15661         (mswindows_edit_field_instantiate): Ditto.
15662         (mswindows_progress_gauge_instantiate): Ditto.
15663         (mswindows_tree_view_instantiate): Ditto.
15664         (mswindows_tab_control_instantiate): Ditto.
15665         (mswindows_scrollbar_instantiate): Ditto.
15666         (mswindows_combo_box_instantiate): Ditto.
15667         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
15668         style to the "clip" window.
15669         (mswindows_button_instantiate): Removed compilation warning by
15670         equally typing terms of the ?: operator.
15671
15672 2000-01-12  Didier Verna  <didier@xemacs.org>
15673
15674         * redisplay.c (generate_fstring_runes): new parameter holding the
15675         last modeline-format extent.
15676         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
15677         extent, fill the glyph block with it.
15678         (generate_fstring_runes): handle these parameters.
15679         (generate_formatted_string_db): ditto.
15680
15681         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
15682         glyphs'extents in the modeline.
15683
15684 1999-01-11  Mike Woolley  <mike@bulsara.com>
15685
15686         * ntheap.c: Reduced the reserved heap space from 1Gb down to
15687         256Mb, as a workaround for the non-starting problem many people
15688         have experienced.
15689
15690 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15691
15692         * console-tty.c (Fset_console_tty_output_coding_system):
15693         Force redrawing tty frame.
15694
15695 2000-01-10  Didier Verna  <didier@xemacs.org>
15696
15697         * redisplay.c (generate_fstring_runes): fix size computation bug.
15698
15699 2000-01-09  William M. Perry <wmperry@aventail.com>
15700
15701         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
15702
15703 2000-01-09  Andy Piper  <andy@xemacs.org>
15704
15705         * glyphs-msw.c: index -> i to avoid shadows.
15706         (xbm_create_bitmap_from_data): make static.
15707         (check_valid_string_or_int): deleted.
15708         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
15709
15710         * glyphs-x.c (x_update_subwindow): remove unused args.
15711
15712         * glyphs.c (glyph_image_instance): return the thing. Don't set the
15713         back pointer - this is done in allocate_image_instance.
15714         (query_string_font): return Qnil to make the compiler happy.
15715         (unmap_subwindow): set to ~0 to make the compiler happy.
15716         (glyph_query_geometry): comment out until used.
15717         (glyph_layout): ditto.
15718
15719 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
15720
15721         * insdel.c (signal_after_change): Remove extraneous unbind_to().