update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2
3         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
4         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
5         (put_char_composition): Likewise.
6         (Fput_char_attribute): Likewise.
7         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
8
9 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
10
11         * chartab.c (Q_ucs): Deleted.
12         (Fput_char_attribute): Don't refer `->ucs'.
13         (Fdefine_char): Likewise.
14         (Ffind_char): Likewise.
15         (syms_of_chartab): Delete `->ucs'.
16
17 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
18
19         * mule-charset.c (Qmap_cns11643_2): Renamed from
20         `Qchinese_cns11643_2'.
21         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
22         `chinese-cns11643-2'.
23         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
24         `=cns11643-2'.
25
26 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
27
28         * mule-charset.c (Qmap_cns11643_1): Renamed from
29         `Qchinese_cns11643_1'.
30         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
31         `chinese-cns11643-1'.
32         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
33         `=cns11643-1'.
34
35 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
36
37         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
38         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
39         `chinese-gb12345'.
40         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
41         `=gb12345'.
42
43 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
44
45         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
46         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
47         `chinese-gb2312'.
48         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
49         `=gb2312'.
50
51 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
52
53         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
54         (syms_of_mule_charset): Add new symbol `=big5' instead of
55         `chinese-big5'.
56         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
57
58 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
59
60         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
61         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
62         `korean-ksc5601'.
63         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
64         `=ks-x1001'.
65
66 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
67
68         * mule-charset.c (Qmap_jis_x0212): Renamed from
69         `Qjapanese_jisx0212'.
70         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
71         `japanese-jisx0212'.
72         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
73         `=jis-x0212'.
74
75 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
76
77         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
78         `Qjapanese_jisx0208'.
79         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
80         of `japanese-jisx0208'.
81         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
82         `=jis-x0208-1983'.
83
84 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
85
86         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
87         `Qjapanese_jisx0208_1978'.
88         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
89         of `japanese-jisx0208-1978'.
90         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
91         `=jis-x0208-1978'.
92
93 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
94
95         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
96         only for XEmacs CHISE.
97
98 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
99
100         * char-ucs.h: Compact non-ISO-IR charset-ids.
101         (LEADING_BYTE_UCS): Changed to -177.
102         (LEADING_BYTE_CONTROL_1): Changed to -77.
103         (LEADING_BYTE_UCS_BMP): Changed to -176.
104         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
105
106 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
107
108         * mule-charset.c (Qiso_ir): New variable.
109         (Fmake_charset): Recognise new property `iso-ir'.
110         (syms_of_mule_charset): Add new symbol `iso-ir'.
111
112 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
113
114         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
115         n to -n; charset-id of non ISO-IR sets are changed to positive
116         numbers.
117
118 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
119
120         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
121         for &MCS-XXXXXXXX; values.
122
123 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
124
125         * mule.c (Vxemacs_chise_version): Renamed from
126         `Vutf_2000_version'.
127         (vars_of_mule): Add new variable `xemacs-chise-version'; define
128         `utf-2000-version' as an alias for `xemacs-chise-version'.
129
130 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
131
132         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
133         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
134         defined.
135
136         * config.h.in (CHISE): New macro.
137
138 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
139
140         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
141         of `ucs'.
142         (Qmap_ucs): New variable.
143         (syms_of_mule_charset): Add new symbol `=ucs'.
144         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
145
146         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
147         (simplify_char_spec): Likewise.
148
149         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
150
151         * char-ucs.h (Qmap_ucs): New extern variable.
152
153 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
154
155         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
156         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
157         don't define it when UTF2000 is not defined.
158         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
159         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
160         when UTF2000 is not defined.
161         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
162         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
163
164 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
165
166         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
167
168         * mule-charset.c (Vcharset_ucs_gb): Deleted.
169         (Qucs_gb): Deleted.
170         (syms_of_mule_charset): Delete `ucs-gb'.
171         (complex_vars_of_mule_charset): Likewise.
172
173 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
174
175         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
176
177         * mule-charset.c (Vcharset_ucs_cns): Deleted.
178         (Qucs_cns): Deleted.
179         (syms_of_mule_charset): Delete `ucs-cns'.
180         (complex_vars_of_mule_charset): Likewise.
181
182 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
183
184         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
185
186         * mule-charset.c (Vcharset_ucs_jis): Deleted.
187         (Qucs_jis): Deleted.
188         (syms_of_mule_charset): Delete `ucs-jis'.
189         (complex_vars_of_mule_charset): Likewise.
190
191 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
192
193         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
194
195         * mule-charset.c (Vcharset_ucs_ks): Deleted.
196         (Qucs_ks): Deleted.
197         (syms_of_mule_charset): Delete `ucs-ks'.
198         (complex_vars_of_mule_charset): Likewise.
199
200 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
201
202         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
203         (Qideograph_daikanwa_2): Deleted.
204         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
205         (complex_vars_of_mule_charset): Likewise.
206
207         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
208         (LEADING_BYTE_DAIKANWA_1): Deleted.
209         (LEADING_BYTE_DAIKANWA_2): Deleted.
210         (MIN_CHAR_DAIKANWA): Deleted.
211         (MAX_CHAR_DAIKANWA): Deleted.
212
213 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
214
215         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
216         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
217         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
218
219         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
220         (Vcharset_ideograph_daikanwa): Deleted.
221         (Qideograph_hanziku_{1..12}): Deleted.
222         (Qideograph_daikanwa): Deleted.
223         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
224         Vcharset_ideograph_daikanwa.
225         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
226         `ideograph-hanziku-{1..12}'.
227         (complex_vars_of_mule_charset): Likewise.
228
229 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
230
231         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
232
233         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
234         (Qideograph_gt_pj_{1..11}): Deleted.
235         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
236         (complex_vars_of_mule_charset): Likewise.
237
238 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
239
240         * mule-charset.c (Vcharset_ucs_big5): Deleted.
241         (Vcharset_ideograph_gt): Deleted.
242         (Qucs_big5): Deleted.
243         (Qideograph_gt): Deleted.
244         (syms_of_mule_charset): Delete symbol `ucs-big5' and
245         `ideograph-gt'.
246         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
247         and `ideograph-gt'.
248
249         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
250         (LEADING_BYTE_GT): Deleted.
251         (MIN_CHAR_GT): Deleted.
252         (MAX_CHAR_GT): Deleted.
253
254 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
255
256         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
257
258 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
259
260         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
261         (save_uint16_byte_table): Likewise.
262         (save_byte_table): Likewise; convert values by it.
263         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
264         for `ideographic-structure'.
265         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
266         as the filter for `ideographic-structure'.
267
268 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
269
270         * chartab.c (put_char_composition): New function.
271         (Fput_char_attribute): Use `put_char_composition'; use
272         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
273
274         * fns.c (simplify_char_spec): New function.
275         (char_ref_simplify_spec): New function.
276         (Fchar_refs_simplify_char_specs): New function.
277         (syms_of_fns): Add new builtin function
278         `char-refs-simplify-char-specs'.
279
280 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
281
282         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
283         (Qideograph_cbeta): Deleted.
284         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
285         (complex_vars_of_mule_charset): Likewise.
286
287         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
288         (MIN_CHAR_CBETA): Comment out.
289         (MAX_CHAR_CBETA): Likewise.
290
291 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
292
293         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
294         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
295         CHISE client feature.
296
297 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
298
299         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
300
301 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
302
303         * mule-charset.c (charset_lookup_description_1): Use
304         `NUM_LEADING_BYTES' in UTF-2000.
305
306 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
307
308         * char-ucs.h (GC_CHARSETP): Deleted.
309
310 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
311
312         * char-ucs.h (MAX_CHAR_GT): Updated.
313
314 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
315
316         * text-coding.c: Sync with XEmacs 21.4.10.
317
318 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
319
320         * mule-charset.c (Vcharset_china3_jef): Deleted.
321         (Qchina3_jef): Deleted.
322         (syms_of_mule_charset): Don't define `china3-jef'.
323         (complex_vars_of_mule_charset): Likewise.
324
325         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
326         (MIN_CHAR_CHINA3_JEF): Comment out.
327         (MAX_CHAR_CHINA3_JEF): Comment out.
328
329 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
330
331         * mule-charset.c (Vcharset_ucs_gb): New variable.
332         (Qucs_gb): New variable.
333         (syms_of_mule_charset): Add new symbol `ucs-gb'.
334         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
335
336         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
337
338 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
339
340         * mule-charset.c (charset_code_point): if a coded-charset has a
341         final-byte, don't inherit the builtin range of the mother CCS.
342
343 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
344
345         * mule-charset.c (charset_code_point): Fix problem about
346         inheritance.
347
348 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
349
350         * mule-charset.c (decode_builtin_char): Reorganized.
351
352 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
353
354         * text-coding.c (char_encode_as_entity_reference): Modify for
355         `charset_code_point'.
356         (char_encode_shift_jis): Likewise.
357         (char_encode_big5): Likewise.
358         (char_encode_utf8): Likewise.
359         (char_encode_iso2022): Likewise.
360
361         * mule-charset.c (charset_code_point): Add new argument
362         `defined_only'.
363         (Fencode_char): Add new optional argument `defined_only'.
364
365         * chartab.c (put_char_table): Modify for `charset_code_point'.
366
367         * char-ucs.h (charset_code_point): Add new argument
368         `defined_only'.
369         (encode_char_1): Modify for `charset_code_point'.
370
371 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
372
373         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
374         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
375
376 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
377
378         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
379         (Qjis_x0208): Likewise.
380         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
381         XCHARSET_FINAL(charset).
382         (charset_code_point): Modify condition for final-byte based
383         builtin-chars.
384         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
385         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
386         in UTF-2000; specify `=jis-x0208' as the mother of
387         `japanese-jisx0208-1978', `japanese-jisx0208' and
388         `japanese-jisx0208-1990' in UTF-2000.
389
390 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
391
392         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
393
394 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
395
396         * text-coding.c (decode_coding_utf16): Support UTF-16.
397         (char_encode_utf16): Fixed.
398
399 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
400
401         * text-coding.c (Qutf16): New variable in MULE.
402         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
403         (Fcoding_system_type): Add `utf-16' in MULE.
404         (struct detection_state): Add a structure for utf16 in MULE.
405         (detect_coding_type): Setup st->utf16.mask in MULE.
406         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
407         MULE.
408         (reset_encoding_stream): Use `char_encode_utf16' and
409         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
410         (detect_coding_utf16): New function [incomplete].
411         (decode_coding_utf16): New function [support only UCS-2].
412         (char_encode_utf16): New function.
413         (char_finish_utf16): New function.
414         (syms_of_file_coding): Add new symbol `utf-16'; setup
415         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
416
417         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
418         UTF-2000.
419         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
420         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
421
422 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
423
424         * chartab.c (put_char_table): When a charset is specified as a
425         range in UTF-2000, don't support builtin characters.
426
427 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
428
429         * mule-charset.c (decode_defined_char): Don't refer external
430         database if Qunbound or Qnil are found.
431         (Fsave_charset_mapping_table): Don't define it if
432         HAVE_CHISE_CLIENT is not defined.
433         (Freset_charset_mapping_table): New function.
434         (load_char_decoding_entry_maybe): Store Qnil if a character is not
435         found in external database.
436         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
437         if HAVE_CHISE_CLIENT is not defined; add new builtin function
438         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
439
440 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
441
442         * text-coding.c (decode_coding_utf8): Check CCS is specified or
443         not.
444
445 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
446
447         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
448         Q_lowercase, Q_uppercase in UTF-2000.
449
450         * chartab.c (get_char_table): Add special code for the standard
451         case table to use character attribute `->downcase' and
452         `->uppercase' for case operations in UTF-2000.
453
454         * casetab.c (Qflippedcase): New variable in UTF-2000.
455         (Q_lowercase): Likewise.
456         (Q_uppercase): Likewise.
457         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
458         and `->uppercase' in UTF-2000.
459         (complex_vars_of_casetab): Assign attribute name `downcase' to
460         downcase and CANON table of Vstandard_case_table in UTF-2000;
461         assign attribute name `flippedcase' to upcase and EQV table of
462         Vstandard_case_table in UTF-2000.
463
464 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
465
466         * text-coding.c (decode_add_er_char): Support isolated-chars.
467         (char_encode_as_entity_reference): Likewise.
468
469 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
470
471         * emacs.c (Vutf_2000_lisp_directory): New variable.
472         (Vconfigure_utf_2000_lisp_directory): Likewise.
473         (complex_vars_of_emacs): Add new variable
474         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
475
476 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
477
478         * char-ucs.h (DECODE_CHAR): Delete special code for
479         `chinese-big5-1' and `chinese-big5-2'.
480
481         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
482         (Qbig5_2): Likewise.
483         (decode_defined_char): Support CONVERSION_BIG5_1 and
484         CONVERSION_BIG5_2.
485         (decode_builtin_char): Likewise.
486         (charset_code_point): Likewise.
487         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
488         'conversion in UTF-2000.
489         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
490         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
491         `chinese-big5-2' as children of `chinese-big5'.
492
493         * char-ucs.h (CONVERSION_BIG5_1): New macro.
494         (CONVERSION_BIG5_2): New macro.
495
496 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
497
498         * text-coding.c (char_encode_big5): Support entity-reference.
499
500 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
501
502         * text-coding.c (char_encode_as_entity_reference): New function.
503         (char_encode_utf8): Use `char_encode_as_entity_reference'.
504
505 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
506
507         * text-coding.c (decode_coding_big5): Support entity-reference
508         decoding feature.
509
510 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
511
512         * text-coding.c (allocate_coding_system): Initialize initial
513         charsets for CODESYS_UTF8.
514         (Fmake_coding_system): Accept charset-g0, charset-g1 and
515         charset-g2 for CODESYS_UTF8.
516         (decode_coding_utf8): Use charset-g0.
517         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
518         to force variants to map to UCS.
519
520 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
521
522         * text-coding.c (Qutf_8_mcs): New variable.
523         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
524         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
525         instead of `utf-8' in UTF-2000.
526
527 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
528
529         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
530         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
531         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
532         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
533         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
534         CONVERSION_96x96x96x96 are introduced.
535         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
536         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
537         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
538
539         * char-ucs.h (CONVERSION_94): New macro.
540         (CONVERSION_96): New macro.
541         (CONVERSION_94x94): New macro.
542         (CONVERSION_96x96): New macro.
543         (CONVERSION_94x94x94): New macro.
544         (CONVERSION_96x96x96): New macro.
545         (CONVERSION_94x94x94x60): New macro.
546         (CONVERSION_94x94x94x94): New macro.
547         (CONVERSION_96x96x96x96): New macro.
548
549 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
550
551         * chartab.c (Vcharacter_variant_table): Deleted.
552         (Fchar_variants): Use character-attribute `->ucs-variants' instead
553         of `Vcharacter_variant_table'.
554         (Fput_char_attribute): Likewise.
555         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
556         (complex_vars_of_chartab): Likewise.
557
558 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
559
560         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
561
562         * fns.c (Qideographic_structure): New variable.
563         (Qkeyword_char): New variable.
564         (ids_format_unit): New function.
565         (Fideographic_structure_to_ids): New function.
566         (syms_of_fns): Add new symbols `ideographic-structure' and
567         `:char'; add new builtin function `ideographic-structure-to-ids'.
568
569         * data.c (Fchar_ref_p): New function.
570         (syms_of_data): Add new builtin function `char-ref-p'.
571
572         * chartab.h: Add an EXFUN for `Ffind_char'.
573
574 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
575
576         * text-coding.c (Vcharacter_composition_table): Deleted.
577         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
578         in every UTF-2000.
579
580         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
581         UTF-2000.
582         (Vcharacter_composition_table): Deleted.
583         (Fget_composite_char): Use the implementation for external-DB
584         support in every UTF-2000.
585         (Fput_char_attribute): Likewise.
586         (char_attribute_system_db_file): Don't define if external-DB
587         feature is not available.
588         (Fsave_char_attribute_table): Likewise.
589         (Fmount_char_attribute_table): Likewise.
590         (Fclose_char_attribute_table): Likewise.
591         (Freset_char_attribute_table): Likewise.
592         (Fload_char_attribute_table): Likewise.
593         (syms_of_chartab): Don't define `save-char-attribute-table',
594         `mount-char-attribute-table', `reset-char-attribute-table',
595         `close-char-attribute-table' and `load-char-attribute-table' if
596         external-DB feature is not available.
597         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
598
599 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
600
601         * text-coding.c (Qcomposition): Add extern if external-DB feature
602         is supported.
603         (Vcharacter_composition_table): Don't add extern if external-DB
604         feature is supported.
605         (COMPOSE_ADD_CHAR): Modify for new data-representation of
606         character composition rule if external-DB feature is supported.
607
608         * chartab.c (Vcharacter_composition_table): Don't define if
609         external-DB feature is supported.
610         (Qcomposition): New variable.
611         (Fget_composite_char): New implementation for external-DB support.
612         (Fput_char_attribute): Use `composition' property of each
613         character instead of `Vcharacter_composition_table' to store
614         character-composition rules if external-DB feature is supported.
615         (syms_of_chartab): Add new symbol `composition'.
616         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
617         external-DB feature is supported.
618
619 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
620
621         * chartab.c (Vchar_db_stingy_mode): New variable.
622         (load_char_attribute_maybe): Close database if
623         Vchar_db_stingy_mode is not NIL.
624         (Fload_char_attribute_table_map_function): Use
625         `get_char_id_table_0' instead of `get_char_id_table'.
626         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
627
628         * chartab.h (get_char_id_table_0): New inline function.
629         (get_char_id_table): Use `get_char_id_table_0'.
630
631 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
632
633         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
634         and `COMPOSE_ADD_CHAR'.
635         (decode_coding_iso2022): Use `decode_flush_er_chars'.
636
637 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
638
639         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
640         instead of `DECODE_ADD_UCS_CHAR'.
641         (COMPOSE_ADD_CHAR): Likewise.
642
643 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
644
645         * text-coding.c (decode_flush_er_chars): New inline function.
646         (decode_add_er_char): New function.
647         (decode_coding_utf8): Use `decode_flush_er_chars' and
648         `decode_add_er_char'.
649
650 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
651
652         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
653         done before `decode_output_utf8_partial_char'.
654
655         * mule-charset.c (complex_vars_of_mule_charset): Specify
656         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
657         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
658
659 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
660
661         * mule-charset.c (decode_defined_char): New function; search
662         mother.
663         (decode_builtin_char): Don't search mother if
664         XCHARSET_MAX_CODE(charset) == 0.
665         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
666         == 0 even if code >= XCHARSET_MAX_CODE(charset).
667         (Fdecode_char): Use `decode_defined_char' instead of
668         `DECODE_DEFINED_CHAR'.
669         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
670         mother of `Vcharset_ucs_jis'.
671
672         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
673         instead of `DECODE_DEFINED_CHAR'.
674
675         * char-ucs.h (decode_defined_char): Renamed from
676         `DECODE_DEFINED_CHAR'; changed to normal function.
677         (DECODE_CHAR): Use `decode_defined_char' instead of
678         `DECODE_DEFINED_CHAR'.
679
680         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
681
682 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
683
684         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
685
686         * text-coding.c (Vcoded_charset_entity_reference_alist): New
687         variable.
688         (Quse_entity_reference): New variable.
689         (Qd): New variable.
690         (Qx): New variable.
691         (QX): New variable.
692         (coding_system_description): Add description for
693         `ccs_priority_list'.
694         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
695         (allocate_coding_system): Initialize `ccs_priority_list' in
696         UTF-2000.
697         (Fmake_coding_system): Add description about
698         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
699         (codesys).
700         (Fcoding_system_property): Accept `disable-composition' and
701         `use-entity-reference' in UTF-2000.
702         (struct decoding_stream): Add new member `er_counter' and `er_buf'
703         in UTF-2000.
704         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
705         (decode_coding_utf8): Decode entity-reference if
706         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
707         (char_encode_utf8): Encode non-Unicode characters as
708         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
709         (str->codesys).
710         (syms_of_file_coding): Add new symbols `use-entity-reference',
711         `d', `x', `X'.
712         (vars_of_file_coding): Add new variable
713         `coded-charset-entity-reference-alist'.
714         (complex_vars_of_file_coding): Declare `disable-composition' and
715         `use-entity-reference' to be coding-system-properties in UTF-2000.
716
717         * file-coding.h (struct Lisp_Coding_System): Add new member
718         `use_entity_reference' and `ccs_priority_list'.
719         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
720         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
721         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
722
723 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
724
725         * chartab.c (save_uint8_byte_table): Don't clear the table.
726         (save_uint16_byte_table): Likewise.
727         (save_byte_table): Likewise.
728         (Fmount_char_attribute_table): New function.
729         (syms_of_chartab): Add new builtin function
730         `mount-char-attribute-table'.
731
732 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
733
734         * mule-charset.c (Fsave_charset_mapping_table): Open database as
735         "w+" mode.
736         (load_char_decoding_entry_maybe): Open database as read-only mode.
737
738         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
739         open database as "w+" mode.
740         (load_char_attribute_maybe): Open database as read-only mode.
741         (Fload_char_attribute_table): Likewise.
742
743 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
744
745         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
746         (char_table_description): Delete member `db_file'.
747         (Fmake_char_table): Don't refer `ct->db_file'.
748         (Fcopy_char_table): Likewise.
749         (Fsave_char_attribute_table): Likewise.
750         (Fclose_char_attribute_table): Likewise.
751         (Freset_char_attribute_table): Likewise.
752         (load_char_attribute_maybe): Likewise.
753         (Fload_char_attribute_table): Likewise.
754
755         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
756
757 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
758
759         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
760         (Fsave_char_attribute_table): Don't check `ct->db_file' if
761         `ct->db' is living.
762         (load_char_attribute_maybe): Likewise.
763         (Fload_char_attribute_table): Likewise.
764
765 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
766
767         * chartab.c (Fclose_char_attribute_table): Set Qnil on
768         `ct->db_file' unconditionally.
769
770 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
771
772         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
773         UTF-2000.
774         (char_table_description): Add description for `db_file' and `db'
775         in UTF-2000.
776         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
777         UTF-2000.
778         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
779         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
780         (Fclose_char_attribute_table): New function.
781         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
782         (load_char_attribute_maybe): Change interface; use `cit->db_file'
783         and `cit->db'.
784         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
785         (syms_of_chartab): Add new builtin function
786         `Fclose_char_attribute_table'.
787
788 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
789
790         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
791         `db' in UTF-2000.
792         (load_char_attribute_maybe): Change interface.
793         (get_char_id_table): Modify for `load_char_attribute_maybe'.
794
795 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
796
797         * database.h: Add an EXFUN for `Fdatabase_live_p'.
798
799 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
800
801         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
802         instead of `DECODE_CHAR' for mother; don't use special code for
803         chinese-big5 to use code space of chinese-big5-1 and
804         chinese-big5-2.
805         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
806         `MAX_CHAR_BIG5_CDP' for chinese-big5.
807
808         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
809         (MAX_CHAR_BIG5_CDP): Revival.
810
811 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
812
813         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
814         the XLFD registry-encoding name of `chinese-big5'.
815
816 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
817
818         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
819         (Qchinese_big5_cdp): Deleted.
820         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
821         (complex_vars_of_mule_charset): Delete coded-charset
822         `chinese-big5-cdp'.
823
824         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
825         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
826         `CHARSET_ID_OFFSET - n' for private CCS.
827         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
828         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
829         of `MIN_LEADING_BYTE'.
830         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
831         `(CHARSET_ID_OFFSET - 97)'.
832         (MIN_CHAR_BIG5_CDP): Deleted.
833         (MAX_CHAR_BIG5_CDP): Deleted.
834
835 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
836
837         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
838
839 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
840
841         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
842         (vars_of_mule): Add new variable `utf-2000-version' [moved from
843         chartab.c].
844
845         * chartab.c (Vutf_2000_version): Moved to mule.c.
846         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
847
848 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
849
850         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
851         when HAVE_CHISE_CLIENT is not defined.
852
853         * mule.c (vars_of_mule): Provide feature `chise' when
854         HAVE_CHISE_CLIENT is defined.
855
856 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
857
858         * config.h.in (UTF2000): Add comment.
859         (HAVE_CHISE_CLIENT): New macro.
860
861 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
862
863         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
864         CONSP.
865         (Fput_char_attribute): Likewise.
866         (char_attribute_system_db_file): Encode file-name of attribute.
867         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
868         the initial value.
869
870 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
871
872         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
873         (Fsave_charset_mapping_table): Use
874         `char_attribute_system_db_file'.
875         (load_char_decoding_entry_maybe): Likewise.
876
877         * chartab.h (Qsystem_char_id): New external variable.
878         (char_attribute_system_db_file): New prototype.
879
880         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
881         (char_attribute_system_db_file): New function.
882         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
883         (Freset_char_attribute_table): Likewise.
884         (load_char_attribute_maybe): Likewise.
885         (Fload_char_attribute_table): Likewise.
886         (syms_of_chartab): Add new symbol `system-char-id'.
887
888 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
889
890         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
891         `XCHARSET_GRAPHIC(ccs)'.
892
893 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
894
895         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
896
897 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
898
899         * chartab.c (Q_ucs_variants): New variable.
900         (syms_of_chartab): Add new symbol `->ucs-variants'.
901         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
902         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
903         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
904
905         * mule-charset.c (load_char_decoding_entry_maybe): New function.
906
907         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
908         `HAVE_DATABASE' is defined.
909         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
910         `HAVE_DATABASE' is defined.
911
912 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
913
914         * chartab.c (Fsave_char_attribute_table): Don't clear internal
915         attribute-table.
916         (Freset_char_attribute_table): New function.
917         (syms_of_chartab): Add new builtin function
918         `reset-char-attribute-table'.
919
920 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
921
922         * chartab.c (load_char_attribute_maybe): Don't make directories.
923
924 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
925
926         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
927
928         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
929         for decoding-table.
930
931 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
932
933         * mule-charset.c (Fsave_charset_mapping_table): Use
934         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
935
936         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
937         instead of `XCHARSET_CHARS'.
938
939 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
940
941         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
942         (XCHARSET_BYTE_SIZE): Likewise.
943
944         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
945         mule-charset.c].
946         (XCHARSET_BYTE_SIZE): Likewise.
947
948 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
949
950         * chartab.c (Fput_char_attribute): Use exec-directory instead of
951         data-directory to store database.
952         (Fsave_char_attribute_table): Likewise.
953         (load_char_attribute_maybe): Likewise.
954         (Fload_char_attribute_table): Likewise.
955
956 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
957
958         * mule-charset.c (Fsave_charset_mapping_table): New function.
959         (syms_of_mule_charset): Add new builtin function
960         `save-charset-mapping-table'.
961
962 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
963
964         * char-ucs.h (decoding_table_check_elements): Delete prototype.
965         (get_ccs_octet_table): New inline function.
966         (put_ccs_octet_table): Likewise.
967         (decoding_table_put_char): Use `get_ccs_octet_table' and
968         `put_ccs_octet_table'.
969         (decoding_table_remove_char): Use `decoding_table_put_char'.
970         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
971
972         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
973         into encoding_table.
974         (make_charset): Use Qunbound instead Qnil as initial value of
975         decoding_table.
976
977 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
978
979         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
980         element is Qunloaded.
981         (map_over_uint16_byte_table): Likewise.
982         (map_over_byte_table): Likewise.
983         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
984         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
985         database support, load encoding-table of the specified
986         coded-charset if it is not loaded yet.
987         (save_uint8_byte_table): New function of UTF-2000 with external
988         database support.
989         (save_uint16_byte_table): Likewise.
990         (save_byte_table): Likewise.
991         (Fput_char_attribute): Don't store value into external database
992         even if the external database feature is supported in UTF-2000;
993         set `attribute' as name of char-table if the external database
994         feature is supported.
995         (Fsave_char_attribute_table): New function in UTF-2000.
996         (syms_of_chartab): Add new builtin function
997         `save-char-attribute-table' in UTF-2000.
998
999 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1000
1001         * chartab.c (char_attribute_table_to_put): New variable in
1002         UTF-2000.
1003         (Qput_char_table_map_function): Likewise.
1004         (value_to_put): Likewise.
1005         (Fput_char_table_map_function): New function in UTF-2000.
1006         (put_char_table): Use `Fmap_char_attribute' for
1007         CHARTAB_RANGE_CHARSET in UTF-2000.
1008         (Fput_char_attribute): Store symbol instead of string in
1009         `XCHAR_TABLE_NAME (table)'.
1010         (load_char_attribute_maybe): Likewise.
1011         (syms_of_chartab): Add new symbol/function
1012         `put-char-table-map-function'.
1013
1014 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1015
1016         * database.h: Add new EXFUN for `Fmap_database'.
1017
1018         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1019         (syms_of_database): Likewise.
1020
1021         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1022         UTF-2000.
1023         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1024         (XCHAR_TABLE_UNLOADED): Likewise.
1025
1026         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1027         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1028         HAVE_DATABASE is defined.
1029         (char_attribute_table_to_load): New variable of UTF-2000 with
1030         external database support.
1031         (Qload_char_attribute_table_map_function): Likewise.
1032         (Fload_char_attribute_table_map_function): New function of
1033         UTF-2000 with external database support.
1034         (Fload_char_attribute_table): New function of UTF-2000.
1035         (Fmap_char_attribute): Call Fload_char_attribute_table if
1036         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1037         (syms_of_chartab): Add new symbol and function
1038         `load-char-attribute-table-map-function' in UTF-2000 with external
1039         database support; add new function `load-char-attribute-table' in
1040         UTF-2000.
1041
1042 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1043
1044         * chartab.h (load_char_attribute_maybe): New prototype for
1045         UTF-2000 with DATABASE support.
1046         (get_char_id_table): Use `load_char_attribute_maybe' if
1047         HAVE_DATABASE is defined.
1048
1049         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1050         with DATABASE support.
1051
1052 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1053
1054         * chartab.c (Fput_char_attribute): Use S-expression as key of
1055         external database.
1056
1057         * chartab.h (get_char_id_table): Use S-expression as key of
1058         external database.
1059
1060 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1061
1062         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1063         if an element is not loaded, load the corresponding attributes
1064         from an external database.
1065         (map_over_uint16_byte_table): Likewise.
1066         (map_over_byte_table): Likewise.
1067         (map_char_table): Modify for `map_over_uint8_byte_table',
1068         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1069         element is not loaded, load the corresponding attributes from an
1070         external database.
1071         (Fput_char_attribute): Change initial values to Qunloaded.
1072
1073         * chartab.h (get_char_id_table): If a character attribute is not
1074         loaded and the attribute value is not found in an external
1075         database, store Qunbound as the attribute value.
1076
1077 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1078
1079         * chartab.c (BT_UINT8_unloaded): New macro.
1080         (UINT8_VALUE_P): Accept Qunloaded.
1081         (UINT8_ENCODE): Likewise.
1082         (UINT8_DECODE): Likewise.
1083         (BT_UINT16_unloaded): New macro.
1084         (UINT16_VALUE_P): Accept Qunloaded.
1085         (UINT16_ENCODE): Likewise.
1086         (UINT16_DECODE): Likewise.
1087         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1088         BT_UINT16_unloaded.
1089         (mark_char_table): Mark `ct->name' in UTF-2000.
1090         (char_table_description): Add `name' in UTF-2000.
1091         (Fmake_char_table): Initialize `ct->name'.
1092         (Fcopy_char_table): Copy `ct->name'.
1093         (Fput_char_attribute): Store value into an external database if
1094         HAVE_DATABASE is defined.
1095
1096         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1097         UTF-2000.
1098         (CHAR_TABLE_NAME): New macro in UTF-2000.
1099         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1100         (get_char_id_table): Try to read an external database if Qunloaded
1101         is stored in a table.
1102
1103         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1104         Qunloaded.
1105
1106 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1107
1108         * database.h: Add EXFUN definitions for Fopen_database,
1109         Fput_database, Fget_database and Fclose_database.
1110
1111         * data.c (Qunloaded): New variable in UTF-2000.
1112
1113         * lisp.h (Qunloaded): New variable in UTF-2000.
1114
1115 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1116
1117         * mule-charset.c (put_char_ccs_code_point): Modify for
1118         `decoding_table_remove_char' and `decoding_table_put_char'.
1119         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1120
1121         * char-ucs.h (decoding_table_remove_char): Change arguments to
1122         hide decoding_table vector.
1123         (decoding_table_put_char): Likewise.
1124
1125 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1126
1127         * mule-charset.c (decoding_table_remove_char): Moved to
1128         char-ucs.h.
1129         (decoding_table_put_char): Likewise.
1130
1131         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1132         from mule-charset.c].
1133         (decoding_table_remove_char): New inline function [moved from
1134         mule-charset.c].
1135         (decoding_table_put_char): Likewise.
1136
1137 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1138
1139         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1140         extension.
1141
1142 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1143
1144         * mule-charset.c (decode_builtin_char): Support mother charsets.
1145
1146 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1147
1148         * mule-charset.c (Q94x94x60): New variable.
1149         (charset_code_point): Support conversion `94x94x60'.
1150         (Fmake_charset): Likewise.
1151         (syms_of_mule_charset): Add new symbol `94x94x60'.
1152
1153         * char-ucs.h (CONVERSION_94x94x60): New macro.
1154
1155 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1156
1157         * mule-charset.c (charset_code_point): Unify code about
1158         `code-offset'.
1159
1160 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1161
1162         * mule-charset.c (charset_code_point): Merge code about builtin
1163         characters into code about mother charsets; don't use
1164         `range_charset_code_point'.
1165         (range_charset_code_point): Deleted.
1166
1167 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1168
1169         * mule-charset.c (Qcode_offset): New variable.
1170         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1171         `max-code'; accept new property `code-offset'.
1172         (syms_of_mule_charset): Add new symbol `code-offset'.
1173
1174 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1175
1176         * mule-charset.c (range_charset_code_point): Fixed.
1177
1178 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1179
1180         * mule-charset.c (decode_builtin_char): Change semantics of
1181         code-offset of coded-charset.
1182         (charset_code_point): Likewise.
1183         (range_charset_code_point): Likewise.
1184         (complex_vars_of_mule_charset): Modify for the change.
1185
1186 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1187
1188         * mule-charset.c (Fencode_char): Reverse arguments.
1189
1190         * mule-charset.c (charset_code_point): Fixed.
1191
1192 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1193
1194         * mule-charset.c (Vcharset_mojikyo): Deleted.
1195         (Vcharset_mojikyo_2022_1): Deleted.
1196         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1197         (Qmin_code): New variable in UTF-2000.
1198         (Qmax_code): Likewise.
1199         (Qmother): Likewise.
1200         (Qconversion): Likewise.
1201         (Q94x60): Likewise.
1202         (Qmojikyo): Deleted.
1203         (Qmojikyo_2022_1): Deleted.
1204         (Qmojikyo_pj_{1..22}): Deleted.
1205         (mark_charset): Mark `cs->mother'.
1206         (charset_description): Add description for `mother'.
1207         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1208         new arguments `mother' and `conversion'; use
1209         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1210         (charset_code_point): Moved from char-ucs.h; support `mother'
1211         charset feature.
1212         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1213         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1214         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1215         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1216         allow 2 as the value of `graphic' in UTF-2000; add new properties
1217         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1218         require `final' in UTF-2000; modify for `make_charset'.
1219         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1220         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1221         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1222         (Fencode_char): New function.
1223         (syms_of_mule_charset): Add new builtin function `encode-char' in
1224         UTF-2000; add new symbols `min-code', `max-code', `mother',
1225         `conversion' and `94x60'; delete symbols `mojikyo',
1226         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
1227         (complex_vars_of_mule_charset): Modify for `make_charset' change;
1228         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
1229         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
1230
1231         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
1232         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
1233
1234         * char-ucs.h (Vcharset_mojikyo): Deleted.
1235         (Vcharset_mojikyo_2022_1): Deleted.
1236         (LEADING_BYTE_MOJIKYO): Deleted.
1237         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1238         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1239         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1240         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
1241         add new member `mother'; add new member `conversion'.
1242         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
1243         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
1244         (CHARSET_MOTHER): New macro.
1245         (CHARSET_CONVERSION): New macro.
1246         (CONVERSION_IDENTICAL): New macro.
1247         (CONVERSION_94x60): New macro.
1248         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
1249         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
1250         (XCHARSET_MOTHER): New macro.
1251         (XCHARSET_CONVERSION): New macro.
1252         (MIN_CHAR_MOJIKYO): Deleted.
1253         (MAX_CHAR_MOJIKYO): Deleted.
1254         (DECODE_MOJIKYO_2022): Deleted.
1255         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
1256         (charset_code_point): Changed to non-inline function.
1257         (encode_char_1): Use `charset_code_point'.
1258         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
1259
1260 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1261
1262         * lread.c (read_compiled_function): Fix prototype.
1263         (read_vector): Likewise.
1264
1265 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1266
1267         * lrecord.h (struct lrecord_header): Delete `older'.
1268         (set_lheader_implementation): Delete code for `older'.
1269         (set_lheader_older_implementation): Deleted.
1270         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
1271         (OLDER_RECORD_P): Deleted.
1272         (OLDER_RECORD_HEADER_P): Deleted.
1273         (alloc_older_lcrecord): Deleted.
1274         (alloc_older_lcrecord_type): Deleted.
1275
1276         * alloc.c (all_older_lcrecords): Deleted.
1277         (alloc_older_lcrecord): Deleted.
1278         (disksave_object_finalization_1): Delete code for older objects.
1279         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
1280         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
1281
1282 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1283
1284         * mule-charset.c (decoding_table_put_char): Use `make_vector'
1285         instead of `make_older_vector'.
1286         (put_char_ccs_code_point): Likewise.
1287         (mark_charset): Mark `cs->decoding_table'.
1288         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
1289
1290         * lisp.h (make_older_vector): Deleted.
1291         (make_vector_newer): Deleted.
1292
1293         * config.h.in (HAVE_GGC): Deleted.
1294
1295         * alloc.c (make_older_vector): Deleted.
1296         (make_vector_newer_1): Deleted.
1297         (make_vector_newer): Deleted.
1298
1299 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1300
1301         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
1302         (Qideograph_daikanwa_2): New variable.
1303         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
1304         (complex_vars_of_mule_charset): Add new coded-charset
1305         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
1306         `LEADING_BYTE_DAIKANWA'.
1307
1308         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
1309         (LEADING_BYTE_DAIKANWA_1): New macro.
1310         (LEADING_BYTE_DAIKANWA_2): New macro.
1311         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
1312
1313 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1314
1315         * mule-charset.c (complex_vars_of_mule_charset): Change
1316         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
1317         the second revised version.
1318
1319 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1320
1321         * mule-charset.c (Vcharset_ucs_smp): New variable.
1322         (Vcharset_ucs_sip): New variable.
1323         (Qucs_smp): New variable.
1324         (Qucs_sip): New variable.
1325         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
1326         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
1327         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
1328         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
1329         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
1330         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
1331
1332         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
1333         (LEADING_BYTE_UCS_SIP): New macro.
1334         (MIN_CHAR_SMP): New macro.
1335         (MAX_CHAR_SMP): New macro.
1336         (MIN_CHAR_SIP): New macro.
1337         (MAX_CHAR_SIP): New macro.
1338
1339 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1340
1341         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
1342         utf-2000.
1343
1344 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1345
1346         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
1347         value; don't store value into `encoding_table' of `Lisp_Charset'.
1348         (mark_charset): `encoding_table' was deleted.
1349         (charset_description): Likewise.
1350         (make_charset): Likewise.
1351         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
1352         `put_char_ccs_code_point'.
1353
1354         * chartab.h (Fput_char_attribute): New EXFUN.
1355
1356         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
1357         is unified with normal symbol space.
1358         (Fget_char_attribute): Likewise.
1359         (Fput_char_attribute): Likewise; behavior of
1360         `put_char_ccs_code_point' is changed.
1361
1362         * char-ucs.h: Include "elhash.h".
1363         (Vchar_attribute_hash_table): New external variable.
1364         (struct Lisp_Charset): Delete `encoding_table'.
1365         (CHARSET_ENCODING_TABLE): New implementation; refer
1366         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
1367         `Lisp_Charset'.
1368
1369 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1370
1371         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
1372         (cs) == 0.
1373
1374 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1375
1376         * text-coding.c (char_encode_big5): Prefer charset-g1 than
1377         `chinese-big5'.
1378
1379 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1380
1381         * chartab.c (uint8_byte_table_description): New constant.
1382         (uint8-byte-table): Use `uint8_byte_table_description'.
1383         (uint16_byte_table_description): New constant.
1384         (uint16-byte-table): Use `uint16_byte_table_description'.
1385
1386 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1387
1388         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
1389         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
1390
1391 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1392
1393         * mule-charset.c (Vcharset_ucs_ks): New variable.
1394         (Qucs_ks): New variable.
1395         (syms_of_mule_charset): Add new symbol `ucs-ks'.
1396         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
1397
1398         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
1399
1400 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1401
1402         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
1403         (Fdecode_char): Likewise.
1404
1405         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
1406         chartab.h.
1407         (Fdefine_char): Modify for Fdecode_char.
1408         (Ffind_char): Likewise.
1409
1410         * mule-charset.c (Fdecode_char): Add new optional argument
1411         `defined-only'.
1412         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1413
1414 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1415
1416         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
1417         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
1418         (allocate_coding_system): Initialize initial-charsets of
1419         CODESYS_BIG5 in XEmacs UTF-2000.
1420         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
1421         CODESYS_BIG5 in XEmacs UTF-2000.
1422         (decode_coding_big5): Use initial-charset-g0 and -g1 of
1423         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
1424
1425         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
1426         variables.
1427         (Qideograph_hanziku_{1 .. 12}): Likewise.
1428         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
1429         .. 12}'.
1430         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
1431         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
1432         `ideograph-hanziku-{1 .. 12}'.
1433
1434         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
1435         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
1436         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
1437         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
1438         (DECODE_DEFINED_CHAR): New inline function.
1439         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1440
1441 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1442
1443         * mule-charset.c (Vcharset_china3_jef): Renamed from
1444         `Vcharset_japanese_jef_china3'.
1445         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1446         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1447         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1448         (syms_of_mule_charset): Rename `china3-jef' from
1449         `japanese-jef-china3'.
1450         (complex_vars_of_mule_charset): Likewise; rename
1451         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1452
1453         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1454         `LEADING_BYTE_JEF_CHINA3'.
1455         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1456         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1457
1458 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1459
1460         * mule-charset.c (encode_builtin_char_1): Comment out special code
1461         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1462
1463         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1464         (MAX_CHAR_MOJIKYO_0): Comment out.
1465         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1466         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1467         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1468         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1469
1470 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1471
1472         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1473         (Qideograph_cbeta): New variable.
1474         (encode_builtin_char_1): Comment out special code for
1475         coded-charset `mojikyo' and `japanese-jef-china3'.
1476         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1477         (complex_vars_of_mule_charset): Add new coded-charset
1478         `ideograph-cbeta'.
1479
1480         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1481         (MIN_CHAR_CBETA): New macro.
1482         (MAX_CHAR_CBETA): New macro.
1483
1484 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1485
1486         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1487         (LEADING_BYTE_JEF_CHINA3): New macro.
1488         (MIN_CHAR_JEF_CHINA3): New macro.
1489         (MAX_CHAR_JEF_CHINA3): Likewise.
1490         (DECODE_CHAR): Fixed.
1491
1492 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1493
1494         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
1495         (Qjapanese_jef_china3): New variable.
1496         (encode_builtin_char_1): Support `japanese-jef-china3'.
1497         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
1498         (complex_vars_of_mule_charset): Add new coded-charset
1499         `japanese-jef-china3'.
1500
1501 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1502
1503         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
1504         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
1505         94^4, 96^3, 96^4, 128^n and 256^n set.
1506         (put_char_table): Use `XCHARSET_CELL_RANGE'.
1507         (map_char_table): Likewise.
1508
1509 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1510
1511         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
1512         UTF-2000.
1513
1514 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1515
1516         * chartab.h (get_char_id_table): New inline function.
1517
1518         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
1519         function.
1520
1521 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1522
1523         * chartab.h (decode_char_table_range): New prototype in XEmacs
1524         UTF-2000.
1525         (put_char_id_table): New inline function in XEmacs UTF-2000.
1526
1527         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
1528         function.
1529         (decode_char_table_range): Delete static declaration in XEmacs
1530         UTF-2000.
1531
1532 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1533
1534         * chartab.c (put_char_id_table): Use `put_char_table'.
1535
1536 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1537
1538         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
1539         (map_over_uint16_byte_table): Likewise.
1540         (map_over_byte_table): Likewise.
1541         (map_char_table): Modify for `map_over_uint8_byte_table',
1542         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
1543         UTF-2000.
1544
1545 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1546
1547         * chartab.c (struct map_char_table_for_charset_arg): New
1548         structure.
1549         (map_char_table_for_charset_fun): New function.
1550         (map_char_table): Use `map_char_table' for encoding_table of
1551         `range->charset'.
1552
1553 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1554
1555         * chartab.c (map_char_table): Check a character is found in
1556         range->charset instead of non default value is defined in
1557         char-table when range is CHARTAB_RANGE_ROW.
1558
1559 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1560
1561         * chartab.c (map_char_id_table): Deleted.
1562         (Fmap_char_attribute): Use `map_char_table' instead of
1563         `map_char_id_table'.
1564
1565 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1566
1567         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
1568         UTF-2000.
1569         (update_syntax_table): Deleted in XEmacs UTF-2000.
1570
1571         * syntax.c (find_defun_start): Use `syntax_table' instead of
1572         `mirror_syntax_table' in XEmacs UTF-2000.
1573         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
1574         UTF-2000.
1575         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
1576         XEmacs UTF-2000.
1577         (Fmatching_paren): Likewise.
1578         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
1579         in XEmacs UTF-2000.
1580         (find_start_of_comment): Likewise.
1581         (find_end_of_comment): Likewise.
1582         (Fforward_comment): Likewise.
1583         (scan_lists): Likewise.
1584         (char_quoted): Likewise.
1585         (Fbackward_prefix_chars): Likewise.
1586         (scan_sexps_forward): Likewise.
1587         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
1588         (update_syntax_table): Likewise.
1589
1590         * search.c (skip_chars): Use `syntax_table' instead of
1591         `mirror_syntax_table' in XEmacs UTF-2000.
1592         (wordify): Likewise.
1593         (Freplace_match): Likewise.
1594
1595         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
1596         `mirror_syntax_table' in XEmacs UTF-2000.
1597         (WORDCHAR_P_UNSAFE): Likewise.
1598         (re_match_2_internal): Likewise.
1599
1600         * font-lock.c (find_context): Use `buf->syntax_table' instead of
1601         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1602
1603         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
1604         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
1605
1606         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
1607         XEmacs UTF-2000.
1608
1609         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
1610         UTF-2000.
1611         (print_char_table): Print `default_value' in XEmacs UTF-2000.
1612         (char_table_description): Delete `mirror_table' in XEmacs
1613         UTF-2000.
1614         (fill_char_table): Don't call `update_syntax_table' in XEmacs
1615         UTF-2000.
1616         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
1617         (Fcopy_char_table): Likewise.
1618         (put_char_table): Don't call `update_syntax_table' in XEmacs
1619         UTF-2000.
1620
1621         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
1622         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1623         (casify_region_internal): Likewise.
1624
1625         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
1626
1627         * buffer.c (common_init_complex_vars_of_buffer): Don't use
1628         `mirror_syntax_table' in XEmacs UTF-2000.
1629
1630         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
1631         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1632         (Fexpand_abbrev): Likewise.
1633
1634 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1635
1636         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
1637
1638 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1639
1640         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
1641         (map_over_uint16_byte_table): Likewise.
1642         (map_over_byte_table): Likewise.
1643         (get_char_id_table): Refer `cit->default_value'.
1644         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1645         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
1646         of character-id ranges.
1647         (mark_char_table): Mark `ct->default_value'.
1648         (char_table_description): Add `default_value'.
1649         (fill_char_table): Use `default_value'.
1650         (decode_char_table_range): Decode `nil' as
1651         `CHARTAB_RANGE_DEFAULT'.
1652         (get_char_id_table): Refer `cit->default_value'.
1653         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1654         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
1655         temporary hack; check value of char-table is bound or not.
1656         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
1657
1658         * chartab.h (struct Lisp_Char_Table): Add new member
1659         `default_value' in XEmacs UTF-2000.
1660         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
1661         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
1662         UTF-2000.
1663
1664 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1665
1666         * chartab.h (Lisp_Char_ID_Table): Deleted.
1667
1668         * chartab.c (char_table_description): Fix typo.
1669         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
1670         `Lisp_Char_ID_Table'.
1671
1672 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1673
1674         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
1675         `CHAR_ID_TABLE_P'.
1676
1677         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
1678         `CHAR_ID_TABLE_P'.
1679
1680         * chartab.h (XCHAR_ID_TABLE): Deleted.
1681         (XSETCHAR_ID_TABLE): Deleted.
1682         (CHAR_ID_TABLE_P): Deleted.
1683
1684         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
1685         `CHAR_ID_TABLE_P'.
1686         (Fget_composite_char): Likewise.
1687         (put_char_table): Likewise.
1688         (add_char_attribute_alist_mapper): Fixed.
1689         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
1690         `CHAR_ID_TABLE_P'.
1691         (Fget_char_attribute): Likewise.
1692         (Fget_char_attribute): Likewise.
1693         (Fmap_char_attribute): Likewise.
1694
1695         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
1696         `CHAR_ID_TABLE_P'.
1697         (encode_char_1): Likewise.
1698
1699 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1700
1701         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
1702         `XCHAR_ID_TABLE'.
1703
1704         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
1705         instead of `XCHAR_ID_TABLE'.
1706         (remove_char_ccs): Likewise.
1707
1708         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
1709         `XCHAR_ID_TABLE'.
1710         (Fget_composite_char): Likewise.
1711         (Fchar_variants): Likewise.
1712         (put_char_table): Likewise.
1713         (add_char_attribute_alist_mapper): Likewise.
1714         (Fchar_attribute_alist): Likewise.
1715         (Fget_char_attribute): Likewise.
1716         (Fput_char_attribute): Likewise.
1717         (Fmap_char_attribute): Likewise.
1718         (Fmap_char_attribute): Likewise.
1719
1720         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
1721         `XCHAR_ID_TABLE'.
1722         (encode_char_1): Likewise.
1723
1724 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1725
1726         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
1727         `Lisp_Char_ID_Table'.
1728         (mark_char_id_table): Deleted.
1729         (print_char_id_table): Likewise.
1730         (char_id_table_equal): Likewise.
1731         (char_id_table_hash): Likewise.
1732         (char_id_table_description): Likewise.
1733         (char_id_table): Likewise.
1734         (make_char_id_table): Use `Fmake_char_table' and
1735         `fill_char_table'.
1736         (get_char_id_table): Use `Lisp_Char_Table' instead of
1737         `Lisp_Char_ID_Table'.
1738         (put_char_id_table): Likewise.
1739         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
1740         `XCHAR_ID_TABLE'.
1741         (Fremove_char_attribute): Likewise.
1742         (syms_of_chartab): Don't define type `char-id-table'.
1743
1744         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
1745         (char_id_table): Likewise.
1746         (GC_CHAR_ID_TABLE_P): Likewise.
1747         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
1748         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
1749         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
1750         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
1751         (get_char_id_table): Use `Lisp_Char_Table' instead of
1752         `Lisp_Char_ID_Table'.
1753         (put_char_id_table_0): Likewise.
1754         (put_char_id_table): Likewise.
1755
1756 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1757
1758         * chartab.h: Lisp_Byte_Table related codes are moved from
1759         chartab.h.
1760
1761         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
1762
1763 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1764
1765         * chartab.h: Don't include "chartab.h".
1766         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
1767         (Lisp_Char_ID_Table): Likewise.
1768         (char_id_table): Likewise.
1769         (XCHAR_ID_TABLE): Likewise.
1770         (XSETCHAR_ID_TABLE): Likewise.
1771         (CHAR_ID_TABLE_P): Likewise.
1772         (GC_CHAR_ID_TABLE_P): Likewise.
1773         (get_char_id_table): Likewise.
1774
1775         * char-ucs.h: Include "chartab.h".
1776         (struct Lisp_Char_ID_Table): Moved to chartab.h.
1777         (Lisp_Char_ID_Table): Likewise.
1778         (char_id_table): Likewise.
1779         (XCHAR_ID_TABLE): Likewise.
1780         (XSETCHAR_ID_TABLE): Likewise.
1781         (CHAR_ID_TABLE_P): Likewise.
1782         (GC_CHAR_ID_TABLE_P): Likewise.
1783         (get_char_id_table): Likewise.
1784
1785 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1786
1787         * chartab.c (copy_uint8_byte_table): New function.
1788         (copy_uint16_byte_table): New function.
1789         (copy_byte_table): New function.
1790         (map_over_uint8_byte_table): Modify to avoid huge numbers of
1791         characters to call.
1792         (map_over_uint16_byte_table): Likewise.
1793         (map_over_byte_table): Likewise.
1794         (get_byte_table): Move prototype to chartab.h.
1795         (put_byte_table): Likewise.
1796         (put_char_id_table_0): Moved to chartab.h.
1797         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
1798         (char_table_entry_equal): Likewise.
1799         (char_table_entry_hash): Likewise.
1800         (char_table_entry_description): Likewise.
1801         (char_table_entry): Likewise.
1802         (make_char_table_entry): Likewise.
1803         (copy_char_table_entry): Likewise.
1804         (get_non_ascii_char_table_value): Likewise.
1805         (map_over_charset_ascii): Likewise.
1806         (map_over_charset_control_1): Likewise.
1807         (map_over_charset_row): Likewise.
1808         (map_over_other_charset): Likewise.
1809         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
1810         (print_char_table): Likewise.
1811         (char_table_equal): Likewise.
1812         (char_table_hash): Likewise.
1813         (char_table_description): Likewise.
1814         (fill_char_table): Likewise.
1815         (Fcopy_char_table): Likewise.
1816         (get_char_table): Likewise.
1817         (Fget_range_char_table): Likewise.
1818         (put_char_table): Likewise.
1819         (map_char_table): Likewise.
1820         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
1821         UTF-2000.
1822
1823 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1824
1825         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
1826         `Vauto_fill_chars' in XEmacs UTF-2000.
1827
1828         * chartab.h (get_byte_table): New prototype [moved from
1829         chartab.c].
1830         (put_byte_table): Likewise [moved from chartab.c].
1831         (put_char_id_table_0): New inline function [moved from chartab.c].
1832         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
1833         (Lisp_Char_Table_Entry): Likewise.
1834         (char_table_entry): Likewise.
1835         (XCHAR_TABLE_ENTRY): Likewise.
1836         (XSETCHAR_TABLE_ENTRY): Likewise.
1837         (CHAR_TABLE_ENTRYP): Likewise.
1838         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1839         (NUM_ASCII_CHARS): Likewise.
1840         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1841         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1842
1843 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1844
1845         * chartab.c (get_char_id_table): Change interface.
1846         (put_char_id_table_0): New function.
1847         (put_char_id_table): Change interface; new implementation.
1848         (Fget_composite_char): Modify for interface change of
1849         `get_char_id_table'.
1850         (Fchar_variants): Likewise.
1851         (add_char_attribute_alist_mapper): Likewise.
1852         (Fchar_attribute_alist): Likewise.
1853         (Fget_char_attribute): Likewise.
1854         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1855         as same as character as the first argument like `put-char-table';
1856         modify for interface change of `put_char_id_table'.
1857         (Fremove_char_attribute): Modify for interface change of
1858         `put_char_id_table'.
1859
1860 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1861
1862         * text-coding.c: Sync up with XEmacs 21.2.41.
1863         (COMPOSE_ADD_CHAR): Modify for interface change of
1864         `get_char_id_table'.
1865
1866         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1867         change of `put_char_id_table'.
1868         (remove_char_ccs): Likewise.
1869
1870         * chartab.h (put_char_id_table): Change interface.
1871
1872         * char-ucs.h (get_char_id_table): Change interface.
1873         (charset_code_point): Modify for interface change of
1874         `get_char_id_table'.
1875         (encode_char_1): Likewise.
1876
1877 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1878
1879         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1880         argument `ccs'.
1881         (map_over_uint16_byte_table): Likewise.
1882         (map_over_byte_table): Likewise.
1883         (map_char_id_table): Add new argument `range' like
1884         `map_char_table'.
1885         (Fmap_char_attribute): Add new argument `range' like
1886         `Fmap_char_table'.
1887
1888 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1889
1890         * chartab.c (map_over_uint8_byte_table): Change interface of
1891         mapping function to use struct chartab_range instead of Emchar.
1892         (map_over_uint16_byte_table): Likewise.
1893         (map_over_byte_table): Likewise.
1894         (map_char_id_table): Likewise.
1895         (struct slow_map_char_id_table_arg): Deleted.
1896         (slow_map_char_id_table_fun): Deleted.
1897         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1898         function `slow_map_char_table_fun' instead of struct
1899         `slow_map_char_id_table_arg' and function
1900         `slow_map_char_id_table_fun'.
1901
1902 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1903
1904         * mule-charset.c: Move char-it-table related codes to chartab.c.
1905         (Vutf_2000_version): Moved to chartab.c.
1906         (Fdefine_char): Likewise.
1907         (Ffind_char): Likewise.
1908         (syms_of_mule_charset): Move types `uint8-byte-table',
1909         `uint16-byte-table', `byte-table' and `char-id-table' to
1910         chartab.c; move functions `char_attribute_list,
1911         `find_char_attribute_table, `char_attribute_alist,
1912         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1913         `map_char_attribute, `define_char, `find_char, `char_variants and
1914         `get_composite_char to chartab.c; move symbols `=>ucs',
1915         `->decomposition', `compat', `isolated', `initial', `medial',
1916         `final', `vertical', `noBreak', `fraction', `super', `sub',
1917         `circle', `square', `wide', `narrow', `small' and `font' to
1918         chartab.c.
1919         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1920         setting codes for `Vcharacter_composition_table' and
1921         `Vcharacter_variant_table' to chartab.c.
1922         (complex_vars_of_mule_charset): Move setting code for
1923         `Vchar_attribute_hash_table' to chartab.c.
1924
1925         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1926         (make_char_id_table): New prototype.
1927         (put_char_id_table): Likewise.
1928         (Fget_char_attribute): Likewise.
1929
1930         * chartab.c: Move char-id-table related code from mule-charset.c.
1931         (Vutf_2000_version): Moved from mule-charset.c.
1932
1933         * char-ucs.h (Qucs): New external variable.
1934         (put_char_ccs_code_point): New prototype.
1935         (remove_char_ccs): Likewise.
1936
1937 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1938
1939         * mule-charset.c (Vcharset_ucs_jis): New variable.
1940         (Qucs_jis): Likewise.
1941         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1942         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1943
1944         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1945
1946 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1947
1948         * mule-charset.c (map_over_uint8_byte_table): New function.
1949         (map_over_uint16_byte_table): Likewise.
1950         (map_over_byte_table): Likewise.
1951         (map_char_id_table): Likewise.
1952         (slow_map_char_id_table_fun): Likewise.
1953         (Fmap_char_attribute): Likewise.
1954         (syms_of_mule_charset): Add new function `map-char-attribute'.
1955
1956 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1957
1958         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1959         (syms_of_mule_charset): Add new function `find-char'.
1960
1961 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1962
1963         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1964         XEmacs UTF-2000.
1965         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1966         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1967         XEmacs UTF-2000.
1968         (complex_vars_of_mule_charset): Add new coded-charset
1969         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1970         `ideograph-gt-pj-*'.
1971
1972         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1973
1974 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1975
1976         * mule-charset.c (encode_builtin_char_1): Purge codes about
1977         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1978         {MIN|MAX}_CHAR_HEBREW.
1979         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1980         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1981
1982         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1983         (MAX_CHAR_GREEK): Purged.
1984         (MIN_CHAR_CYRILLIC): Purged.
1985         (MAX_CHAR_CYRILLIC): Purged.
1986         (MIN_CHAR_HEBREW): Commented out.
1987         (MAX_CHAR_HEBREW): Likewise.
1988
1989 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1990
1991         * mule-charset.c (Qto_ucs): New variable.
1992         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1993         (Fdefine_char): Likewise.
1994         (syms_of_mule_charset): Add new symbol `=>ucs'.
1995
1996 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1997
1998         * mule-charset.c (Fdecode_char): Fixed.
1999
2000 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2001
2002         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2003         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2004         "tcvn5712-1".
2005
2006 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2007
2008         * mule-charset.c (Vcharset_ucs_big5): New variable.
2009         (Qucs_big5): Likewise.
2010         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2011         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2012
2013         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2014
2015 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2016
2017         * mule-charset.c (decode_builtin_char): Check Big5 code range
2018         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2019
2020 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2021
2022         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2023         (Qchinese_gb12345): Likewise.
2024         (Fdecode_builtin_char): Fixed.
2025         (syms_of_mule_charset): Add `chinese-gb12345'.
2026         (complex_vars_of_mule_charset): Add coded-charset
2027         `chinese-gb12345'.
2028
2029         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2030         (LEADING_BYTE_CHINESE_GB12345): New macro.
2031
2032 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2033
2034         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2035         and `latin-viscii-upper' for `latin-viscii'.
2036
2037 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2038
2039         * mule-charset.c (Fdecode_builtin_char): Comment out
2040         regularization code for ISO-IR GR representation.
2041
2042 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2043
2044         * mule-charset.c (decode_builtin_char): New function; renamed from
2045         `make_builtin_char'; return -1 instead of signal.
2046         (Fdecode_builtin_char): Use `decode_builtin_char'.
2047
2048         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2049         `make_builtin_char'.
2050         (DECODE_CHAR): Use `decode_builtin_char' instead of
2051         `make_builtin_char'; use mapping table of `chinese-big5' for
2052         `chinese-big5-{1,2}'.
2053
2054 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2055
2056         * text-coding.c (char_encode_big5): New function.
2057         (char_finish_big5): Likewise.
2058         (reset_encoding_stream): Use `char_encode_big5' and
2059         `char_finish_big5' for CODESYS_BIG5.
2060         (mule_encode): Don't use `encode_coding_big5'.
2061         (encode_coding_big5): Deleted.
2062
2063 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2064
2065         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2066         0x81- in XEmacs UTF-2000.
2067         (detect_coding_big5): Likewise.
2068
2069 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2070
2071         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2072         generate character-id if the CCS property does not have
2073         corresponding predefined character.
2074         (make_builtin_char): Return -1 if corresponding predefined
2075         character is not found.
2076         (Fdecode_char): Return nil if corresponding character is not
2077         found.
2078         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2079         don't map to builtin ucs space.
2080
2081 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2082
2083         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2084         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2085
2086 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2087
2088         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2089         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2090         (Qideograph_gt): Likewise.
2091         (Qideograph_gt_pj_{1..11}): Likewise.
2092         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2093         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2094         `ideograph-gt-pj-11'.
2095         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2096         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2097         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2098
2099         * char-ucs.h (LEADING_BYTE_GT): New macro.
2100         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2101         (MIN_CHAR_GT): Likewise.
2102         (MAX_CHAR_GT): Likewise.
2103
2104 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2105
2106         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2107         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2108
2109         * doprnt.c (unsigned_int_converters): Add `c'.
2110         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2111
2112         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2113         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2114         `MIN_CHAR_MOJIKYO'.
2115         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2116         (MAX_CHAR_MOJIKYO_0): New macro.
2117         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2118
2119 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2120
2121         * mule-charset.c (Fdefine_char): Delete cemented out code.
2122         (encode_builtin_char_1): Modify for new allocation of builtin
2123         Mojikyo characters.
2124
2125         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2126
2127 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2128
2129         * mule-charset.c (Vcharset_ucs_cns): New variable.
2130         (Qucs_cns): New variable.
2131         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2132         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2133
2134 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2135
2136         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2137
2138 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2139
2140         * search.c (search_buffer): Make `charset_base_code' as
2141         character-id >> 6 to eliminate the corresponding last byte in
2142         UTF-8 representation [I'm not sure it is right thing].
2143         (boyer_moore): Likewise.
2144
2145 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2146
2147         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2148         representation in MULE.
2149
2150 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2151
2152         * text-coding.c (Fmake_coding_system): Use
2153         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2154         `EXTERNAL_PROPERTY_LIST_LOOP'.
2155
2156 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2157
2158         * text-coding.c (decode_output_utf8_partial_char): New function.
2159         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2160
2161 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2162
2163         * text-coding.c (decode_coding_utf8): Output original byte
2164         sequence if it is broken; change order of conditions.
2165
2166         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2167         of conditions.
2168
2169         * mb-multibyte.h (BYTE_ASCII_P):
2170         Use bit ops for char-signedness safety.
2171         (BYTE_C0_P): Use bit ops for char-signedness safety.
2172         (BYTE_C1_P): Use bit ops for char-signedness safety.
2173
2174         * character.h: (XCHAR_OR_CHAR_INT):
2175         Always use inline function.
2176         Remove redundant type checking assert() - XINT will abort quite
2177         nicely.
2178
2179 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2180
2181         * text-coding.c: (Fencode_shift_jis_char):
2182         (Fencode_big5_char):
2183         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2184         Replace 0 with '\0' when working with bytes.
2185         Replace initial "(" with "\(" in docstrings.
2186
2187         (Fmake_coding_system):
2188         When type is ccl and value is vector, register it with a proper
2189         symbol.  And checks whether the given ccl program is valid.
2190         (mule_decode): When calling ccl_driver, if src indicates
2191         NULL pointer, set an empty string instead.
2192         (mule_encode): Likewise.
2193
2194         (detect_eol_type):
2195         (detect_coding_sjis):
2196         (decode_coding_sjis):
2197         (detect_coding_big5):
2198         (decode_coding_big5):
2199         (detect_coding_ucs4):
2200         (decode_coding_ucs4):
2201         (detect_coding_utf8):
2202         (decode_coding_utf8):
2203         (detect_coding_iso2022):
2204         (decode_coding_iso2022):
2205         (decode_coding_no_conversion):
2206         (mule_decode):
2207         Make all detecting and decoding functions take an Extbyte * arg.
2208         (text_encode_generic):
2209         (encode_coding_big5):
2210         (encode_coding_no_conversion):
2211         (mule_encode):
2212         Make all encoding functions take a Bufbyte * arg.
2213         Use size_t instead of unsigned int for memory sizes.
2214         Only cast to unsigned char whenever dereferencing Extbyte *.
2215
2216         (struct lrecord_description fcd_description_1): Use countof.
2217         (complex_vars_of_file_coding):
2218         Use countof instead of sizeof.
2219         Use CHECK_NATNUM instead of CHECK_INT.
2220
2221 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2222
2223         * mule-charset.c (Fget_char_attribute): Add new optional argument
2224         `default-value'.
2225         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
2226         (remove_char_ccs): Likewise.
2227
2228 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2229
2230         * text-coding.c (char_encode_shift_jis): New implementation in
2231         UTF-2000.
2232         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
2233         ...)'.
2234
2235         * mule-charset.c (Vcharset_chinese_big5): New variable in
2236         UTF-2000.
2237         (Qchinese_big5): New variable in UTF-2000.
2238         (BIG5_SAME_ROW): New macro in UTF-2000.
2239         (make_builtin_char): Use builtin characters of
2240         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
2241         characters of `Vcharset_chinese_big5'.
2242         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
2243         (complex_vars_of_mule_charset): Add new coded-charset
2244         `chinese-big5' in UTF-2000.
2245
2246         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
2247         (Vcharset_chinese_big5): New external variable declaration.
2248         (Vcharset_japanese_jisx0208_1990): Likewise.
2249
2250 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2251
2252         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
2253         function.
2254         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
2255
2256 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2257
2258         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
2259         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
2260         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
2261         `mojikyo-pj-*'.
2262
2263 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2264
2265         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
2266
2267 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2268
2269         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2270         to 0.17.
2271
2272 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2273
2274         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
2275         for `CHARSET_BY_ATTRIBUTES'.
2276         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2277         `CHARSET_BY_ATTRIBUTES'.
2278
2279         * text-coding.c (struct decoding_stream): Rename member `CH' to
2280         `CPOS'.
2281         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
2282         (decode_coding_sjis): Likewise.
2283         (decode_coding_big5): Likewise.
2284         (decode_coding_ucs4): Likewise.
2285         (decode_coding_utf8): Likewise.
2286         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2287         `CHARSET_BY_ATTRIBUTES'.
2288         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
2289         `str->counter'; decode 3, 4 bytes sets.
2290         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
2291         sets.
2292         (decode_coding_no_conversion): Use `str->cpos' instead of
2293         `str->ch'.
2294
2295         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
2296         (Qmojikyo_2022_1): New variable.
2297         (make_charset): Don't use `CHARSET_TYPE_*'.
2298         (range_charset_code_point): Support coded-charset
2299         `mojikyo-2022-1'.
2300         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
2301         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
2302         `CHARSET_BY_ATTRIBUTES'.
2303         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
2304         `CHARSET_BY_ATTRIBUTES'.
2305         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
2306         (complex_vars_of_mule_charset): Add new coded-charset
2307         `mojikyo-2022-1'.
2308
2309         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
2310         interface; changed to inline function.
2311
2312         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
2313         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
2314         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
2315         (CHARSET_TYPE_94): Deleted.
2316         (CHARSET_TYPE_94X94): Deleted.
2317         (CHARSET_TYPE_96): Deleted.
2318         (CHARSET_TYPE_96X96): Deleted.
2319         (CHARSET_TYPE_128): Deleted.
2320         (CHARSET_TYPE_128X128): Deleted.
2321         (CHARSET_TYPE_256): Deleted.
2322         (CHARSET_TYPE_256X256): Deleted.
2323         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
2324         to inline function.
2325         (DECODE_MOJIKYO_2022): New inline function.
2326         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
2327         `Vcharset_mojikyo_2022_1'.
2328
2329 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2330
2331         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
2332         instead of `EQ'.
2333         (put_byte_table): Likewise.
2334         (char_id_table_equal): Use `get_byte_table' [new implementation].
2335
2336 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2337
2338         * mule-charset.c: Include <limits.h> in UTF-2000.
2339         (BT_UINT8_MIN): New macro in UTF-2000.
2340         (BT_UINT8_MAX): New macro in UTF-2000.
2341         (BT_UINT8_t): New macro in UTF-2000.
2342         (BT_UINT8_nil): New macro in UTF-2000.
2343         (BT_UINT8_unbound): New macro in UTF-2000.
2344         (INT_UINT8_P): New inline function in UTF-2000.
2345         (UINT8_VALUE_P): New inline function in UTF-2000.
2346         (UINT8_ENCODE): New inline function in UTF-2000.
2347         (UINT8_DECODE): New inline function in UTF-2000.
2348         (mark_uint8_byte_table): New function in UTF-2000.
2349         (print_uint8_byte_table): New function in UTF-2000.
2350         (uint8_byte_table_equal): New function in UTF-2000.
2351         (uint8_byte_table_hash): New function in UTF-2000.
2352         (make_uint8_byte_table): New function in UTF-2000.
2353         (uint8_byte_table_same_value_p): New function in UTF-2000.
2354         (BT_UINT16_MIN): New macro in UTF-2000.
2355         (BT_UINT16_MAX): New macro in UTF-2000.
2356         (BT_UINT16_t): New macro in UTF-2000.
2357         (BT_UINT16_nil): New macro in UTF-2000.
2358         (BT_UINT16_unbound): New macro in UTF-2000.
2359         (INT_UINT16_P): New inline function in UTF-2000.
2360         (UINT16_VALUE_P): New inline function in UTF-2000.
2361         (UINT16_ENCODE): New inline function in UTF-2000.
2362         (UINT16_DECODE): New inline function in UTF-2000.
2363         (UINT8_TO_UINT16): New inline function in UTF-2000.
2364         (mark_uint16_byte_table): New function in UTF-2000.
2365         (print_uint16_byte_table): New function in UTF-2000.
2366         (uint16_byte_table_equal): New function in UTF-2000.
2367         (uint16_byte_table_hash): New function in UTF-2000.
2368         (make_uint16_byte_table): New function in UTF-2000.
2369         (uint16_byte_table_same_value_p): New function in UTF-2000.
2370         (print_byte_table): New function in UTF-2000.
2371         (byte-table): Use `print_byte_table' as printer.
2372         (make_byte_table): Delete second argument `older'.
2373         (byte_table_same_value_p): New function in UTF-2000.
2374         (copy_byte_table): Deleted.
2375         (get_byte_table): New function in UTF-2000.
2376         (put_byte_table): New function in UTF-2000.
2377         (print_char_id_table): New function in UTF-2000.
2378         (char-id-table): Use `print_char_id_table' as printer.
2379         (make_char_id_table): Delete second argument `older'.
2380         (get_char_id_table): Use `get_byte_table [new implementation].
2381         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
2382         implementation].
2383         (Ffind_char_attribute_table): New function in UTF-2000.
2384         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2385         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
2386         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
2387         (syms_of_mule_charset): Add new function
2388         `find-char-attribute-table' in UTF-2000.
2389
2390         * lrecord.h (enum lrecord_type): Add
2391         `lrecord_type_uint16_byte_table' and
2392         `lrecord_type_uint8_byte_table'.
2393
2394         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
2395         (Lisp_Uint8_Byte_Table): New type.
2396         (XUINT8_BYTE_TABLE): New macro.
2397         (XSETUINT8_BYTE_TABLE): New macro.
2398         (UINT8_BYTE_TABLE_P): New macro.
2399         (GC_UINT8_BYTE_TABLE_P): New macro.
2400         (struct Lisp_Uint16_Byte_Table): New structure.
2401         (Lisp_Uint16_Byte_Table): New type.
2402         (XUINT16_BYTE_TABLE): New macro.
2403         (XSETUINT16_BYTE_TABLE): New macro.
2404         (UINT16_BYTE_TABLE_P): New macro.
2405         (GC_UINT16_BYTE_TABLE_P): New macro.
2406
2407 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2408
2409         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
2410         (Vcharacter_ideographic_strokes_table): Deleted.
2411         (Vcharacter_total_strokes_table): Deleted.
2412         (Vcharacter_morohashi_daikanwa_table): Deleted.
2413         (Vcharacter_decomposition_table): Deleted.
2414         (Qname): Deleted because it is duplicated.
2415         (Qideographic_radical): Deleted.
2416         (Qideographic_strokes): Deleted.
2417         (Qtotal_strokes): Deleted.
2418         (Qmorohashi_daikanwa): Deleted.
2419         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
2420         `ideographic-radical', `ideographic-strokes', `total-strokes',
2421         `morohashi-daikanwa' and `->decomposition'.
2422         (Fget_char_attribute): Likewise.
2423         (Fput_char_attribute): Likewise; use `make-vector' instead of
2424         `make_older_vector' for `->decomposition' value.
2425         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
2426         `ideograph-daikanwa'.
2427         (syms_of_mule_charset): Delete builtin symbols `name',
2428         `ideographic-radical', `ideographic-strokes', `total-strokes' and
2429         `morohashi-daikanwa'.
2430         (vars_of_mule_charset): Don't setup
2431         `Vcharacter_ideographic_radical_table',
2432         `Vcharacter_ideographic_strokes_table',
2433         `Vcharacter_total_strokes_table',
2434         `Vcharacter_morohashi_daikanwa_table' and
2435         `Vcharacter_decomposition_table'.
2436
2437 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2438
2439         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2440         `make_older_vector', `make_vector_newer_1' and
2441         `make_vector_newer'.
2442
2443         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2444         `make_older_vector' and `make_vector_newer'.
2445
2446         * config.h.in (HAVE_GGC): New macro.
2447
2448 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2449
2450         * mule-charset.c (struct char_attribute_list_closure): New
2451         structure in UTF-2000.
2452         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2453         (Fchar_attribute_list): Likewise.
2454         (Fset_charset_mapping_table): Use `make_vector_newer'.
2455         (Fdecode_builtin_char): New function in UTF-2000.
2456         (syms_of_mule_charset): Add new function `char-attribute-list' and
2457         `decode-builtin-char' in UTF-2000.
2458
2459         * lisp.h (make_vector_newer): New prototype.
2460
2461         * alloc.c (make_vector_newer_1): New function.
2462         (make_vector_newer): New function.
2463
2464 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2465
2466         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2467         50100)'.
2468
2469 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2470
2471         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2472         (Vcharacter_attribute_table): Deleted.
2473         (Vcharacter_name_table): Deleted.
2474         (put_char_attribute): Deleted.
2475         (remove_char_attribute): Deleted.
2476         (struct char_attribute_alist_closure): New structure.
2477         (add_char_attribute_alist_mapper): New function.
2478         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2479         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2480         (Fget_char_attribute): Likewise.
2481         (Fput_char_attribute): Likewise.
2482         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2483         of `remove_char_attribute'.
2484         (Fdefine_char): Return character.
2485         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2486         and `Vcharacter_name_table'.
2487         (complex_vars_of_mule_charset): Likewise
2488         `Vchar_attribute_hash_table'.
2489
2490 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2491
2492         * character.h (CHARC_CHARSET): New macro.
2493         (CHARC_CHARSET_ID): New macro.
2494         (CHARC_CODE_POINT): New macro.
2495         (CHARC_COLUMNS): New macro.
2496         (CHARC_TO_CHAR): New inline function.
2497         (CHARC_EQ): New inline function.
2498         (CHARC_ASCII_EQ): New inline function.
2499         (CHARC_IS_SPACE): New inline function.
2500         (ASCII_TO_CHARC): New inline function.
2501
2502         * char-ucs.h (encode_char_2): Deleted.
2503         (ENCODE_CHAR): Use `encode_char_1' again.
2504         (breakup_char_1): Likewise.
2505         (CHAR_TO_CHARC): New inline function.
2506
2507         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
2508
2509 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2510
2511         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
2512         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
2513         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
2514         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
2515         (create_string_text_block): Use `CHARC_ASCII_EQ' and
2516         `CHARC_IS_SPACE'.
2517         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
2518
2519         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
2520         `CHARC_CODE_POINT'.
2521         (x_output_display_block): Use `CHARC_CHARSET' and
2522         `CHARC_ASCII_EQ'.
2523
2524         * redisplay-tty.c (tty_output_display_block): Use
2525         `CHARC_ASCII_EQ'.
2526         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
2527
2528         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
2529
2530         * insdel.c (find_charsets_in_charc_string): Use
2531         `CHARC_CHARSET_ID'.
2532         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
2533         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
2534         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
2535         (convert_charc_string_into_malloced_string): Likewise.
2536
2537 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2538
2539         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
2540         instead of <Emchar_dynarr *> for buf; use
2541         `convert_bufbyte_string_into_charc_dynarr' instead of
2542         `convert_bufbyte_string_into_emchar_dynarr'; use
2543         `find_charsets_in_charc_string' instead of
2544         `find_charsets_in_emchar_string'.
2545
2546         * redisplay.h:
2547         - Include "character.h".
2548         (struct rune): New member `cglyph'; delete member `chr'.
2549
2550         * redisplay.c (redisplay_text_width_charc_string): New function;
2551         delete `redisplay_text_width_emchar_string'.
2552         (rtw_charc_dynarr): New variable; renamed from
2553         `rtw_emchar_dynarr'.
2554         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
2555         `rtw_emchar_dynarr'; use
2556         `convert_bufbyte_string_into_charc_dynarr' instead of
2557         `convert_bufbyte_string_into_emchar_dynarr'; use
2558         `redisplay_text_width_charc_string' instead of
2559         `redisplay_text_width_emchar_string'.
2560         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
2561         instead of `rtw_emchar_dynarr'; use
2562         `convert_bufbyte_string_into_charc_dynarr' instead of
2563         `convert_bufbyte_string_into_emchar_dynarr'.
2564         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
2565         `redisplay_text_width_charc_string' instead of
2566         `redisplay_text_width_emchar_string'.
2567         (create_text_block): Modify for <struct rune> change.
2568         (generate_formatted_string_db): Likewise.
2569         (create_string_text_block): Likewise.
2570         (pixel_to_glyph_translation): Likewise.
2571
2572         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
2573         instead of <const Emchar *>.
2574         (x_text_width): Likewise.
2575         (x_output_display_block): Use <Charc_dynarr *> instead
2576         <Emchar_dynarr *>; modify for <structure rune> change.
2577         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
2578         *>.
2579
2580         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
2581         <const Emchar *>; use `charc_string_displayed_columns' instead of
2582         `emchar_string_displayed_columns'.
2583         (tty_output_display_block): Use <Charc_dynarr *> instead of
2584         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
2585         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
2586         (tty_output_charc_dynarr_dynarr): New variable; renamed from
2587         `tty_output_emchar_dynarr_dynarr'.
2588         (tty_output_charc_dynarr): New function; delete
2589         `tty_output_charc_dynarr'.
2590
2591         * redisplay-output.c (compare_runes): Modify for `struct rune'.
2592         (redisplay_output_layout): Use <Charc_dynarr *> instead of
2593         <Emchar_dynarr *> for buf; use
2594         `convert_bufbyte_string_into_charc_dynarr' instead of
2595         `convert_bufbyte_string_into_emchar_dynarr'.
2596
2597         * frame.c (title_string_charc_dynarr): New variable; renamed from
2598         `title_string_emchar_dynarr'.
2599         (generate_title_string): Use `title_string_charc_dynarr' instead
2600         of `title_string_emchar_dynarr'; use
2601         `convert_charc_string_into_malloced_string' instead of
2602         `convert_emchar_string_into_malloced_string'.
2603         (init_frame): Use `title_string_charc_dynarr' instead of
2604         `title_string_emchar_dynarr'.
2605
2606         * console.h:
2607         - Include "character.h".
2608         (struct console_methods): Use <const Charc *> instead of <const
2609         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
2610         <Emchar_dynarr *> in output_string_method.
2611
2612         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
2613         <Emchar_dynarr *>.
2614
2615         * console-stream.c (stream_text_width): Use <const Charc *>
2616         instead of <const Emchar *>.
2617
2618         * character.h (Charc_dynarr): New type.
2619
2620         * char-ucs.h (structure Charc): New structure; define new type
2621         `Charc'.
2622
2623         * char-lb.h (DECODE_CHAR): New inline function.
2624         (encode_char_1): New inline function.
2625         (ENCODE_CHAR): New macro.
2626         (structure Charc): New structure; define new type `Charc'.
2627
2628         * char-1byte.h (Vcharset_control_1): New macro.
2629         (Vcharset_latin_iso8859_1): New macro.
2630         (DECODE_CHAR): New inline function.
2631         (encode_char_1): New inline function.
2632         (ENCODE_CHAR): New macro.
2633         (structure Charc): New structure; define new type `Charc'.
2634
2635         * insdel.c (find_charsets_in_charc_string): New function; delete
2636         `find_charsets_in_emchar_string'.
2637         (charc_string_displayed_columns): New function; delete
2638         `emchar_string_displayed_columns'.
2639         (convert_bufbyte_string_into_charc_dynarr): New function; delete
2640         `convert_bufbyte_string_into_emchar_dynarr'.
2641         (convert_charc_string_into_bufbyte_dynarr): New function; delete
2642         `convert_charc_string_into_bufbyte_dynarr'.
2643         (convert_charc_string_into_malloced_string): New function; delete
2644         `convert_charc_string_into_malloced_string'.
2645
2646         * buffer.h (find_charsets_in_charc_string): New prototype; delete
2647         `find_charsets_in_emchar_string'.
2648         (charc_string_displayed_columns): New prototype; delete
2649         `emchar_string_displayed_columns'.
2650         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
2651         `convert_charc_string_into_bufbyte_dynarr'.
2652         (convert_charc_string_into_malloced_string): New prototype; delete
2653         `convert_charc_string_into_malloced_string'.
2654
2655 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2656
2657         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
2658
2659 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2660
2661         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
2662
2663         * char-ucs.h: Use <short> for <Charset_ID>.
2664
2665         * mule-charset.h, char-1byte.h: Use <unsigned char> for
2666         <Charset_ID>.
2667
2668 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2669
2670         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2671         to 0.16.
2672
2673 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2674
2675         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
2676         variable.
2677         (Qmorohashi_daikanwa): New variable.
2678         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
2679         for `morohashi-daikanwa' attribute.
2680         (Fget_char_attribute): Likewise.
2681         (Fput_char_attribute): Likewise.
2682         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
2683         has the same value of `ideograph-daikanwa'.
2684         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
2685         (vars_of_mule_charset): Setup
2686         `Vcharacter_morohashi_daikanwa_table'.
2687
2688 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2689
2690         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
2691         attributes.
2692         (add_charset_to_list_mapper): Add `key' instead of
2693         `XCHARSET_NAME (value)' to return aliases.
2694
2695 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2696
2697         * mule-charset.c (Vcharacter_ideographic_radical_table): New
2698         variable.
2699         (Vcharacter_ideographic_strokes_table): New variable.
2700         (Qideographic_radical): New variable.
2701         (Qideographic_strokes): New variable.
2702         (Fchar_attribute_alist): Use
2703         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
2704         attribute; use `Vcharacter_ideographic_strokes_table' for
2705         `ideographic-strokes' attribute.
2706         (Fget_char_attribute): Likewise.
2707         (Fput_char_attribute): Likewise.
2708         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
2709         `ideographic-strokes'.
2710         (vars_of_mule_charset): Setup
2711         `Vcharacter_ideographic_radical_table' and
2712         `Vcharacter_ideographic_strokes_table'.
2713
2714 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2715
2716         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
2717         (Qtotal_strokes): New variable.
2718         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
2719         `total-strokes' attribute.
2720         (Fget_char_attribute): Likewise.
2721         (Fput_char_attribute): Likewise.
2722         (syms_of_mule_charset): Add new symbol `total-strokes'.
2723         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
2724
2725 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2726
2727         * mule-charset.c (Vcharacter_decomposition_table): New variable.
2728         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
2729         are found.
2730         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
2731         `->decomposition' attribute.
2732         (Fput_char_attribute): Likewise.
2733         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
2734
2735 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2736
2737         * mule-charset.c (decoding_table_check_elements): New function.
2738         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
2739
2740 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2741
2742         * mule-charset.c (Fset_charset_mapping_table): Use
2743         `put_char_ccs_code_point'.
2744
2745 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2746
2747         * mule-charset.c (decoding_table_put_char): New inline function.
2748         (put_char_ccs_code_point): Use `decoding_table_put_char'.
2749
2750 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2751
2752         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
2753         (XCHARSET_BYTE_SIZE): New macro.
2754         (decoding_table_remove_char): New inline function.
2755         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
2756         `decoding_table_remove_char'.
2757         (remove_char_ccs): Use `decoding_table_remove_char'.
2758         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
2759
2760 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2761
2762         * mule-charset.c (Vcharacter_name_table): New variable.
2763         (Qname): New variable.
2764         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
2765         attribute.
2766         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
2767         `Vcharacter_name_table' for `name' attribute.
2768         (Fremove_char_attribute): Use function `remove_char_ccs'.
2769         (put_char_ccs_code_point): New function.
2770         (remove_char_ccs): New function.
2771         (syms_of_mule_charset): Add new symbol `name'.
2772         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
2773
2774 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2775
2776         * mule-charset.c (make_byte_table): Add new argument `older'.
2777         (make_char_id_table): Likewise.
2778         (copy_char_id_table): Comment out because it is not used.
2779         (put_char_id_table): Modify for `make_byte_table'.
2780         (Fput_char_attribute): Make encoding_table as older object;
2781         inherit older bit of `Vcharacter_composition_table'.
2782         (mark_charset): Don't mark `cs->encoding_table'.
2783         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
2784         normal object; make `Vcharacter_composition_table' as an older
2785         object; delete staticpro for `Vcharacter_composition_table'; make
2786         `Vcharacter_variant_table' as a normal object.
2787
2788         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
2789         (mark_object): Don't check older object in UTF-2000.
2790
2791         * lrecord.h (struct lrecord_header): Add new member `older' in
2792         UTF-2000.
2793         (set_lheader_implementation): Setup `SLI_header->older' in
2794         UTF-2000.
2795         (set_lheader_older_implementation): New macro in UTF-2000.
2796         (OLDER_RECORD_P): New macro in UTF-2000.
2797         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
2798         (alloc_older_lcrecord): New prototype in UTF-2000.
2799         (alloc_older_lcrecord_type): New macro in UTF-2000.
2800
2801 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2802
2803         * mule-charset.c (byte_table_description): Use
2804         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
2805         (char_id_table_description): Delete bogus `, 1'.
2806         (Fget_char_attribute): Refer encoding_table of each coded-charset
2807         to get value of coded-charset attribute of a character.
2808         (Fput_char_attribute): Use `make_older_vector' instead of
2809         `make_vector'; use encoding_table of each coded-charset to store
2810         value of coded-charset attribute of a character.
2811         (Fremove_char_attribute): Use encoding_table of each coded-charset
2812         to store value of coded-charset attribute of a character.
2813         (mark_charset): Mark `cs->encoding_table'; don't mark
2814         `cs->decoding_table'.
2815         (charset_description): Add description of new member
2816         `encoding_table'.
2817         (make_charset): Initialize `encoding_table'.
2818
2819         * char-ucs.h (struct Lisp_Charset): Add new member
2820         `encoding_table'.
2821         (CHARSET_ENCODING_TABLE): New macro.
2822         (XCHARSET_ENCODING_TABLE): New macro.
2823         (charset_code_point): New implementation.
2824         (encode_char_1): Likewise.
2825
2826         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
2827         (disksave_object_finalization_1): Call finalizers of
2828         `all_older_lcrecords' in UTF-2000.
2829         (make_older_vector): New function in UTF-2000.
2830         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
2831         UTF-2000.
2832
2833         * lisp.h (make_older_vector): New prototype in UTF-2000.
2834
2835 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2836
2837         * lrecord.h (enum lrecord_type): Rename
2838         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2839
2840         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2841         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2842         `get_char_code_table'.
2843
2844         * mule-charset.c (mark_char_id_table): Renamed from
2845         `mark_char_code_table'.
2846         (char_id_table_equal): Renamed from `char_code_table_equal'.
2847         (char_id_table_hash): Renamed from `char_code_table_hash'.
2848         (make_char_id_table): Renamed from `make_char_code_table'.
2849         (copy_char_id_table): Renamed from `copy_char_code_table'.
2850         (get_char_id_table): Renamed from `get_char_code_table'.
2851         (put_char_id_table): Renamed from `put_char_code_table'.
2852         (to_char_id): Renamed from `to_char_code'.
2853
2854         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2855         `Lisp_Char_Code_Table'.
2856         (char_id_table): Renamed from `char_code_table'.
2857         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2858         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2859         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2860         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2861         (get_char_id_table): Renamed from `get_char_code_table'.
2862
2863 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2864
2865         * lrecord.h (enum lrecord_type): Rename
2866         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2867
2868         * mule-charset.c (mark_byte_table): Renamed from
2869         `mark_char_byte_table'.
2870         (byte_table_equal): Renamed from `char_byte_table_equal'.
2871         (byte_table_hash): Renamed from `byte_table_hash'.
2872         (make_byte_table): Renamed from `make_byte_table'.
2873         (copy_byte_table): Renamed from `copy_char_byte_table'.
2874
2875         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2876         `Lisp_Char_Byte_Table'.
2877         (byte_table): Renamed from `char_byte_table'.
2878         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2879         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2880         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2881         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2882
2883 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2884
2885         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2886         (dfc_convert_to_internal_format): Likewise.
2887         
2888         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2889         * text-coding.c (Fcoding_system_alias_p): New function.
2890         * text-coding.c (Fcoding_system_aliasee): New function.
2891         * text-coding.c (append_suffix_to_symbol): New function.
2892         * text-coding.c (dangling_coding_system_alias_p): New function.
2893         * text-coding.c (Ffind_coding_system):
2894         * text-coding.c (Fcopy_coding_system):
2895         * text-coding.c (encode_coding_no_conversion):
2896         * text-coding.c (syms_of_file_coding):
2897         * text-coding.c (vars_of_file_coding):
2898         Rewrite coding system alias code.
2899         Allow nested aliases, like symbolic links.
2900         Allow redefinition of coding system aliases.
2901         Prevent existence of dangling coding system aliases.
2902         Eliminate convert_to_external_format.
2903         Eliminate convert_to_internal_format.
2904         
2905         * text-coding.c: Change enum eol_type to eol_type_t.
2906
2907 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2908
2909         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2910         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2911
2912         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2913         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2914
2915 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2916
2917         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2918         `ideograph-daikanwa'.
2919
2920         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2921         (Vcharset_ucs_bmp): Likewise.
2922         (Vcharset_mojikyo): Add new extern variable definition.
2923         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2924         (Vcharset_latin_iso8859_3): Likewise.
2925         (Vcharset_latin_iso8859_4): Likewise.
2926         (Vcharset_latin_iso8859_9): Likewise.
2927         (Vcharset_latin_viscii_lower): Likewise.
2928         (Vcharset_latin_viscii_upper): Likewise.
2929         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2930         `mojikyo' code-point is used to decode.
2931         (encode_char_2): New function [to convert `mojikyo' code-point to
2932         Mojikyo font encoding].
2933         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2934         (breakup_char_1): Likewise.
2935         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2936
2937 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2938
2939         * text-coding.c (Fmake_coding_system): Add document about
2940         `disable-composition' property.
2941
2942 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2943
2944         * text-coding.c (Qdisable_composition): New variable; delete
2945         `Qcomposite'.
2946         (Fmake_coding_system): Add new property `disable-composite';
2947         delete property `composite'.
2948         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2949         instead of `!CODING_SYSTEM_COMPOSITE'.
2950         (syms_of_file_coding): Add new symbol `disable-composition';
2951         delete symbol `composite'.
2952
2953         * file-coding.h (struct Lisp_Coding_System): Add
2954         `disable_composition'; delete `enable_composition'.
2955         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2956         `CODING_SYSTEM_COMPOSITE'.
2957         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2958         `XCODING_SYSTEM_COMPOSITE'.
2959
2960 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2961
2962         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2963         to 0.15.
2964
2965 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2966
2967         * text-coding.c (Qcomposite): New variable.
2968         (Fmake_coding_system): Add new property `composite'.
2969         (struct decoding_stream): Add `combined_char_count',
2970         `combined_chars' and `combining_table' in UTF-2000.
2971         (COMPOSE_FLUSH_CHARS): New macro.
2972         (COMPOSE_ADD_CHAR): New macro.
2973         (reset_decoding_stream): Reset `str->combined_char_count' and
2974         `str->combining_table' in UTF-2000.
2975         (decode_coding_iso2022): Modify for character-decomposition.
2976         (syms_of_file_coding): Add new symbol `composite'.
2977
2978 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2979
2980         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2981         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2982         of `Vcharacter_composition_table' if `->decomposition' property
2983         has only 1 element.
2984         (Qlatin_tcvn5712): New variable.
2985         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2986         (complex_vars_of_mule_charset): Add new coded-charset
2987         `latin-tcvn5712'.
2988
2989         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2990
2991 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2992
2993         * file-coding.h (struct Lisp_Coding_System): Add
2994         `enable_composition'.
2995         (CODING_SYSTEM_COMPOSITE): New macro.
2996         (XCODING_SYSTEM_COMPOSITE): New macro.
2997
2998 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2999
3000         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3001
3002 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3003
3004         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3005         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3006
3007 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3008
3009         * mule-charset.c (Vcharset_mojikyo): New variable.
3010         (Fdefine_char): Don't use coded-charset which does not have
3011         non-builtin character range to allocate character-id.
3012         (Qmojikyo): New variable.
3013         (syms_of_mule_charset): Add new symbol `mojikyo'.
3014         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3015
3016         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3017         (LEADING_BYTE_MOJIKYO): New macro.
3018         (MIN_CHAR_MOJIKYO): New macro.
3019         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3020         (MAX_CHAR_MOJIKYO): New macro.
3021
3022 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3023
3024         * mule-charset.c (remove_char_attribute): Fixed.
3025
3026 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3027
3028         * mule-charset.c (remove_char_attribute): New function.
3029         (Fremove_char_attribute): New function.
3030         (encode_builtin_char_1): Comment out builtin-support for
3031         greek-iso8859-7 and cyrillic-iso8859-5.
3032         (Fdecode_char): Check `code' is an integer.
3033         (syms_of_mule_charset): Add `remove-char-attribute'.
3034         (MIN_CHAR_GREEK): Deleted.
3035         (MAX_CHAR_GREEK): Likewise.
3036         (MIN_CHAR_CYRILLIC): Likewise.
3037         (MAX_CHAR_CYRILLIC): Likewise.
3038         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3039         MAX_CHAR_GREEK for `greek-iso8859-7'.
3040
3041         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3042         (MAX_CHAR_GREEK): Likewise.
3043         (MIN_CHAR_CYRILLIC): Likewise.
3044         (MAX_CHAR_CYRILLIC): Likewise.
3045
3046 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3047
3048         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3049         format is used without `ucs' property.
3050         (Fdecode_char): Fix problem with GR representation.
3051         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3052         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3053
3054 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3055
3056         * mule-charset.c (make_builtin_char): New function.
3057         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3058         (Fset_charset_mapping_table): Modify for new representation of
3059         code-point.
3060         (Fdecode_char): New function.
3061         (syms_of_mule_charset): Add new builtin function `decode-char' in
3062         UTF-2000.
3063
3064         * char-ucs.h (make_builtin_char): New prototype.
3065         (DECODE_CHAR): New inline function.
3066         (MAKE_CHAR): Use `DECODE_CHAR'.
3067
3068 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3069
3070         * text-coding.c (parse_charset_conversion_specs): Use
3071         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3072         `XCHARSET_TYPE'.
3073         (iso2022_designate): Likewise.
3074
3075         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3076         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3077
3078         * mule-charset.c (Vcharset_ucs): New variable.
3079         (print_charset): Change design; use `CHARSET_CHARS' and
3080         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3081         (make_charset): Change signature to specify `chars' and
3082         `dimension' instead of `type'.
3083         (range_charset_code_point): Modify for 256^n-set.
3084         (encode_builtin_char_1): Encode as `ucs' in default.
3085         (Fmake_charset): Modify for `make_charset'.
3086         (Fmake_reverse_direction_charset): Likewise.
3087         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3088         UTF-2000.
3089         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3090         for `make_charset'.
3091
3092         * char-ucs.h (Vcharset_ucs): New variable.
3093         (LEADING_BYTE_UCS): New macro.
3094         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3095         and `chars' to `unsigned short' from `unsigned int'.
3096         (CHARSET_TYPE): Deleted.
3097         (XCHARSET_TYPE): Deleted.
3098
3099 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3100
3101         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3102
3103         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3104         (ENCODE_CHAR): New macro.
3105
3106 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3107
3108         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3109         to 0.14 (Kawachi-Katakami).
3110
3111 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3112
3113         * text-coding.c (char_encode_shift_jis): Modify for
3114         `charset_code_point'.
3115         (char_encode_iso2022): Likewise.
3116
3117         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3118         (integer) instead of list of <Lisp_Object>s (integers) as the
3119         format of code-point of a coded-charset.
3120         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3121         (encode_builtin_char_1): New function; delete
3122         `split_builtin_char'.
3123         (charset_code_point): Return <int> instead of <Lisp_Object>.
3124         (Fsplit_char): Don't use `SPLIT_CHAR'.
3125
3126         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3127         prototype for `split_builtin_char'.
3128         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3129         (charset_code_point): Likewise.
3130         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3131         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3132
3133 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3134
3135         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3136         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3137
3138 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3139
3140         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3141
3142         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3143         (MAX_CHAR_OBS_94x94): Deleted.
3144
3145 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3146
3147         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3148
3149         * char-ucs.h (MAX_CHAR_BMP): New macro.
3150
3151 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3152
3153         * text-coding.c: Sync with r21-2-24.
3154
3155 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3156
3157         * file-coding.c: Modify for UTF-2000.
3158
3159 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3160
3161         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3162         to 0.13 (Takaida).
3163
3164 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3165
3166         * mule-charset.c (split_builtin_char): Delete builtin support for
3167         `katakana-jisx0201'.
3168         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3169         BMP area in builtin representation.
3170
3171         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3172         `Vcharset_katakana_jisx0201'.
3173
3174 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3175
3176         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3177         (Qisolated): New variable.
3178         (Qinitial): New variable.
3179         (Qmedial): New variable.
3180         (Qfinal): New variable.
3181         (Qvertical): New variable.
3182         (Qsmall): New variable.
3183         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3184         `Qvertical' and `Qsmall'.
3185         (Qmojikyo_pj_[1 .. 21]): New variable.
3186         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3187         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3188         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3189         .. 21]'.
3190
3191 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3192
3193         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3194         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3195         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3196
3197 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3198
3199         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3200         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3201         BMP.
3202         (Qjapanese_jisx0208_1990): New variable.
3203         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3204         (complex_vars_of_mule_charset): Add new coded-charset
3205         `japanese-jisx0208-1990'.
3206
3207         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3208         (MIN_CHAR_JIS_X0208_1990): New macro.
3209         (MAX_CHAR_JIS_X0208_1990): New macro.
3210
3211 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3212
3213         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3214         coded-charset is not found.
3215
3216 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3217
3218         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3219         (Fdefine_char): Use `Fmake_char'.
3220
3221 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3222
3223         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
3224         (Vcharset_hiragana_jisx0208): Deleted.
3225         (Vcharset_katakana_jisx0208): Deleted.
3226         (Qideograph_daikanwa): New variable.
3227         (Qhiragana_jisx0208): Deleted.
3228         (Qkatakana_jisx0208): Deleted.
3229         (split_builtin_char): Split `ideograph-daikanwa'.
3230         (Fsplit_char): New implementation for UTF-2000.
3231         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
3232         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
3233         (complex_vars_of_mule_charset): Add new coded-charset
3234         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
3235         `katakana-jisx0208'.
3236
3237         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3238         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3239         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3240         (MIN_CHAR_DAIKANWA): New macro.
3241         (MAX_CHAR_DAIKANWA): New macro.
3242
3243 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3244
3245         * data.c (Fstring_to_number): Don't recognize floating point if
3246         base is not 10.
3247
3248 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3249
3250         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
3251
3252 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3253
3254         * mule-charset.c (Qsquare): New variable.
3255         (to_char_code): Add `Qsquare'.
3256         (syms_of_mule_charset): Add new symbol `square'.
3257
3258 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3259
3260         * mule-charset.c (Qcircle): New variable.
3261         (to_char_code): Add `Qcircle'.
3262         (syms_of_mule_charset): Add new symbol `circle'.
3263
3264 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3265
3266         * mule-charset.c (Qfont): New variable.
3267         (to_char_code): Add `Qfont'.
3268         (syms_of_mule_charset): Add new symbol `font'.
3269
3270 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3271
3272         * mule-charset.c (Qsub): New variable.
3273         (to_char_code): Add `Qsub'.
3274         (syms_of_mule_charset): Add new symbol `sub'.
3275
3276 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3277
3278         * mule-charset.c (Fput_char_attribute): Convert each element of
3279         VALUE to GL position if ATTRIBUTE is a GR-set,
3280
3281 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3282
3283         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
3284         coded-charset is a GR-set.
3285
3286 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3287
3288         * mule-charset.c (Fput_char_attribute): Check each element of
3289         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
3290
3291 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3292
3293         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
3294         UTF-2000.
3295         (Qethiopic_ucs): New variable in UTF-2000.
3296         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
3297         (complex_vars_of_mule_charset): Add new coded-charset
3298         `ethiopic-ucs' in UTF-2000.
3299
3300         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
3301         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3302         9)'.
3303         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3304         10)'.
3305         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
3306
3307 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3308
3309         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
3310         `ascii'.
3311
3312 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3313
3314         * mule-charset.c (Vcharacter_variant_table): New variable.
3315         (Q_ucs): New variable.
3316         (Fchar_variants): New function.
3317         (Fput_char_attribute): Register `->ucs' value to
3318         `Vcharacter_variant_table'.
3319         (syms_of_mule_charset): Add new function `char-variants' and new
3320         symbol `->ucs'.
3321         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
3322
3323 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3324
3325         * mule-charset.c (get_char_code_table): Allow negative character
3326         code.
3327         (put_char_code_table): Likewise.
3328         (Vcharacter_composition_table): New variable.
3329         (Q_decomposition): New variable.
3330         (Qwide): New variable.
3331         (Qnarrow): New variable.
3332         (Qcompat): New variable.
3333         (QnoBreak): New variable.
3334         (Qsuper): New variable.
3335         (Qfraction): New variable.
3336         (to_char_code): New function.
3337         (Fget_composite_char): New function.
3338         (Fput_char_attribute): Register `->decomposition' value to
3339         `Vcharacter_composition_table'.
3340         (syms_of_mule_charset): Add new function `get-composite-char', new
3341         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
3342         `super' and `fraction'.
3343         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
3344
3345 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3346
3347         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
3348         character; copy the return value.
3349
3350 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3351
3352         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
3353
3354         * mule-charset.c (range_charset_code_point): Must use make_int.
3355         (split_builtin_char): New function.
3356
3357 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3358
3359         * mule-charset.c (char_byte_table): Change name from
3360         "char-code-table" to "char-byte-table".
3361         (mark_char_code_table): New function.
3362         (char_code_table_equal): New function.
3363         (char_code_table_hash): New function.
3364         (char_code_table_description): New constant.
3365         (char_code_table): New type.
3366         (make_char_code_table): New function.
3367         (copy_char_code_table): New function.
3368         (get_char_code_table): Modify for `char_code_table' type.
3369         (put_char_code_table): Likewise.
3370         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
3371         (Kashiwara).
3372
3373         * char-ucs.h (char_code_table): New type.
3374         (XCHAR_CODE_TABLE): New macro.
3375         (XSETCHAR_CODE_TABLE): New macro.
3376         (CHAR_CODE_TABLE_P): New macro.
3377         (GC_CHAR_CODE_TABLE_P): New macro.
3378         (struct Lisp_Char_Code_Table): New structure.
3379
3380 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3381
3382         * mule-charset.c (Fmake_charset): Setup byte_offset for
3383         {94|96}^n-set.
3384
3385 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3386
3387         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
3388         character.
3389
3390 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3391
3392         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
3393         is found.
3394
3395 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3396
3397         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
3398         charset, it is regarded as a charset.
3399         (put_char_attribute): New function in UTF-2000.
3400         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
3401         charset, mapping-table of the charset is modified.
3402         (Fdefine_char): New function in UTF-2000.
3403         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
3404         `Fput_char_attribute'.
3405         (syms_of_mule_charset): Add new function `define-char' and new
3406         symbol `ucs' in UTF-2000.
3407         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
3408
3409 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3410
3411         * mule-charset.c (Fcharset_name): Define `byte_offset' in
3412         non-UTF-2000 configuration.
3413
3414 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3415
3416         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
3417         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
3418
3419         * mule-charset.c (mark_charset): `cs->encoding_table' has been
3420         deleted.
3421         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
3422         (Fset_charset_mapping_table): Likewise.
3423
3424         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
3425         (CHARSET_ENCODING_TABLE): Delete.
3426         (XCHARSET_ENCODING_TABLE): Delete.
3427         (charset_code_point): New interface.
3428
3429 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3430
3431         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
3432         instead of `charset_get_byte1' and `charset_get_byte2'.
3433
3434         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
3435         (charset_get_byte2): Deleted.
3436
3437 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3438
3439         * char-ucs.h (SPLIT_CHAR): New inline function.
3440         (breakup_char_1): Use `SPLIT_CHAR'.
3441
3442         * mule-charset.c (range_charset_code_point): New function.
3443         (charset_code_point): New function.
3444
3445         * char-ucs.h (range_charset_code_point): New interface.
3446         (breakup_char_1): Use `range_charset_code_point'.
3447
3448 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3449
3450         * mule-charset.c (Fmake_charset): Delete unused local variable
3451         `code_offset'.
3452
3453         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3454         (breakup_char_1): Find a charset and code-point in
3455         `Vcharacter_attribute_table'.
3456
3457 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3458
3459         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3460         to 0.10 (Yao).
3461
3462 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3463
3464         * mule-charset.c (Vcharacter_attribute_table): New variable.
3465         (Fchar_attribute_alist): New function.
3466         (Fget_char_attribute): New function.
3467         (Fput_char_attribute): New function.
3468         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3469         too.
3470         (syms_of_mule_charset): Add new function `char-attribute-alist',
3471         `get-char-attribute' and `put-char-attribute'.
3472         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3473
3474 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3475
3476         * mule-charset.c (Fmake_charset): Just use
3477         `get_unallocated_leading_byte'.
3478
3479         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3480         sets; don't use final-byte based number for private sets.
3481
3482 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3483
3484         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3485         integer.
3486
3487 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3488
3489         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3490         to 0.9.
3491
3492 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3493
3494         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
3495         of `CHAR_LEADING_BYTE' in UTF-2000.
3496
3497         * insdel.c (find_charsets_in_bufbyte_string): Use
3498         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3499         (find_charsets_in_emchar_string): Likewise.
3500
3501         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
3502         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3503
3504         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
3505         (CHAR_CHARSET_ID): New macro.
3506
3507 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3508
3509         * chartab.c (get_char_table): Don't use type `Charset_ID' for
3510         charset-id - MIN_LEADING_BYTE.
3511         (put_char_table): Likewise.
3512
3513 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3514
3515         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
3516         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
3517         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
3518         (CHARSET_ID_OFFSET): New macro.
3519         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
3520         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
3521         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
3522         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3523         4).
3524         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3525         5).
3526         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
3527         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
3528         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
3529         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
3530         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
3531
3532 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3533
3534         * mule-charset.c (next_allocated_leading_byte): New variable in
3535         UTF-2000.
3536         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
3537         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
3538         (get_unallocated_leading_byte): Simply use
3539         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
3540         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
3541         UTF-2000.
3542
3543         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
3544         (MAX_LEADING_BYTE_PRIVATE): New macro.
3545         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
3546         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
3547
3548 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3549
3550         * mule-charset.c (Fmake_charset): Allocate final-byte based
3551         charset-id for 94-set, 96-set and 94x94-set.
3552
3553 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3554
3555         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
3556         ambiguous `else'.
3557         (Fmake_charset): Likewise.
3558         (complex_vars_of_mule_charset): Modify the font registry of
3559         `ucs-bmp' not to match `Ethiopic-Unicode'.
3560
3561 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3562
3563         * mule-charset.c (complex_vars_of_mule_charset): Add font
3564         registory of `ucs-bmp'.
3565
3566 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3567
3568         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
3569         coded-charsets in `default-coded-charset-priority-list' when
3570         breaking up a character.
3571
3572         * mule-charset.c (Vcharset_latin_viscii): New variable.
3573         (Qlatin_viscii): New variable.
3574         (make_charset): Don't use `decoding_table'.
3575         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
3576         byte_offset.
3577         (Fset_charset_mapping_table): New implementation.
3578         (syms_of_mule_charset): Add new symbol `latin-viscii'.
3579         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
3580         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
3581         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
3582         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
3583         charset `latin_viscii'.
3584
3585         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
3586         (CHARSET_TYPE_94X94): Change to 1 from 2.
3587         (CHARSET_TYPE_96): Change to 2 from 1.
3588         (CHARSET_TYPE_128): New macro.
3589         (CHARSET_TYPE_128X128): Change to 5 from 4.
3590         (CHARSET_TYPE_256): New macro.
3591         (CHARSET_TYPE_256X256): Change to 7 from 5.
3592         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
3593
3594 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3595
3596         * text-coding.c (char_encode_shift_jis): Refer
3597         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
3598         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
3599
3600         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
3601         (char_byte_table_equal): New function in UTF-2000.
3602         (char_byte_table_hash): New function in UTF-2000.
3603         (char_byte_table_description): New constant in UTF-2000.
3604         (char_byte_table): New type in UTF-2000.
3605         (make_char_byte_table): New function in UTF-2000.
3606         (copy_char_byte_table): New function in UTF-2000.
3607         (make_char_code_table): New macro in UTF-2000.
3608         (get_char_code_table): New function in UTF-2000.
3609         (put_char_code_table): New function in UTF-2000.
3610         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3611         (charset_description): Add setting in UTF-2000.
3612         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
3613         `CHARSET_TO_BYTE1_TABLE(cs)'.
3614         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
3615         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
3616         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
3617         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
3618         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
3619         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
3620         `CHARSET_TO_BYTE2_TABLE(cs)'.
3621
3622         * char-ucs.h (char_byte_table): New type.
3623         (XCHAR_BYTE_TABLE): New macro.
3624         (XSETCHAR_BYTE_TABLE): New macro.
3625         (CHAR_BYTE_TABLE_P): New macro.
3626         (GC_CHAR_BYTE_TABLE_P): New macro.
3627         (struct Lisp_Char_Byte_Table): New structure.
3628         (get_char_code_table): New interface.
3629         (Emchar_to_byte_table): Deleted.
3630         (get_byte_from_character_table): Deleted.
3631         (struct Lisp_Charset): Add `encoding_table'; delete
3632         `to_byte1_table' and `to_byte2_table'.
3633         (CHARSET_ENCODING_TABLE): New macro.
3634         (CHARSET_TO_BYTE1_TABLE): Deleted.
3635         (CHARSET_TO_BYTE2_TABLE): Deleted.
3636         (XCHARSET_ENCODING_TABLE): New macro.
3637         (XCHARSET_TO_BYTE1_TABLE): Deleted.
3638         (XCHARSET_TO_BYTE2_TABLE): Deleted.
3639
3640 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3641
3642         * mule-charset.c (syms_of_mule_charset): Delete charset alias
3643         `vietnamese-viscii-*'.
3644
3645 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3646
3647         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
3648         (Qvietnamese_viscii_upper): New variable.
3649         (Fdefine_charset_alias): New function.
3650         (syms_of_mule_charset): Add new function `define-charset-alias'.
3651         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
3652         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
3653         `latin-viscii-*'.
3654
3655 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
3656
3657         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
3658         (MAX_CHAR_OBS_94x94): New macro.
3659         (breakup_char_1): Support obsolete XEmacs-UCS private code space
3660         for 94x94 sets.
3661
3662         * mule-charset.c (put_byte_from_character_table): Change unit size
3663         from 128 to 256.
3664         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
3665         not defined.
3666         (Fmake_reverse_direction_charset): Modify dummy argument of
3667         `make_charset' for non-UTF-2000 environment.
3668
3669 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3670
3671         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
3672
3673         * mule-charset.c (destroy_byte_from_character_table): New macro.
3674         (latin_jisx0201_to_ucs): Deleted.
3675         (latin_iso8859_2_to_ucs): Deleted.
3676         (latin_iso8859_3_to_ucs): Deleted.
3677         (latin_iso8859_4_to_ucs): Deleted.
3678         (latin_iso8859_9_to_ucs): Deleted.
3679         (latin_viscii_lower_to_ucs): Deleted.
3680         (latin_viscii_upper_to_ucs): Deleted.
3681         (mark_charset): Mark `cs->decoding_table'.
3682         (Fcharset_mapping_table): Fix DOC-string.
3683         (Fset_charset_mapping_table): New function.
3684         (syms_of_mule_charset): Add nwe function
3685         `set-charset-mapping-table'.
3686         (complex_vars_of_mule_charset): Don't setup and use
3687         `latin_*_to_ucs'.
3688
3689 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3690
3691         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
3692         charset.
3693
3694 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3695
3696         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
3697         (Vcharset_katakana_jisx0208): New variable.
3698         (Qhiragana_jisx0208): New variable.
3699         (Qkatakana_jisx0208): New variable.
3700         (make_charset): Add new argument `byte_offset'.
3701         (charset_get_byte1): Modify for new coded-charset definition; use
3702         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3703         `XCHARSET_BYTE_OFFSET'.
3704         (Fmake_charset): Modify for `make_charset'.
3705         (Fmake_reverse_direction_charset): Likewise.
3706         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
3707         `katakana-jisx0208'.
3708         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
3709         `.'  in font registry of charset `katakana-jisx0201',
3710         `latin-jisx0201', `vietnamese-viscii-lower' and
3711         `vietnamese-viscii-upper'; modify DOC-string of charset
3712         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
3713         registry of charset `japanese-jisx0208' not to use font for JIS
3714         X0208:1990; add new charset `hiragana-jisx0208' and
3715         `katakana-jisx0208'.
3716
3717         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
3718         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
3719         (struct Lisp_Charset): Add `byte_offset'.
3720         (CHARSET_BYTE_OFFSET): New macro.
3721         (XCHARSET_UCS_MIN): New macro.
3722         (XCHARSET_UCS_MAX): New macro.
3723         (XCHARSET_CODE_OFFSET): New macro.
3724         (XCHARSET_BYTE_OFFSET): New macro.
3725         (MIN_CHAR_HIRAGANA): New macro.
3726         (MAX_CHAR_HIRAGANA): New macro.
3727         (MIN_CHAR_KATAKANA): New macro.
3728         (MAX_CHAR_KATAKANA): New macro.
3729         (MAKE_CHAR): Modify for new coded-charset definition; use
3730         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3731         `XCHARSET_BYTE_OFFSET'.
3732
3733 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3734
3735         * mule-charset.c (CHAR96): Deleted.
3736         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
3737         <Lisp_Object>.
3738         (latin_iso8859_2_to_ucs): Likewise.
3739         (latin_iso8859_3_to_ucs): Likewise.
3740         (latin_iso8859_4_to_ucs): Likewise.
3741         (latin_iso8859_9_to_ucs): Likewise.
3742         (latin_viscii_lower_to_ucs): Likewise.
3743         (latin_viscii_upper_to_ucs): Likewise.
3744         (latin_tcvn5712_to_ucs): Commented out.
3745         (make_charset): Change type of argument `decoding_table' from
3746         <Emchar*> to <Lisp_Object> [vector of characters].
3747         (Fmake_charset): Modify for `make_charset'.
3748         (Fmake_reverse_direction_charset): Likewise.
3749         (Fcharset_mapping_table): New function in UTF-2000.
3750         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
3751         UTF-2000.
3752         (complex_vars_of_mule_charset): Modify for type change of
3753         `*_to_ucs'; modify for `make_charset'.
3754
3755         * char-ucs.h (struct Lisp_Charset): Change type of
3756         `decoding_table' from <Emchar*> to <Lisp_Object>.
3757         (MAKE_CHAR): Modify for new specification of `decoding_table'.
3758
3759 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3760
3761         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
3762         error with non-UTF-2000-Mule.
3763
3764 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
3765
3766         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
3767         in lisp again].
3768         (Vcharset_chinese_cns11643_4): Likewise.
3769         (Vcharset_chinese_cns11643_5): Likewise.
3770         (Vcharset_chinese_cns11643_6): Likewise.
3771         (Vcharset_chinese_cns11643_7): Likewise.
3772         (Qchinese_cns11643_3): Likewise.
3773         (Qchinese_cns11643_4): Likewise.
3774         (Qchinese_cns11643_5): Likewise.
3775         (Qchinese_cns11643_6): Likewise.
3776         (Qchinese_cns11643_7): Likewise.
3777         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
3778         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3779         and `chinese-cns11643-7' to lisp/mule/chinese.el.
3780         (complex_vars_of_mule_charset): Likewise.
3781
3782 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3783
3784         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
3785         96-set.
3786         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
3787         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
3788
3789 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3790
3791         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
3792         0xFF60.
3793         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
3794         (breakup_char_1): Likewise.
3795
3796         * text-coding.c (char_encode_iso2022): Keep designated charsets if
3797         one of them includes the specified character.
3798
3799 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3800
3801         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
3802
3803 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3804
3805         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
3806
3807 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3808
3809         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
3810         definition for non-UTF-2000 Mule.
3811         (latin_iso8859_3_to_ucs): Likewise.
3812         (latin_iso8859_4_to_ucs): Likewise.
3813         (latin_iso8859_9_to_ucs): Likewise.
3814         (latin_jisx0201_to_ucs): Likewise.
3815         (MIN_CHAR_THAI): Likewise.
3816         (MAX_CHAR_THAI): Likewise.
3817         (MIN_CHAR_GREEK): Likewise.
3818         (MAX_CHAR_GREEK): Likewise.
3819         (MIN_CHAR_HEBREW): Likewise.
3820         (MAX_CHAR_HEBREW): Likewise.
3821         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
3822         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
3823         (MIN_CHAR_CYRILLIC): Likewise.
3824         (MAX_CHAR_CYRILLIC): Likewise.
3825
3826 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3827
3828         * char-ucs.h (breakup_char_1): Use
3829         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
3830         thai-tis620 and katakana-jisx0201 area.
3831
3832 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3833
3834         * char-ucs.h (breakup_char_1): Use
3835         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
3836         area.
3837
3838         * text-coding.c (reset_encoding_stream): Fixed.
3839         (char_encode_ucs4): Delete `& 255'.
3840
3841         * char-ucs.h (breakup_char_1): Use
3842         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3843
3844 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3845
3846         * file-coding.c (Fmake_coding_system): Don't set up
3847         `codesys->fixed.size'.
3848         (encode_coding_no_conversion): Don't refer
3849         `str->codesys->fixed.size'.
3850
3851 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3852
3853         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3854         (latin_a_char_to_byte1): Deleted.
3855         (latin_a_char_to_byte2): Deleted.
3856
3857 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3858
3859         * mule-charset.c (make_charset): Add new argument `ucs_min',
3860         `ucs_max' and `code_offset'.
3861         (charset_get_byte1): New implementation [delete specific charset
3862         depended implementations].
3863         (Fmake_charset): Modify for `make_charset'.
3864         (Fmake_reverse_direction_charset): Likewise.
3865         (complex_vars_of_mule_charset): Likewise.
3866
3867         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3868         `code_offset'.
3869         (CHARSET_UCS_MIN): New macro.
3870         (CHARSET_UCS_MAX): New macro.
3871         (CHARSET_CODE_OFFSET): New macro.
3872         (MAKE_CHAR): Delete charset depended definitions [except
3873         katakana-jisx0201].
3874
3875 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3876
3877         * char-ucs.h (breakup_char_1): Use
3878         `Vdefault_coded_charset_priority_list' for C0-Controls,
3879         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3880
3881 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3882
3883         * char-ucs.h (charset_get_byte1): New function.
3884         (XCHARSET_GET_BYTE1): Deleted.
3885         (charset_get_byte2): New function.
3886         (XCHARSET_GET_BYTE2): Deleted.
3887         (Vdefault_coded_charset_priority_list): New external variable.
3888         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3889         `Vdefault_preferred_coded_charset_list'.
3890
3891         * mule-charset.c (charset_get_byte1): New function.
3892         (charset_get_byte2): New function.
3893         (Vdefault_coded_charset_priority_list): New variable.
3894         (vars_of_mule_charset): Add new variable
3895         `default-coded-charset-priority-list'.
3896
3897 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3898
3899         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3900         (XCHARSET_GET_BYTE2): New inline function.
3901         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3902         `XCHARSET_GET_BYTE2'.
3903
3904 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3905
3906         * mule-charset.c (make_charset): Initialize
3907         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3908         NULL if table is not defined.
3909
3910 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3911
3912         * text-coding.c (char_encode_shift_jis): Use
3913         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3914         `ucs_to_latin_jisx0201'.
3915
3916         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3917         (ucs_to_latin_iso8859_2): Deleted.
3918         (ucs_to_latin_iso8859_3): Deleted.
3919         (ucs_to_latin_iso8859_4): Deleted.
3920         (ucs_to_latin_iso8859_9): Deleted.
3921         (ucs_to_latin_viscii_lower): Deleted.
3922         (ucs_to_latin_viscii_upper): Deleted.
3923         (ucs_to_latin_tcvn5712): Deleted.
3924         (make_charset): Add new argument `decoding_table'; set up
3925         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3926         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3927         `decoding_table' is defined in UTF-2000.
3928         (Fmake_charset): Modify for `make_charset'.
3929         (Fmake_reverse_direction_charset): Likewise.
3930         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3931         and `GENERATE_96_SET'.
3932
3933         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3934         (ucs_to_latin_jisx0201): Deleted.
3935         (latin_iso8859_2_to_ucs): Deleted.
3936         (ucs_to_latin_iso8859_2): Deleted.
3937         (latin_iso8859_3_to_ucs): Deleted.
3938         (ucs_to_latin_iso8859_3): Deleted.
3939         (latin_iso8859_4_to_ucs): Deleted.
3940         (ucs_to_latin_iso8859_4): Deleted.
3941         (latin_iso8859_9_to_ucs): Deleted.
3942         (ucs_to_latin_iso8859_9): Deleted.
3943         (latin_viscii_lower_to_ucs): Deleted.
3944         (ucs_to_latin_viscii_lower): Deleted.
3945         (latin_viscii_upper_to_ucs): Deleted.
3946         (ucs_to_latin_viscii_upper): Deleted.
3947         (struct Lisp_Charset): Renamed `encoding_table' to
3948         `to_byte1_table'; add `to_byte2_table'.
3949         (CHARSET_DECODING_TABLE): New macro.
3950         (CHARSET_TO_BYTE1_TABLE): New macro.
3951         (CHARSET_TO_BYTE2_TABLE): New macro.
3952         (XCHARSET_DECODING_TABLE): New macro.
3953         (XCHARSET_TO_BYTE1_TABLE): New macro.
3954         (XCHARSET_TO_BYTE2_TABLE): New macro.
3955         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3956         tables.
3957         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3958         don't use `ucs_to_*' tables.
3959
3960 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3961
3962         * text-coding.c (Fmake_coding_system): Don't set up
3963         `codesys->fixed.size'.
3964         (encode_coding_no_conversion): Use `if' instead of `switch'.
3965
3966         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3967
3968 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3969
3970         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3971         (Fmake_charset): Modify for `make_charset'.
3972         (Fmake_reverse_direction_charset): Likewise.
3973         (complex_vars_of_mule_charset): Likewise.
3974
3975 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3976
3977         * text-coding.c (char_encode_shift_jis): Use table
3978         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3979
3980 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3981
3982         * text-coding.c (text_encode_generic): Use `if' instead of
3983         `switch'.
3984         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3985         decode JIS-Latin.
3986
3987 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3988
3989         * text-coding.c (encode_coding_sjis): Deleted.
3990         (char_encode_shift_jis): New function.
3991         (char_finish_shift_jis): New function.
3992         (reset_encoding_stream): Set up `encode_char' and `finish' for
3993         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3994         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3995         (char_encode_utf8): Treat `eol_type'.
3996
3997 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3998
3999         * file-coding.c (decode_coding_iso2022): Use
4000         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4001
4002 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4003
4004         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4005         to 0.7 (Hirano).
4006
4007 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4008
4009         * char-lb.h (CHAR_COLUMNS): New macro.
4010
4011 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4012
4013         * text-coding.c (char_encode_ucs4): New function.
4014         (char_finish_ucs4): New function.
4015         (encode_coding_ucs4): Deleted.
4016         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4017         (text_encode_generic): Delete local variable `charset' and `half'.
4018         (ucs_to_mule_table): Deleted.
4019         (mule_to_ucs_table): Deleted.
4020         (Fset_ucs_char): Deleted.
4021         (ucs_to_char): Deleted.
4022         (Fucs_char): Deleted.
4023         (Fset_char_ucs): Deleted.
4024         (Fchar_ucs): Deleted.
4025         (decode_ucs4): Deleted.
4026         (mule_char_to_ucs4): Deleted.
4027         (encode_ucs4): Deleted.
4028         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4029         (decode_coding_utf8): Likewise.
4030         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4031         (char_encode_iso2022): Fixed.
4032         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4033         `Fset_char_ucs' and `Fchar_ucs'.
4034         (complex_vars_of_file_coding): Don't initialize
4035         `ucs_to_mule_table'.
4036
4037         * objects-tty.c (tty_initialize_font_instance): Don't use
4038         `XCHARSET_COLUMNS'.
4039
4040         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4041         UTF-2000.
4042
4043         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4044         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4045
4046         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4047         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4048         (emchar_string_displayed_columns): Likewise.
4049
4050         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4051         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4052         (string_column_at_point): Likewise.
4053         (Fmove_to_column): Likewise.
4054
4055         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4056         `encoding_table' and `decoding_table'.
4057         (CHARSET_REP_BYTES): Deleted.
4058         (XCHARSET_REP_BYTES): Deleted.
4059         (XCHARSET_COLUMNS): Deleted.
4060         (CHAR_COLUMNS): New macro.
4061         (lookup_composite_char): Deleted unconditionally.
4062         (composite_char_string): Likewise.
4063
4064 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4065
4066         * char-ucs.h (Emchar_to_byte_table): New type.
4067         (get_byte_from_character_table): New function interface.
4068         (Vcharset_latin_jisx0201): New variable.
4069         (latin_jisx0201_to_ucs): New variable.
4070         (ucs_to_latin_jisx0201): New variable.
4071         (Vcharset_latin_iso8859_2): New variable.
4072         (latin_iso8859_2_to_ucs): New variable.
4073         (ucs_to_latin_iso8859_2): New variable.
4074         (Vcharset_latin_iso8859_3): New variable.
4075         (latin_iso8859_3_to_ucs): New variable.
4076         (ucs_to_latin_iso8859_3): New variable.
4077         (Vcharset_latin_iso8859_4): New variable.
4078         (latin_iso8859_4_to_ucs): New variable.
4079         (ucs_to_latin_iso8859_4): New variable.
4080         (Vcharset_latin_iso8859_9): New variable.
4081         (latin_iso8859_9_to_ucs): New variable.
4082         (ucs_to_latin_iso8859_9): New variable.
4083         (Vcharset_latin_viscii_lower): New variable.
4084         (latin_viscii_lower_to_ucs): New variable.
4085         (ucs_to_latin_viscii_lower): New variable.
4086         (Vcharset_latin_viscii_upper): New variable.
4087         (latin_viscii_upper_to_ucs): New variable.
4088         (ucs_to_latin_viscii_upper): New variable.
4089         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4090         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4091         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4092         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4093         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4094         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4095         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4096         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4097         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4098         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4099
4100         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4101         (Vcharset_latin_viscii_upper): New variable.
4102         (make_byte_from_character_table): New function.
4103         (put_byte_from_character_table): New function.
4104         (get_byte_from_character_table): New function.
4105         (CHAR96): New macro.
4106         (ucs_to_latin_jisx0201): New variable.
4107         (latin_jisx0201_to_ucs): New variable.
4108         (ucs_to_latin_iso8859_2): New variable.
4109         (latin_iso8859_2_to_ucs): New variable.
4110         (ucs_to_latin_iso8859_3): New variable.
4111         (latin_iso8859_3_to_ucs): New variable.
4112         (ucs_to_latin_iso8859_4): New variable.
4113         (latin_iso8859_4_to_ucs): New variable.
4114         (ucs_to_latin_iso8859_9): New variable.
4115         (latin_iso8859_9_to_ucs): New variable.
4116         (ucs_to_latin_viscii_lower): New variable.
4117         (latin_viscii_lower_to_ucs): New variable.
4118         (ucs_to_latin_viscii_upper): New variable.
4119         (latin_viscii_upper_to_ucs): New variable.
4120         (ucs_to_latin_tcvn5712): New variable.
4121         (latin_tcvn5712_to_ucs): New variable.
4122         (Qlatin_viscii_lower): New variable.
4123         (Qlatin_viscii_upper): New variable.
4124         (syms_of_mule_charset): Set up new symbol
4125         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4126         (complex_vars_of_mule_charset): Set up new charset
4127         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4128         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4129         `ucs_to_<CHARSET>' tables.
4130
4131 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4132
4133         * text-coding.c: New file.
4134
4135 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4136
4137         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4138
4139         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4140         (MAKE_CHAR): Modify for `ucs-bmp'.
4141         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4142         non-MULE characters of BMP.
4143
4144 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4145
4146         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4147         to 0.6.
4148
4149 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4150
4151         * lstream.h:
4152         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4153         - Include character.h for `CHAR_ASCII_P'.
4154
4155         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4156
4157         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4158         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4159
4160         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4161         (BYTE_C0_P): Likewise.
4162         (BYTE_C1_P): Likewise.
4163         (Lstream_get_emchar_1): Likewise.
4164         (Lstream_fput_emchar): Likewise.
4165         (Lstream_funget_emchar): Likewise.
4166         (copy_internal_to_external): Likewise.
4167         (copy_external_to_internal): Likewise.
4168
4169         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4170         (BYTE_C0_P): Likewise.
4171         (BYTE_C1_P): Likewise.
4172         (Lstream_get_emchar_1): Likewise.
4173         (Lstream_fput_emchar): Likewise.
4174         (Lstream_funget_emchar): Likewise.
4175         (copy_internal_to_external): Likewise.
4176         (copy_external_to_internal): Likewise.
4177
4178         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4179         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4180
4181         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4182         (BYTE_ASCII_P): Moved to mb-1byte.h.
4183
4184 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4185
4186         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4187
4188         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4189         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4190         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4191         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4192         (VALIDATE_CHARPTR_FORWARD): Likewise.
4193         (simple_charptr_emchar): Moved to mb-multibyte.h.
4194         (simple_set_charptr_emchar): Likewise.
4195         (simple_charptr_copy_char): Likewise.
4196         (non_ascii_charptr_emchar): Likewise.
4197         (non_ascii_set_charptr_emchar): Likewise.
4198         (non_ascii_charptr_copy_char): Likewise.
4199         (charptr_emchar): Moved to mb-*byte.h.
4200         (set_charptr_emchar): Likewise.
4201         (charptr_copy_char): Likewise.
4202
4203         * mb-1byte.h, mb-multibyte.h: New files.
4204
4205 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4206
4207         * mb-utf-8.h (MULTIBYTE): New macro.
4208         (MAX_EMCHAR_LEN): Moved from buffer.h.
4209         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4210
4211         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4212
4213         * mb-lb.h, multibyte.h: New files.
4214
4215         * char-1byte.h (Charset_ID): Moved from buffer.h.
4216         (MIN_LEADING_BYTE): Likewise.
4217         (LEADING_BYTE_ASCII): Likewise.
4218         (NUM_LEADING_BYTES): Likewise.
4219         (CHARSETP): Likewise.
4220         (CHARSET_BY_LEADING_BYTE): Likewise.
4221         (XCHARSET_LEADING_BYTE): Likewise.
4222         (XCHARSET_GRAPHIC): Likewise.
4223         (XCHARSET_COLUMNS): Likewise.
4224         (XCHARSET_DIMENSION): Likewise.
4225         (CHAR_CHARSET): Likewise.
4226         (CHAR_LEADING_BYTE): Likewise.
4227         (BREAKUP_CHAR): Likewise.
4228         (Vcharset_ascii): Likewise.
4229
4230         * buffer.h: Include multibyte.h unconditionally.
4231         (VALID_CHARPTR_P): Moved to multibyte.h.
4232         (ASSERT_VALID_CHARPTR): Likewise.
4233         (REAL_INC_CHARPTR): Likewise.
4234         (REAL_INC_CHARBYTIND): Likewise.
4235         (REAL_DEC_CHARPTR): Likewise.
4236         (INC_CHARPTR): Likewise.
4237         (INC_CHARBYTIND): Likewise.
4238         (DEC_CHARPTR): Likewise.
4239         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4240         (VALIDATE_CHARPTR_FORWARD): Likewise.
4241         (charptr_n_addr): Likewise.
4242         (MAX_EMCHAR_LEN): Moved to mb-*.h.
4243         (simple_charptr_emchar): Moved to multibyte.h.
4244         (simple_set_charptr_emchar): Likewise.
4245         (simple_charptr_copy_char): Likewise.
4246         (non_ascii_charptr_emchar): Likewise.
4247         (non_ascii_set_charptr_emchar): Likewise.
4248         (non_ascii_charptr_copy_char): Likewise.
4249         (charptr_emchar): Likewise.
4250         (set_charptr_emchar): Likewise.
4251         (charptr_copy_char): Likewise.
4252         (charptr_emchar_n): Likewise.
4253         (Charset_ID): Moved to char-1byte.h.
4254         (Vcharset_ascii): Likewise.
4255         (CHAR_CHARSET): Likewise.
4256         (CHAR_LEADING_BYTE): Likewise.
4257         (LEADING_BYTE_ASCII): Likewise.
4258         (NUM_LEADING_BYTES): Likewise.
4259         (MIN_LEADING_BYTE): Likewise.
4260         (CHARSETP): Likewise.
4261         (CHARSET_BY_LEADING_BYTE): Likewise.
4262         (XCHARSET_LEADING_BYTE): Likewise.
4263         (XCHARSET_GRAPHIC): Likewise.
4264         (XCHARSET_COLUMNS): Likewise.
4265         (XCHARSET_DIMENSION): Likewise.
4266         (BREAKUP_CHAR): Likewise.
4267
4268 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4269
4270         * character.h: Add document about interface for characters.
4271
4272         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
4273         (MAKE_CHAR): Delete comment about
4274         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
4275         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
4276         (BREAKUP_CHAR): Modify name of arguments.
4277         (CHAR_CHARSET): Modify name of argument.
4278
4279         * buffer.h: Delete document about Emchar accessors.
4280
4281 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4282
4283         * character.h (CHAR_INTP): Moved from buffer.h
4284         (CHAR_OR_CHAR_INTP): Likewise.
4285         (XCHAR_OR_CHAR_INT): Likewise.
4286         (CHECK_CHAR_COERCE_INT): Likewise.
4287
4288         * buffer.h (CHAR_INTP): Moved to character.h
4289         (CHAR_OR_CHAR_INTP): Likewise.
4290         (XCHAR_OR_CHAR_INT): Likewise.
4291         (CHECK_CHAR_COERCE_INT): Likewise.
4292
4293 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4294
4295         * character.h:
4296         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
4297         - Include char-1byte.h, char-lb.h or char-ucs.h.
4298
4299         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
4300
4301         * buffer.h: Include character unconditionally.
4302         (valid_char_p): Moved to char-*.h.
4303         (non_ascii_valid_char_p): Moved to char-lb.h.
4304
4305         * char-1byte.h, char-lb.h, char-ucs.h: New files.
4306
4307 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4308
4309         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
4310         in UTF-2000 because it is not ported yet and not to use
4311         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
4312         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
4313         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
4314
4315         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
4316         (CHAR_ASCII_P): Moved from character.h.
4317
4318         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
4319         (CHAR_ASCII_P): Likewise.
4320         (CHAR_FIELD1_MASK): Deleted.
4321         (CHAR_FIELD2_MASK): Deleted.
4322         (CHAR_FIELD3_MASK): Deleted.
4323         (MAX_CHAR_BASIC_LATIN): New macro.
4324         (CHAR_FIELD1): Deleted.
4325         (CHAR_FIELD2_INTERNAL): Deleted.
4326         (CHAR_FIELD3_INTERNAL): Deleted.
4327         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
4328         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
4329         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
4330         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
4331         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
4332         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
4333         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
4334         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
4335         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
4336         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
4337         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
4338         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
4339         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
4340         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
4341         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
4342         (MIN_CHAR_COMPOSITION): Deleted.
4343         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
4344         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
4345
4346 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
4347
4348         * buffer.h: Include mb-utf-8.h in UTF-2000.
4349
4350         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
4351
4352         * mb-utf-8.h: New file.
4353
4354 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
4355
4356         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
4357         instead of `int'.
4358
4359         * mule-charset.h, buffer.h (Charset_ID): New type.
4360
4361 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4362
4363         * mule-canna.c (c2mu): Use `MAKE_CHAR',
4364         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
4365         instead of `MULE_CHAR_PRIVATE_OFFSET',
4366         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
4367         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
4368         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
4369
4370         * character.h (Vcharset_japanese_jisx0212): New variable
4371         definition.
4372
4373 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4374
4375         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
4376         (charset_by_attributes): Delete array about direction.
4377         (latin_a_char_to_charset): New variable in UTF-2000.
4378         (latin_a_char_to_byte1): New variable in UTF-2000.
4379         (latin_a_char_to_byte2): New variable in UTF-2000.
4380         (Qucs_bmp): New variable.
4381         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
4382         `Bufbyte'.
4383         (next_allocated_2_byte_leading_byte): Likewise.
4384         (non_ascii_set_charptr_emchar): Likewise.
4385         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
4386         `CHARSET_TYPE_256X256' in UTF-2000; modify for
4387         `charset_by_attributes'.
4388         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
4389         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
4390         and `CHARSET_BY_LEADING_BYTE'.
4391         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
4392         `utf-2000-version' to `vars_of_mule_charset'.
4393         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
4394         define `leading-code-private-11' in UTF-2000; move setting of
4395         `utf-2000-version' from `syms_of_mule_charset'.
4396         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
4397         UTF-2000.
4398
4399         * character.h (Charset_ID): New type.
4400         (LEADING_BYTE_UCS_BMP): New macro.
4401         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
4402         (CHARSET_ID_OFFSET_94): New macro.
4403         (MIN_CHARSET_ID_PRIVATE_94): New macro.
4404         (MAX_CHARSET_ID_PRIVATE_94): New macro.
4405         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
4406         final-byte.
4407         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
4408         (LEADING_BYTE_LATIN_JISX0201): Likewise.
4409         (CHARSET_ID_OFFSET_96): New macro.
4410         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
4411         CHARSET_ID_OFFSET_96 and final-byte.
4412         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
4413         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
4414         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
4415         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
4416         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
4417         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
4418         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
4419         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
4420         (LEADING_BYTE_THAI_TIS620): Likewise.
4421         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
4422         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
4423         (CHARSET_ID_OFFSET_94x94): New macro.
4424         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
4425         CHARSET_ID_OFFSET_94x94 and final-byte.
4426         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
4427         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
4428         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
4429         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
4430         (LEADING_BYTE_CHINESE_GB2312): Likewise.
4431         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
4432         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
4433         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
4434         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
4435         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
4436         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
4437         (CHARSET_TYPE_128X128): New macro.
4438         (CHARSET_TYPE_256X256): New macro.
4439         (XCHARSET_PRIVATE_P): Delete unconditionally.
4440         (charset_by_attributes): Delete array about direction.
4441         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4442         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4443         (MIN_CHAR_94): New macro.
4444         (MAX_CHAR_94): New macro.
4445         (MIN_CHAR_96): New macro.
4446         (MAX_CHAR_96): New macro.
4447         (MIN_CHAR_94x94): New macro.
4448         (MAX_CHAR_94x94): New macro.
4449         (MIN_CHAR_96x96): New macro.
4450         (MAX_CHAR_96x96): New macro.
4451         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4452         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4453         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4454         - 32)'.
4455         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4456         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4457         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4458         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4459         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4460         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4461         `XCHARSET_LEADING_BYTE' to make code-point.
4462         (latin_a_char_to_charset): New variable.
4463         (latin_a_char_to_byte1): New variable.
4464         (latin_a_char_to_byte2): New variable.
4465         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4466         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4467         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4468
4469         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4470         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4471         (find_charsets_in_emchar_string): Likewise.
4472         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4473
4474         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4475         `int'.
4476         (decode_coding_iso2022): Likewise.
4477
4478         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4479         of `unsigned char'.
4480
4481         * redisplay.c (redisplay_text_width_emchar_string): Use
4482         `Charset_ID' instead of `unsigned char'.
4483         (redisplay_frame_text_width_string): Likewise.
4484
4485         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4486         `unsigned char'.
4487
4488         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4489         instead of `unsigned char'.
4490         (face_cachel_charset_font_metric_info): Likewise.
4491
4492         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
4493         (get_non_ascii_char_table_value): Likewise.
4494         (get_char_table): Likewise.
4495         (put_char_table): Likewise.
4496         (map_over_other_charset): Likewise.
4497         (map_char_table): Likewise.
4498
4499         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
4500         instead of `unsigned char'.
4501
4502 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
4503
4504         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
4505         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
4506
4507         * mule-charset.c (leading_code_private_11): Don't define in
4508         UTF-2000.
4509
4510         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
4511         in UTF-2000 because it is not ported yet and not to use
4512         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
4513
4514 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
4515
4516         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
4517
4518 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4519
4520         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
4521         in UTF-2000.
4522
4523         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
4524         of unsigned char to store leading-byte.
4525
4526         * chartab.c (get_non_ascii_char_table_value): Don't use
4527         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
4528
4529         * file-coding.c (encode_coding_big5): Delete bogus implementation
4530         in UTF2000.
4531
4532         * character.h (LEADING_BYTE_*): Delete definition for
4533         non-UTF-2000.
4534         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
4535         (LEADING_BYTE_PREFIX_P): Deleted.
4536         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
4537         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
4538         (BUFBYTE_LEADING_BYTE_P): Deleted.
4539         (CHARSET_PRIVATE_P): Deleted unconditionally.
4540         (rep_bytes_by_first_byte): Deleted unconditionally.
4541         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
4542         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
4543         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4544         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
4545         (CHAR_FIELD2): Deleted.
4546         (CHAR_FIELD3): Deleted.
4547         (MAKE_CHAR): Delete definition for non-UTF-2000.
4548         (BREAKUP_CHAR_1_UNSAFE): Deleted.
4549         (breakup_char_1): New implementation.
4550         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
4551         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
4552
4553 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4554
4555         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
4556         condition.
4557
4558 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4559
4560         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
4561         (CHARSET_PRIVATE_P): Likewise.
4562         (XCHARSET_PRIVATE_P): Likewise.
4563         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
4564
4565         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
4566         UTF2000.
4567         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
4568
4569 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4570
4571         * character.h (LEADING_BYTE_*): Changed in UTF2000.
4572         (NUM_LEADING_BYTES): Changed from 128 to 256.
4573         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4574         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
4575         UTF2000.
4576         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4577
4578         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
4579         UTF2000.
4580         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
4581         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
4582         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
4583         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
4584         (Qchinese_cns11643_3): New variable in UTF2000.
4585         (Qchinese_cns11643_4): New variable in UTF2000.
4586         (Qchinese_cns11643_5): New variable in UTF2000.
4587         (Qchinese_cns11643_6): New variable in UTF2000.
4588         (Qchinese_cns11643_7): New variable in UTF2000.
4589         (syms_of_mule_charset): Define `chinese-cns11643-3',
4590         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4591         and `chinese-cns11643-7' in UTF2000.
4592         (vars_of_mule_charset): Initialize
4593         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
4594         + 1 in UTF2000.
4595         (complex_vars_of_mule_charset): Setup charset
4596         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
4597         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
4598
4599 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4600
4601         * mule-charset.c: Move setting for `leading-code-private-11' from
4602         `syms_of_mule_charset' to `vars_of_mule_charset'.
4603
4604 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4605
4606         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
4607         and `NUM_LEADING_BYTES' in assert.
4608
4609 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4610
4611         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
4612         instead of 128.
4613         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
4614         `NUM_LEADING_BYTES' instead of 128.
4615
4616 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4617
4618         * mule-charset.h (charset_by_leading_byte): Use
4619         `NUM_LEADING_BYTES' instead of 128.
4620         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
4621
4622         * mule-charset.c (charset_by_leading_byte): Use
4623         `NUM_LEADING_BYTES' instead of 128.
4624         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
4625
4626         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
4627         128.
4628
4629 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4630
4631         * mule-charset.c (syms_of_mule_charset): Update to
4632         0.4 (Shin-Imamiya).
4633
4634 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4635
4636         * file-coding.c (encode_coding_sjis): New implementation for
4637         UTF2000.  (decode_coding_sjis): Ditto.
4638
4639 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4640
4641         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
4642         Don't define in UTF2000.
4643
4644         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
4645         defined.
4646
4647         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4648         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
4649         MULE.
4650
4651 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4652
4653         * config.h.in (CHAR_IS_UCS4): New macro.
4654
4655         * mule-charset.c (rep_bytes_by_first_byte): Modify for
4656         conventional MULE representation.
4657         (syms_of_mule_charset): Update to 0.3 (Imamiya).
4658
4659         * mule-charset.h: Reverted to original.
4660
4661         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4662         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
4663         "mule-charset.h" if CHAR_IS_UCS4 is defined.
4664
4665         * character.h: New file.
4666
4667         * file-coding.c (Fmake_coding_system): Set 1 to
4668         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
4669         defined.
4670         (encode_coding_no_conversion): New implementation for UTF2000.
4671
4672         * file-coding.h (struct Lisp_Coding_System): Add new member
4673         `fixed.size'.
4674
4675 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
4676
4677         * file-coding.c (decode_coding_iso2022): Code-point arguments of
4678         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
4679         (encode_coding_iso2022): New implementation for UTF2000.
4680
4681 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4682
4683         * mule-canna.c (c2mu): New implementation for UTF2000.
4684         (m2c): Likewise.
4685
4686 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4687
4688         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
4689
4690 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4691
4692         * file-coding.c (reset_encoding_stream): Set 0 to
4693         `str->iso2022.current_char_boundary' in UTF2000.
4694         (encode_utf8): Don't define in UTF2000.
4695         (encode_coding_utf8): New implementation for UTF-8 representation
4696         of UTF2000.
4697         (complex_vars_of_file_coding): Define coding-system `utf-8'.
4698
4699 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4700
4701         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
4702
4703         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
4704         UTF2000.
4705         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4706
4707         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
4708
4709         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
4710         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
4711         as UTF-8 in UTF2000.
4712         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
4713         (non_ascii_valid_char_p): Don't define in UTF2000.
4714         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
4715         (Lstream_get_emchar_1): Likewise.
4716         (utf-2000-version): New variable in UTF2000.
4717
4718         * lread.c (read_escape): Add new reader `u'.
4719
4720         * insdel.c (three_to_one_table): Don't define in UTF2000.
4721         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
4722         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4723         UTF2000.
4724         (bytind_to_bufpos_func): Likewise.
4725         (buffer_mule_signal_inserted_region): Likewise.
4726         (vars_of_insdel): Don't initialize `three_to_one_table'.
4727         (init_buffer_text): Use `buf->text->mule_size' instead of
4728         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4729         UTF2000.
4730
4731         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
4732         UTF-8 representation in UTF2000.
4733         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
4734         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
4735         (decode_coding_iso2022): Don't define local variable `lb' in
4736         UTF2000; don't use LEADING_BYTE in UTF2000; use
4737         `DECODE_ADD_UCS_CHAR' in UTF2000.
4738         (convert_to_external_format): Decode as UTF-8 in UTF2000.
4739
4740         * config.h.in (UTF2000): New macro.
4741
4742         * buffer.h (struct buffer_text): Add new member `mule_size' and
4743         don't add `mule_shifter' and `mule_three_p' in UTF2000.
4744         (valid_char_p): Return always 1 in UTF2000.
4745         (MAX_EMCHAR_LEN): 6 in UTF2000.
4746         (three_to_one_table): Don't define in UTF2000.
4747         (real_bufpos_to_bytind): Modify for UTF-8 representation in
4748         UTF2000.
4749         (real_bytind_to_bufpos): Likewise.
4750
4751         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
4752
4753 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4754
4755         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
4756         representation change.
4757         (Vutf_2000_version): New variable.
4758         (leading_code_private_11): New variable.
4759         (syms_of_mule_charset): Add new variables `utf-2000-version' and
4760         `leading-code-private-11'.
4761
4762         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
4763         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
4764         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
4765         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
4766         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
4767         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
4768         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
4769         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
4770         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
4771         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
4772         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
4773         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
4774         (MIN_CHAR_GREEK): New macro.
4775         (MAX_CHAR_GREEK): New macro.
4776         (MIN_CHAR_CYRILLIC): New macro.
4777         (MAX_CHAR_CYRILLIC): New macro.
4778         (MIN_CHAR_HEBREW): New macro.
4779         (MAX_CHAR_HEBREW): New macro.
4780         (MIN_CHAR_THAI): New macro.
4781         (MAX_CHAR_THAI): New macro.
4782         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
4783         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
4784         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
4785         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
4786         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
4787         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
4788         (CHAR_FIELD2): New inline function.
4789         (CHAR_FIELD3): New inline function.
4790         (MULE_CHAR_PRIVATE_OFFSET): New macro.
4791         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
4792         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
4793         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
4794         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
4795         (MIN_CHAR_COMPOSITION): Likewise.
4796         (CHAR_LEADING_BYTE): Modified for character representation change.
4797         (MAKE_CHAR): Likewise.
4798
4799         * lisp.h (Vcharset_latin_iso8859_1): New variable.
4800         (Vcharset_greek_iso8859_7): Likewise.
4801         (Vcharset_cyrillic_iso8859_5): Likewise.
4802         (Vcharset_hebrew_iso8859_8): Likewise.
4803         (Vcharset_thai_tis620): Likewise.
4804         (Vcharset_katakana_jisx0201): Likewise.
4805
4806 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
4807
4808         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
4809
4810 2002-12-14  Ben Wing  <ben@xemacs.org>
4811
4812         * callint.c: Declaration error.
4813         * dumper.c (pdump):
4814         * dumper.c (pdump_load): Warning fix.
4815         * process.c: GCPRO error.
4816         * glyphs.c (unmap_subwindow):
4817         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
4818         * event-stream.c (maybe_kbd_translate): Wrong argument to
4819         character_to_event().
4820
4821         * alloc.c (garbage_collect_1):
4822         * emacs.c:
4823         * emacs.c (debug_can_access_memory):
4824         * emacs.c (fatal_error_signal):
4825         * emacs.c (mswindows_handle_hardware_exceptions):
4826         * emacs.c (main_1):
4827         * emacs.c (main):
4828         * emacs.c (assert_failed):
4829         * emacs.c (syms_of_emacs):
4830         * lisp.h:
4831         * print.c:
4832         * print.c (std_handle_out_va):
4833         * print.c (write_string_to_stdio_stream):
4834         * print.c (write_fmt_string):
4835         * print.c (printing_badness):
4836         * print.c (printing_major_badness):
4837         * print.c (print_internal):
4838         * print.c (debug_print_no_newline):
4839         * print.c (debug_backtrace):
4840         Be more defensive in handling bad values when printing.  Add code
4841         from trunk involving inhibit_non_essential_printing_operations.
4842         When going down or in debug_print(), don't do external conversion
4843         and such and try really, really hard when printing to avoid core
4844         dumping.  Add force-debugging-signal, debug_break().
4845
4846 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
4847
4848         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
4849         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
4850
4851 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
4852
4853         * database.c: Fix open_database. Berkeley DB API has changed in
4854         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
4855
4856 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
4857
4858         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
4859
4860 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
4861
4862         * event-Xt.c (Xt_timeout):
4863         (Xt_timeout_callback):
4864         (emacs_Xt_add_timeout):
4865         (emacs_Xt_remove_timeout):
4866         (Xt_timeout_to_emacs_event):
4867         Turn completed_timeouts from a stack into a queue.  Fixes
4868         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
4869
4870 2002-11-07  Wolfram Gloger  <wg@malloc.de>
4871
4872         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
4873         * emacs.c (main): Assert that mmap'd allocation is disabled.
4874
4875 2002-10-14  Andy Piper  <andy@xemacs.org>
4876
4877         * glyphs-widget.c (layout_query_geometry): add in fiddle
4878         factor. Include border text in width layout calculation.
4879         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
4880
4881 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
4882
4883         * XEmacs 21.4.10 "Military Intelligence" is released.
4884
4885 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
4886
4887         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
4888         using the NAS private array SoundFileInfo that no longer exists in
4889         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
4890         and earlier.  This is broken for some versions between 1.5a and
4891         1.5f.
4892
4893 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
4894
4895         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
4896
4897         * emacs.c (shut_down_emacs): Improve crash message.
4898
4899 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
4900
4901         * file-coding.c (determine_real_coding_system): Check for coding
4902         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
4903         shebangs and Python PEP 263.
4904
4905 2002-10-08  Andy Piper  <andy@xemacs.org>
4906
4907         * glyphs-widget.c (layout_query_geometry): only resize dynamically
4908         if static sizes haven't been set.
4909
4910 2002-08-30  Mike Alexander  <mta@arbortext.com>
4911
4912         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
4913         to close a socket.
4914
4915 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
4916
4917         * callproc.c (child_setup): 21.4 doesn't have retry_close.
4918
4919 2002-09-20  Mike Sperber <mike@xemacs.org>
4920
4921         (This partially gets back my patch from 2002-07-20 without the
4922         bug.)
4923         * callproc.c (child_setup): Remove Ben's comment noting confusion
4924         over the file descriptors >= 3: close_process_descs() doesn't
4925         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
4926         * process-unix.c (unix_create_process): Call
4927         begin_dont_check_for_quit to inhibit unwanted interaction (and
4928         thus breaking of X event synchronicity) in the child.
4929
4930 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
4931
4932         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
4933         widget.
4934
4935 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
4936
4937         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
4938         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
4939         the xemacs process did not exit, but looped infinitely here.  This
4940         fixes that problem.
4941
4942 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
4943
4944         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
4945         (find_context): Improve comments.
4946
4947         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
4948         (re_match_2): An XCHAR_TABLE operation was missing.
4949
4950         Many of the following changes were inspired by Andy Piper's (now
4951         obsolete) patch to make syntax-table text property lookup optional.
4952
4953         [Documentation]
4954
4955         * syntax.h (top level): Document semantics of syntax flags.
4956         * syntax.c (comstr_start, Fforward_comment): Improve comments.
4957         * syntax.c, syntax.h (top level): Document syntax cache better in
4958         comments.
4959
4960         [Instrument syntax caching (temporary change)]
4961
4962         * syntax.h (enum syntax_cache_statistics_functions, struct
4963         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
4964         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
4965         * syntax.c (scan_words, Fforward_comment, scan_lists,
4966         Fbackward_prefix_characters):
4967         * font-lock.c (find_context):
4968         Use them to instrument syntax caching. 
4969         * syntax.c (struct syntax_cache_statistics, scs_statistics,
4970         syntax_cache_statistics_function_names): New type and variables.
4971         * syntax.c (update_syntax_cache): Update and report statistics.
4972
4973         [Major syntax cache optimizations]
4974
4975         syntax.c (lookup_syntax_properties): Default off.
4976
4977         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
4978         * syntax.c (update_syntax_cache):
4979         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
4980
4981         [Minor syntax cache optimizations and code clarifications]
4982
4983         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
4984         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
4985         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
4986         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
4987         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
4988         (Code clarification.)
4989
4990         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
4991         scan_lists): Compute code from syncode, use Boolean macros instead
4992         of redundant masking operations.  (Code clarification; any decent
4993         compiler can do this optimization.)
4994
4995         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
4996         for clarity.
4997
4998         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
4999         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
5000         use F*_single_property_change instead of F*_extent_change.
5001         Currently F*_single_property_change is _much_ less efficient.
5002
5003         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
5004         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
5005         syntax_cache.object properly, don't leave Qt or Qnil.
5006         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
5007         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
5008         tests for Qt or Qnil.
5009
5010 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
5011
5012         * redisplay.c (point_in_line_start_cache): 
5013         * extents.c (print_extent_1):
5014         Fix warnings.
5015
5016         * extents.c (Fset_extent_property): Document `syntax-table' property.
5017
5018         * extents.h (Fnext_single_property_change): EXFUN it.
5019
5020 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5021
5022         * search.c (clear_unused_search_regs): New static function.
5023         (search_buffer): 
5024         (simple_search): 
5025         (boyer_moore):
5026         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
5027         Minor clarifications in comments.
5028
5029         * regex.c (re_match_2_internal): Ensure no stale submatches.
5030
5031 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5032
5033         * event-Xt.c (enqueue_focus_event): Add missing prototype.
5034
5035 2002-08-29  Jerry James  <james@xemacs.org>
5036
5037         * lisp.h: structrures -> structures.
5038
5039 2002-06-03  Andy Piper  <andy@xemacs.org>
5040
5041         * frame.c (frame_conversion_internal): add conversion appropriate
5042         for setting frame dimensions in pixels.
5043
5044         * console.h (struct console_methods): add device-specific widget
5045         layout functions.
5046
5047         * emacs.c (main_1): initialize glyph vars.
5048
5049         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
5050         (handle_focus_event_2): new function. Allow focus to
5051         be set to a particular window and widget.
5052         (enqueue_focus_event): new function. Create a
5053         synthetic focus event.
5054         (emacs_Xt_handle_magic_event): call
5055         handle_focus_event_2.
5056
5057         * frame.c (Fset_frame_pixel_height): new function. Allow
5058         pixel-based sizing. Does the right thing on character-oriented
5059         displays.
5060         (Fset_frame_pixel_width): ditto.
5061         (Fset_frame_pixel_size): ditto.
5062         (syms_of_frame): declare.
5063
5064         * general-slots.h: add :vertically-justify and
5065         :horizontally-justify.
5066
5067         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
5068         (mswindows_widget_border_width): new function.
5069         (mswindows_combo_box_instantiate): set border widths.
5070         (console_type_create_glyphs_mswindows): declare.
5071
5072         * glyphs-widget.c:
5073         (check_valid_justification): allow vertical and horizontal
5074         justification.
5075         (widget_border_width): new function. Call device methods.
5076         (widget_instance_border_width): ditto.
5077         (logical_unit_height): new function. Determine the height of a
5078         logical-unit. Logical units are intended to provide grid-like
5079         layout for subcontrols in a layout. If the layout is
5080         :vertically-justify top then subcontrols will be positioned on
5081         logical-unit boundaries, thus allowing adjacent subcontrols to
5082         line up.
5083         (widget_logical_unit_height): ditto for widgets.
5084         (redisplay_widget): misc cleanup.
5085         (widget_spacing): new function. Call device specific
5086         methods. Intended to be the default gap between adjacent widgets.
5087         (widget_query_geometry): use new spacing functions to determine
5088         appropriate geometry.
5089         (initialize_widget_image_instance): initialize horizontal and
5090         vertical justification.
5091         (widget_instantiate): use logica-units where appropriate for
5092         sizing large widgets.
5093         (button_query_geometry): use widget_instance_border_width.
5094         (tree_view_query_geometry): ditto.
5095         (tab_control_query_geometry): ditto.
5096         (edit_field_query_geometry): new function.
5097         (layout_update): pick up :justify, :horizontally-justify and
5098         :vertically-justify none of which worked previously. :justify is
5099         used as a fallback for both horizontal and vertical justification.
5100         (layout_query_geometry): use logical units to size appropriately.
5101         (layout_layout): ditto.
5102         (Fwidget_logical_to_character_width): new function. Allow users to
5103         convert from logical units to characters so that frame sizes can
5104         be set appropriately.
5105         (Fwidget_logical_to_character_height): ditto.
5106         (syms_of_glyphs_widget): declare.
5107         (image_instantiator_edit_fields): add edit_field_query_geometry.
5108         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
5109         :horizontally-justify.
5110         (specifier_vars_of_glyphs_widget): new function. Declare
5111         Vwidget_border_width which is not yet used.
5112
5113         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
5114         (x_widget_border_width): new function.
5115         (x_widget_instantiate): create a sensible name for widgets.
5116         (console_type_create_glyphs_x): declare x_widget_border_width.
5117
5118         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
5119         (struct Lisp_Image_Instance): add :vertically-justify and
5120         :horizontally-justify.
5121         (LAYOUT_JUSTIFY_TOP): new.
5122         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
5123         (ROUND_UP): new macro. Round argument up to next integral
5124         interval.
5125
5126         * redisplay-output.c (redisplay_output_layout): misc formatting.
5127
5128         * symsinit.h: declare specifier_vars_of_glyphs_widget.
5129
5130 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
5131
5132         * XEmacs 21.4.9 "Informed Management" is released.
5133
5134 2002-08-19  Andy Piper  <andy@xemacs.org>
5135
5136         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
5137         win32 format.
5138
5139         * realpath.c (xrealpath): normalize drive spec also so that dir
5140         sep chars are not mixed on cygwin.
5141
5142 2002-08-06  Jerry James  <james@xemacs.org>
5143
5144         * window.c (Fsplit_window): Count only half of the divider width
5145         against the left window when splitting horizontally. 
5146
5147 2002-06-24  Andy Piper  <andy@xemacs.org>
5148
5149         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
5150         toolbar was cleared.
5151
5152         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
5153         function. Split out from mswindows_output_frame_toolbars.
5154         (mswindows_output_frame_toolbars): move clear pieces to
5155         mswindows_output_frame_toolbars.
5156
5157         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
5158         out from gtk_output_frame_toolbars.
5159         (gtk_output_frame_toolbars): move clear pieces to
5160         gtk_clear_frame_toolbars.
5161
5162         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
5163         the frame is cleared. How this ever worked before is a mystery.
5164         (x_output_frame_toolbars): Only output toolbars.
5165         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
5166
5167         * gutter.c (update_gutter_geometry):
5168         Mark frame layout changed.
5169         (update_frame_gutter_geometry, update_frame_gutters):
5170         Respect frame_layout_changed.
5171
5172         * console.h (struct console_methods): add
5173         clear_frame_toolbars_method.
5174
5175         * redisplay.c (redisplay_frame): call
5176         update_frame_toolbars_geometry and re-order update_frame_toolbars.
5177
5178         * toolbar.h: declare update_frame_toolbars_geometry.
5179
5180         * toolbar.c (update_frame_toolbars_geometry): new function. Split
5181         out from update_frame_toolbars.  Call clear_frame_toolbars.
5182         (update_frame_toolbars): only output, do not change geometry.
5183
5184         * redisplay.c: add frame_layout_changed.
5185
5186         * redisplay.h: add frame_layout_changed.
5187         (CLASS_RESET_CHANGED_FLAGS): set it.
5188         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
5189         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
5190         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
5191
5192         * device.h (struct device): add frame_layout_changed.
5193         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
5194
5195         * frame.h (struct frame): add frame_layout_changed.
5196         (MARK_FRAME_LAYOUT_CHANGED): new.
5197
5198 2002-06-30  Mike Alexander  <mta@arbortext.com>
5199
5200         * event-msw.c (mswindows_need_event): Don't wait for a new message
5201         if the queue is not empty.  Suggested by Paul Moore.
5202
5203 2002-06-12  Andy Piper  <andy@xemacs.org>
5204
5205         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
5206         for printing on accurately.
5207
5208 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
5209
5210         * event-msw.c (mswindows_wnd_proc): Add a handler for the
5211         WM_ACTIVATE message. Make sure that the frame is visible if the
5212         window is visible. This seemss to fix the problem where XEmacs
5213         appears to freeze after switching desktops with certain virtual
5214         window managers.
5215         (debug_output_mswin_message): Added code to output message
5216         parameters for WM_WINDOWPOSCHANGED, 
5217         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
5218
5219 2002-05-25  Andy Piper  <andy@xemacs.org>
5220
5221         * select-x.c (vars_of_select_x): Fix docstring of
5222         x-selection-strict-motif-ownership
5223
5224 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5225
5226         * keymap.c (get_keymap):
5227         Add comment about do_autoload GCPROs own args.
5228
5229 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5230
5231         * bytecode.c (execute_optimized_program): check_opcode ifdef
5232         ERROR_CHECK_BYTE_CODE.
5233
5234 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5235
5236         Thanks to Ben Wing and Michael Sperber.
5237
5238         * eval.c (Fcommand_execute):
5239         (Feval):
5240         (Ffuncall):
5241         (Fmacroexpand_internal):
5242         (function_argcount):
5243         callint.c (Fcall_interactively):
5244         Add comment about do_autoload GCPROs own args.
5245
5246         * (do_autoload): GCPRO both args as well as local Lisp_Object.
5247
5248         * eval.c (Ffuncall): Extra braces to placate GCC.
5249
5250 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
5251
5252         * backtrace.h (grow_specpdl):
5253         (SPECPDL_RESERVE):
5254         * EmacsFrame.c (EmacsFrameSetValues):
5255         * eval.c (grow_specpdl):
5256         * ExternalShell.c (hack_event_masks_1):
5257         * glyphs-x.c (convert_EImage_to_XImage): 
5258         (x_finalize_image_instance):
5259         * ralloc.c (page_size):
5260         (r_alloc_sbrk):
5261         * xgccache.c (gc_cache_hash):
5262         Fix unsigned comparison warnings.
5263
5264 2002-07-29  Jerry James  <james@xemacs.org>
5265
5266         * lread.c (locate_file): Any nonnegative return value indicates
5267         success if MODE is nonnegative.
5268
5269 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
5270
5271         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
5272         argument. 
5273
5274 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
5275
5276         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
5277
5278         * dumper.c (pdump_get_indirect_count):
5279         (pdump_scan_by_alignment):
5280         (pdump_dump_root_struct_ptrs):
5281         (pdump_dump_rtables):
5282         (pdump_dump_root_objects):
5283         (pdump):
5284         * nas.c (WaveOpenDataForReading):
5285         * fns.c (print_bit_vector):
5286         * font-lock.c (SINGLE_SYNTAX_STYLE):
5287         * glyphs.c (check_for_ignored_expose):
5288         (find_matching_subwindow):
5289         * glyphs-eimage.c:
5290         * imgproc.c (get_histogram):
5291         * redisplay.c (point_in_line_start_cache):
5292         * redisplay-output.c (redisplay_unmap_subwindows):
5293         * symbols.c (defsymbol_massage_name_1):
5294         (defkeyword_massage_name):
5295         (deferror_massage_name_and_message):
5296         * redisplay-x.c (x_output_string): 
5297         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
5298         * frame.h (struct frame):
5299         * filelock.c (current_lock_owner):
5300         * doprnt.c (emacs_doprnt_1):
5301         * lisp.h (struct Lisp_Bit_Vector):
5302         (DO_REALLOC):
5303         Fix warnings.
5304
5305 2002-02-13  Ben Wing  <ben@xemacs.org>
5306
5307         * event-stream.c (reset_key_echo):
5308         * event-stream.c (reset_this_command_keys):
5309         * event-stream.c (execute_command_event):
5310         If console is dead as a result of C-x 5 0, then post-command stuff
5311         needs to be careful and do only non-console-specific stuff.
5312
5313 2002-07-01  Mike Sperber <mike@xemacs.org>
5314
5315         * process-unix.c (unix_send_process): Mark coding_outstream as
5316         non-open upon SIGPIPE.
5317
5318         * event-stream.c (Fnext_event): Reorder switch cases to something
5319         that makes sense.
5320
5321 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
5322
5323         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
5324         Don't bogusly reinitialize ascii_character property.
5325
5326 2002-07-08  Mike Sperber <mike@xemacs.org>
5327
5328         * process.c (Fstart_process_internal): Do error checking before we
5329         fork off the child, so the child can't muck with the state of the
5330         parent.
5331
5332 2002-07-08  Mike Sperber <mike@xemacs.org>
5333
5334         * ralloc.c (init_ralloc): Allocate properly for pdump.
5335
5336 2002-06-12  Andy Piper  <andy@xemacs.org>
5337
5338         * glyphs.c (query_string_geometry): check the string.
5339
5340         * glyphs-widget.c (widget_logical_unit_height): cope with nil
5341         widget names.
5342
5343 2002-06-17  Jerry James  <james@xemacs.org>
5344
5345         * sysdll.c: Remove RTLD_GLOBAL initialization.
5346         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
5347
5348 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
5349
5350         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
5351
5352 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
5353
5354         * sysdep.c (sys_rename): Make sys_rename work for the case where
5355         Windows rename sets errno to EACCES if target file exists.
5356
5357 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
5358
5359         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5360         Fix detection of metric units to work on Win95
5361
5362 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
5363
5364         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
5365
5366 2002-04-25  Andy Piper  <andy@xemacs.org>
5367
5368         * redisplay.c (create_text_block): Remove extra comment trailer.
5369
5370 2002-04-24  Andy Piper  <andy@xemacs.org>
5371
5372         * redisplay.c (create_text_block): Don't actually add propagation
5373         data if the line ends after we have added a glyph.
5374
5375 2002-04-22  Andy Piper  <andy@xemacs.org>
5376
5377         * extents.c (extent_fragment_update): check for glyphs we have
5378         previously displayed.
5379         * extents.c (print_extent_1): warning removal.
5380         * extents.h: change prototype.
5381         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
5382         widths correctly for wide glyphs.
5383         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
5384         * redisplay.c (prop_type): add PROP_GLYPH.
5385         * redisplay.c (struct prop_block): add glyph type
5386         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
5387         to the propagation data.
5388         * redisplay.c (create_text_block): if there is a glyph in the
5389         propagation data use it to salt extent_fragment_update.
5390         * redisplay.c (create_string_text_block): ditto.
5391
5392 2002-04-13  Nix  <nix@esperi.demon.co.uk>
5393
5394         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
5395         * redisplay-output.c (compare_runes): Compare them.
5396         * redisplay.c: Update copyright date.
5397         * redisplay.c (pos_data): Add need_baseline_computation field.
5398         * redisplay.c (add_glyph_rune): Update ascent, descent, and
5399         need_baseline_computation; zero yoffset. Set max_pixmap_height
5400         for all pixmaps, not just automatically positioned ones.
5401         * redisplay.c (calculate_yoffset): New, compute yoffset values.
5402         * redisplay.c (calculate_baseline): New, compute textual baseline.
5403         * redisplay.c (add_glyph_rune): Call them.
5404         * redisplay.c (create_text_block): Likewise.
5405         * redisplay.c (create_overlay_glyph_block): Likewise.
5406         * redisplay.c (add_margin_runes): Likewise.
5407         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
5408
5409         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
5410         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
5411         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
5412         * redisplay-msw.c (mswindows_output_string): Likewise.
5413         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
5414         * redisplay-gtk.c (gtk_output_display_block): Likewise.
5415         * redisplay-x.c (x_output_display_block): Likewise.
5416
5417 2002-03-28  Ben Wing  <ben@xemacs.org>
5418
5419         * redisplay.c: Fixed bug in redisplay
5420         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
5421         and down of the lines, since they're bigger than the line
5422         size. (It was seen most obviously when there's a horizontal scroll
5423         bar, e.g. do C-h a glyph or something like that.) The problem was
5424         that the glyph-contrib-p setting on glyphs was ignored even if it
5425         was set properly, which it wasn't until now.
5426
5427 2002-04-24  Andy Piper  <andy@xemacs.org>
5428
5429         * lisp.h (Dynarr_end): Fix definition.
5430
5431 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
5432
5433         * redisplay.c (mark_redisplay): Remove call to
5434         update_frame_window_mirror.
5435
5436 2001-11-15  Andy Piper  <andy@xemacs.org>
5437
5438         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
5439         cygwin (again).
5440
5441 2002-02-13  Andy Piper  <andy@xemacs.org>
5442
5443         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
5444         we did in fact enqueue the XM_MAPFRAME event.
5445
5446 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
5447
5448         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
5449         to fix problem switching between virtual desktops under virtuawin
5450         virtual window manager.
5451
5452 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
5453
5454         * event-msw.c: Typo fix.
5455         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
5456         magic XM_MAPFRAME event has been sent.
5457
5458 2001-11-23  Andy Piper  <andy@xemacs.org>
5459
5460         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
5461
5462 2001-11-21  Andy Piper  <andy@xemacs.org>
5463
5464         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
5465         mouse events outside the frame.
5466
5467 2002-03-20  Andy Piper  <andy@xemacs.org>
5468
5469         * menubar-msw.c (mswindows_popup_menu): warning removal.
5470         * dialog-msw.c (dialog_popped_down): ditto.
5471
5472 2001-12-11  Andy Piper  <andy@xemacs.org>
5473
5474         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
5475         * dialog-msw.c (mswindows_make_dialog_box_internal): set
5476         popup_up_p.
5477         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
5478         * menubar-msw.c (mswindows_handle_wm_command): ditto.
5479         * menubar-msw.c (mswindows_popup_menu): ditto.
5480
5481 2001-10-29  Andy Piper  <andy@xemacs.org>
5482
5483         * dialog-msw.c (handle_directory_dialog_box): quit if the user
5484         cancels.
5485
5486 2002-01-03  Andy Piper  <andy@xemacs.org>
5487
5488         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
5489         letters.
5490         (xrealpath): ditto.
5491
5492 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
5493
5494         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
5495         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
5496         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5497         Detect and handle case where machine is set up for metric units
5498
5499 2002-04-02  Andy Piper  <andy@xemacs.org>
5500
5501         * dired-msw.c (mswindows_get_files): 
5502         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
5503         completely handled by XEmacs. Suggested by Thomas Vogler
5504         <mail@thomas-vogler.de>.
5505
5506 2001-11-14  Andy Piper  <andy@xemacs.org>
5507
5508         * nt.c (REG_ROOT): change registry key to XEmacs.
5509
5510 2002-04-27  Andy Piper  <andy@xemacs.org>
5511
5512         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
5513
5514 2002-04-26  Andy Piper  <andy@xemacs.org>
5515
5516         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
5517         behavior.
5518
5519 2002-03-14  Mike Alexander  <mta@arbortext.com>
5520
5521         * event-msw.c (mswindows_unwait_process): New, remove process from
5522         wait list
5523         * process-nt.c (nt_finalize_process_data): Call
5524         mswindows_unwait_process
5525         * console-msw.h: Declare mswindows_unwait_process
5526
5527 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
5528
5529         * editfns.c (Fdecode_time):
5530         (Fformat_time_string):
5531         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
5532         (make_time): Warning elimination (change arg name).
5533
5534 2001-11-24  Andy Piper  <andy@xemacs.org>
5535
5536         * window.c (Fsplit_window): Doc return type.
5537
5538 2002-04-01  Andy Piper  <andy@xemacs.org>
5539
5540         * emacs.c (Fkill_emacs): Only output message box in interactive
5541         mode.
5542
5543 2002-04-26  Andy Piper  <andy@xemacs.org>
5544  
5545         * config.h.in: pull in 21.5.x change to stop alloca warnings under
5546         cygwin.
5547
5548 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
5549
5550         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
5551         bit platform.
5552
5553 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
5554
5555         * XEmacs 21.4.8 "Honest Recruiter" is released.
5556
5557 2002-05-07  Nix  <nix@esperi.demon.co.uk>
5558
5559         Supersedes 2002-04-17 patch.
5560
5561         * process.h (PROCESS_LIVE_P): Use the process status as
5562         evidence of health, not the state of the input stream.
5563         (PROCESS_READABLE_P): Say if the process is readable
5564         from. (It may be dead nonetheless.)
5565         (CHECK_READABLE_PROCESS): Test for that condition.
5566
5567         * process.c (create_process): Use PROCESS_READABLE_P.
5568         (read_process_output, set_process_filter): Likewise.
5569
5570         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
5571         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
5572
5573         This code is #if 0'd, this is not the time to add new functions:
5574
5575         * process.c (Fprocess_readable_p): Report readability status.
5576         * process.c (Qprocess_readable_p): New, associated symbol...
5577         * process.c (syms_of_process): ... initialize it.
5578
5579 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
5580
5581         * XEmacs 21.4.7 "Economic Science" is released.
5582
5583 2002-04-17  Nix  <nix@esperi.demon.co.uk>
5584
5585         * process.h (PROCESS_LIVE_P): Use the process status as
5586         evidence of health, not the state of the input stream.
5587
5588 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
5589
5590         * sysdep.c (sys_siglist): change "signum" to "signal"
5591
5592 2001-04-21  Martin Buchholz  <martin@xemacs.org>
5593
5594         * s/darwin.h: New file.
5595         Thanks to Greg Parker <gparker@cs.stanford.edu>.
5596         
5597 2002-04-23  Andreas Jaeger  <aj@suse.de>
5598
5599         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
5600         which use lib64 for 64-bit libs.
5601         (START_FILES): Likewise.
5602
5603 2002-02-11  Mike Sperber  <mike@xemacs.org>
5604
5605         * device-x.c: 
5606         (x_IO_error_handler):
5607         (x_init_device): Temporarily keep device in static variable
5608         `device_being_initialized' so we can recover gracefully from
5609         internal XOpenDevice failure.  (XOpenDevice is documented to
5610         return NULL on failure, but sometimes calls the IO error handler
5611         instead.)
5612
5613 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
5614
5615         * dired.c (Ffile_name_all_completions): Change documentation --
5616         remove reference to completion-ignored-extensions.
5617         * dired.c (vars_of_dired): Change documentation for
5618         completion-ignored-extensions -- remove reference to
5619         file-name-all-completions.
5620
5621 2002-03-06  Jerry James  <james@xemacs.org>
5622
5623         * emodules.c (emodules_load): Fix multiple loading of same module.
5624
5625 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
5626         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
5627         RTLD_LAZY to avoid incorrect symbol binding when using nested
5628         shared libraries on Solaris.
5629
5630 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
5631
5632         * fileio.c (Ffind_file_name_handler): Improve docstring.
5633
5634 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
5635
5636         * fns.c (Fmapconcat): Improve docstring.
5637
5638 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
5639
5640         * device-gtk.c: Add prototype for
5641         emacs_gtk_selection_clear_event_handle.
5642         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
5643         selection.  Setup signal handler for "selection_clear_event"
5644         (emacs_gtk_selection_clear_event_handle).
5645
5646         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
5647         other applications owning the clipboard (based on
5648         x_handle_selection_clear).
5649
5650 2001-12-23  William M. Perry  <wmperry@gnu.org>
5651
5652         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
5653         
5654 2002-01-04  Martin Buchholz  <martin@xemacs.org>
5655
5656         * keymap.c (define_key_alternate_name): Parenthesize EQ.
5657
5658 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
5659
5660         * XEmacs 21.4.6 "Common Lisp" is released.
5661
5662 2001-12-16  Torsten Duwe  <duwe@caldera.de>
5663
5664         * search.c (Freplace_match): Add missing sub-expression functionality.
5665
5666         * buffer.c (decode_buffer): Add a check for pointer type to
5667         decode_buffer, before gcc's CSE optimization reorders a
5668         dereference in front of the allow_string test.
5669
5670 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
5671
5672         * window.c (window_loop): Fix bug that sometimes prevented
5673         window_loop() from iterating across multiple devices.  Also, at
5674         Ben's request, changed infloop-detecting code to abort() instead
5675         of silently terminating window_loop().
5676
5677 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
5678
5679         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
5680         * editfns.c (make_time): New function.
5681         (Fencode_time): Use it instead of wasteful_word_to_lisp.
5682         * lisp.h (make_time): Prototype and comment it.
5683         * dired.c (wasteful_word_to_lisp): Deprecate.
5684         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
5685
5686 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
5687
5688         * fileio.c (auto_save_1): Use current coding system, not
5689         escape-quoted.
5690
5691 2001-11-13  Ben Wing  <ben@xemacs.org>
5692
5693         * window.c:
5694         * window.c (window_truncation_on):
5695         * window.c (syms_of_window):
5696         truncate-partial-width-windows should respect the buffer being
5697         displayed, like other redisplay vars.
5698
5699 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
5700
5701         * event-stream.c (Fread_key_sequence): save current buffer.
5702
5703 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
5704
5705         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
5706
5707 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
5708
5709         * alloc.c (lcrecord_stats): Add space for types defined in modules.
5710
5711 2001-10-26  Mike Alexander  <mta@arbortext.com>
5712
5713         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
5714
5715 2001-10-25  Andy Piper  <andy@xemacs.org>
5716
5717         * ChangeLog:
5718         * dialog-msw.c (handle_directory_proc): new function.
5719          (handle_directory_dialog_box): new fucntion.
5720          (handle_file_dialog_box): use new directory dialog support.
5721          (mswindows_make_dialog_box_internal): ditto.
5722         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
5723         handling.
5724         (mswindows_find_frame): make global.
5725         * fileio.c (Fexpand_file_name): build fix.
5726         * general-slots.h: add Qdirectory.
5727         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
5728         handling.
5729         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
5730         cygwin not leaving win32 paths unchanged.
5731         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
5732         cygwin runtime to do path conversion.
5733         (Fmswindows_shell_execute): fix cygwin handling of URLs.
5734         (syms_of_win32): add new function.
5735         * window.c (window_loop): build fix.
5736
5737 2001-10-15  Andy Piper  <andy@xemacs.org>
5738
5739         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
5740
5741 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
5742
5743         * XEmacs 21.4.5 "Civil Service" is released.
5744
5745 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
5746
5747         * glyphs-x.c: Force buffer-tab highlight update when moving the
5748         buffer, avoiding an ugly black border, used for keyboard focus
5749         indication, on a widget that can never have keyboard focus, the
5750         buffer tab.
5751
5752 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
5753
5754         * process-unix.c (unix_open_multicast_group): Remove too much
5755         conversion between host and network byte order.
5756
5757 2001-09-10  Nix  <nix@esperi.demon.co.uk>
5758
5759         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
5760         before replacing them.
5761
5762         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
5763         operation.
5764
5765         * src/window.c (undedicate_windows): Use it.
5766         * src/window.h: Add prototype.
5767
5768 2001-09-17  Ben Wing  <ben@xemacs.org>
5769
5770         * fileio.c (normalize_filename):
5771         * fileio.c (Fexpand_file_name):
5772         Fix various C++ compile errors in Andy's recent code.
5773         
5774         * callint.c (Fcall_interactively):
5775         * editfns.c (Ftemp_directory):
5776         * editfns.c (Fuser_full_name):
5777         * emacs.c (argmatch):
5778         * lread.c (locate_file_map_suffixes):
5779         * redisplay-x.c (x_ring_bell):
5780         Fix sign-compare warnings.
5781         
5782 2001-09-08  Andy Piper  <andy@xemacs.org>
5783
5784         * fileio.c (normalize_filename): copied from nt.c
5785         * (Ffile_name_directory): enable win32 paths under cygwin.
5786         * (Ffile_name_nondirectory): ditto.
5787         * (directory_file_name): ditto.
5788         * (Fexpand_file_name): ditto.
5789         * (Ffile_truename): ditto.
5790         * (Fsubstitute_in_file_name): ditto.
5791         * (Ffile_name_absolute_p): ditto.
5792         * (Ffile_readable_p): ditto.
5793
5794 2001-09-08  Andy Piper  <andy@xemacs.org>
5795
5796         * device-msw.c (mswindows_finish_init_device): remove dde
5797         initialization.
5798         * device-msw.c (mswindows_init_dde): factor out from
5799         mswindows_finish_init_device()
5800         * device-msw.c (init_mswindows_very_early): new function
5801         initialize but don't enable dde.
5802         * emacs.c (main_1): call init_mswindows_very_early.
5803         * event-msw.c:
5804         * event-msw.c (mswindows_dde_callback): only execute when we are
5805         ready.
5806         * symsinit.h: declare init_mswindows_very_early.
5807
5808 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5809
5810         [sjt: This has been in 21.5 for months with no complaints.]
5811
5812         * console.h (struct console_methods): Added flags member.
5813         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
5814         (CONMETH_IMPL_FLAG):
5815         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
5816         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5817
5818         * device.c (window_system_pixelated_geometry): Use the above macros.
5819
5820         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
5821         implememntation flag.
5822         * device.h (DEVICE_DISPLAY_P): Use it.
5823
5824         * frame.c (delete_frame_internal): Use the above macro.
5825
5826         * redisplay.c (redisplay_device): Use it.
5827         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5828         (redisplay_frame): Ditto.
5829
5830         * device-msw.c (mswindows_device_implementation_flags): Removed.
5831         (msprinter_device_implementation_flags): Removed.
5832         (console_type_create_device_mswindows): Removed references to
5833         implementation_flags methods, set implementation flags here.
5834         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
5835
5836         * device-gtk.c (gtk_device_implementation_flags): Removed method.
5837         (console_type_create_device_gtk): Removed method declaration.
5838         Added commented out statement which semantically matches the
5839         commented out statement in the above removed method.
5840
5841 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
5842
5843         The attached patch fixes a few warnings. 
5844
5845         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
5846         * src/frame-gtk.c: guard against GNOME calls in GTK only
5847         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
5848         * src/select-gtk.c: prototype lisp_to_time
5849
5850 2001-06-08  Ben Wing  <ben@xemacs.org>
5851
5852         ------ gc-in-window-procedure fixes ------
5853         
5854         * alloc.c:
5855         * alloc.c (struct post_gc_action):
5856         * alloc.c (register_post_gc_action):
5857         * alloc.c (run_post_gc_actions):
5858         * alloc.c (garbage_collect_1):
5859         Create "post-gc actions", to avoid those dreaded "GC during window
5860         procedure" problems.
5861
5862         * event-msw.c:
5863         Abort, clean and simple, when GC in window procedure.  We want
5864         to flush these puppies out.
5865
5866         * glyphs-msw.c:
5867         * glyphs-msw.c (finalize_destroy_window):
5868         * glyphs-msw.c (mswindows_finalize_image_instance):
5869         Use a post-gc action when destroying subwindows.
5870
5871         * lisp.h:
5872         Declare register_post_gc_action().
5873
5874         * scrollbar-msw.c:
5875         * scrollbar-msw.c (unshow_that_mofo):
5876         Use a post-gc action when unshowing scrollbar windows, if in gc.
5877
5878         * redisplay.c (mark_redisplay):
5879         Add comment about the utter evilness of what's going down here.
5880
5881         ------ cygwin setitimer fixes ------
5882         
5883         * Makefile.in.in (sheap_objs):
5884         * Makefile.in.in (profile_objs):
5885         * Makefile.in.in (objs):
5886         Compile profile.c only when HAVE_SETITIMER.
5887         
5888         * nt.c (mswindows_sigset):
5889         * nt.c (mswindows_sighold):
5890         * nt.c (mswindows_sigrelse):
5891         * nt.c (mswindows_sigpause):
5892         * nt.c (mswindows_raise):
5893         * nt.c (close_file_data):
5894         Style fixes.
5895         
5896         * nt.c:
5897         Move setitimer() emulation to win32.c, because Cygwin needs it too.
5898         
5899         * profile.c:
5900         * profile.c (Fstart_profiling):
5901         * profile.c (Fstop_profiling):
5902         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
5903         instead of just plain setitimer().
5904         
5905         * signal.c:
5906         * signal.c (set_one_shot_timer):
5907         * signal.c (alarm):
5908         Define qxe_setitimer() as an encapsulation around setitimer() --
5909         call setitimer() directly unless Cygwin or MS Win, in which case
5910         we use our simulated version in win32.c.
5911         
5912         * systime.h:
5913         * systime.h (struct itimerval):
5914         * systime.h (ITIMER_REAL):
5915         Prototype mswindows_setitimer() and qxe_setitimer().  Long
5916         comment about "qxe" and the policy regarding encapsulation.
5917
5918         * win32.c:
5919         * win32.c (setitimer_helper_proc):
5920         * win32.c (setitimer_helper_period):
5921         * win32.c (setitimer_helper):
5922         * win32.c (mswindows_setitimer):
5923         Move setitimer() emulation here, so Cygwin can use it.
5924         Rename a couple of functions and variables to be longer and more
5925         descriptive.  In setitimer_helper_proc(), send the signal
5926         using either mswindows_raise() or (on Cygwin) kill().  If for
5927         some reason we are still getting lockups, we'll change the kill()
5928         to directly invoke the signal handlers.
5929
5930         ------ windows shell fixes ------
5931         
5932         * callproc.c:
5933         * ntproc.c:
5934         Comments about how these two files must die.
5935
5936         * callproc.c (init_callproc):
5937         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
5938         not just COMSPEC. (more correct and closer to FSF.) Don't
5939         force a value for SHELL into the environment. (Comments added
5940         to explain why not.)
5941         
5942         * nt.c (init_user_info):
5943         Don't shove a fabricated SHELL into the environment.  See above.
5944
5945 2001-06-01  Ben Wing  <ben@xemacs.org>
5946
5947         * Makefile.in.in (ldflags):
5948         eliminate that pesky "defaulting to 00401000" warning.
5949         * nt.h:
5950         eliminate warnings.
5951
5952 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
5953
5954         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
5955         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
5956
5957 2001-04-24  Jerry James <james@xemacs.org>
5958
5959         * faces.h: pass parameters to Fadd_spec_to_specifier in the
5960         correct order.
5961
5962 2001-06-01  Ben Wing  <ben@xemacs.org>
5963
5964         * event-msw.c (debug_mswin_messages):
5965         conditionalize the messages that were causing compile errors.
5966         (if only macros could generate #ifdef statements ...)
5967
5968 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
5969
5970         * XEmacs 21.4.4 "Artificial Intelligence" is released.
5971
5972 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
5973
5974         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
5975
5976 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
5977
5978         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
5979         * process-unix.c (unix_canonicalize_host_name):
5980         sysdep.c (init_system_name):
5981         Use it to conditionally support IPv6 canonicalization.
5982
5983 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
5984
5985         * event-msw.c:
5986         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
5987
5988 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
5989
5990         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
5991         attempt is made to scroll when no scroll bar is available.
5992
5993 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
5994
5995         * input-method-motif.c (XIM_delete_frame): New callback.
5996         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
5997         got deleted from 21.4.3.)
5998
5999 2001-06-01  Ben Wing  <ben@xemacs.org>
6000
6001         * nt.c (mswindows_utime):
6002         * nt.c (close_file_data):
6003         fix off-by-one-indirection error.
6004
6005 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
6006
6007         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
6008         because set_file_times() now takes Lisp_Object path, instead of
6009         char*.
6010         * nt.c: Include buffer.h.
6011         * nt.c (convert_from_time_t): New.
6012         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
6013         not set mtime correctly.
6014         * nt.h: Declare mswindows_utime().
6015         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
6016         path, instead of char*.
6017         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
6018
6019 2001-05-30  Ben Wing  <ben@xemacs.org>
6020
6021         For 21.4:
6022
6023         (Stephen, just take all event-msw.c patches.  This includes
6024         the "iconify" fix below.)
6025
6026         * event-msw.c:
6027         * event-msw.c (mswindows_dequeue_dispatch_event):
6028         * event-msw.c (assert):
6029         * event-msw.c (emacs_mswindows_quit_p):
6030         * event-msw.c (debug_mswin_messages):
6031         * event-msw.c (debug_output_mswin_message):
6032         * event-msw.c (vars_of_event_mswindows):
6033         Fix yet more problems with C-g handling.
6034         Implement debug-mswindows-events.
6035         
6036 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6037
6038         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
6039         
6040 2001-05-23  Ben Wing  <ben@xemacs.org>
6041
6042         * event-msw.c (winsock_writer):
6043         * event-msw.c (winsock_closer):
6044         prior kludgy code was clobbering the buffer, thinking it was
6045         "unused" space to store an unneeded return value; instead, use
6046         the variable we've already got staring us in the face.
6047
6048 2001-05-17  Andy Piper  <andy@xemacs.org>
6049
6050         * sysfile.h: don't assume that file attributes are boolean
6051
6052 2001-05-23  Ben Wing  <ben@xemacs.org>
6053
6054         * device-msw.c (msprinter_init_device):
6055         signal an error rather than crash with an unavailable network
6056         printer (from Mike Alexander).
6057         
6058         * event-msw.c:
6059         * event-msw.c (struct winsock_stream):
6060         * event-msw.c (winsock_writer):
6061         * event-msw.c (winsock_closer):
6062         * event-msw.c (make_winsock_stream_1):
6063         cleanup headers.  fix (hopefully) an error with data corruption
6064         when sending to a network connection.
6065
6066         * fileio.c (Fexpand_file_name): Fix evil code that attempts
6067         to handle the ~user prefix by (a) always assuming we're referencing
6068         ourselves and not even verifying the user -- hence any file with
6069         a tilde as its first char is invalid! (b) if there wasn't a slash
6070         following the filename, the pointer was set *past* the end of
6071         file and we started reading from uninitialized memory.  Now we
6072         simply treat these as files, always.
6073
6074         * buffer.c (common_init_complex_vars_of_buffer): comment change.
6075         
6076 2001-05-19  Ben Wing  <ben@xemacs.org>
6077
6078         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
6079
6080         * process-nt.c:
6081         * process-nt.c (vars_of_process_nt):
6082         remove unused mswindows-quote-process-args.  rec for 21.4.
6083         
6084 2001-05-12  Ben Wing  <ben@xemacs.org>
6085
6086         * event-msw.c (mswindows_dde_callback):
6087         * event-msw.c (mswindows_wnd_proc):
6088         eliminate cygwin warnings.
6089
6090 2001-05-06  Ben Wing  <ben@xemacs.org>
6091
6092         * console-msw.h:
6093         * device-msw.c:
6094         * device-msw.c (print_dialog_worker):
6095         * device-msw.c (mswindows_handle_print_dialog_box):
6096         * device-msw.c (syms_of_device_mswindows):
6097         * dialog-msw.c (mswindows_make_dialog_box_internal):
6098         * general-slots.h:
6099         implement printing the selection when it's selected.
6100
6101 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
6102
6103         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
6104
6105 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
6106
6107         * lisp.h (EMACS_INT_MAX): This should be one bit less since
6108         EMACS_INT is signed.
6109
6110 2001-04-15  Michael Lausch  <mla@1012surf.net>
6111
6112         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
6113         gtk_widget_request_size() to give scrollbar >0 width for
6114         GTK >1.2.8.
6115
6116 2001-05-30  William M. Perry  <wmperry@gnu.org>
6117
6118         * event-gtk.c: Check for buttons as modifier keys.
6119
6120 2001-05-25  Craig Lanning  <CraigL@Knology.net>
6121
6122         * s\mingw32.h:
6123         Properly find MinGW's <process.h> inside Cygwin's restructured
6124         include directories.  Don't try to include <cygwin/version.h>
6125         since we are dropping support for MinGW in versions of Cygwin
6126         earlier than b21.
6127         * nt.c:
6128         Drop support for MinGW in versions of Cygwin before b21.
6129         * sysdep.c:
6130         Properly find MinGW's <process.h> inside Cygwin's restructured
6131         include directories.
6132         * syswindows.h:
6133         Drop support for MinGW in versions of Cygwin before b21.
6134         * unexcw.c:
6135         Even though a.out.h is no longer detected by configure, allow
6136         MinGW to use it until we figure out how to do the job with Win32.
6137
6138 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
6139
6140         * syntax.c (find_start_of_comment):
6141         Fix `unbalanced parentheses' bug when dealing with mixed comment
6142         styles in c++/java/etc. mode
6143
6144 2001-05-29  Mike Alexander  <mta@arbortext.com>
6145
6146         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
6147         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
6148
6149 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
6150
6151         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
6152
6153 2001-03-31  Mike Sperber <mike@xemacs.org>
6154
6155         * search.c (Freplace_match): Support FSF-style specification of
6156         match subexpression when applied to a buffer.
6157
6158 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6159
6160         * event-stream.c (is_scrollbar_event): add missing semicolon
6161
6162 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
6163
6164         * Makefile.in.in: Use TAR macro instead of hardcoding
6165           tar.  Allows use of GNU tar instead of system tar
6166
6167 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6168
6169         * event-stream.c (is_scrollbar_event): add missing semicolon
6170
6171 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6172
6173         * XEmacs 21.4.3 "Academic Rigor" is released.
6174
6175 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6176
6177         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
6178
6179 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
6180
6181         * buffer.c (Vcase_fold_search): Remove obsolete
6182           comment about non ASCII case-fold-search.  This
6183           bug has been fixed by case-table changes.
6184
6185 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
6186
6187         * event-msw.c: Restore include of events-mod.h.
6188
6189 2001-04-22   zhaoway  <zw@debian.org>
6190
6191         * event-stream.c (is_scrollbar_event): Noop returning 0 if
6192         !HAVE_SCROLLBARS.
6193
6194 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
6195
6196         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
6197
6198 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
6199
6200         * mule-charset.c (Fmake_charset): Add missing else.
6201
6202 2001-04-23  Ben Wing  <ben@xemacs.org>
6203
6204         * event-msw.c (FAKE_MOD_QUIT):
6205         * event-msw.c (mswindows_dequeue_dispatch_event):
6206         * event-msw.c (mswindows_wnd_proc):
6207         * event-msw.c (emacs_mswindows_quit_p):
6208         Get critical quit working.
6209
6210 2001-05-05  Ben Wing  <ben@xemacs.org>
6211
6212         * console-msw.h:
6213         * device-msw.c:
6214         * device-msw.c (mswindows_get_default_margin):
6215         * frame-msw.c (mswindows_size_frame_internal):
6216         * frame-msw.c (msprinter_init_frame_1):
6217         * frame-msw.c (vars_of_frame_mswindows):
6218         Change top/bottom margin defaults to 0.5 inches.
6219
6220 2001-05-01  Martin Buchholz  <martin@xemacs.org>
6221
6222         Fix link error with gcc 3.0 on Linux.
6223         * terminfo.c (UP): Remove.
6224         * terminfo.c (BC): Remove.
6225         * terminfo.c (PC): Remove.
6226         They weren't used, and in any case, these symbols should be
6227         defined in the *library*.
6228
6229 2001-05-03  Martin Buchholz  <martin@xemacs.org>
6230
6231         * s/aix4.h: Fix crash with xlc -O3.
6232         Improve comment explaining how -O3 works.
6233
6234 2001-04-15  Ben Wing  <ben@xemacs.org>
6235
6236         * event-stream.c:
6237         * event-stream.c (Fnext_event):
6238         * event-stream.c (is_scrollbar_event):
6239         * event-stream.c (execute_command_event):
6240         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
6241         crash' problem.  His fix introduces other problems.  We filter
6242         out scrollbar events specifically, making them somewhat invisible
6243         to command-building, and not appearing in `this-command-keys'.
6244         More work is still needed (see comments in event-stream.c), but
6245         this fixes all the major problems.
6246
6247 2001-04-20  Ben Wing  <ben@xemacs.org>
6248
6249         * .cvsignore: Added stuff for Windows.
6250
6251 2001-04-28  Ben Wing  <ben@xemacs.org>
6252
6253         * buffer.c (Ferase_buffer):
6254         * editfns.c (buffer_insert1):
6255         * editfns.c (Finsert_before_markers):
6256         * editfns.c (Finsert_string):
6257         * editfns.c (Finsert_char):
6258         * editfns.c (Fdelete_region):
6259         * editfns.c (Fwiden):
6260         * editfns.c (Fnarrow_to_region):
6261         remove bogus lines setting zmacs_region_stays to 0.
6262         
6263 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6264
6265         * process-unix.c (unix_open_network_stream): If connect() fails
6266         invalidate file descriptor after closing it.
6267
6268 2001-03-08  Mike Alexander  <mta@arbortext.com>
6269
6270         * event-msw.c (mswindows_need_event_in_modal_loop):
6271         Don't dispatch a message if we didn't get one.
6272         (mswindows_need_event):
6273         Terminate the correct process when one exits instead of the first
6274         one on Vprocess_list and look for process termination when in
6275         mswindows_protect_modal_loop.
6276
6277 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
6278
6279         * XEmacs 21.4.1 "Copyleft" is released.
6280
6281 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6282
6283         * input-method-motif.c (XIM_delete_frame): New callback.
6284         (XIM_init_frame): Register it.
6285
6286 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6287
6288         * XEmacs 21.4.0 "Solid Vapor" is released.
6289
6290 2001-04-15  Ben Wing  <ben@xemacs.org>
6291
6292         * cmdloop.c (call_command_loop):
6293         Fix braino in bit-rotting code.
6294         
6295 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
6296
6297         * extents.c (Fset_extent_endpoints): Force creation of extent info
6298         in buffer_or_string.
6299
6300         * extents.c (process_extents_for_insertion_mapper): Correctly
6301         check for open-open zero-length extents.
6302
6303 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6304
6305         * lisp.h: New typedefs Memory_count, Element_count.
6306         * regex.c:
6307         * regex.h:
6308         Sign-compare warning elimination: several unsigned -> signed.
6309         Based on work by Ben Wing <ben@xemacs.org>.
6310
6311 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
6312
6313         * XEmacs 21.2.47 "Zephir" is released.
6314
6315 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
6316
6317         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
6318
6319 2001-04-03  Mike Sperber <mike@xemacs.org>
6320
6321         * search.c: Revert previous patch due because of release.
6322
6323 2001-03-30  Ben Wing  <ben@xemacs.org>
6324
6325         * s\cygwin32.h:
6326         Add missing killpg prototype.
6327
6328         * elhash.c:
6329         Add a comment about fixing problems when a new entry is added
6330         while mapping.
6331
6332         * frame-msw.c (mswindows_init_frame_1):
6333         Fix compile warnings.
6334
6335         * menubar.c (vars_of_menubar):
6336         Provide `menu-accelerator-support' to indicate that we properly
6337         support %_ in menu specifications, so that package code can
6338         conditionalize on this (and remove %_ from menu specifications
6339         on older versions).
6340
6341         * event-msw.c:
6342         * scrollbar-msw.c:
6343         * scrollbar-msw.c (can_scroll):
6344         * scrollbar-msw.h:
6345         Fix handling of mouse wheel under Windows to follow standards --
6346         now scrolls window under pointer, not selected window.
6347
6348 2001-03-31  Mike Sperber <mike@xemacs.org>
6349
6350         * search.c (Freplace_match): Support FSF-style specification of
6351         match subexpression when applied to a buffer.
6352
6353 2001-03-15  Martin Buchholz  <martin@xemacs.org>
6354
6355         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
6356         function to modify KEYMAP, so map over a copy of the hash table.
6357
6358 2001-03-21  Martin Buchholz <martin@xemacs.org>
6359
6360         * XEmacs 21.2.46 "Urania" is released.
6361
6362 2001-03-20  Dan Holmsand  <dan@eyebee.com>
6363
6364         * realpath.c (xrealpath): Make file-truename work with symlinks to
6365         /cygdrive paths on cygwin. Always lowercase drive-letters on
6366         native windows.
6367         (cygwin_readlink): Don't try to find canonical filename unless
6368         file exists.
6369
6370 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
6371
6372         * ChangeLog: Log GTK merge.
6373
6374         * dumper.c:
6375         * select-x.c:
6376         * specifier.c:
6377         * symeval.h:
6378         Revert gratuitous whitespace changes from GTK merge.
6379
6380         * emacs.c: Document end of complex #ifdef @ l. 1495.
6381
6382
6383 2001-03-12  Andy Piper  <andy@xemacs.org>
6384
6385         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
6386         have to do likewise.
6387
6388 2001-03-12  Andy Piper  <andy@xemacs.org>
6389
6390         * sysdep.c: we only support mingw now.
6391
6392 2001-03-09  Andy Piper  <andy@xemacs.org>
6393
6394         * unexcw.c (copy_executable_and_dump_data_section): making approx
6395         overrun a warning only.
6396
6397 2001-03-10  William M. Perry  <wmperry@aventail.com>
6398
6399         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
6400         satisfy Stephen's identical-after-cpp plea.
6401
6402 2001-03-02  Ben Wing  <ben@xemacs.org>
6403
6404         * cmds.c:
6405         * cmds.c (Fforward_char):
6406         * syntax.c:
6407         * window.c:
6408
6409         Augment documentation of the most common motion commands to make
6410         note of the shifted-motion support.
6411         
6412 2001-03-02  Ben Wing  <ben@xemacs.org>
6413
6414         * nt.c (mswindows_fstat):
6415         * nt.c (mswindows_stat):
6416         * search.c (boyer_moore):
6417         Fix compile warnings under Windows.
6418         
6419         * sysdep.c (sys_readdir):
6420         Fix buggy filename-conversion code under Mule.
6421
6422 2001-03-09  William M. Perry  <wmperry@aventail.com>
6423
6424         * Makefile.in.in:
6425         * config.h.in:
6426         * console.c:
6427         * console.h:
6428         * device.c:
6429         * device.h:
6430         * dragdrop.c:
6431         * emacs.c:
6432         * event-stream.c:
6433         * events.c:
6434         * events.h:
6435         * faces.c:
6436         * frame.h:
6437         * general-slots.h:
6438         * glyphs.c:
6439         * gutter.c:
6440         * inline.c:
6441         * lisp.h:
6442         * lrecord.h:
6443         * make-src-depend:
6444         * redisplay-output.c:
6445         * redisplay.c:
6446         * symsinit.h:
6447         * sysfile.h:
6448         * toolbar.c:
6449         * window.c:
6450         The Great GTK Merge.
6451
6452         * ChangeLog.GTK:
6453         * console-gtk.c:
6454         * console-gtk.h:
6455         * device-gtk.c:
6456         * emacs-marshals.c:
6457         * emacs-widget-accessors.c:
6458         * event-gtk.c:
6459         * frame-gtk.c:
6460         * gccache-gtk.c:
6461         * gccache-gtk.h:
6462         * glade.c:
6463         * glyphs-gtk.c:
6464         * glyphs-gtk.h:
6465         * gtk-glue.c:
6466         * gtk-xemacs.c:
6467         * gtk-xemacs.h:
6468         * gui-gtk.c:
6469         * gui-gtk.h:
6470         * menubar-gtk.c:
6471         * native-gtk-toolbar.c:
6472         * objects-gtk.c:
6473         * objects-gtk.h:
6474         * redisplay-gtk.c:
6475         * scrollbar-gtk.c:
6476         * scrollbar-gtk.h:
6477         * select-gtk.c:
6478         * toolbar-gtk.c:
6479         * ui-byhand.c:
6480         * ui-gtk.c:
6481         * ui-gtk.h:
6482         The Great GTK Merge: new files.
6483
6484 2001-02-26  Ben Wing  <ben@xemacs.org>
6485
6486         Reapplied Lstream change.
6487
6488 2001-02-26  Ben Wing  <ben@xemacs.org>
6489
6490         Undid the last change, since it is more controversial than I
6491         thought.  It should be back in at some point soon.
6492         
6493 2001-02-25  Ben Wing  <ben@xemacs.org>
6494
6495         * buffer.c:
6496         * callproc.c (Fold_call_process_internal):
6497         * event-msw.c (ntpipe_slurp_reader):
6498         * event-msw.c (ntpipe_shove_writer):
6499         * event-msw.c (winsock_reader):
6500         * event-msw.c (winsock_writer):
6501         * file-coding.c:
6502         * file-coding.c (detect_eol_type):
6503         * file-coding.c (detect_coding_type):
6504         * file-coding.c (determine_real_coding_system):
6505         * file-coding.c (Fdetect_coding_region):
6506         * file-coding.c (decoding_reader):
6507         * file-coding.c (decoding_writer):
6508         * file-coding.c (mule_decode):
6509         * file-coding.c (Fdecode_coding_region):
6510         * file-coding.c (encoding_reader):
6511         * file-coding.c (encoding_writer):
6512         * file-coding.c (mule_encode):
6513         * file-coding.c (Fencode_coding_region):
6514         * file-coding.c (detect_coding_sjis):
6515         * file-coding.c (decode_coding_sjis):
6516         * file-coding.c (encode_coding_sjis):
6517         * file-coding.c (detect_coding_big5):
6518         * file-coding.c (decode_coding_big5):
6519         * file-coding.c (encode_coding_big5):
6520         * file-coding.c (detect_coding_ucs4):
6521         * file-coding.c (decode_coding_ucs4):
6522         * file-coding.c (encode_coding_ucs4):
6523         * file-coding.c (detect_coding_utf8):
6524         * file-coding.c (decode_coding_utf8):
6525         * file-coding.c (encode_coding_utf8):
6526         * file-coding.c (detect_coding_iso2022):
6527         * file-coding.c (decode_coding_iso2022):
6528         * file-coding.c (encode_coding_iso2022):
6529         * file-coding.c (decode_coding_no_conversion):
6530         * file-coding.c (encode_coding_no_conversion):
6531         * glyphs-x.c (write_lisp_string_to_temp_file):
6532         * gpmevent.c (tty_get_foreign_selection):
6533         * lisp.h:
6534         * lstream.c:
6535         * lstream.c (Lstream_flush_out):
6536         * lstream.c (Lstream_adding):
6537         * lstream.c (Lstream_write_1):
6538         * lstream.c (Lstream_write):
6539         * lstream.c (Lstream_raw_read):
6540         * lstream.c (Lstream_read_more):
6541         * lstream.c (Lstream_read):
6542         * lstream.c (Lstream_unread):
6543         * lstream.c (Lstream_fputc):
6544         * lstream.c (stdio_reader):
6545         * lstream.c (stdio_writer):
6546         * lstream.c (filedesc_reader):
6547         * lstream.c (filedesc_writer):
6548         * lstream.c (lisp_string_reader):
6549         * lstream.c (struct fixed_buffer_stream):
6550         * lstream.c (make_fixed_buffer_input_stream):
6551         * lstream.c (make_fixed_buffer_output_stream):
6552         * lstream.c (fixed_buffer_reader):
6553         * lstream.c (fixed_buffer_writer):
6554         * lstream.c (struct resizing_buffer_stream):
6555         * lstream.c (resizing_buffer_writer):
6556         * lstream.c (dynarr_writer):
6557         * lstream.c (lisp_buffer_reader):
6558         * lstream.c (lisp_buffer_writer):
6559         * lstream.h:
6560         * lstream.h (lstream_implementation):
6561         * lstream.h (struct lstream):
6562         * md5.c (Fmd5):
6563         * process-nt.c (nt_send_process):
6564         * process-unix.c (unix_send_process):
6565         
6566         Correct Lstream lossage due to mixing of signed and unsigned
6567         quantities.  All Lstream uses of size_t and ssize_t are now a
6568         single signed data type Lstream_data_count.  This fixes problems
6569         under Windows with sending large quantities of data to a process,
6570         and may well fix other subtle bugs.
6571
6572 2001-02-23  Martin Buchholz <martin@xemacs.org>
6573
6574         * XEmacs 21.2.45 "Thelxepeia" is released.
6575
6576 2001-02-21  Martin Buchholz  <martin@xemacs.org>
6577
6578         * lisp-union.h (XSETINT): 
6579         (XSETCHAR):
6580         (XSETOBJ): 
6581         Reverse previous change of 2001-02-06.
6582
6583 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
6584
6585         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
6586         buffers.
6587         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
6588         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
6589         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
6590         * regex.c (POS_AS_IN_BUFFER): removed
6591         * regex.c (re_search_2):
6592         * regex.c (re_match_2):
6593         Don't use an offset of 1 when calculating buffer positions, since
6594         `BI_BUF_BEGV' does it already.
6595
6596 2001-02-18  Wim Dumon  <wim@easics.be>
6597
6598         * insdel.c (prepare_to_modify_buffer): Also check for
6599         supersession when clash-detection is enabled. 
6600
6601 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
6602
6603         * regex.c (re_match_2_internal):
6604         Convert temp characters from 'const unsigned char' to 're_char'.
6605         Fix crashing bug with extended characters under mule.
6606         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
6607         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
6608         font-lock, pdump, and new syntax-table code.
6609         * syntax.c (find_start_of_comment):
6610         (find_end_of_comment):
6611         (forward-comment):
6612         Fix crashing bugs involving moving beyond end of buffer.
6613         * syntax.c (find_start_of_comment):
6614         Fixed logic to allow proper detection of cases where the same
6615         character is used to end both a two-char comment start and a
6616         two-char comment end sequence. Fixes `(forward-comment -1)'.
6617         * syntax.c (find_start_of_comment):
6618         Return position just past last comment-end character for all cases
6619         (previously was only done for two-char comment-end sequences).
6620         * syntax.c (forward-comment):
6621         Take value returned from `find_end_of_comment', rather than
6622         incrementing it.
6623         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
6624         Properly deal with BUFFERP (syntax_cache.object)
6625
6626 2001-02-17  Martin Buchholz  <martin@xemacs.org>
6627
6628         * alloc.c (Fgarbage_collect): 
6629         * alloc.c (make_bit_vector_from_byte_vector):
6630         -Wsign-compare-correctness.
6631
6632 2001-02-16  Martin Buchholz  <martin@xemacs.org>
6633
6634         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
6635         (XSETCHAR): Likewise.
6636         (XSETOBJ): Likewise.
6637
6638 2001-02-15  Martin Buchholz  <martin@xemacs.org>
6639
6640         * mule-canna.c (canna-func-delete_previous): 
6641         Rename to canna-func-delete-previous.
6642
6643 2001-02-14  Martin Buchholz  <martin@xemacs.org>
6644
6645         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
6646
6647 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
6648
6649         * font-lock.c (find_context): Fix C++ compile errors introduced by
6650         recent patch
6651
6652 2001-02-13  Martin Buchholz  <martin@xemacs.org>
6653
6654         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
6655         pragma, but earlier ones barf on the same pragma.
6656
6657 2001-02-06  Mike Sperber <mike@xemacs.org>
6658
6659         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
6660         `configure-mule-lisp-directory'.
6661
6662 2001-02-12  Martin Buchholz  <martin@xemacs.org>
6663
6664         Make sure dump-id.c is compiled in the same way as other .c's.
6665         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
6666         * dump-id.h: Remove.
6667         * emacs.c: Move dump-id.h into dumper.h.
6668         * dumper.h: Move dump-id.h into dumper.h.
6669         * Makefile.in.in:
6670         Use standard .c.o rule for building dump-id.o.
6671         Remove preprocessor flags from link command.
6672         Add dump-id.o to ${otherobjs} if PDUMP.
6673
6674 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
6675
6676         Port FSF 20.7 syntax table improvements.
6677         * syntax.c.
6678         * syntax.h.
6679
6680         Fixups for new syntax table stuff.
6681         * dired.c: Include syntax.c.
6682         (Fdirectory_files): Initialize regex_match_object and
6683         regex_emacs_buffer.
6684         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
6685         and Fget_char_property.
6686
6687         Use ported FSF 20.7 syntax table improvements.
6688         * font-lock.c.
6689         * regex.c.
6690         * search.c.
6691         
6692 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6693
6694         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
6695         Unixware's enum boolean from sys/types.h.
6696
6697 2001-02-10  Martin Buchholz  <martin@xemacs.org>
6698
6699         Fix support for building with latest Purify.
6700         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
6701         (PURIFY_FLAGS): Likewise.
6702
6703 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6704
6705         * fileio.c (lisp_string_set_file_times): New.
6706         * fileio.c (Fcopy_file): Use it.
6707         Fixes bug:
6708         (copy-file filename non-ascii-filename t t)
6709         ==> No such file or directory, non-ascii-filename
6710
6711 2001-02-10  Martin Buchholz  <martin@xemacs.org>
6712
6713         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
6714         USHRT_MAX seems clearer than ~0 anyways.
6715
6716 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6717
6718         dumper improvements.  Inspired by Olivier.
6719         * dumper.c (pdump_max_align): New.
6720         * dumper.c (pdump_add_entry): Use pdump_max_align.
6721         * dumper.c (pdump_get_entry_list): Likewise.
6722         * dumper.c (pdump_scan_by_alignment): Likewise.
6723         Don't iterate through unnecessary alignments.
6724         * dumper.c (pdump_file_get): No need to align result of malloc().
6725         * dumper.c (pdump_mallocadr): Remove.  
6726         The result of malloc() is guaranteed to be maximally aligned.
6727         * dumper.c: s/elmt/elt/g;
6728         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
6729         * dumper.c (pdump_alert_undump_object): Likewise.
6730         * dumper.c (pdump_align_table): 
6731         Don't support alignments > 64.
6732         Store ALIGNOF's, not shift counts, in table.
6733
6734 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6735
6736         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
6737         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
6738         * systime.h: Use HAVE_UTIME.
6739         * sysdep.c (struct utimbuf): Remove.
6740         * sysdep.c (set_file_times): Prefer utime() to utimes().
6741         * config.h.in (HAVE_UTIME): New.
6742         * config.h.in (HAVE_UTIME_H): Remove.
6743         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
6744
6745 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6746
6747         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
6748
6749 2001-02-08  Martin Buchholz  <martin@xemacs.org>
6750
6751         * s/irix6-0.h: Use the standard system memmove, not bcopy.
6752
6753 2001-02-08  Martin Buchholz <martin@xemacs.org>
6754
6755         * XEmacs 21.2.44 "Thalia" is released.
6756
6757 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6758
6759         Fixes crashes in kill-emacs on some systems.
6760         * process-unix.c (unix_kill_child_process):
6761         It's OK for kill() to fail with ESRCH.
6762
6763 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6764
6765         Contortions to make .gdbinit tricks work on most systems.
6766         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
6767         * alloc.c (dbg_valmask): Make non-const.
6768         * alloc.c (dbg_typemask): Make non-const.
6769         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
6770         * alloc.c (dbg_valbits): Make non-const.
6771         * alloc.c (dbg_gctypebits): Make non-const.
6772         * .gdbinit (decode_object): Make it work with AIX cc.
6773
6774 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6775
6776         * elhash.c (make_general_lisp_hash_table):
6777         Use simpler and more efficient calloc to clear entries.
6778
6779 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6780
6781         * window.c (window_scroll): Work around an AIX C compiler bug.
6782         Fixes 'scroll-up' does nothing problem with xlC.
6783
6784 2001-02-05  Martin Buchholz  <martin@xemacs.org>
6785
6786         * .gdbinit: Remove obsolete comment.
6787
6788 2001-01-31  Mike Alexander  <mta@arbortext.com>
6789
6790         * select.c (Fown_selection_internal): Set owned_p for device
6791         method correctly.
6792
6793 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6794
6795         Port to g++ 2.97.
6796         "not" cannot be used as a macro name as it is an operator in C++
6797         * config.h.in: Stop #defining `not'.
6798         * chartab.c (check_category_char): not ==> not_p
6799         * chartab.h: Likewise.
6800         * regex.c (re_match_2_internal): Likewise.
6801
6802 2001-02-02  Martin Buchholz  <martin@xemacs.org>
6803
6804         * lisp-disunion.h: Fix up comments.
6805
6806 2001-01-31  Martin Buchholz  <martin@xemacs.org>
6807
6808         * keymap.c (define_key_check_and_coerce_keysym):
6809         (syms_of_keymap):
6810         Support mouse-6 and mouse-7 bindings in the obvious way.
6811
6812 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6813
6814         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
6815
6816 2001-01-30  Martin Buchholz  <martin@xemacs.org>
6817
6818         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
6819         Previous patch missed DEFVAR_INT_MAGIC.
6820         Make sure future DEFVAR_foo use correct types.
6821         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
6822         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
6823         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
6824         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
6825         * (DEFVAR_INT): Likewise.
6826         * redisplay.c (vertical_clip): Should be of type Fixnum.
6827         * redisplay.c (horizontal_clip): Likewise.
6828         * lisp.h (dump_add_opaque_int): New.
6829         (dump_add_opaque_fixnum): New.
6830
6831 2001-01-29  Andy Piper  <andy@xemacs.org>
6832
6833         * glyphs-widget.c (check_valid_int_or_function): allow symbols
6834         since they can be eval'ed
6835
6836 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6837
6838         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
6839         Oops, XEmacs redefines `class'.  Use `typename' instead.
6840
6841 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6842
6843         * dumper.c: Fix C++ compile errors.
6844
6845 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6846
6847         * tparam.c: Use correct prototypes.
6848
6849 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6850
6851         * sysproc.h: #include util.h for NetBSD's openpty.
6852
6853 2001-01-27  Martin Buchholz  <martin@xemacs.org>
6854
6855         More 64-bit correctness.
6856         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
6857         Use a typedef `fixnum' for the type used for DEFVAR_INT.
6858         Fix up comments.
6859         This finally finishes the 64-bit SGI port.
6860         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
6861         * symbols.c: Fix up comments and type casts.
6862         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
6863         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
6864         * symeval.h (Fixnum): New type.
6865         * symeval.h (symbol_value_type): Fix up comment.
6866
6867         * commands.h:
6868         * nt.c:
6869         * emacs.c:
6870         * data.c:
6871         * redisplay.c:
6872         * abbrev.c:
6873         * dired-msw.c:
6874         * event-Xt.c:
6875         * eldap.c:
6876         * window.c:
6877         * sound.c:
6878         * event-stream.c:
6879         * eval.c:
6880         * buffer.c:
6881         * mule-canna.c: A million DEFVAR_INTs here...
6882         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
6883         * extents.c:
6884         * cmdloop.c:
6885         * lisp.h:
6886         * select-x.c:
6887         * console-x.h:
6888         * event-msw.c:
6889         * mule-wnnfns.c:
6890         * hpplay.c:
6891         * ralloc.c:
6892         * alloc.c:
6893         * keymap.c:
6894         * profile.c:
6895         s/int/Fixnum/g in DEFVAR_INT declarations.
6896
6897 2001-01-26  Martin Buchholz  <martin@xemacs.org>
6898
6899         Port pdump to SGI alignment-sensitive environment.
6900         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
6901         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
6902         properly aligned.
6903         Define and use aligned reading and writing macros.
6904         Use buffered stdio instead of posix i/o for faster dumping.
6905         Eliminate kludgy 256 byte space for header.
6906         Read and write from dump file using structs for alignment safety.
6907         * dumper.c (pdump_align_stream): New.
6908         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
6909         * dumper.c (PDUMP_READ_ALIGNED): New.
6910         * dumper.c (PDUMP_WRITE_ALIGNED): New.
6911         * dumper.c (pdump_static_Lisp_Object): New struct.
6912         * dumper.c (pdump_static_pointer): New struct.
6913         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
6914         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
6915         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
6916         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
6917
6918         * dumper.c (pdump_backtrace):
6919         * dumper.c (pdump_get_indirect_count):
6920         * dumper.c (pdump_register_object):
6921         * dumper.c (pdump_register_struct):
6922         * dumper.c (pdump_reloc_one):
6923         * dumper.c (pdump_scan_by_alignment):
6924         * dumper.c (pdump_dump_from_root_struct_ptrs):
6925         * dumper.c (pdump_dump_opaques):
6926         * dumper.c (pdump_dump_rtables):
6927         * dumper.c (pdump_dump_from_root_objects):
6928         * dumper.c (pdump):
6929         * dumper.c (pdump_load_finish):
6930         Use aligned reading and writing.
6931
6932         * dumper.c (pdump_free): Make static.
6933         * dumper.c (pdump_hFile): Likewise.
6934         * dumper.c (pdump_hMap): Likewise.
6935
6936 2001-01-26  Martin Buchholz <martin@xemacs.org>
6937
6938         * XEmacs 21.2.43 "Terspichore" is released.
6939
6940 2001-01-25  Martin Buchholz  <martin@xemacs.org>
6941
6942         Type fiddling for window_config.saved_windows_count
6943         * window.c (struct window_config): 
6944         Make saved_windows_count member unsigned.
6945         * window.c (sizeof_window_config_for_n_windows): 
6946         Make parameter unsigned.
6947         * window.c (mark_window_config):
6948         * window.c (window_config_equal):
6949         * window.c (free_window_configuration):
6950         * window.c (Fset_window_configuration):
6951         * window.c (count_windows):
6952         * window.c (Fcurrent_window_configuration):
6953         * window.c (reinit_vars_of_window):
6954         Update all callers and users.
6955
6956 2001-01-25  Martin Buchholz  <martin@xemacs.org>
6957
6958         Alignment correctness for flexible arrays.
6959         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
6960         Make alignment-correct. Add interesting comments.
6961         * alloc.c (size_vector):
6962         * alloc.c (make_vector_internal):
6963         * alloc.c (make_bit_vector_internal):
6964         * alloc.c (sweep_bit_vectors_1):
6965         * fns.c (size_bit_vector):
6966         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
6967         * window.c (sizeof_window_config_for_n_windows): 
6968         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
6969
6970 2001-01-24  Martin Buchholz  <martin@xemacs.org>
6971
6972         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
6973
6974 2001-01-23  Andy Piper  <andy@xemacs.org>
6975
6976         * select.c (Fown_selection_internal): pass owned_p
6977
6978         * select-msw.c (mswindows_own_selection): New Signature.
6979
6980         * console.h (struct console_methods): add owned_p to
6981         _own_selection.
6982
6983         * select-x.c (x_own_selection): pass owned_p
6984         (hack_motif_clipboard_selection): use owned_p
6985         (vars_of_select_x): new variable -
6986         x_selection_strict_motif_ownership.
6987
6988 2001-01-23  Martin Buchholz  <martin@xemacs.org>
6989
6990         * specifier.h (specifier_data_offset): Remove pointless parens.
6991         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
6992
6993 2001-01-24  Martin Buchholz  <martin@xemacs.org>
6994
6995         Make Lisp_Object sizeof methods be alignment-correct.
6996         pdump must restore objects to the same alignment as the C compiler
6997         assumes.  It really matters on SGIs.
6998         * lstream.c (aligned_sizeof_lstream): New.
6999         (sizeof_lstream): Use aligned_sizeof_lstream.
7000         (Lstream_new): Likewise.
7001         * opaque.c (aligned_sizeof_opaque): New.
7002         (sizeof_opaque): Use aligned_sizeof_opaque.
7003         (make_opaque): Likewise.
7004         * specifier.c (aligned_sizeof_specifier): New.
7005         (sizeof_specifier): Use aligned_sizeof_specifier.
7006         (make_specifier_internal): Likewise.
7007
7008 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7009
7010         * lstream.h (struct lstream): Use max_align_t for trailing data.
7011         * specifier.h (struct Lisp_Specifier): Likewise.
7012
7013 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7014
7015         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
7016         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
7017         (CCL_SUSPEND): Likewise.
7018         (CCL_INVALID_CMD): Likewise.
7019         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
7020         (ccl_driver): Likewise.
7021         (CCL_WRITE_CHAR): Macro hygiene.
7022         (CCL_WRITE_STRING): Macro hygiene.
7023
7024 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7025
7026         Port "portable" dumper to SunOS 4 and HP-UX.
7027         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
7028         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
7029         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
7030
7031 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7032
7033         * lisp.h (ALIGNOF): A better definition for C++.
7034
7035 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7036
7037         Macro hygiene.
7038         Fix printf warnings: int format, long int arg.
7039         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
7040         (PUSH_FAILURE_POINT): Use correct printf formats.
7041         (POP_FAILURE_POINT): Use correct printf formats.  
7042         Use do {...} while (0)
7043
7044 2001-01-20  Martin Buchholz <martin@xemacs.org>
7045
7046         * XEmacs 21.2.42 "Poseidon" is released.
7047
7048 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7049
7050         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
7051
7052 2001-01-19  Martin Buchholz  <martin@xemacs.org>
7053
7054         De-kludgify FIXED_TYPE free list frobbing.
7055         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
7056         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
7057         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
7058         * alloc.c (Lisp_Free): New pseudo lisp object definition.
7059         * alloc.c (LRECORD_FREE_P): New.
7060         * alloc.c (MARK_LRECORD_AS_FREE): New.
7061         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
7062         * alloc.c (STRUCT_FREE_P): Deleted.
7063         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
7064         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
7065         * alloc.c (STRING_CHARS_FREE_P): New.
7066         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
7067         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
7068         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
7069         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
7070         * alloc.c (resize_string): Use new definitions.
7071         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
7072         * alloc.c (verify_string_chars_integrity): Use new definitions.
7073         * alloc.c (compact_string_chars): Use new definitions.
7074         * alloc.c: Update monster comments.
7075         * lrecord.h (lrecord_type): Add some new lrecord types for
7076         alloc.c's use.
7077
7078 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7079
7080         Improve alignment hackery.
7081         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
7082         (max_align_t): Moved from opaque.h - general purpose.
7083         (ALIGN_PTR): Use size_t, not long.
7084         * opaque.h (max_align_t): Move to lisp.h.
7085
7086 2001-01-18  Norbert Koch  <nk@LF.net>
7087
7088         * gui.h: Fix and add prototypes to fix build problems.
7089
7090 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7091
7092         temacs is going away, so `dump-temacs' is now a bad name.
7093         * .dbxrc (dump-temacs): Rename to `dmp'.
7094         * .gdbinit (dump-temacs): Rename to `dmp'.
7095
7096 2001-01-17  Andy Piper  <andy@xemacs.org>
7097
7098         * glyphs.c (print_image_instance): comment to make martin happy.
7099
7100         * glyphs-x.c (x_redisplay_widget): update faces after a frame
7101         change.
7102
7103         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
7104         activation.
7105         (mswindows_tab_control_redisplay): warning suppression.
7106
7107         * glyphs-widget.c (widget_update): re-write to cope with updated
7108         items.
7109         (widget_instantiate): use new gui_item functions.
7110         (tab_control_update): deleted.
7111         (progress_gauge_update): deleted.
7112         (image_instantiator_progress_guage): take out update reference.
7113         (image_instantiator_tree_view): ditto.
7114         (image_instantiator_tab_control): ditto.
7115
7116         * gui.c (widget_gui_parse_item_keywords): new function. Do things
7117         Right the new way.
7118         (gui_item_add_keyval_pair): re-write to cope with descriptors and
7119         return whether anything was changed.
7120         (update_gui_item_keywords): as it sounds.
7121
7122         * gui.h: declare widget_gui_parse_item_keywords.
7123
7124         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
7125         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
7126
7127 2001-01-17  Martin Buchholz <martin@xemacs.org>
7128
7129         * XEmacs 21.2.41 "Polyhymnia" is released.
7130
7131 2001-01-16  Didier Verna  <didier@xemacs.org>
7132
7133         * glyphs.c (image_instantiate): don't use fallbacks when
7134         instantiating a face's background pixmap by inheritance.
7135
7136 2001-01-14  Mike Sperber <mike@xemacs.org>
7137
7138         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
7139         Conditionalize accordingly.
7140
7141 2001-01-16  Martin Buchholz  <martin@xemacs.org>
7142
7143         * dumper.c (pdump_file_get): Fix a compiler warning.
7144
7145 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7146
7147         Make Purify happy when pdumping.
7148         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
7149         iniitalizing all bits of new lisp object memory.
7150         * symbols.c (Fmake_local_variable): Likewise.
7151         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
7152         * symbols.c (Fdefvaralias): Likewise.
7153         * mule-charset.c (vars_of_mule_charset): Likewise.
7154
7155 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7156         Add the `-nd' flag when running pre-dump operations under the debugger.
7157         * .dbxrc (run-temacs): Add `-nd'.
7158         * .dbxrc (update-elc): Likewise.
7159         * .dbxrc (dump-temacs): Likewise.
7160         * .gdbinit (run-temacs): Likewise.
7161         * .gdbinit (check-temacs): Likewise.
7162         * .gdbinit (update-elc): Likewise.
7163         * .gdbinit (dump-temacs): Likewise.
7164
7165 2001-01-14  Martin Buchholz  <martin@xemacs.org>
7166
7167         Allow building 64-bit executables on AIX with GNU malloc, e.g.
7168         export OBJECT_MODE=64
7169         configure --pdump --use-union-type=no
7170         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
7171         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
7172
7173         * miscplay.c (sndcnv8U_2mono):
7174         Avoid two uses of `++' in the same expression.
7175         Suppresses a GCC warning.
7176
7177 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7178
7179         Make sure future compilers don't miscompile alloc.c.
7180         * alloc.c:
7181         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
7182         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
7183
7184 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7185
7186         * dumper.c: A little post-pdump-rename comment fixup.
7187
7188 2001-01-09  Jerry James  <james@eecs.ku.edu>
7189
7190         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
7191
7192 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7193
7194         * *.[ch]: Globally rename symbols using the following `pdump-rename'
7195         script:
7196         #!/bin/sh
7197         replace_symbol () {
7198           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
7199         }
7200
7201         replace_symbol pdump_wire_lists pdump_weak_object_chains
7202         replace_symbol pdump_wire_list dump_add_weak_object_chain
7203
7204         replace_symbol pdump_wires pdump_root_objects
7205         replace_symbol pdump_wire dump_add_root_object
7206
7207         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
7208         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
7209
7210         replace_symbol dumpstructinfos pdump_root_struct_ptrs
7211         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
7212         replace_symbol dumpstructinfo pdump_root_struct_ptr
7213         replace_symbol dumpstruct dump_add_root_struct_ptr
7214
7215         replace_symbol dumpopaque dump_add_opaque
7216         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
7217         replace_symbol dumpopaqueinfos pdump_opaques
7218         replace_symbol dumpopaqueinfo pdump_opaque
7219
7220         replace_symbol nb_structdump nb_root_struct_ptrs
7221         replace_symbol nb_opaquedump nb_opaques
7222
7223         replace_symbol align_table pdump_align_table
7224         replace_symbol dump_header pdump_header
7225
7226         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
7227         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
7228
7229
7230 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7231
7232         * s/aix4.h: Keep the C for AIX compiler from overaggressively
7233         optimizing bytecount_to_charcount().
7234
7235 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7236
7237         * config.h.in:
7238         (HAVE_DLFCN_H): Removed.
7239         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
7240
7241 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7242
7243         Portable dumper maintainability improvements.
7244         * alloc.c (staticpro):
7245         * alloc.c (staticpro_nodump):
7246         * alloc.c (garbage_collect_1):
7247         * alloc.c (reinit_alloc_once_early):
7248         * alloc.c (init_alloc_once_early):
7249         * alloc.c: Move dumper functions to alloc.c.
7250         * dumper.c (pdump_backtrace):
7251         * dumper.c (pdump_dump_structs):
7252         * dumper.c (pdump_dump_opaques):
7253         * dumper.c (pdump_dump_rtables):
7254         * dumper.c (pdump_dump_wired):
7255         * dumper.c (pdump):
7256         * dumper.c (pdump_load_check):
7257         * dumper.c (pdump_load_finish):
7258         * dumper.c (pdump_file_unmap):
7259         * dumper.c (pdump_file_get):
7260         * dumper.c (pdump_resource_free):
7261         * dumper.c (pdump_resource_get):
7262         * dumper.c (pdump_file_free):
7263         * dumper.c (pdump_file_try):
7264         * dumper.c (pdump_load):
7265         Remove fixed size limits on staticpro(), staticpro_nodump(),
7266         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
7267         Remove custom code for dumping lrecord_implementations_table - use
7268         dumpopaque instead.
7269         Remove (most of the) custom code for dumping staticpros - dump it
7270         like any other dynarr.
7271
7272         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
7273         * dumper.c: Moved functions from alloc.c.
7274         * alloc.c (dumpstruct): Moved to dumper.c.
7275         * alloc.c (dumpopaque): Likewise.
7276         * alloc.c (pdump_wire): Likewise.
7277         * alloc.c (pdump_wire_list): Likewise.
7278
7279         * lisp.h (Dynarr_sizeof): New.
7280         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
7281         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
7282         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
7283
7284         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
7285         * lisp.h (dumpopaque): ditto.
7286         * lisp.h (pdump_wire): ditto.
7287         * lisp.h (pdump_wire_list): ditto.
7288
7289 2001-01-09  Martin Buchholz  <martin@xemacs.org>
7290
7291         * make-src-depend (PrintPatternDeps):
7292         Use `sort' to make output independent of perl version.
7293
7294 2001-01-08  Martin Buchholz  <martin@xemacs.org>
7295
7296         Port to Netbsd 1.5.
7297         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
7298         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
7299
7300 2001-01-03  Didier Verna  <didier@xemacs.org>
7301
7302         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
7303         that `focus_frame' is alive before thinking of calling
7304         `redisplay_redraw_cursor' on it.
7305
7306 2001-01-08  Martin Buchholz <martin@xemacs.org>
7307
7308         * XEmacs 21.2.40 is released.
7309
7310 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7311
7312         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
7313
7314 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7315
7316         * alloc.c (dbg_valmask): Make const.
7317         * alloc.c (dbg_typemask): Make const.
7318         * alloc.c (dbg_USE_UNION_TYPE): Make const.
7319         * alloc.c (dbg_valbits): Make const.
7320         * alloc.c (dbg_gctypebits): Make const.
7321
7322 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
7323
7324         * redisplay-x.c (x_bevel_area):
7325         redisplay.h (struct rune):
7326         Typo fixes in comments.
7327
7328 2001-01-05  Andy Piper  <andy@xemacs.org>
7329
7330         * glyphs-x.c (x_redisplay_widget): use size changed for offset
7331         adjustment.
7332
7333         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
7334
7335 2001-01-05  Martin Buchholz  <martin@xemacs.org>
7336
7337         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
7338
7339         * mule-ccl.c (stack_idx_of_map_multiple):
7340         Non const global data must not be initialized!
7341         Found by MIYASHITA Hisashi.
7342
7343 2001-01-02  Andy Piper  <andy@xemacs.org>
7344
7345         * frame.c (change_frame_size): make sure frame size is always
7346         marked as changed.
7347
7348         * glyphs.c (image_instance_layout): minor code reuse.
7349
7350         * window.c (Fcurrent_window_configuration): revert previous
7351         change.
7352
7353 2001-01-02  Martin Buchholz  <martin@xemacs.org>
7354
7355         * glyphs.h:
7356         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
7357
7358 2000-12-31  Andy Piper  <andy@xemacs.org>
7359
7360         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
7361         when widget gets unmapped.
7362
7363         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
7364         function. Make sure widgets losing focus don't just drop it.
7365         (handle_focus_event_1): record the widget with focus.
7366
7367 2000-12-31  Andy Piper  <andy@xemacs.org>
7368
7369         * window.c (allocate_window): use
7370         make_image_instance_cache_hash_table.
7371         (make_dummy_parent): ditto.
7372         (Fset_window_configuration): ditto.
7373
7374         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
7375
7376         * glyphs.c (process_image_string_instantiator): use
7377         INSTANTIATOR_TYPE.
7378         (get_image_instantiator_governing_domain): ditto.
7379         (normalize_image_instantiator): ditto.
7380         (instantiate_image_instantiator): ditto.
7381         (make_image_instance_1): ditto.
7382         (image_instantiate): ditto. Key on glyph *and* instantiator type.
7383         (instantiator_eq_equal): new function for use with instance hash
7384         tables.
7385         (instantiator_eq_hash): ditto.
7386         (make_image_instance_cache_hash_table): create a suitable hash
7387         table for storing image instances.
7388
7389         * elhash.h (hash_table_weakness): new internal weakness type
7390         HASH_TABLE_KEY_CAR_VALUE_WEAK.
7391         declare new functions.
7392
7393         * elhash.c (finish_marking_weak_hash_tables): introduce yet
7394         another weakness type for glyphs.
7395         (make_standard_lisp_hash_table): new function split out from
7396         make_general_lisp_hash_table.
7397         (make_lisp_hash_table): call make_standard_lisp_hash_table.
7398         (hash_table_instantiate): ditto.
7399         (Fmake_hash_table): ditto.
7400
7401 2000-12-31  Martin Buchholz <martin@xemacs.org>
7402
7403         * XEmacs 21.2.39 is released.
7404
7405 2000-12-29  Andy Piper  <andy@xemacs.org>
7406
7407         * menubar.c (menubar_visible_p_changed): signal the frame changed.
7408
7409         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
7410         the frame has changed so that we pick up geometry changes such as
7411         menubar visibility.
7412
7413 2000-12-28  Andy Piper  <andy@xemacs.org>
7414
7415         * lastfile.c (my_ebss): make a char array so we can pad the
7416         bss. Fixes cygwin unexec.
7417
7418         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
7419
7420 2000-12-26  Andy Piper  <andy@xemacs.org>
7421
7422         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
7423         comments and try and be more precise about a non-/SIGIO world.
7424         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
7425         SIGIO.
7426
7427         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
7428         we don't normalize to zero width or height.
7429
7430 2000-12-24  Andy Piper  <andy@xemacs.org>
7431
7432         * Makefile.in.in (ldflags): add -mwindows when appropriate.
7433
7434 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
7435
7436         * s/sco5.h: SCO 5 has pty support.
7437
7438 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
7439
7440         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
7441         input-method-xlib.c contains whole contents of input-method-xfs.c,
7442         so we can use input-method-xlib.c's code for USE_XFONTSET
7443         using #ifdefs.
7444         * input-method-xfs.c: removed.
7445
7446 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
7447
7448         * file-coding.h (enum coding_category_type): reorder enumerators to
7449         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
7450         (now one greater than largest real coding_category_type enumerator).
7451         * file-coding.c (coding_category_symbol, coding_category_by_priority,
7452         coding_category_system, fcd_descriptihon_1, decode_coding_category,
7453         Fcoding_category_list, Fset_coding_priority_list,
7454         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
7455         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
7456
7457 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
7458
7459         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
7460         * redisplay-output.c (redisplay_output_window): Clear top of window
7461         when face is changed.
7462         * redisplay-x.c (x_redraw_exposed_window): Call
7463         redisplay_clear_top_of_window.
7464         * redisplay.h: Publish redisplay_clear_top_of_window.
7465
7466 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
7467
7468         * buffer.c (Fkill_buffer): Map over all devices.
7469         * window.c (window_loop): Remove UNSHOW_BUFFER code.
7470         (list_windows): New function.
7471         (list_all_windows): Ditto.
7472         (Freplace_buffer_in_windows): Use them.
7473
7474 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
7475
7476         * database.c (berkdb_subtype): Recognize new subtype `queue'.
7477         (Fopen_database): Use `db_create' instead of `db_open'.
7478         (syms_of_database): Initialize Qqueue.
7479
7480 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
7481
7482         * buffer.c (common_init_complex_vars_of_buffer): Initialize
7483         buffer_local_face_property.
7484         * buffer.h (struct buffer): New member buffer_local_face_property.
7485         * window.c (Fset_window_buffer):  Mark window's face as changed
7486         when buffer has buffer local face.
7487         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
7488         * objects.c (color_after_change): Set buffer_local_face_property
7489         when locale of face specifier is buffer.
7490         * objects.c (font_after_change): Ditto.
7491         * objects.c (face_boolean_after_change): Ditto.
7492         * glyphs.c (image_after_change): Ditto.
7493
7494 2000-12-09  Dan Holmsand  <dan@eyebee.com>
7495
7496         * nt.c (mswindows_fstat): Report file permissions, volume serial
7497         number, etc. Code adapted from FSF Emacs 20.7.
7498
7499 2000-12-09  Dan Holmsand  <dan@eyebee.com>
7500
7501         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
7502         of stat when we don't have symbolic links, to make sure
7503         mswindows_stat is called on mswindows.
7504
7505 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
7506
7507         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
7508
7509 2000-12-12  Martin Buchholz  <martin@xemacs.org>
7510
7511         * doprnt.c (emacs_doprnt_1): More printing fixes.
7512         Make printing of numbers compatible with libc and FSF Emacs.
7513         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
7514         Use the system printf to do most of the hard work of formatting,
7515         instead of doprnt_1().
7516         Calculate memory to allocate for format string.
7517         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
7518         (doprnt_1): Cleaner code and documentation.
7519
7520 2000-12-01  Jerry James  <james@eecs.ukans.edu>
7521
7522         * Makefile.in.in: Use the loop variable to install headers.
7523
7524 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7525
7526         * window.c (Fsplit_window): Don't invalidate face cache.
7527
7528 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7529
7530         * minibuf.c (Fall_completions): Undo the previous change
7531         which removed checking elements start with space.
7532
7533 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
7534
7535         * mule-canna.c: Didier suppression.
7536
7537 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
7538
7539         * mule-canna.c: rename static unsigned char buf[] to key_buffer
7540         (warning suppression).  Add English comment translations.
7541
7542 2000-12-05  Martin Buchholz  <martin@xemacs.org>
7543
7544         * unexelfsgi.c (unexec): Better test for mmap failure.
7545
7546 2000-12-05  Martin Buchholz <martin@xemacs.org>
7547
7548         * XEmacs 21.2.38 is released.
7549
7550 2000-12-05  Martin Buchholz  <martin@xemacs.org>
7551
7552         * redisplay.c (bar-cursor): Make a user variable.
7553
7554         * symsinit.h: Add init_postgresql_from_environment.
7555
7556 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7557
7558         * regex.c: Convert to clean C.
7559
7560 2000-12-05  Dan Holmsand  <dan@eyebee.com>
7561
7562         * realpath.c:
7563         Don't #include sysfile.h. Revert to duplicating PATH_MAX
7564         initialization.
7565         (sys_readlink): renamed to system_readlink to avoid conflict with
7566         the other sys_readlink.
7567
7568 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
7569
7570         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
7571
7572 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
7573
7574         * postgresql.c (init_postgresql_from_environment): new function.
7575         (vars_of_postgresql): Move code initializing Lisp variables out and
7576         into init_postgresql_from_environment.
7577         emacs.c (main_1): Call init_postgresql_from_environment if and only
7578         if running a dumped XEmacs.
7579
7580 2000-08-31  Dan Holmsand  <dan@eyebee.com>
7581
7582         * buffer.c: Make find-file-compare-truenames default to true on
7583         windows.
7584
7585         * realpath.c (win32_abs_start):
7586         (cygwin_readlink):
7587         (win32_readlink): New functions.
7588         (xrealpath): Return really real filenames on windows.
7589
7590         * fileio.c (Ffile_truename): Make file-truename work on windows.
7591
7592 2000-11-29  Didier Verna  <didier@xemacs.org>
7593
7594         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
7595         * faces.c (update_face_cachel_data): use it.
7596         * faces.c (add_face_cachel): use it. Complete background pixmap
7597         frobbing in face cache if `update_face_cachel_data' has not done so.
7598
7599 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
7600
7601         * search.c (string_match_1): Don't set last_thing_searched
7602         when search failed.
7603
7604 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
7605
7606         * buffer.c: Include casetab.h
7607         (common_init_complex_vars_of_buffer): Use new case-table object.
7608         * buffer.h: Include casetab.h
7609         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
7610         (DOWNCASE_TABLE_OF): Ditto.
7611         * bufslots.h: Remove char-tables and add case-table.
7612         * casetab.c: Include casetab.h
7613         (CASE_TABLE_P): Removed.
7614         (mark_case_table): New function.
7615         (allocate_case_table): New function.
7616         (Fcase_table_p): Use new case-table.
7617         (case_table_char): New function.
7618         (Fget_case_table): Ditto.
7619         (Fput_case_table): Ditto.
7620         (Fput_case_table_pair): Ditto.
7621         (Fcopy_case_table): Ditto.
7622         (Fcurrent_case_table): Return case-table.
7623         (Fstandard_case_table): Return case-table.
7624         (Fset_case_table): Fix doc-string.
7625         (set_case_table): Use case-table
7626         (syms_of_casetab): DEFSUBR new functions.
7627         (complex_vars_of_casetab): Set up standard case-table.
7628         * casetab.h: New file.
7629         * editfns.c: Include casetab.h
7630         (Fcompare_buffer_substrings): Use case-table.
7631         * inline.c: Include casetab.h
7632         * lisp.h: Remove bogus extern.
7633         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
7634         * search.c: Include casetab.h
7635         (TRANSLATE_ASCII): Removed.
7636         (TRANSLATE): Unconditionally translate character.
7637         (looking_at_1): Use case-table.
7638         (string_match_1): Ditto.
7639         (fast_string_match): Ditto.
7640         (search_command): Ditto.
7641         (search_buffer): Separate boyer_moore.  Check whether
7642         boyer_moore is possible.
7643         (simple_search): New function.
7644         (boyer_moore): Separated from search_buffer. Translate char.
7645
7646 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7647
7648         * regex.c (RE_TR_ASCII): Removed.
7649         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
7650         (PATFETCH): Call PATFETCH_RAW.
7651         (PATFETCH_RAW): Fetch Emchar.
7652         (PATUNFETCH): Decrement charptr.
7653         (GET_BUFFER_SPACE): Rename b to buf_end.
7654         (BUF_PUSH): Ditto.
7655         (BUF_PUSH_2): Ditto.
7656         (BUF_PUSH_3): Ditto.
7657         (EXTEND_BUFFER): Ditto.
7658         (SET_LIST_BIT): Ditto.
7659         (regex_compile): Ditto.  Translate non ASCII char.
7660         (compile_range): Ditto.
7661         (re_search_2): Ditto.
7662         (re_match_2_internal): Compare Emchar.
7663         (bcmp_translate): Ditto.
7664
7665 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
7666
7667         * lisp.h (basic char/int typedefs):  comment improvement.
7668
7669 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
7670
7671         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
7672         unstomp inhibit_site_lisp.  Improve comments.
7673
7674 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
7675
7676         * mule-charset.c (Fcharset_property):  improve type checking, comments.
7677
7678 2000-11-28  Andy Piper  <andy@xemacs.org>
7679
7680         * redisplay-output.c (redisplay_output_subwindow): make sure we do
7681         clipped display for windows in the gutter also.
7682         (redisplay_display_boxes_in_window_p): change semantics of return
7683         codes to be more intuitive.
7684
7685         * gutter.h: declare display_boxes_in_gutter_p.
7686
7687         * gutter.c (display_boxes_in_gutter_p): new function for
7688         redisplay.
7689
7690 2000-11-22  Andy Piper  <andy@xemacs.org>
7691
7692         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
7693         autodetect domain.
7694
7695 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
7696
7697         * callproc.c (Fold_call_process_internal):
7698         * gpm.c (Freceive_gpm_event):
7699         (tty_get_foreign_selection): Might be just warning supression.
7700         * fileio.c (Fwrite_region_internal):
7701         (Fset_visited_file_modtime):
7702         * keymap.c (event_matches_key_specifier_p):
7703         Initialize GCPROed variable.
7704
7705         * menubar-x.c (command_builder_find_menu_accelerator):
7706         Initialize before use.
7707
7708 2000-11-23  Andy Piper  <andy@xemacs.org>
7709
7710         * unexcw.c (unexec): make the resulting executable executable.
7711
7712 2000-11-21  Martin Buchholz  <martin@xemacs.org>
7713
7714         * doc.c (get_doc_string):
7715         Use size_t, not int, for result of XSTRING_LENGTH.
7716
7717         * cmds.c (Fdelete_char):
7718         * cmds.c (Fpoint_at_eol):
7719         * cmds.c (Fself_insert_command):
7720         Use EMACS_INT, not int, for result of XINT.
7721         Someday, someone will want to insert more than 2**31 identical characters.
7722
7723         * cmds.c (Fdelete_char):
7724         * cmds.c (Fdelete_backward_char):
7725         * syntax.c (Fforward_word):
7726         * syntax.c (Fforward_comment):
7727         Make COUNT argument optional, for consistency with forward-char et al.
7728
7729 2000-11-22  Martin Buchholz  <martin@xemacs.org>
7730
7731         * lisp.h:
7732         * print.c (long_to_string):
7733         Return a useful value: the pointer at end of data written.
7734
7735         * doprnt.c:
7736         Use `static const char * const' for constant strings.
7737         (union printf_arg): Delete `i', `ui' members.
7738         (get_doprnt_args):
7739         (emacs_doprnt_1):
7740         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
7741         Do all printf-ing via the `l' specifier.
7742         Use EMACS_INT instead of int.
7743         Optimize.
7744
7745 2000-11-20  Didier Verna  <didier@xemacs.org>
7746
7747         * faces.c (update_face_cachel_data): don't frob the background
7748         pixmap when the window is being created. The face is needed but
7749         does not exist yet.
7750
7751 2000-11-20  Andy Piper  <andy@xemacs.org>
7752
7753         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
7754         messing with a debug environment.
7755
7756 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7757
7758         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
7759
7760 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7761
7762         * casetab.c (Fcase_table_p): Fix compile error and crash.
7763
7764 2000-11-18  Philip Aston  <philipa@mail.com>
7765
7766         * s/cygwin32.h: Cygwin has SVR4-like pty support.
7767
7768 2000-11-18  Martin Buchholz  <martin@xemacs.org>
7769
7770         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
7771         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
7772
7773 2000-11-17  Martin Buchholz  <martin@xemacs.org>
7774
7775         * config.h.in: Define HAVE_ELF_H if elf.h exists.
7776         * unexelf.c: Use HAVE_ELF_H.
7777         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
7778         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
7779         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
7780         Greg Harrington <greg_harrington@hotmail.com> provided a machine
7781         for testing.
7782         So this is an unexelfsgi.c from a different line of development.
7783
7784 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7785
7786         * regex.c (RE_TR_ASCII): New function.
7787         (RE_TRANSLATE): Call it.
7788
7789 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7790
7791         * buffer.h (TRT_TABLE_OF): Remove assert.
7792         (IN_TRT_TABLE_DOMAIN): Removed.
7793
7794 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7795
7796         * free-hook.c (log_gcpro):
7797         (show_gcprohist): Add support for GCPRO5.
7798
7799 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
7800
7801         * emacs.c (main_1): Improve -sd error message when --pdump=no.
7802
7803 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
7804
7805         * symeval.h: Declare flush_all_buffer_local_cache.
7806
7807         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
7808         (flush_buffer_local_cache): Added.
7809         (flush_all_buffer_local_cache): Added.
7810
7811         * lrecord.h: Remove unused XD_LO_RESET_NIL.
7812
7813         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
7814         (pdump_dump_data): Ditto.
7815         (pdump_reloc_one): Ditto.
7816         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
7817         before dumping.
7818
7819
7820 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7821
7822         * buffer.c: Remove if 0'ed entry.
7823         * buffer.h: Rewrite TRT to use char-table.
7824         * bufslots.h: Remove mirror tables.
7825         * casetab.c: Remove mirror tables.
7826         (CASE_TABLE_P): New macro.
7827         (Fcase_table_p): Element of a case table is string or char-table.
7828         (make_mirror_trt_table): Removed.
7829         (set_case_table): Setup char-table from strings for backward
7830         compatibility.
7831         * dired.c (Fdirectory_files):
7832         * dired-msw.c: (mswindows_get_files):
7833         * lisp.h: Change prototype of re_pattern_buffer.
7834         * regex.c: (RE_TRANSLATE): New macro.
7835         (TRANSLATE_P): Ditto.
7836         Change translate to type RE_TRANSLATE_TYPE.
7837         * regex.h: Define RE_TRANSLATE_TYPE
7838         * search.c (TRANSLATE): New macro.
7839         (TRANSLATE_ASCII): New macro.
7840         Translate table is changed to Lisp_Object.
7841         (signal_failure): Inhibit return.
7842
7843 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7844
7845         * device-msw.c:
7846         * eldap.c:
7847         * event-Xt.c:
7848         * event-stream.c:
7849         * print.c:
7850         Do UNGCPRO before return.
7851
7852 2000-11-14  Martin Buchholz <martin@xemacs.org>
7853
7854         * XEmacs 21.2.37 is released.
7855
7856 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
7857
7858         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
7859         Add comments about discarded return value.
7860
7861 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
7862
7863         * callint.c:
7864         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
7865
7866 2000-10-27  Andy Piper  <andy@xemacs.org>
7867
7868         * gutter.c (Fset_default_gutter_position): default left and right
7869         gutters to visible.
7870         (calculate_gutter_size): calculate resonable heuristic for left
7871         and right gutter sizes.
7872         (specifier_vars_of_gutter): change left and right gutter sizes to
7873         autodetect.
7874         (calculate_gutter_size_from_display_lines): new function.
7875         (output_gutter): check for resizing on left and right gutters.
7876         (clear_gutter): don't special case top and left gutters.
7877         (specifier_vars_of_gutter): use new signature for
7878         set_specifier_caching.
7879
7880         * glyphs-x.c (x_redisplay_widget): spelling fix.
7881         * glyphs.c (specifier_vars_of_glyphs):
7882         * menubar.c (specifier_vars_of_menubar):
7883         * redisplay.c (specifier_vars_of_redisplay):
7884         * toolbar.c (specifier_vars_of_toolbar):
7885         * window.c (specifier_vars_of_window):
7886         * scrollbar.c (specifier_vars_of_scrollbar):
7887         (complex_vars_of_scrollbar): use new signature for
7888         set_specifier_caching.
7889
7890         * specifier.c (set_specifier_caching): include recompute flag.
7891         (recompute_one_cached_specifier_in_window): always recompute if
7892         flag set.
7893         (recompute_one_cached_specifier_in_frame): ditto.
7894
7895         * specifier.h (struct specifier_caching): add recompute flag.
7896
7897 2000-10-24  Andy Piper  <andy@xemacs.org>
7898
7899         * unexcw.c (copy_executable_and_dump_data_section): add new
7900         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
7901         5.0 happy.
7902
7903 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7904
7905         * console-x.h (x_device): New member modifier_release_time.
7906         * event-Xt.c (x_handle_sticky_modifiers):
7907         Bound interval modifier keys are sticky.
7908         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
7909         * events.h: extern it.
7910
7911 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7912
7913         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
7914
7915 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7916
7917         * event-stream.c (execute_command_event): Preserve current_events
7918         and the like when event is misc-user-event.
7919         Inhibit quit during the call to maybe_echo_keys.
7920
7921 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
7922
7923         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
7924         symlink when buffer is killed.
7925         (inhibit_clash_detection): New variable.
7926
7927 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
7928
7929         * console.c (Fset_input_method): Trigger redisplay on tty.
7930
7931 2000-11-07  Martin Buchholz  <martin@xemacs.org>
7932
7933         * process.c (Fprocess_status): Revert to previous behavior:
7934         (process-status "nosuchprocess") ==> nil
7935
7936 2000-11-06  Martin Buchholz  <martin@xemacs.org>
7937
7938         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
7939         Work around another GCC 2.95.2 optimizer bug.
7940
7941 2000-11-02  Martin Buchholz  <martin@xemacs.org>
7942
7943         * process.c (Fget_process): Use LIST_LOOP_2.
7944         (kill_buffer_processes): Use LIST_LOOP_2.
7945
7946         * minibuf.c (Fall_completions):
7947         Delete old non-functional code for FSF fourth argument.
7948
7949         * frame.c (frame_matches_frame_spec):
7950         Renamed from `frame_matches_frametype'.  Update all callers.
7951         (device_matches_device_spec):
7952         Renamed from 'device_matches_console_spec'.  Update all callers.
7953
7954         * doc.c (Fsubstitute_command_keys):
7955         Remove buffer overflow crash.  Small code cleanups.
7956
7957         * casetab.c (check_case_table): Simpler code.
7958
7959         * window.c (Freplace_buffer_in_windows):
7960         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
7961         (and similar implementation) as Fdelete_windows_on.
7962         Update all callers.
7963
7964         * alloc.c (Fmake_list):
7965         * alloc.c (make_vector):
7966         * alloc.c (Fmake_vector):
7967         * alloc.c (make_bit_vector):
7968         * alloc.c (Fmake_bit_vector):
7969         * alloc.c (Fbit_vector):
7970         * alloc.c (Fmake_string):
7971         * alloc.c (Fpurecopy):
7972         * alloc.c (Fmemory_limit):
7973         * buffer.c:
7974         * buffer.c (Fget_buffer):
7975         * buffer.c (Fkill_buffer):
7976         * buffer.c (complex_vars_of_buffer):
7977         * bytecode.c (Fcompiled_function_stack_depth):
7978         * callint.c (Fprefix_numeric_value):
7979         * event-stream.c:
7980         * event-stream.c (Fread_key_sequence):
7981         * casetab.c:
7982         * casetab.c (Fcase_table_p):
7983         * casetab.c (check_case_table):
7984         * casetab.c (Fset_case_table):
7985         * casetab.c (Fset_standard_case_table):
7986         * chartab.c:
7987         * chartab.c (Fchar_table_type):
7988         * chartab.c (Freset_char_table):
7989         * chartab.c (Fget_char_table):
7990         * chartab.c (Fget_range_char_table):
7991         * chartab.c (Fput_char_table):
7992         * chartab.c (Fmap_char_table):
7993         * chartab.c (Fcategory_table_p):
7994         * chartab.c (Fcheck_category_at):
7995         * chartab.c (Fchar_in_category_p):
7996         * chartab.c (Fcategory_table):
7997         * chartab.c (Fcopy_category_table):
7998         * chartab.c (Fset_category_table):
7999         * chartab.c (Fcategory_designator_p):
8000         * chartab.c (Fcategory_table_value_p):
8001         * cmds.c (Fdelete_char):
8002         * cmds.c (Fdelete_backward_char):
8003         * cmds.c (Fself_insert_command):
8004         * cmds.c (Fself_insert_internal):
8005         * console.c (Fvalid_console_type_p):
8006         * console.c (Fcdfw_console):
8007         * console.c (Fconsole_type):
8008         * console.c (Fconsole_name):
8009         * console.c (Fconsole_device_list):
8010         * console.c (Fconsole_on_window_system_p):
8011         * data.c:
8012         * data.c (Feq):
8013         * data.c (Fold_eq):
8014         * data.c (Fsubr_interactive):
8015         * data.c (Fchar_to_int):
8016         * data.c (Fint_to_char):
8017         * data.c (Fsetcar):
8018         * data.c (Fsetcdr):
8019         * data.c (Fnumber_to_string):
8020         * data.c (Fstring_to_number):
8021         * data.c (Frem):
8022         * database.c (mark_database):
8023         * database.c (finalize_database):
8024         * database.c (Fdatabase_live_p):
8025         * database.c (Fdatabasep):
8026         * device-x.c (Fx_get_resource):
8027         * device.c (Fdfw_device):
8028         * dired.c:
8029         * dired.c (Ffile_name_completion):
8030         * dired.c (Ffile_name_all_completions):
8031         * dired.c (Fuser_name_completion):
8032         * dired.c (Fuser_name_completion_1):
8033         * dired.c (Fuser_name_all_completions):
8034         * doc.c (Fdocumentation):
8035         * doc.c (Fdocumentation_property):
8036         * doc.c (Fsubstitute_command_keys):
8037         * editfns.c:
8038         * editfns.c (Fchar_to_string):
8039         * editfns.c (Fstring_to_char):
8040         * editfns.c (Ftemp_directory):
8041         * editfns.c (Finsert_char):
8042         * editfns.c (Fbuffer_substring_no_properties):
8043         * editfns.c (Fnarrow_to_region):
8044         * editfns.c (Fchar_equal):
8045         * editfns.c (Fchar_Equal):
8046         * editfns.c (Ftranspose_regions):
8047         * emacs.c (Fdump_emacs):
8048         * eval.c (Fthrow):
8049         * eval.c (Fcommand_execute):
8050         * eval.c (Fautoload):
8051         * eval.c (Fbacktrace):
8052         * eval.c (Fbacktrace_frame):
8053         * events.c:
8054         * events.c (Fcopy_event):
8055         * events.c (Fcharacter_to_event):
8056         * events.c (Fevent_button):
8057         * events.c (Fevent_process):
8058         * extents.c:
8059         * extents.c (Fnext_extent_change):
8060         * extents.c (Fextent_property):
8061         * faces.c (Ffacep):
8062         * faces.c (Fmake_face):
8063         * file-coding.c:
8064         * file-coding.c (Fencode_shift_jis_char):
8065         * file-coding.c (Fencode_big5_char):
8066         * fileio.c (Ffile_name_directory):
8067         * fileio.c (Ffile_name_nondirectory):
8068         * fileio.c (Ffile_name_as_directory):
8069         * fileio.c (Fdirectory_file_name):
8070         * fileio.c (Ffile_truename):
8071         * fileio.c (Fsubstitute_in_file_name):
8072         * fileio.c (Ffile_modes):
8073         * fileio.c (Fset_file_modes):
8074         * fileio.c (Fset_default_file_modes):
8075         * fileio.c (Fverify_visited_file_modtime):
8076         * floatfns.c (Facos):
8077         * floatfns.c (Fasin):
8078         * floatfns.c (Fatan):
8079         * floatfns.c (Fcos):
8080         * floatfns.c (Fsin):
8081         * floatfns.c (Ftan):
8082         * floatfns.c (Fbessel_j0):
8083         * floatfns.c (Fbessel_j1):
8084         * floatfns.c (Fbessel_jn):
8085         * floatfns.c (Fbessel_y0):
8086         * floatfns.c (Fbessel_y1):
8087         * floatfns.c (Fbessel_yn):
8088         * floatfns.c (Ferf):
8089         * floatfns.c (Ferfc):
8090         * floatfns.c (Flog_gamma):
8091         * floatfns.c (Fexp):
8092         * floatfns.c (Fexpt):
8093         * floatfns.c (Flog):
8094         * floatfns.c (Flog10):
8095         * floatfns.c (Fsqrt):
8096         * floatfns.c (Fcube_root):
8097         * floatfns.c (Facosh):
8098         * floatfns.c (Fasinh):
8099         * floatfns.c (Fatanh):
8100         * floatfns.c (Fcosh):
8101         * floatfns.c (Fsinh):
8102         * floatfns.c (Ftanh):
8103         * floatfns.c (Fabs):
8104         * floatfns.c (Ffloat):
8105         * floatfns.c (Flogb):
8106         * floatfns.c (Fceiling):
8107         * floatfns.c (Ffloor):
8108         * floatfns.c (Fround):
8109         * floatfns.c (Ftruncate):
8110         * floatfns.c (Ffceiling):
8111         * floatfns.c (Fffloor):
8112         * floatfns.c (Ffround):
8113         * floatfns.c (Fftruncate):
8114         * fns.c (Fstring_equal):
8115         * fns.c (Fstring_lessp):
8116         * fns.c (concat2):
8117         * fns.c (concat3):
8118         * fns.c (vconcat2):
8119         * fns.c (vconcat3):
8120         * fns.c (Fsubstring):
8121         * fns.c (Fassoc):
8122         * fns.c (Fold_assoc):
8123         * fns.c (assoc_no_quit):
8124         * fns.c (Fassq):
8125         * fns.c (Fold_assq):
8126         * fns.c (assq_no_quit):
8127         * fns.c (Frassoc):
8128         * fns.c (Fold_rassoc):
8129         * fns.c (Frassq):
8130         * fns.c (Fold_rassq):
8131         * fns.c (rassq_no_quit):
8132         * fns.c (Fremassoc):
8133         * fns.c (remassoc_no_quit):
8134         * fns.c (Fremassq):
8135         * fns.c (remassq_no_quit):
8136         * fns.c (Fremrassoc):
8137         * fns.c (Fremrassq):
8138         * fns.c (remrassq_no_quit):
8139         * fns.c (Fsort):
8140         * fns.c (Fplist_get):
8141         * fns.c (Fplist_put):
8142         * fns.c (Fplist_remprop):
8143         * fns.c (Fplist_member):
8144         * fns.c (Flax_plist_get):
8145         * fns.c (Flax_plist_put):
8146         * fns.c (Flax_plist_remprop):
8147         * fns.c (Flax_plist_member):
8148         * fns.c (Fequal):
8149         * fns.c (Fold_equal):
8150         * fns.c (Frequire):
8151         * fns.c (Fbase64_encode_region):
8152         * fns.c (Fbase64_encode_string):
8153         * fns.c (Fbase64_decode_region):
8154         * frame.c:
8155         * frame.c (frame_matches_frame_spec):
8156         * frame.c (device_matches_device_spec):
8157         * frame.c (next_frame):
8158         * frame.c (previous_frame):
8159         * frame.c (Fnext_frame):
8160         * frame.c (Fprevious_frame):
8161         * frame.c (Fframe_property):
8162         * frame.c (Fset_frame_height):
8163         * frame.c (Fset_frame_size):
8164         * frame.h:
8165         * glyphs.c:
8166         * glyphs.c (if):
8167         * glyphs.c (decode_error_behavior_flag):
8168         * glyphs.c (Fmake_image_instance):
8169         * indent.c (Findent_to):
8170         * intl.c (Fignore_defer_gettext):
8171         * keymap.c (Fkeymapp):
8172         * keymap.c (Flookup_key):
8173         * lread.c:
8174         * lread.c (Fload_internal):
8175         * lread.c (Feval_buffer):
8176         * lread.c (Feval_region):
8177         * macros.c (Fexecute_kbd_macro):
8178         * marker.c (set_marker_internal):
8179         * marker.c (Fset_marker):
8180         * marker.c (set_marker_restricted):
8181         * marker.c (Fcopy_marker):
8182         * marker.c (noseeum_copy_marker):
8183         * menubar.c:
8184         * menubar.c (Fpopup_menu):
8185         * minibuf.c:
8186         * mule-charset.c (Fcharset_name):
8187         * mule-charset.c (Fchar_charset):
8188         * mule-charset.c (Fchar_octet):
8189         * mule-charset.c (Fsplit_char):
8190         * mule-wnnfns.c (Fwnn_open):
8191         * mule-wnnfns.c (Fwnn_dict_comment):
8192         * mule-wnnfns.c (Fwnn_quit_henkan):
8193         * mule-wnnfns.c (Fwnn_word_toroku):
8194         * mule-wnnfns.c (Fwnn_word_sakujo):
8195         * mule-wnnfns.c (Fwnn_word_use):
8196         * mule-wnnfns.c (Fwnn_hindo_set):
8197         * objects.c:
8198         * objects.c (Fmake_color_instance):
8199         * objects.c (Fmake_font_instance):
8200         * print.c (Fwrite_char):
8201         * process.c:
8202         * process.c (mark_process):
8203         * process.c (print_process):
8204         * process.c (get_process_from_usid):
8205         * process.c (Fprocessp):
8206         * process.c (Fprocess_live_p):
8207         * process.c (Fget_process):
8208         * process.c (Fget_buffer_process):
8209         * process.c (get_process):
8210         * process.c (Fprocess_id):
8211         * process.c (Fprocess_name):
8212         * process.c (Fprocess_command):
8213         * process.c (init_process_io_handles):
8214         * process.c (start_process_unwind):
8215         * process.c (Fstart_process_internal):
8216         * process.c (Fopen_multicast_group_internal):
8217         * process.c (Fset_process_window_size):
8218         * process.c (read_process_output):
8219         * process.c (send_process):
8220         * process.c (Fprocess_tty_name):
8221         * process.c (Fset_process_buffer):
8222         * process.c (Fprocess_buffer):
8223         * process.c (Fprocess_mark):
8224         * process.c (set_process_filter):
8225         * process.c (Fset_process_filter):
8226         * process.c (Fprocess_filter):
8227         * process.c (Fprocess_send_region):
8228         * process.c (Fprocess_send_string):
8229         * process.c (exec_sentinel):
8230         * process.c (Fset_process_sentinel):
8231         * process.c (Fprocess_sentinel):
8232         * process.c (status_notify):
8233         * process.c (Fprocess_status):
8234         * process.c (Fprocess_exit_status):
8235         * process.c (process_send_signal):
8236         * process.c (Fprocess_send_eof):
8237         * process.c (deactivate_process):
8238         * process.c (remove_process):
8239         * process.c (Fdelete_process):
8240         * process.c (kill_buffer_processes):
8241         * process.c (Fprocess_kill_without_query):
8242         * process.c (Fprocess_kill_without_query_p):
8243         * rangetab.c:
8244         * rangetab.c (Fget_range_table):
8245         * rangetab.c (Fput_range_table):
8246         * rangetab.c (Fremove_range_table):
8247         * rangetab.c (Fclear_range_table):
8248         * search.c:
8249         * search.c (Fskip_chars_forward):
8250         * search.c (Fskip_chars_backward):
8251         * search.c (Fskip_syntax_forward):
8252         * search.c (Fskip_syntax_backward):
8253         * search.c (search_command):
8254         * search.c (Freplace_match):
8255         * search.c (Fregexp_quote):
8256         * select.c (Fown_selection_internal):
8257         * select.c (Fselection_owner_p):
8258         * select.c (Fselection_exists_p):
8259         * select.c (Fget_selection_internal):
8260         * specifier.c:
8261         * symbols.c:
8262         * symbols.c (Fintern):
8263         * symbols.c (Fintern_soft):
8264         * symbols.c (Funintern):
8265         * symbols.c (Fapropos_internal):
8266         * symbols.c (Fset_default):
8267         * syntax.c:
8268         * syntax.c (Fsyntax_table_p):
8269         * syntax.c (Fcopy_syntax_table):
8270         * syntax.c (Fset_syntax_table):
8271         * syntax.c (Fchar_syntax):
8272         * syntax.c (syntax_match):
8273         * syntax.c (Fmatching_paren):
8274         * syntax.c (Fforward_word):
8275         * syntax.c (scan_lists):
8276         * syntax.c (Fscan_lists):
8277         * syntax.c (Fscan_sexps):
8278         * syntax.c (Fparse_partial_sexp):
8279         * toolbar.c (Fcheck_toolbar_button_syntax):
8280         * tooltalk.doc:
8281         * window.c:
8282         * window.c (Fwindowp):
8283         * window.c (Fwindow_live_p):
8284         * window.c (Fwindow_point):
8285         * window.c (Fdelete_window):
8286         * window.c (Fnext_window):
8287         * window.c (Fprevious_window):
8288         * window.c (Fother_window):
8289         * window.c (window_loop):
8290         * window.c (Fget_lru_window):
8291         * window.c (Fsplit_window):
8292         * window.c (Fenlarge_window):
8293         * window.c (Fenlarge_window_pixels):
8294         * window.c (Fshrink_window):
8295         * window.c (Fshrink_window_pixels):
8296         * window.c (change_window_height):
8297         * window.c (Fwindow_configuration_p):
8298         * window.c (Fcurrent_window_configuration):
8299         * window.h:
8300         * casefiddle.c (casify_object):
8301         * casefiddle.c (Fupcase):
8302         * casefiddle.c (Fdowncase):
8303         * casefiddle.c (Fcapitalize):
8304         * casefiddle.c (Fupcase_initials):
8305         * casefiddle.c (casify_region_internal):
8306         * casefiddle.c (casify_region):
8307         * casefiddle.c (Fupcase_region):
8308         * casefiddle.c (Fdowncase_region):
8309         * casefiddle.c (Fcapitalize_region):
8310         * casefiddle.c (Fupcase_initials_region):
8311         * casefiddle.c (Fupcase_word):
8312         * casefiddle.c (Fdowncase_word):
8313         * casefiddle.c (Fcapitalize_word):
8314         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
8315         Replace 0 with '\0' when working with bytes.
8316         Replace initial "(" with "\(" in docstrings.
8317
8318 2000-11-01  Martin Buchholz  <martin@xemacs.org>
8319
8320         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
8321
8322         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
8323
8324 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8325
8326         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
8327
8328 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8329
8330         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
8331         correctly.
8332
8333 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8334
8335         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
8336         (inhibit_auto_save_session): New variable.
8337         (vars_of_fileio): Declare and initialize them.
8338         * fileio.c (Fdo_auto_save): Don't create session file if
8339         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
8340
8341 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8342
8343         * sgiplay.c (play_internal): C++ compilability.
8344         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
8345         * callproc.c (Fold_call_process_internal):
8346         Remove unused vars `env', `first'.
8347         * scrollbar.c (update_scrollbar_instance):
8348         #### unused var `current_window'.
8349         * redisplay-tty.c: Put currently unused vars insert_mode_on,
8350         etc. within #ifdef NOT_YET.
8351         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
8352         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
8353         * specifier.c (specifier_instance):
8354         #### unused var `tag'.
8355         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
8356
8357 2000-10-27  Martin Buchholz  <martin@xemacs.org>
8358
8359         * fns.c (Fbutlast):
8360         * fns.c (list_sort):
8361         * fns.c (Ffillarray):
8362         * fns.c (bytecode_nconc2):
8363         * fns.c (Fnconc):
8364         * fns.c (mapcar1):
8365         * fns.c (Fmapconcat):
8366         Be pedantically 64-bit correct.  For the time when someone will
8367         want to have a list with length > 2**32.
8368
8369         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
8370         Work around MIPSpro compiler bug.
8371
8372         * process-unix.c (unix_kill_child_process): Add snarky comment.
8373         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
8374
8375         * config.h.in: Oops, _getpt ==> _getpty
8376
8377 2000-10-26  Martin Buchholz  <martin@xemacs.org>
8378
8379         * config.h.in:
8380         * regex.c:
8381         Use void*, not char*, as return type of alloca().
8382
8383         * alloc.c (free_marker): Side effect inside assert expression!
8384
8385 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
8386
8387         * mule-charset.c (Fset_charset_ccl_program): To check
8388         if the given ccl program is valid, use setup_ccl_program()
8389         instead of CHECK_VECTOR().
8390         (Fmake_charset): Likewise.
8391
8392 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
8393
8394         * faces.c (get_extent_fragment_face_cache_index):
8395         Fix cachel.merged_faces memory leak.
8396
8397 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
8398
8399         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
8400         Reset MSB of octets obtained by DECODE_SJIS
8401         because of the incompatibility with Emacs.
8402         (ccl_driver)<CCL_ENCODE_SJIS>:
8403         Set MSB of octets before passing them to
8404         ENCODE_SJIS because of the incompatibility
8405         with Emacs.
8406
8407 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
8408
8409         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
8410         (DECLARE_LRECORD): Undo the last change.
8411         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
8412
8413 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
8414
8415         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
8416         the implementation to lrecord_implementations_table.
8417
8418 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
8419
8420         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
8421         initial value of `lrecord_type_##c_name' and
8422         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
8423         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
8424         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
8425         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
8426         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
8427
8428 2000-10-17  Martin Buchholz  <martin@xemacs.org>
8429
8430         * miscplay.c (sndcnv8S_2mono):
8431         (sndcnv2monounsigned):
8432         (sndcnvULaw_2linear):
8433         (sndcnv16swap):
8434         Remove implementation-defined behavior.
8435
8436 2000-10-12  Martin Buchholz  <martin@xemacs.org>
8437
8438         * input-method-xlib.c: Warning suppression.
8439
8440 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
8441
8442         * mule-ccl.c: Sync up with Emacs 21.0.90.
8443         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
8444         Do nothing.
8445         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
8446         Likewise.
8447         (ccl_driver[WriteMultibyteChar2]): Bug fix.
8448         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
8449         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
8450         leading char belongs to official 2-dimensional charset.
8451         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
8452         write the given character as is.  Otherwise,
8453         if it is a multibyte char, convert it by
8454         non_ascii_set_charptr_emchar, then write it.
8455         (CCL_WRITE_STRING): Likewise.
8456         (ccl_get_compiled_code): New function.
8457         (setup_ccl_program): When ccl_prog is invalid,
8458         return -1.
8459         (Fregister_code_conversion_map): New function.
8460         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
8461
8462         * mule-ccl.h: Sync up with Emacs 21.0.90.
8463         (Fregister_ccl_program): export it.
8464
8465         * redisplay-msw.c (separate_textual_runs):
8466         If ccl program is not valid, don't do ccl conversion.
8467
8468         * redisplay-x.c (separate_textual_runs): Ditto.
8469
8470         * file-coding.c (Fmake_coding_system):
8471         When type is ccl and value is vector, register it
8472         with a proper symbol.  And checks whether the
8473         given ccl program is valid.
8474         (mule_decode): When calling ccl_driver, if src indicates
8475         NULL pointer, set an empty string instead.
8476         (mule_encode): Likewise.
8477
8478 2000-10-11  Martin Buchholz  <martin@xemacs.org>
8479
8480         The following large batch of changes gets us back to a state of
8481         C++ compilability.  Extbyte is now a char, which means that
8482         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
8483
8484         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
8485
8486         * sound.c (Fplay_sound): Type correctness.
8487
8488         * select-x.c (hack_motif_clipboard_selection): Type correctness.
8489         (x_get_window_property): Type correctness.
8490         (receive_incremental_selection): unsigned char ==> Extbyte
8491         (selection_data_to_lisp_data): unsigned char ==> Extbyte
8492         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
8493         (Fx_store_cutbuffer_internal): Type correctness.
8494
8495         * process-unix.c (try_to_initialize_subtty): Type correctness.
8496
8497         * objects-x.c (x_print_color_instance): Type correctness.
8498         (x_print_font_instance): Type correctness.
8499         (x_list_fonts): SExtbyte ==> Extbyte.
8500         (valid_x_font_name_p): SExtbyte ==> Extbyte.
8501         (x_find_charset_font): SExtbyte ==> Extbyte.
8502         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
8503         (truename_via_XListFonts): SExtbyte ==> Extbyte.
8504         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
8505         Use bufbyte_strcmp.
8506
8507         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
8508         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
8509         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
8510         (BYTE_C0_P): Use bit ops for char-signedness safety.
8511         (BYTE_C1_P): Use bit ops for char-signedness safety.
8512         (CHARSET_BY_LEADING_BYTE):
8513         (CHARSET_BY_ATTRIBUTES):
8514         Always use inline function.
8515         Use type_checking_assert.
8516         Hide chlook.
8517
8518         * mule-charset.c (non_ascii_charptr_copy_char):
8519         Modify to work with both ASCII and non-ASCII characters.
8520         Improve docs and variable names.
8521         Replace over-clever fall-through switch with a simple loop.
8522         (Lstream_get_emchar_1):
8523         Replace over-clever fall-through switch with a simple loop.
8524
8525         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8526         Warning suppression.
8527
8528         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
8529         the return value of Lstream_getc, which could be EOF as well.
8530
8531         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
8532
8533         * lisp.h: Make Extbyte a char, not unsigned char, so that external
8534         APIs can be used on Extbytes without casts.  Risky!
8535         (SExtbyte): Remove.
8536         (UExtbyte): Remove.
8537
8538         * input-method-xlib.c (XIM_init_device):
8539         Use Xlib.h instead of IntrinsicP.h.
8540         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
8541         which will break in X11R7.
8542         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
8543         to call XRegisterIMInstantiateCallback with correct types.
8544
8545         * gui-x.c (button_item_to_widget_value): Type correctness.
8546
8547         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
8548
8549         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
8550         (xbm_instantiate_1): Type correctness.
8551         (BUILD_GLYPH_INST):  Type correctness.
8552
8553         * fileio.c (Fsubstitute_in_file_name): Type correctness.
8554
8555         * file-coding.c:
8556         (decode_coding_sjis):
8557         (decode_coding_big5):
8558         (decode_coding_ucs4):
8559         (decode_coding_utf8):
8560         (decode_coding_iso2022):
8561         (decode_coding_no_conversion):
8562         Make all decoding functions take an Extbyte * arg.
8563         (encode_coding_sjis):
8564         (encode_coding_big5):
8565         (encode_coding_ucs4):
8566         (encode_coding_utf8):
8567         (encode_coding_iso2022):
8568         (encode_coding_no_conversion):
8569         Make all encoding functions take a Bufbyte * arg.
8570         Use size_t instead of unsigned int for memory sizes.
8571         Only cast to unsigned char whenever dereferencing Extbyte *.
8572
8573         * doc.c (unparesseuxify_doc_string): Type correctness.
8574
8575         * console-x.c (split_up_display_spec):
8576         Rewrite without using details of internal string representation.
8577         (x_semi_canonicalize_device_connection): Type correctness.
8578
8579         * config.h.in:
8580         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
8581         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
8582         (HAVE_XFREE386): Removed.
8583
8584         * buffer.h (DEC_CHARPTR): `const' correctness.
8585         (bufbyte_strcmp): New.
8586         (bufbyte_memcmp): New.
8587
8588         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
8589
8590         * buffer.h (XCHAR_OR_CHAR_INT):
8591         Always use inline function.
8592         Remove redundant type checking assert() - XINT will abort quite nicely.
8593
8594 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
8595
8596         * search.c (Freplace_match): Set newtext to an empty string.
8597
8598 2000-10-10  Martin Buchholz  <martin@xemacs.org>
8599
8600         * s/decosf1-3.h: Remove #include of stropts.h
8601         * s/ptx.h: Remove #include of stropts.h
8602         * s/usg5-4.h: Remove #include of stropts.h
8603         * sysproc.h:
8604         * config.h.in:
8605         Use stropts.h, not sys/stropts.h.
8606         Use strtio.h, not sys/strtio.h.
8607
8608 2000-10-04  Martin Buchholz <martin@xemacs.org>
8609
8610         * XEmacs 21.2.36 is released.
8611
8612 2000-09-21  Andy Piper  <andy@xemacs.org>
8613
8614         * glyphs-x.c (x_redisplay_widget): make sure non-structural
8615         changes still involve copying the widget tree.
8616         (update_widget_face): make sure a change is register in the widget
8617         tree. Call update_tab_widget_face appropriately.
8618         (update_tab_widget_face): ditto.
8619         (x_tab_control_redisplay): make sure non-structural changes still
8620         involve copying the widget tree.
8621
8622 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
8623
8624         * lread.c (locate_file): Check the path element is non-nil.
8625
8626 2000-10-02  Martin Buchholz  <martin@xemacs.org>
8627
8628         * lisp.h: Warning suppression for SCO compilers.
8629
8630         * redisplay-tty.c (reset_tty_modes): Fix crash.
8631         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
8632
8633 2000-09-27  Martin Buchholz  <martin@xemacs.org>
8634
8635         Big signal/process handling overhaul.  Bugs fixed:
8636         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
8637         M-x comint-kill-subjob should work for both values nil and t of
8638         process-connection-type. It was broken on most platforms.
8639         Testing on Irix and Cygwin still needed.  Other plaforms tested.
8640         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
8641         * process-unix.c: Signal/Process handling overhaul.
8642         (pty_name): make 64 bytes, as `expect' does, for paranoia.
8643         (allocate_pty): Use all available modern methods of allocating
8644         ptys, falling back to old style BSD allocation as a last resort.
8645         Use allegedly more secure Unix98 pty allocation by default.
8646         (allocate_pty_the_old_fashioned_way): New. the last resort.
8647         (unix_create_process): Push ptem, ldterm, ttcompat where
8648         available.  Autoconfiscate.
8649         (try_to_initialize_subtty): New.
8650         (unix_kill_child_process): Proper signal handling for ptys on most
8651         platforms, using special knowledge of AIX, BSD, etc...
8652         (unix_create_process): Always disconnect_controlling_terminal() for
8653         subprocesses, whether using ptys or not.
8654         * process.h: Remove old getpt-dependent PTY code.
8655         * process.c (Fprocess_send_signal): New, obvious generic function.
8656         (decode_signal): New.
8657         (Finterrupt_process):
8658         (Fkill_process):
8659         (Fquit_process):
8660         (Fstop_process):
8661         (Fcontinue_process):
8662         (Fsignal_process): Use decode_signal.
8663         (process_send_signal):
8664         Many docstring corrections.
8665         Allow any signal to be sent to a process object.
8666         * config.h.in: Add symbols for big signal/process overhaul.
8667         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
8668         * sysproc.h: Include process-related headers, where available:
8669         sys/stropts.h sys/strtio.h pty.h libutil.h
8670         * s/irix4-0.h:
8671         * s/irix5-0.h:
8672         * s/cygwin32.h:
8673         * s/gnu.h:
8674         * s/linux.h:
8675         * s/hpux.h:
8676         * s/aix3-1.h:
8677         Remove old S&M pty stuff.
8678         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
8679         * systty.h: Simplify cpp hackery, improve comments.
8680         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
8681
8682         * editfns.c (Fformat_time_string):
8683         Be a little more paranoid with the return value of ctime.
8684
8685         * fileio.c (check_executable):
8686         (check_writable):
8687         Use symbolic constants X_OK, W_OK.
8688
8689         * console-x.c (split_up_display_spec): Fix a warning.
8690
8691 2000-10-02  Martin Buchholz  <martin@xemacs.org>
8692
8693         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
8694         * ntproc.c (sys_spawnve): make_string ==> build_string
8695         Small clarity improvements.
8696
8697 2000-09-30  Martin Buchholz  <martin@xemacs.org>
8698
8699         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
8700
8701         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
8702
8703         * config.h.in (HAVE_STRCASECMP): Remove.
8704
8705 2000-09-29  Martin Buchholz  <martin@xemacs.org>
8706
8707         * redisplay-output.c (redisplay_output_pixmap):
8708         Cleaner and possibly more 64-bit correct code.
8709
8710 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
8711
8712         * dumper.c (pdump_load_finish): move restoration of
8713         `noninteractive1' to emacs.c (main_1).
8714         * emacs.c (main_1): protect LISP-visible command-line flags
8715         from pdump_load().
8716
8717 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
8718
8719         * Makefile.in.in (versionclean):  Use EXE_TARGET and
8720         DUMP_TARGET instead of literal program names.
8721
8722 2000-09-20  Martin Buchholz  <martin@xemacs.org>
8723
8724         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
8725
8726 2000-09-19  Martin Buchholz  <martin@xemacs.org>
8727
8728         * *: Spelling mega-patch
8729
8730 2000-09-19  Martin Buchholz  <martin@xemacs.org>
8731
8732         * fns.c (bad_bad_turtle):
8733         Delete "Eek!" comment, since we fixed the bug to which it refers.
8734
8735 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8736
8737         * alloca.c: Replace REGISTER with register.
8738
8739 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
8740
8741         * file-coding.c (ucs_to_char): Use countof.
8742
8743 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8744
8745         * file-coding.c: (ucs_to_char):
8746         (complex_vars_of_file_coding):
8747         Use countof instead of sizeof.
8748         Use CHECK_NATNUM instead of CHECK_INT.
8749
8750         * sysdep.c (strcasecmp): Remove.
8751         * device-x.c (ascii_strcasecmp): New.
8752         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
8753         Avoid using non-standard non-portable strcasecmp.
8754
8755 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8756
8757         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
8758         * font-lock.c: remove reference to emacsfns.h.
8759         * search.c: small doc improvement.
8760         * event-Xt.c: correct file names in comments.
8761         * console-x.h Correct file names in comments.
8762         * frame.c: Correct file names in comments.
8763         * event-stream.c: remove Energize from comments.
8764
8765 2000-09-15  Martin Buchholz  <martin@xemacs.org>
8766
8767         * symeval.h (DEFERROR_STANDARD):
8768         (DEFERROR):
8769         (DEFSYMBOL):
8770         (DEFSYMBOL_NO_DUMP):
8771         (DEFSYMBOL_MULTIWORD_PREDICATE):
8772         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
8773         (DEFKEYWORD):
8774         The construct &##name is not sensible C.
8775         Fixes compilation errors with Unixware native compiler.
8776
8777 2000-09-14  Martin Buchholz  <martin@xemacs.org>
8778
8779         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
8780         (next_frame_internal): Removed.  We now just have next_frame.
8781         (next_frame):
8782         Write a simpler and cleaner one-pass algorithm.
8783         Remove called_from_delete_device arg and #ifdefed-out code.
8784         (previous_frame):
8785         Renamed from prev_frame.  Update callers.
8786         Cleaned up to have an analogous implementation to next_frame.
8787         (other_visible_frames_internal): Remove the
8788         called_from_delete_device bogus arg, and hence, remove this
8789         function.  Just use other_visible_frames().
8790
8791         * window.c (Fnext_window):
8792         Prettify docstring.
8793         Since next_frame() is guaranteed to return a frame, remove check
8794         for nil inserted in previous patch.
8795         (Fprevious_window):
8796         Prettify docstring.
8797         Make code look more like Fnext_window.
8798         (window_loop):
8799         Respect the `console' arg when iterating through windows.
8800         Fixes bug: (get-buffer-window buffer t device) not respecting
8801         the `device' arg.
8802         This function needs more work, as others have pointed out.
8803
8804         * frame.h: Rename prev_frame to previous_frame.
8805         device_matches_console_spec no longer takes a `frame' arg.
8806
8807         * s/gnu.h:
8808         * s/linux.h:
8809         * s/hpux.h:
8810         Use EMACS_BLOCK_SIGNAL instead of sigblock.
8811         From "Golubev I. N." <gin@mo.msk.ru>.
8812
8813         * make-src-depend: Fix typo.
8814
8815 2000-09-13  Martin Buchholz  <martin@xemacs.org>
8816
8817         * window.c (Fnext_window):
8818         next_frame() might return nil, not a frame.
8819         Fixes this crash:
8820         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8821
8822         * frame.c (next_frame_internal):
8823         We've passed a frame if we've passed its device.
8824         Fixes this crash:
8825         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8826 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
8827
8828 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8829
8830         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8831         Allow option to suppress accelerators in menu/dialog items.
8832         (populate_or_checksum_helper): Pass dialog title through above.
8833
8834 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8835
8836         * event-msw.c (mswindows_key_to_emacs_keysym):
8837         Add "pause" key, fix "menu" key.
8838
8839 2000-09-09  Martin Buchholz  <martin@xemacs.org>
8840
8841         * eval.c (reinit_vars_of_eval):
8842         Increase max_lisp_eval_depth to 1000,
8843         required for thai-xtis.el to byte-compile under some circumstances.
8844
8845 2000-09-04  Martin Buchholz  <martin@xemacs.org>
8846
8847         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
8848         From Kenichi Handa.
8849
8850 2000-09-01  Martin Buchholz  <martin@xemacs.org>
8851
8852         * make-src-depend: Make the generated Makefiles smaller.
8853
8854         * s/hpux.h (SETUP_SLAVE_PTY):
8855         Provide a %d in the format string for the errno argument.
8856
8857         * editfns.c (Ftemp_directory):
8858         Warning fix.
8859         Avoid buffer overrun on very long file name.
8860
8861         * input-method-xlib.c (XIM_init_device):
8862         6th parameter of XRegisterIMInstantiateCallback has different
8863         pointer types on different OSes, so simply cast to (void *).
8864
8865         * unexhp9k800.c: Warning fixes.  Fiddly changes.
8866
8867         * sysdll.c (dll_open):
8868         shl_load will hang hard if passed a NULL filename.
8869         Simply return NULL for compatibility with dlopen.
8870         * sysdll.c: Conform to XEmacs coding standards.
8871
8872         * sysdep.c (get_pty_max_bytes):
8873         Support pty input lines longer than 512 bytes on HP-UX 10.20.
8874
8875 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8876
8877         * tooltalk.c: Add #include <syssignal.h>
8878
8879 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
8880
8881         * s/hpux.h: Don't use undefined function sigunblock().
8882
8883 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8884
8885         * config.h.in: Add HAVE_BALLOON_HELP.
8886         * emacs.c: Use HAVE_BALLOON_HELP.
8887         * Makefile.in.in (x_objs):
8888         Make Balloon Help conditional on finding shape.h.
8889
8890 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
8891
8892         * syntax.c (regex_emacs_buffer_p): New variable.
8893         * syntax.h (regex_emacs_buffer_p): extern.
8894         * search.c (looking_at_1):
8895         (string_match_1):
8896         (fast_string_match):
8897         (search_buffer): Set regex_emacs_buffer_p.
8898         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
8899         when before_dot, at_dot, after_dot.
8900
8901 2000-08-23  Andy Piper  <andy@xemacs.org>
8902
8903         * gui-x.c (popup_selection_callback): Only set action_occurred
8904         when we really have an image instance.
8905         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8906
8907 2000-08-23  Andy Piper  <andy@xemacs.org>
8908
8909         * gui-msw.c (mswindows_handle_gui_wm_command): set
8910         action_occurred.
8911         * gui-x.c (popup_selection_callback): ditto.
8912
8913         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
8914         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
8915         (struct Lisp_Image_Instance): add action_occurred flag.
8916
8917         * glyphs.c (redisplay_subwindow): use action_occurred flag.
8918         (image_instance_changed): ditto.
8919         (reset_frame_subwindow_instance_cache): only unmap windows - do
8920         not remove them from the cache also.
8921
8922         * glyphs-widget.c (tab_control_update): better debug.
8923         (progress_gauge_update): ditto.
8924         (layout_update): ditto.
8925         (layout_instantiate): ditto.
8926         (tab_control_order_only_changed): cope with null pending items.
8927
8928         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
8929         debug. Force selection of an item when an action occurred. Cope
8930         with null pending_items.
8931         (mswindows_progress_gauge_redisplay): better debug.
8932         * glyphs-x.c (x_tab_control_redisplay): ditto.
8933
8934         * redisplay.c (redisplay_frame): reset the frame cache if the
8935         frame is garbaged.
8936
8937         * window.c (Fset_window_configuration): potentially re-enable
8938         frame cache reset.
8939         (window_unmap_subwindows): need to finalize instances here since
8940         it is only used in mark_window_as_deleted.
8941
8942 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
8943
8944         * nas.c (SndOpenDataForReading):
8945         nas.c (WaveOpenDataForReading):
8946         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
8947         Somehow escaped from the 2000-08-14 patch.
8948
8949 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
8950
8951         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
8952         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
8953
8954 2000-08-21  Andy Piper  <andy@xemacs.org>
8955
8956         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
8957         window if it is not already displayed.
8958
8959         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
8960         it is not already displayed.
8961
8962         * window.c (Fset_window_configuration): don't reset the frame
8963         cache.
8964
8965         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
8966         instances from the frame cache if we are actually finalizing them.
8967         (reset_frame_subwindow_instance_cache): reset frame cache only
8968         after unmapping everything.
8969         (map_subwindow): set displayed flag after mapping.
8970
8971 2000-08-21  Martin Buchholz  <martin@xemacs.org>
8972
8973         * data.c (indirect_function):
8974         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
8975
8976         * eval.c (function_argcount):
8977         Use original function when signaling errors.
8978
8979 2000-08-18  Andy Piper  <andy@xemacs.org>
8980
8981         * frame.c (delete_frame_internal): use new
8982         free_frame_subwindow_instances name.
8983
8984         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
8985         (add_tab_item): make return type correct.
8986         (mswindows_tab_control_instantiate): assert index of tab.
8987         (mswindows_tab_control_redisplay): Re-code to use
8988         gui_item_equal_sans_selected and gui_item_list_find_selected.
8989
8990         * glyphs-widget.c (tab_control_update): Correct comment.
8991
8992         * window.c (window_unmap_subwindows): use new
8993         unmap_subwindow_instance_cache_mapper.
8994         (window_unmap_subwindows_cache_mapper): deleted.
8995         (Fset_window_configuration): comparisons should now be with
8996         EQ. Preserve the subwindow instance cache across configuration
8997         changes.
8998         (allocate_window): ditto.
8999         (make_dummy_parent): ditto.
9000
9001         * glyphs.c (free_frame_subwindow_instances): rename from
9002         free_frame_subwindow_instance_cache. finalize all instances rather
9003         than just those in the display cache.
9004         (finalize_all_subwindow_instances): walk windows unmapping and
9005         finalizing subwindows.
9006         (unmap_subwindow_instance_cache_mapper): moved from
9007         window.c. Allow finalization as well as unmapping.
9008
9009         * gui.c (gui_item_list_find_selected): new function.
9010
9011         * gui.h (gui_item_list_find_selected): declare.
9012
9013         * glyphs-x.c (x_tab_control_redisplay): pick tab
9014         explicitly. Re-code to use gui_item_equal_sans_selected and
9015         gui_item_list_find_selected.
9016
9017         * glyphs-x.h: add lwlib-utils.h
9018
9019         * buffer.c (Frecord_buffer): undo previous change.
9020
9021 2000-08-09  Vin Shelton  <acs@xemacs.org>
9022
9023         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
9024         possible.  Create temporary files more securely.  The patch was
9025         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
9026         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
9027         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
9028         for details.
9029
9030 2000-08-07  Ben Wing  <ben@xemacs.org>
9031
9032         * getloadavg.c: remove duplicate (and windows-breaking)
9033         includes of fcntl.h and sys/file.h.
9034
9035         * nt.c: remove duplicate getloadavg() definition.
9036
9037         * sysdll.h (Qdll_filename_encoding): add missing stand-in
9038         encodings.
9039
9040 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9041
9042         * eval.c (function_argcount): If function needs to be autoloaded
9043         actually use the loaded definition.
9044         GCPRO function.
9045
9046 2000-08-05  Ben Wing  <ben@xemacs.org>
9047
9048         * getloadavg.c: add prototype for getloadavg().  remove
9049         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
9050         of the code).  remove duplicate header includes.
9051
9052         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
9053
9054         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
9055         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
9056         useful load average.
9057
9058         * alloc.c (reinit_alloc_once_early): removed references to
9059         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
9060         the lisp vars are the only things referencing the malloc_sbrk_*
9061         vars, and they were already if 0'd out.  these vars only exist
9062         in the older malloc.c, which is basically unused, and they're
9063         only for informational purposes.
9064
9065         * m\*.h: removed useless VIRT_ADDR_VARIES.
9066
9067         * m\powerpc.h: removed stray NO_ARG_ARRAY.
9068
9069 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9070
9071         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
9072         color if the image is a mono pixmap.
9073
9074 2000-07-30  Ben Wing  <ben@xemacs.org>
9075
9076         * Makefile.in.in (release):
9077         Remove stray @.
9078
9079         * buffer.c (directory_is_current_directory):
9080         * dired-msw.c (mswindows_get_files):
9081         * dired.c:
9082         * dired.c (Fdirectory_files):
9083         * dired.c (file_name_completion_stat):
9084         * dired.c (Ffile_attributes):
9085         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
9086         preprocessor tricks, to avoid problems on some machines
9087         (e.g. SCO).
9088
9089         * callproc.c (egetenv): GC docs.
9090
9091         * console-msw.h:
9092         * console-msw.h (struct mswindows_dialog_id):
9093         * lrecord.h (lrecord_type):
9094         New object for use with MSW dialogs.
9095
9096         * console.h (struct console_methods):
9097         New enable/disable frame methods, for proper modal dialogs.
9098
9099         * device-msw.c (msprinter_default_printer): Fix to follow
9100         proper Mule conventions.
9101
9102         * device-msw.c:
9103         * device-msw.c (signal_open_printer_error):
9104         * device-msw.c (msprinter_init_device):
9105         * device-msw.c (ensure_not_printing):
9106         * device-msw.c (plist_get_margin):
9107         * device-msw.c (Fmsprinter_select_settings):
9108         * device-msw.c (finalize_devmode):
9109         * device-msw.c (Fmsprinter_settings_despecialize):
9110         * device-msw.c (signal_enum_priner_error):
9111         * extents.c (decode_extent):
9112         * extents.c (decode_map_extents_flags):
9113         * extents.c (decode_extent_at_flag):
9114         * extents.c (Fextent_at):
9115         * extents.c (Fextents_at):
9116         * extents.c (symbol_to_glyph_layout):
9117         [[[[2]]]] Use structured errors.
9118
9119         * dialog-msw.c:
9120         * dialog-msw.c (mswindows_is_dialog_msg):
9121         * dialog-msw.c (mark_mswindows_dialog_id):
9122         * dialog-msw.c (dialog_proc):
9123         * dialog-msw.c (handle_question_dialog_box):
9124         * dialog-msw.c (syms_of_dialog_mswindows):
9125         Define new object to clean up marking; use it as a dialog identifier.
9126         Call new delete-dialog-box-hook.
9127
9128         * dialog-x.c (dbox_selection_callback):
9129         * dialog-x.c (dbox_descriptor_to_widget_value):
9130         * dialog-x.c (x_make_dialog_box_internal):
9131         Call new delete-dialog-box-hook.
9132         Return an id.
9133
9134         * dialog.c:
9135         * dialog.c (syms_of_dialog):
9136         * dialog.c (vars_of_dialog):
9137         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
9138
9139         * eval.c:
9140         * eval.c (signal_call_debugger):
9141         when noninteractive, output stack traces on the console instead
9142         of in a (never-seen) buffer.
9143
9144         * eval.c (signal_type_error):
9145         * eval.c (invalid_argument_2):
9146         * lisp.h:
9147         new funs for use w/structured errors.
9148
9149         * event-Xt.c:
9150         * event-Xt.c (x_to_emacs_keysym):
9151         * event-Xt.c (describe_event):
9152         * event-Xt.c (emacs_Xt_event_handler):
9153         * event-Xt.c (vars_of_event_Xt):
9154         * event-msw.c:
9155         * event-msw.c (mswindows_wnd_proc):
9156         * event-msw.c (vars_of_event_mswindows):
9157         rename {x,mswindows}-debug-events to debug-{}-events for
9158         consistency with other debug-foo variables.
9159
9160         * event-stream.c:
9161         document next-event more clearly.
9162
9163         * fileio.c (Ffile_name_directory):
9164         * fileio.c (Ffile_name_nondirectory):
9165         * fileio.c (Funhandled_file_name_directory):
9166         * fileio.c (file_name_as_directory):
9167         * fileio.c (Ffile_name_as_directory):
9168         * fileio.c (directory_file_name):
9169         * fileio.c (Fdirectory_file_name):
9170         * fileio.c (Fmake_temp_name):
9171         * fileio.c (Ffile_truename):
9172         * fileio.c (Fsubstitute_in_file_name):
9173         * fileio.c (expand_and_dir_to_file):
9174         * fileio.c (barf_or_query_if_file_exists):
9175         * fileio.c (check_executable):
9176         * fileio.c (Ffile_exists_p):
9177         * fileio.c (Ffile_writable_p):
9178         * fileio.c (Ffile_directory_p):
9179         * fileio.c (Ffile_regular_p):
9180         * fileio.c (Ffile_modes):
9181         * fileio.c (Ffile_newer_than_file_p):
9182         * fileio.c (Fverify_visited_file_modtime):
9183         * fileio.c (Fset_visited_file_modtime):
9184         * fileio.c (auto_save_1):
9185         (1). (2).
9186         fix up gcpro's.
9187
9188         * frame-msw.c:
9189         * frame-msw.c (mswindows_init_frame_1):
9190         * frame-msw.c (mswindows_enable_frame):
9191         * frame-msw.c (error_frame_unsizable):
9192         * frame-msw.c (msprinter_init_frame_1):
9193         * frame-msw.c (msprinter_init_frame_3):
9194         * frame-msw.c (console_type_create_frame_mswindows):
9195         (2).
9196         implement new enable/disable frame methods.
9197
9198         * frame-x.c:
9199         * frame-x.c (x_enable_frame):
9200         * frame-x.c (console_type_create_frame_x):
9201         implement new enable/disable frame methods.
9202
9203         * frame.c:
9204         * frame.c (Fdisable_frame):
9205         * frame.c (syms_of_frame):
9206         * frame.h (struct frame):
9207         implement new enable/disable frame methods/functions.
9208
9209         * general-slots.h:
9210         add initial-focus.
9211
9212         * glyphs-msw.c (mswindows_widget_instantiate):
9213         comment that initial-focus should be implemented.
9214
9215         * glyphs-widget.c:
9216         * glyphs-widget.c (check_valid_instantiator):
9217         * glyphs-widget.c (check_valid_orientation):
9218         * glyphs-widget.c (check_valid_tab_orientation):
9219         * glyphs-widget.c (check_valid_justification):
9220         * glyphs-widget.c (check_valid_border):
9221         * glyphs-widget.c (check_valid_callback):
9222         * glyphs-widget.c (check_valid_int_or_function):
9223         * glyphs-widget.c (check_valid_string_or_vector):
9224         * glyphs-widget.c (check_valid_item_list_1):
9225         * glyphs-widget.c (widget_validate):
9226         * glyphs-widget.c (combo_box_validate):
9227         * glyphs-widget.c (widget_instantiate):
9228         * glyphs-widget.c (syms_of_glyphs_widget):
9229         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
9230         * glyphs-widget.c (image_instantiator_combo_box):
9231         * glyphs-widget.c (image_instantiator_scrollbar):
9232         * glyphs-widget.c (image_instantiator_tab_control):
9233         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
9234         (2).
9235         support (unimplemented) keyword initial-focus.
9236         reindent long macros.
9237
9238         * glyphs-x.c (x_redisplay_widget):
9239         * glyphs-x.c (x_button_instantiate):
9240         * glyphs-x.c (x_button_redisplay):
9241         * glyphs-x.c (x_progress_gauge_instantiate):
9242         * glyphs-x.c (x_edit_field_instantiate):
9243         * glyphs-x.c (x_combo_box_instantiate):
9244         * glyphs-x.c (x_tab_control_instantiate):
9245         * glyphs-x.c (x_label_instantiate):
9246         * gui-x.c:
9247         * gui-x.c (button_item_to_widget_value):
9248         * gui-x.c (gui_items_to_widget_values_1):
9249         * gui-x.c (gui_item_children_to_widget_values):
9250         * gui-x.c (gui_items_to_widget_values):
9251         * gui-x.h:
9252         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9253         add new flag to gui-parsing routines to indicate whether
9254         accelerator specs should be supported.
9255
9256         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
9257
9258         * glyphs.h (struct Lisp_Image_Instance):
9259         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
9260         add initial-focus flag.
9261
9262         * gui.c:
9263         * gui.c (syms_of_gui):
9264         * gui.c (vars_of_gui):
9265         clean up menu-no-selection-hook.
9266
9267         * gui.h:
9268         support delete-dialog-box-hook.
9269
9270         * lread.c (Fload_internal):
9271         * lread.c (locate_file_in_directory_mapper):
9272         (1).
9273
9274         * lrecord.h:
9275         * lrecord.h (struct toolbar_button):
9276         * lrecord.h (syms_of_toolbar):
9277         document how to create a new object.
9278
9279         * menubar-msw.c (mswindows_char_is_accelerator):
9280         may be called on frames w/o menus.
9281
9282         * menubar.c (vars_of_menubar):
9283         clean up :filter docs.
9284
9285         * nt.c (readdir):
9286         * ntproc.c:
9287         (1).
9288
9289         * process-nt.c:
9290         * process-nt.c (validate_signal_number):
9291         * process-nt.c (signal_cannot_launch):
9292         * process-nt.c (nt_create_process):
9293         * process-nt.c (nt_send_process):
9294         * process-nt.c (nt_kill_child_process):
9295         * process-nt.c (nt_open_network_stream):
9296         * process-nt.c (syms_of_process_nt):
9297         (2).
9298         delete quote-handling.  call new lisp code that does it better.
9299
9300         * process-unix.c (connect_to_file_descriptor):
9301         * process-unix.c (allocate_pty):
9302         * process-unix.c (unix_send_process):
9303         * process-unix.c (unix_kill_child_process):
9304         * process-unix.c (unix_open_network_stream):
9305         * process-unix.c (unix_open_multicast_group):
9306         (1). (2).
9307
9308         * process.c:
9309         * process.c (Fstart_process_internal):
9310         (2).  need to canonicalize process path even if absolute.
9311
9312         * select-msw.c (symbol_to_ms_cf):
9313         * select-msw.c (ms_cf_to_symbol):
9314         * select-msw.c (cf_is_autofreed):
9315         * select-msw.c (mswindows_destroy_selection):
9316         * select.c:
9317         * select.c (syms_of_select):
9318         * select.h:
9319         support dibv5, fix bugs. (from Mike Alexander)
9320
9321         * select.c (Fget_selection_internal):
9322         * select.c (select_convert_out):
9323
9324         * sysdep.c:
9325         * sysdep.c (xemacs_stat):
9326         renamed.
9327
9328         * sysdep.c (mkdir):
9329         * sysdep.c (rmdir):
9330         but keep original stat() here because we provide encapsulation
9331         around these funs.
9332
9333         * sysfile.h:
9334         * sysfile.h (fstat):
9335         remove stat garbage.
9336
9337         * syswindows.h:
9338         fix X/MSW conflict.
9339         don't include tchar.h.  it's inappropriate because it makes
9340         compile-time distinctions when we want runtime distinctions.
9341         (we provide our own tchar replacements)
9342
9343         * toolbar.c:
9344         use default object printer for toolbar-button.
9345
9346         * unexcw.c:
9347         make sure we don't encapsulate.
9348
9349         * window.c (vars_of_window):
9350         emphasize that temp-buffer-show-hook is obsolete.
9351
9352 2000-08-05  Martin Buchholz  <martin@xemacs.org>
9353
9354         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
9355         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
9356
9357         * events.c (Fevent_timestamp_lessp):
9358         Not 64-bit clean.  Use EMACS_INT, not int.
9359
9360 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
9361
9362         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
9363         unsigned int and changed the last enum to
9364         lrecord_type_last_built_in_type.
9365         (lrecord_implementations_table): changed prototype to know how
9366         long the array is supposed to be.
9367         (lrecord_type_count): new unsigned int to keep track of the
9368         current number of lisp lrecord types.
9369         (DEFINE_EXTERNAL_LRECORD):
9370         (DECLARE_EXTERNAL_LRECORD): Added these two for external
9371         dynamic-modules to declare new lisp types. They are the same
9372         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
9373         int for each new type, and increment lrecord_type_count by 1.
9374
9375         * alloc.c (lrecord_implementations_table): Changed to reference
9376         lrecord_type_last_built_in_type for the size of the array.
9377         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
9378
9379 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9380
9381         * glyphs.h (check_valid_item_list): Renamed from
9382         check_valid_item_list_1.
9383
9384 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
9385
9386         * select.c (Qselect_coerce): New.
9387         * select.c (Vselection_coercion_alist): New.
9388         * select.c (syms_of_select): Declare.
9389         * select.c (get-selection-internal): Use it.
9390         Use the new select-coerce functionality.
9391
9392         * select.c (select_coerce): New.
9393         * select.h (select_coerce): Declare.
9394         New function to coerce one type of data into another.
9395
9396 2000-08-03  Martin Buchholz  <martin@xemacs.org>
9397
9398         * callproc.c (Fcall_process_internal):
9399         (Fcall_process_internal):
9400         * process-unix.c (unix_create_process):
9401         Save and restore the value of errno, so that error messages are accurate.
9402
9403 2000-08-01  Martin Buchholz  <martin@xemacs.org>
9404
9405         * elhash.c (print_hash_table):
9406         Fix printing of hash tables to also use `key-and-value' instead of `t'.
9407         Prettify docstrings and indentation.
9408
9409 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
9410
9411         * window.c (Fwindow_pixel_edges): Subtract frame border and
9412         gutter size.
9413
9414 2000-07-31  Andy Piper  <andy@xemacs.org>
9415
9416         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
9417         will acknowledge the change.
9418
9419         * glyphs.h: declare tab_control_order_only_changed.
9420
9421         * glyphs-x.c (x_tab_control_redisplay): use
9422         tab_control_order_only_changed.
9423
9424         * glyphs-widget.c (tab_control_order_only_changed): new function.
9425
9426         * glyphs-msw.c (mswindows_tab_control_redisplay): use
9427         tab_control_order_only_changed.
9428
9429         * gui.c (gui_item_equal_sans_selected): new function.
9430         (gui_item_equal): use it.
9431
9432         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
9433         :properties in favor of :items..
9434
9435         * glyphs-widget.c (check_valid_item_list): rename from
9436         check_valid_item_list_1.
9437         (check_valid_item_list_1): renamed.
9438         (combo_box_validate): deprecate :properties in favor of :items.
9439         (widget_instantiate): ditto.
9440         (tab_control_update): ditto.
9441         (image_instantiator_combo_box): ditto.
9442         (image_instantiator_tree_view): ditto.
9443         (image_instantiator_tab_control): ditto.
9444         (layout_post_instantiate): remove dead code.
9445
9446         * print.c (debug_print_no_newline): only write to debugger if in
9447         WIN32_NATIVE.
9448
9449         * elhash.c (Fmake_hash_table): update doc string.
9450
9451         * event-msw.c (mswindows_wnd_proc): don't allow processing of
9452         messages whilst in GC. This at least stops XEmacs crashing but has
9453         the potential for wierd behaviour.
9454
9455 2000-07-31  Martin Buchholz  <martin@xemacs.org>
9456
9457         * config.h.in:
9458         Make existence of s&m files optional.
9459
9460         * s/bsd386.h: Remove HAVE_GETLOADAVG.
9461         * s/freebsd.h: Remove HAVE_GETLOADAVG.
9462         * s/gnu.h: Remove HAVE_GETLOADAVG.
9463         * s/netbsd.h: Remove HAVE_GETLOADAVG.
9464         * s/sol2.h: Remove HAVE_GETLOADAVG.
9465         * lisp.h: Remove getloadavg() declaration.
9466         * fns.c:
9467         Include <sys/loadavg.h> if available.
9468         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
9469         * config.h.in:  Group together getloadavg()-related macros.
9470         Use only configure-time tests to detect getloadavg().
9471
9472 2000-07-30  Martin Buchholz  <martin@xemacs.org>
9473
9474         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
9475
9476 2000-07-25  Andy Piper  <andy@xemacs.org>
9477
9478         * syswindows.h: add tchar.h for native builds.
9479
9480         * frame.c (syms_of_frame): remove set-glyph-image.
9481
9482         * general-slots.h: add Qset_glyph_image.
9483
9484         * glyphs-widget.c (layout_update): add domain arg to
9485         set-glyph-image.
9486         (syms_of_glyphs_widget): remove set-glyph-image.
9487
9488 2000-07-23  Ben Wing  <ben@xemacs.org>
9489
9490         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
9491         Vpopup_frame_list.
9492
9493 2000-07-22  Andy Piper  <andy@xemacs.org>
9494
9495         * symsinit.h: add syms_of_win32().
9496
9497         * gui-msw.c (syms_of_gui_mswindows): remove
9498         Fmswindows_shell_execute.
9499         (Fmswindows_shell_execute): moved to win32.c.
9500
9501         * emacs.c (main_1): add syms_of_win32 ().
9502
9503         * win32.c (init_potentially_nonexistent_functions): rewrite in
9504         compiler-friendly terms.
9505         (Fmswindows_shell_execute): move here from gui-msw.c.
9506         (syms_of_win32): new.
9507
9508         * device-msw.c (Fmswindows_printer_list): clean up args to
9509         EnumPrinters.
9510         Don't include tchar under cygwin or mingw.
9511         (msprinter_default_printer): make cygwin-friendly.
9512
9513 2000-07-21  Andy Piper  <andy@xemacs.org>
9514
9515         * glyphs-widget.c (image_instantiator_tree_view): use tab
9516         control's update function.
9517         (layout_property): new function. Retrieve items.
9518
9519         * glyphs-msw.c (mswindows_tree_view_redisplay): new
9520         function. Re-populate the tree view from the pending items.
9521
9522         * glyphs.c (instantiate_image_instantiator): Make sure the domain
9523         is designated the parent if the domain is an image instance. This
9524         is needed so that dirtiness can be cascade up the hierarchy and
9525         thus for layout children to be redisplayed correctly.
9526         (allocate_image_instance): rename glyph -> parent.
9527
9528         * redisplay.h: change redisplay_output_layout signature.
9529
9530         * redisplay-msw.c (mswindows_output_display_block): use domain
9531         arg.
9532
9533         * redisplay-x.c (x_output_display_block): use domain arg.
9534
9535 2000-07-10  Andy Piper  <andy@xemacs.org>
9536
9537         * window.c (Fset_window_configuration): add comment.
9538
9539         * redisplay-output.c (compare_runes):
9540         (redisplay_output_subwindow): redisplay rather than update subwindow.
9541         (redisplay_output_layout): ditto.
9542
9543         * redisplay-msw.c (mswindows_frame_output_end):
9544         (mswindows_frame_output_end): make defer window pos optional.
9545
9546         * lisp.h: add Flast.
9547
9548         * glyphs.h (struct image_instantiator_methods): add dest_mask top
9549         normalize method. Change update method to be for changed
9550         instantiators. Add redisplay method. Change signature of layout
9551         method.
9552         (struct Lisp_Image_Instance): add instantiator.
9553         (IMAGE_INSTANCE_INSTANTIATOR): new.
9554         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
9555         (XIMAGE_INSTANCE_INSTANTIATOR): new.
9556         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
9557
9558         * glyphs.c:
9559         (find_instantiator_differences): new function.
9560         (Fset_instantiator_property): new convenience function.
9561         (check_image_instance_structure): strictly check for vector
9562         instantiators.
9563         (normalize_image_instantiator): make non-static.
9564         (instantiate_image_instantiator): pass on dest_mask and use new
9565         signatures for image_instance_layout and friends.
9566         (mark_image_instance): mark the instantiator. Mark the subwindow
9567         face not the widget face.
9568         (image_instance_equal): add instantiator.
9569         (image_instance_hash): ditto.
9570         (allocate_image_instance): ditto.
9571         (Fset_image_instance_property): removed.
9572         (Fimage_instance_file_name): ditto.
9573         (Fcolorize_image_instance): ditto.
9574         (image_instance_layout): add offsets to be set.
9575         (update_image_instance): new function. update an image instance
9576         from its changed instantiator.
9577         (inherit_normalize): add dest_mask.
9578         (xbm_normalize): ditto.
9579         (xface_normalize): ditto.
9580         (xpm_normalize): ditto.
9581         (text_update): set_property -> update.
9582         (image_instantiate): use the glyph identity as a hash key, not the
9583         instantiator.
9584         (glyph_width): use new image_instance_layout signature.
9585         (glyph_ascent): ditto.
9586         (glyph_descent): ditto.
9587         (glyph_height): ditto.
9588         (glyph_query_geometry): ressurrect.
9589         (glyph_layout): ditto.
9590         (redisplay_subwindow): update -> redisplay.
9591         (syms_of_glyphs): add Fset_instantiator_property.
9592         (image_instantiator_format_create): set_property -> update.
9593
9594         * glyphs-x.c:
9595         (autodetect_normalize): add dest_maks to signature.
9596         (x_redisplay_subwindow): update -> redisplay.
9597         (x_redisplay_widget): ditto.
9598         (x_button_redisplay): ditto.
9599         (x_progress_gauge_redisplay): ditto.
9600         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
9601         stacking order.
9602         (console_type_create_glyphs_x): update -> redisplay.
9603         (image_instantiator_format_create_glyphs_x): ditto.
9604
9605         * glyphs-widget.c:
9606         (check_valid_instantiator): disallow glyphs in the instantiator,
9607         they must now be vectors.
9608         (check_valid_instantiator_list): ditto.
9609         (glyph_instantiator_to_glyph): use internal symbol rather than
9610         intern.
9611         (widget_update): renamed from widget_set_property. Call cascaded
9612         update methods.
9613         (redisplay_widget): renamed from update_widget.
9614         (widget_layout): image_instance_layout now takes position as well
9615         as size.
9616         (widget_normalize): ditto.
9617         (widget_instantiate): ditto.
9618         (tab_control_query_geometry) ditto.:
9619         (tab_control_update): renamed from tab_control_set_property.
9620         (progress_gauge_update): set_property -> update.
9621         (layout_normalize): rewrite so that child instantiators are
9622         normalized also.
9623         (layout_update): new function. Create glyphs from the normalized
9624         children and cope with any other layout keywords. We do not
9625         instantiate children here that will be take care of by
9626         redisplay_output_layout.
9627         (layout_instantiate): call layout_update and not much else.
9628         (layout_post_instantiate): not sure whether this is needed
9629         anymore.
9630         (layout_query_geometry): query glyph geometry rather than
9631         image_instance geometry.
9632         (layout_layout): set offsets from pass in parameters. Use glyph
9633         geometry and layout functions rather than image instance ones.
9634         (native_layout_layout): ditto.
9635         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
9636         (image_instantiator_widget): set_property -> update.
9637         (image_instantiator_buttons): ditto.
9638         (image_instantiator_progress_guage): ditto.
9639         (image_instantiator_tab_control): ditto.
9640         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
9641         (image_instantiator_layout): add update method.
9642
9643         * glyphs-msw.c (bmp_normalize):
9644         (mswindows_resource_normalize): add dest_mask so that it can be
9645         proprogated by layout_normalize.
9646         (begin_defer_window_pos): make optional because it may not be the
9647         right thing to do and it introduces differences with X.
9648         (mswindows_unmap_subwindow): ditto.
9649         (mswindows_map_subwindow): ditto.
9650         (mswindows_redisplay_subwindow): renamed from
9651         mswindows_update_subwindow.
9652         (mswindows_redisplay_widget): ditto.
9653         (mswindows_button_redisplay): renamed from
9654         mswindows_button_update. Update is now what the instantiation
9655         function does for a changed instantiator.
9656         (mswindows_progress_gauge_instantiate): set the progress value
9657         here if appropriate.
9658         (mswindows_tab_control_redisplay): cope with re-ordering of the
9659         members of the tab widget by simply selecting the new top
9660         widget. This makes things appear ok if you click on a tab.
9661         (mswindows_combo_box_instantiate): image_instance_layout now takes
9662         position as well as size.
9663         (mswindows_progress_gauge_redisplay): renamed from
9664         mswindows_progress_gauge_update.
9665         (console_type_create_glyphs_mswindows): fix update -> redisplay.
9666         (image_instantiator_format_create_glyphs_mswindows): ditto.
9667
9668         * glyphs-eimage.c (jpeg_normalize):
9669         (gif_normalize):
9670         (png_normalize):
9671         (tiff_normalize): add dest_mask so that it can be proprogated by
9672         layout_normalize.
9673
9674         * elhash.c:
9675         (print_hash_table):
9676         (hash_table_weakness_validate):
9677         (decode_hash_table_weakness):
9678         (Fhash_table_weakness):
9679         (Fhash_table_type):
9680         (syms_of_elhash): use Ben's naming scheme for hashtable types..
9681
9682         * console.h (struct console_methods): move update_* to
9683         redisplay_*.
9684
9685 2000-07-20  Ben Wing  <ben@xemacs.org>
9686
9687         * *.[ch] (XSETOBJ): remove unused middle argument.
9688         lisp-disunion.h: correct wrap_object() to one argument.
9689
9690 2000-07-15  Ben Wing  <ben@xemacs.org>
9691
9692         * s/cygwin32.h:
9693         * s/cygwin32.h (CYGWIN_CONV_PATH):
9694         Add missing logb prototype for v1.1.
9695         Use post-b20 names and alias to pre-b20 names when pre-b20.
9696
9697         * s/windowsnt.h: [5].
9698
9699 2000-07-15  Ben Wing  <ben@xemacs.org>
9700
9701         * Makefile.in.in (x_objs):
9702         * Makefile.in.in (sheap_objs):
9703         * Makefile.in.in (objs):
9704         added win32.o, cosmetic cleanups.
9705
9706         * alloc.c (Fmake_byte_code):
9707         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
9708         etc. macros which declare their own args now.
9709
9710         * alloc.c (syms_of_alloc):
9711         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
9712
9713         * buffer.c:
9714         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
9715
9716         * buffer.c (Fget_file_buffer):
9717         Fixed GCPRO problem.
9718
9719         * buffer.c (get_truename_buffer):
9720         Fixed comment about GC checking.
9721
9722         * buffer.c (syms_of_buffer):
9723         Undeclared those dedicated frame funs.
9724         [2].
9725
9726         * buffer.h:
9727         Define convenience macros for internal/external conversions.
9728         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
9729         and Qenvironment_variable_encoding for cleaner code.
9730
9731         * bufslots.h:
9732         Remove dedicated-frame; in lisp.
9733
9734         * bytecode.c (funcall_compiled_function):
9735         [1].
9736
9737         * bytecode.c (syms_of_bytecode):
9738         [2].
9739
9740         * console-msw.c:
9741         * console-msw.c (mswindows_show_console): Rewrote.
9742
9743         * console-msw.c (Fmswindows_debugging_output): New.
9744         Sends to OutputDebugString (special MSWin debugger interface).
9745
9746         * console-msw.c (Fmswindows_message_box):
9747         Fixed stupid bugs so it works when called from kill-emacs.
9748
9749         * console-msw.c (syms_of_console_mswindows):
9750         Declare Fmswindows_debugging_output.
9751
9752         * console-msw.h:
9753         New MSWin prototypes.
9754
9755         * console-msw.h (struct mswindows_frame):
9756         New entry last-click-mods for improved button-modifier support.
9757
9758         * console-msw.h (FRAME_MSWINDOWS_POPUP):
9759         New struct entry `popup' with corresponding accessor.
9760
9761         * console-x.c:
9762         * console-x.c (split_up_display_spec):
9763         * console-x.c (get_display_arg_connection):
9764         * console-x.c (x_semi_canonicalize_console_connection):
9765         * console-x.c (x_canonicalize_device_connection):
9766         [[[6]]]: Change char to more specific type.
9767         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
9768
9769         * console-x.c (x_semi_canonicalize_console_connection):
9770         * console-x.c (x_canonicalize_device_connection):
9771         [[[9]]]: Fix up error signalling to use new structured error system.
9772
9773         * console-x.h:
9774         [[[4]]]: Define codesys aliases:
9775         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
9776         Qx_color_name_encoding, Qx_display_name_encoding.
9777
9778         * console.h (struct console_methods):
9779         New method make_dialog_box_internal supersedes older
9780         popup_dialog_box method.
9781
9782         * data.c:
9783         Define many new errors, part of new structured errors.
9784
9785         * data.c (init_errors_once_early):
9786         * data.c (syms_of_data):
9787         [2].
9788
9789         * device-msw.c (mswindows_init_device):
9790         [[[5]]]: Cleanup to support NT 3.51.
9791
9792         * device-msw.c (decode_devmode): Cleanup.
9793
9794         * device-msw.c (mswindows_handle_print_setup_dialog_box):
9795         * device-msw.c (mswindows_handle_print_dialog_box):
9796         * device-msw.c (mswindows_handle_page_setup_dialog_box):
9797         * device-msw.c (syms_of_device_mswindows):
9798         Delete the dialog box primitives recently introduced by Kirill and
9799         instead interface to general dialog box interface.
9800
9801         * device-x.c:
9802         * device-x.c (compute_x_app_name):
9803         * device-x.c (x_init_device):
9804         * device-x.c (Fx_valid_keysym_name_p):
9805         * device-x.c (Fx_set_font_path):
9806         [6].
9807         [7].
9808
9809         * device.h (wrap_device): New.
9810         First of its kind; meant to replace XSETDEVICE.
9811
9812         * dialog-msw.c: Many file-dialog symbols.
9813
9814         * dialog-msw.c (mswindows_register_popup_frame): New.
9815         * dialog-msw.c (mswindows_is_dialog_msg): New.
9816         For supporting kbd traversal in dialog boxes.
9817
9818         * dialog-msw.c (dialog_proc):
9819         Support hitting ESC in dialogs.
9820
9821         * dialog-msw.c (struct):
9822         Common dialog box errors.
9823
9824         * dialog-msw.c (handle_file_dialog_box): New.
9825         Add file dialog code.
9826
9827         * dialog-msw.c (handle_question_dialog_box):
9828         Redo existing code to support new question dialog syntax.
9829
9830         * dialog-msw.c (console_type_create_dialog_mswindows):
9831         We support new dialog console method.
9832
9833         * dialog-msw.c (syms_of_dialog_mswindows):
9834         * dialog-msw.c (vars_of_dialog_mswindows):
9835         New file dialog symbols, vars.
9836
9837         * dialog-x.c:
9838         * dialog-x.c (maybe_run_dbox_text_callback):
9839         * dialog-x.c (dbox_descriptor_to_widget_value):
9840         * dialog-x.c (x_make_dialog_box_internal):
9841         * dialog-x.c (console_type_create_dialog_x):
9842         Mule-ize entire file.
9843         Redo to support question dialog syntax.
9844         [6].
9845
9846         * dialog.c:
9847         * dialog.c (Fmake_dialog_box_internal):
9848         * dialog.c (syms_of_dialog):
9849         Kill old popup-dialog-box, replace with new primitive.
9850         Just call device method or signal error.
9851
9852         * eldap.c (Fldap_open):
9853         * eldap.c (Fldap_search_basic):
9854         * eldap.c (Fldap_add):
9855         * eldap.c (Fldap_modify):
9856         [1].
9857         [7].
9858
9859         * emacs.c:
9860         * emacs.c (make_arg_list_1):
9861         * emacs.c (make_arg_list):
9862         Mule-ize call to dll_init().
9863         [6].
9864         [8].
9865
9866         * emacs.c (make_argc_argv):
9867         * emacs.c (free_argc_argv):
9868         * emacs.c (init_cmdargs):
9869         * emacs.c (main_1):
9870         * emacs.c (Fkill_emacs):
9871         * emacs.c (Fdump_emacs):
9872         Update comments about what can be used in syms_* etc.
9873         Call init_win32() when necessary.
9874         Fix up MS Win dialog box in kill-buffer to actually work right.
9875         [7].
9876
9877         * eval.c:
9878         * eval.c (For):
9879         * eval.c (Fand):
9880         * eval.c (Fprogn):
9881         * eval.c (Fprog1):
9882         * eval.c (Fprog2):
9883         * eval.c (FletX):
9884         * eval.c (Flet):
9885         * eval.c (condition_case_3):
9886         * eval.c (Feval):
9887         * eval.c (function_argcount):
9888         * eval.c (funcall_lambda):
9889         [1].
9890
9891         * eval.c (type_error): New.
9892         * eval.c (maybe_type_error): New.
9893         * eval.c (continuable_type_error): New.
9894         * eval.c (maybe_continuable_type_error): New.
9895         * eval.c (type_error_with_frob): New.
9896         * eval.c (maybe_type_error_with_frob): New.
9897         * eval.c (continuable_type_error_with_frob): New.
9898         * eval.c (maybe_continuable_type_error_with_frob): New.
9899         New functions for use with structured errors.
9900
9901         * event-Xt.c:
9902         * event-Xt.c (x_event_to_emacs_event):
9903         Buttons are now modifiers too.
9904
9905         * event-Xt.c (emacs_Xt_current_event_timestamp):
9906         Implement new event method.
9907         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
9908
9909         * event-msw.c:
9910         * event-msw.c (ntpipe_shove_writer): [5].
9911         * event-msw.c (mswindows_enqueue_mouse_button_event):
9912         * event-msw.c (mswindows_drain_windows_queue):
9913         * event-msw.c (mswindows_wnd_proc): [7].
9914         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
9915         * event-msw.c (mswindows_modifier_state):
9916         Throughout: support new button modifiers.
9917
9918         * event-msw.c (emacs_mswindows_current_event_timestamp):
9919         Implement new event method.
9920         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
9921
9922         * event-stream.c:
9923         * event-stream.c (event_stream_current_event_timestamp): New.
9924         * event-stream.c (maybe_kbd_translate): New functionality.
9925         * event-stream.c (vars_of_event_stream):
9926         Document new kbd-translate-table functionality.
9927
9928         * event-stream.c (Fcurrent_event_timestamp): New.
9929         New primitive for use in fabricated events.
9930         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
9931
9932         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
9933
9934         * events.c:
9935         * events.c (Fmake_event):
9936         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
9937         [1].
9938         [9].
9939
9940         * events.c (format_event_object): fix gcc warnings.
9941
9942         * events.c (Fevent_timestamp): Document new primitives.
9943
9944         * events.c (TIMESTAMP_HALFSPACE): New.
9945
9946         * events.c (Fevent_timestamp_lessp): New.  New primitive for
9947         comparing timestamps correctly (half-space algorithm).
9948
9949         * events.c (Fevent_modifier_bits): Doc fix.
9950
9951         * events.c (Fevent_modifiers): Major doc addition.
9952         * events.c (event_x_y_pixel_internal): Typo fix.
9953         * events.c (syms_of_events): Declare new primitives.
9954
9955         * events.h:
9956         Update long comment for button modifiers, timestamps.
9957
9958         * events.h (struct event_stream):
9959         New current_event_timestamp method.
9960
9961         * extents.c:
9962         * extents.c (extent_in_region_p):
9963         * extents.c (decode_extent):
9964         * extents.c (Fset_extent_parent):
9965         * extents.c (decode_map_extents_flags):
9966         Fix gcc warnings.
9967         [9].
9968
9969         * extents.c (struct extent_at_arg):
9970         * extents.c (decode_extent_at_flag):
9971         * extents.c (extent_at_mapper):
9972         * extents.c (extent_at_bytind):
9973         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
9974         * extents.c (Fextents_at): New primitive. [9].
9975         * extents.c (symbol_to_glyph_layout): [9].
9976         Support new primitive `extents-at'.
9977
9978
9979         * extents.c (get_text_property_bytind):
9980         extent_at_bytind has another arg.
9981         [9].
9982
9983         * extents.c (syms_of_extents): New primitive.
9984
9985         * file-coding.c (Fmake_coding_system): [1].
9986         * file-coding.c (subsidiary_coding_system): fix gcc warning
9987         * file-coding.c (syms_of_file_coding): [2].
9988
9989         * fileio.c (Fexpand_file_name):
9990         * fileio.c (Fsysnetunam):
9991         * fileio.c (Ffile_exists_p):
9992         * fileio.c (Ffile_executable_p):
9993         * fileio.c (Fverify_visited_file_modtime):
9994         Clean up GCPROing.
9995
9996         * fileio.c (syms_of_fileio): [2].
9997
9998         * filelock.c (lock_file_1):
9999         * filelock.c (current_lock_owner):
10000         * filelock.c (lock_if_free):
10001         * filelock.c (lock_file):
10002         * filelock.c (unlock_file):
10003         Clean up GCPROing.
10004
10005         * fns.c (concat): Fix gcc warning.
10006
10007         * fns.c (Fmember):
10008         * fns.c (Fold_member):
10009         * fns.c (Fmemq):
10010         * fns.c (Fold_memq):
10011         * fns.c (memq_no_quit):
10012         * fns.c (Fassoc):
10013         * fns.c (Fold_assoc):
10014         * fns.c (Fassq):
10015         * fns.c (Fold_assq):
10016         * fns.c (assq_no_quit):
10017         * fns.c (Frassoc):
10018         * fns.c (Fold_rassoc):
10019         * fns.c (Frassq):
10020         * fns.c (Fold_rassq):
10021         * fns.c (rassq_no_quit):
10022         * fns.c (Fdelete):
10023         * fns.c (Fold_delete):
10024         * fns.c (Fdelq):
10025         * fns.c (Fold_delq):
10026         * fns.c (delq_no_quit):
10027         * fns.c (Fremassoc):
10028         * fns.c (Fremassq):
10029         * fns.c (remassq_no_quit):
10030         * fns.c (Fremrassoc):
10031         * fns.c (Fremrassq):
10032         * fns.c (remrassq_no_quit):
10033         * fns.c (Freverse):
10034         * fns.c (mapcar1):
10035         [1].
10036
10037         * frame-msw.c (mswindows_init_frame_1):
10038         * frame-msw.c (mswindows_delete_frame):
10039         Register popups with dialog code so keyboard traversing works.
10040
10041         * frame-tty.c (tty_raise_frame_no_select): [1].
10042
10043         * frame-x.c:
10044         * frame-x.c (x_set_frame_text_value):
10045         * frame-x.c (x_set_frame_properties):
10046         * frame-x.c (x_create_widgets):
10047         [7].
10048
10049         * frame.c:
10050         * frame.c (Fmouse_pixel_position): Minor doc fixes.
10051
10052         * frame.h (wrap_frame): New.
10053         Macro like wrap_device.
10054
10055         * general.c:
10056         * general.c (SYMBOL):
10057         * general.c (syms_of_general):
10058         Major reorg.  This is now just a wrapper and symbols themselves
10059         are listed in general-slots.h.
10060
10061         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
10062         * glyphs-msw.c (mswindows_resource_instantiate): [5].
10063
10064         * glyphs-msw.c (mswindows_native_layout_instantiate):
10065         Add DS_CONTROL so keyboard traversal will work.
10066
10067         * glyphs-widget.c:
10068         * glyphs-widget.c (syms_of_glyphs_widget):
10069         Move some symbols to general-slots.h.
10070
10071         * glyphs-x.c:
10072         * glyphs-x.c (xbm_instantiate_1):
10073         * glyphs-x.c (x_xbm_instantiate):
10074         * glyphs-x.c (x_xface_instantiate):
10075         * glyphs-x.c (autodetect_instantiate):
10076         * glyphs-x.c (cursor_font_instantiate):
10077         * glyphs-x.c (x_update_widget):
10078         * glyphs-x.c (x_widget_instantiate):
10079         * glyphs.c (bitmap_to_lisp_data):
10080         * glyphs.c (pixmap_to_lisp_data):
10081         [7].
10082
10083         * glyphs.c (syms_of_glyphs):
10084         [2].
10085
10086         * gui-x.c:
10087         * gui-x.c (print_widget_value):
10088         * gui-x.c (menu_separator_style_and_to_external):
10089         * gui-x.c (add_accel_and_to_external):
10090         * gui-x.c (button_item_to_widget_value):
10091         * gui-x.c (gui_items_to_widget_values_1):
10092         * gui-x.c (gui_items_to_widget_values):
10093         * gui-x.c (syms_of_gui_x):
10094         * gui-x.c (vars_of_gui_x):
10095         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
10096         [9].
10097
10098         * gui-x.h:
10099         Muleize, prototype changes matching gui-x.c.
10100
10101         * gui.c:
10102         * gui.c (separator_string_p):
10103         * gui.c (gui_item_add_keyval_pair):
10104         * gui.c (make_gui_item_from_keywords_internal):
10105         * gui.c (signal_too_long_error):
10106         * gui.c (parse_gui_item_tree_item):
10107         * gui.c (syms_of_gui):
10108         * gui.c (vars_of_gui):
10109         * gui.h:
10110         menu-no-selection-hook moved here (used by MSWin).
10111         Move some symbols to general-slots.h.
10112         [6].
10113         [9].
10114
10115         * insdel.c (get_buffer_pos_char):
10116         * insdel.c (get_buffer_range_char):
10117         Add GC comments.
10118
10119         * keymap.c (keymap_lookup_directly):
10120         * keymap.c (keymap_store):
10121         * keymap.c (ensure_meta_prefix_char_keymapp):
10122         * keymap.c (describe_map):
10123         * keymap.h:
10124         Support new button modifiers.
10125
10126         * lisp-disunion.h (wrap_object):
10127         * lisp-disunion.h (XSETOBJ):
10128         Rename make_obj to wrap_object.
10129
10130         * lisp-union.h:
10131         * lisp-union.h (make_int):
10132         * lisp-union.h (make_char):
10133         Support wrap_object.
10134
10135         * lisp.h:
10136         * lisp.h (LIST_LOOP):
10137         * lisp.h (EXTERNAL_LIST_LOOP):
10138         * lisp.h (LIST_LOOP_2):
10139         * lisp.h (EXTERNAL_LIST_LOOP_1):
10140         * lisp.h (EXTERNAL_LIST_LOOP_2):
10141         * lisp.h (EXTERNAL_LIST_LOOP_3):
10142         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
10143         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10144         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
10145         * lisp.h (EXTERNAL_ALIST_LOOP_5):
10146         * lisp.h (EXTERNAL_ALIST_LOOP_6):
10147         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
10148         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
10149         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
10150         * lisp.h (struct Lisp_Symbol):
10151         * lisp.h (maybe_continuable_error_with_frob):
10152         Fix up section comments.
10153         Add new types for char to indicate usage.
10154         Delete symbols auto-generated from general-slots.h.
10155         Add prototypes for structured error functions.
10156         Add long comments describing looping macros and change interface
10157         so that lvalues are automatically declared.
10158         Add NO_DECLARE macro in case callers want to declare lvalues
10159         themselves.
10160
10161         * lread.c (read_syntax_error):
10162         * lread.c (continuable_read_syntax_error):
10163         * lread.c (read_structure):
10164         * lread.c (sequence_reader):
10165         * lread.c (read_list_conser):
10166         * lread.c (read_compiled_function):
10167         Rename syntax_error and continuable_syntax_error to avoid clash
10168         with same-named structured error functions.
10169
10170         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10171         * menubar-msw.c (populate_menu_add_item):
10172         * menubar-msw.c (populate_or_checksum_helper):
10173         [5].
10174         [9].
10175
10176         * menubar-x.c:
10177         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10178         Mule-ize whole file.
10179
10180         * menubar.c (Fnormalize_menu_item_name): Add optimization.
10181
10182         * mule-charset.c (Fmake_charset):
10183         * mule-wnnfns.c (Fwnn_set_param):
10184         [1].
10185
10186         * ntproc.c (create_child):
10187         * ntproc.c (Fwin32_set_current_locale):
10188         Add comments portending doom.
10189
10190         * objects-msw.c:
10191         * objects-msw.c (old_font_enum_callback_2):
10192         * objects-msw.c (font_enum_callback_1):
10193         * objects-msw.c (mswindows_enumerate_fonts):
10194         [5].
10195
10196         * objects-x.c:
10197         * objects-x.c (allocate_nearest_color):
10198         * objects-x.c (x_parse_nearest_color):
10199         * objects-x.c (x_initialize_color_instance):
10200         * objects-x.c (x_print_color_instance):
10201         * objects-x.c (x_finalize_color_instance):
10202         * objects-x.c (x_valid_color_name_p):
10203         * objects-x.c (x_initialize_font_instance):
10204         * objects-x.c (x_print_font_instance):
10205         * objects-x.c (valid_x_font_name_p):
10206         * objects-x.c (truename_via_FONT_prop):
10207         * objects-x.c (truename_via_random_props):
10208         * objects-x.c (truename_via_XListFonts):
10209         * objects-x.c (x_font_truename):
10210         * objects-x.c (x_font_instance_truename):
10211         * objects-x.c (x_font_instance_properties):
10212         * objects-x.c (x_list_fonts):
10213         * objects-x.c (x_find_charset_font):
10214         Mule-ize entire file.
10215         [7].
10216
10217         * objects-x.h:
10218         Mule-verify.
10219
10220         * print.c:
10221         * print.c (std_handle_out_external):
10222         * print.c (debug_print_no_newline):
10223         * print.c (syms_of_print):
10224         Output to all debugger kinds in debug-print.
10225         Fix console-output code under MSWin to actually work.
10226
10227         * process-nt.c (send_signal):
10228         * process-nt.c (nt_create_process):
10229         Use newer Unicode macros.
10230
10231         * process-unix.c (unix_create_process):
10232         * process-unix.c (unix_canonicalize_host_name):
10233         * process-unix.c (unix_open_network_stream):
10234         [7].
10235
10236         * scrollbar-x.c:
10237         Mule-verify.
10238
10239         * search.c (syms_of_search):
10240         [2].
10241
10242         * select-msw.c (mswindows_destroy_selection):
10243         Use LIST_LOOP_2.
10244
10245         * select-x.c (symbol_to_x_atom):
10246         [7].
10247
10248         * select.c (syms_of_select):
10249         [2].
10250
10251         * sound.c (Fplay_sound_file):
10252         [7].
10253
10254         * specifier.c:
10255         * specifier.c (decode_specifier_type):
10256         * specifier.c (Fvalid_specifier_locale_type_p):
10257         * specifier.c (check_valid_locale_or_locale_type):
10258         * specifier.c (decode_locale):
10259         * specifier.c (decode_locale_type):
10260         * specifier.c (decode_locale_list):
10261         * specifier.c (check_valid_domain):
10262         * specifier.c (decode_specifier_tag_set):
10263         * specifier.c (Fcanonicalize_tag_set):
10264         * specifier.c (Fdefine_specifier_tag):
10265         * specifier.c (Fspecifier_tag_predicate):
10266         * specifier.c (check_valid_inst_list):
10267         * specifier.c (check_valid_spec_list):
10268         * specifier.c (decode_how_to_add_specification):
10269         * specifier.c (check_modifiable_specifier):
10270         * specifier.c (specifier_add_spec):
10271         * specifier.c (boolean_validate):
10272         * specifier.c (display_table_validate):
10273         [9].
10274
10275         * specifier.c (syms_of_specifier):
10276         Move some symbols to general-slots.h.
10277         [2].
10278
10279         * symbols.c:
10280         * symbols.c (Fmapatoms):
10281         * symbols.c (Fapropos_internal):
10282         Add GCPROs.
10283
10284         * symbols.c (set_default_buffer_slot_variable):
10285         * symbols.c (set_default_console_slot_variable):
10286         [1].
10287
10288         * symbols.c (defsymbol_massage_name_1):
10289         * symbols.c (defkeyword_massage_name):
10290         * symbols.c (deferror_1):
10291         * symbols.c (deferror):
10292         * symbols.c (deferror_massage_name_and_message):
10293         * symeval.h:
10294         * symeval.h (DEFSYMBOL):
10295         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
10296
10297         * symbols.c (syms_of_symbols):
10298         [2].
10299
10300         * symsinit.h:
10301         * symsinit.h (init_win32): New.
10302         Also new is syms_of_dialog_mswindows.
10303
10304         * syswindows.h:
10305         Add new Unicode macros, missing Cygwin wide-char functions,
10306         convenience conversion macros for Qmswindows_tstr, macros for
10307         encapsulating required MSWin <-> Cygwin filename conversions,
10308         prototype for dynamically-extracted (not in NT 3.51) functions.
10309
10310         * toolbar-x.c:
10311         Mule-verify.
10312
10313         * tooltalk.c (Fadd_tooltalk_message_arg):
10314         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
10315         * tooltalk.c (Fadd_tooltalk_pattern_arg):
10316         [7].
10317
10318         * tooltalk.c (syms_of_tooltalk):
10319         [2].
10320
10321         * unexnt.c:
10322         * unexnt.c (unexec):
10323         Fix up headers, declaration of unexec() to be more standard.
10324
10325 2000-07-20  Martin Buchholz  <martin@xemacs.org>
10326
10327         * offix.h: Revert change to guard macros - they're used in offix.c!
10328
10329 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10330
10331         * lisp.h: Defsubred Fdelete.
10332
10333         * console-msw.h:  (msprinter_default_printer): Added.
10334
10335         * console-msw.c (msprinter_canonicalize_console_connection):
10336         (msprinter_canonicalize_device_connection): Added.
10337
10338         * device-msw.c (msprinter_default_printer):
10339         (Fmswingows_get_default_printer):
10340         (signal_enum_priner_error):
10341         (Fmswingows_printer_list): Added.
10342
10343 2000-07-19  Martin Buchholz <martin@xemacs.org>
10344
10345         * XEmacs 21.2.35 is released.
10346
10347 2000-07-19  Martin Buchholz  <martin@xemacs.org>
10348
10349         * select-x.c (x_handle_selection_request):
10350         Text selected in xemacs and pasted into xterm failed to appear.
10351         Spelling fixes and cosmetic changes.
10352
10353 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10354
10355         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
10356         XEmacs frame (fix for doubling chars in dialog boxes).
10357
10358 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10359
10360         * select.c (select_convert_in, select_convert_out):
10361         Don't call intern() every time.
10362
10363         * select.c (Qselect_convert_in, Qselect_convert_out): New.
10364         * select.c (vars_of_select): Initialise them.
10365
10366 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10367
10368         * select.c (selection-coercible-types): New.
10369
10370         * select.c (own-selection-internal):
10371         * select.c (get-selection-internal):
10372         MULE bug fix - these should default to COMPOUND_TEXT and not
10373         STRING for MULE. I think.
10374
10375         * select.c (select_convert_out): Use selection-coercible-types
10376         to find types that we can attempt to perform coercions on.
10377
10378 2000-07-18  Martin Buchholz  <martin@xemacs.org>
10379
10380         * mule-wnnfns.c:
10381         * mule-canna.c:
10382         Add coding: cookie to identify encoding.
10383
10384         * mule-canna.c (CANNA_mode_keys): make static.
10385         Use proper prototypes, even for functions of no arguments.
10386         Remove external prototype for Fding().
10387
10388         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
10389
10390         * select.c (syms_of_select): Add missing DEFSUBR.
10391
10392 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10393
10394         * select.c (get_selection_internal, own_selection_internal):
10395         Make the type default to STRING, rather than placing a nil type
10396         into Vselection_alist.
10397
10398 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10399
10400         * gpmevent.c (tty_selection_exists_p):
10401         * gpmevent.c (tty_own_selection):
10402         Updated parameter lists.
10403
10404 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
10405
10406         * select.h (selection-alist): Removed declaration.
10407
10408         * select.h (get_local_selection):
10409         * select.c (get_local_selection):
10410         Made static.
10411
10412         * select.h (convert_selection): Removed declaration.
10413         * select.c (convert_selection): Removed.
10414         This function belongs in Lisp.
10415
10416         * select.h (select_convert_in): Declare.
10417         * select.h (select_convert_out): Declare.
10418         * select.c (select_convert_in): New.
10419         * select.c (select_convert_out): New.
10420         New conversion functions for other files to call.
10421
10422         * select.h (select_notify_buffer_kill): Declare.
10423         * select.c (select_notify_buffer_kill): New.
10424         New functions that get called from kill-buffer.
10425
10426         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
10427         X-specific lisp code.
10428
10429         * select.h: Declare some of the lisp-visible functions for
10430         external use.
10431
10432         * select.c (clean_local_selection_data): Removed. This was
10433         a disgusting function, and previously should have been in
10434         select-x.c in any case. The functionality is now provided
10435         in select-convert-from-integer (select.el).
10436
10437         * select.c (available-selection-types): Fixed stupidity where
10438         INTEGER and ATOM got added twice. Also add STRING when we see an
10439         extent.
10440
10441         * select.c (get-selection-internal): Removed symbol stripping. No
10442         longer causes conversion when data comes from the internal cache.
10443
10444         * select.c (syms_of_select): Added new functions.
10445
10446         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
10447         error checking - previously this called abort!
10448
10449         * select-x.c (x_own_selection): Changed comment.
10450
10451         * select-x.c (x_handle_selection_request): Use select_convert_out.
10452         Don't mess with selection-alist; it's an internal variable of select.c.
10453
10454         * select-x.c (x_get_foreign_selection): Use select_convert_in.
10455
10456         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
10457         rather than messing with selection-alist.
10458
10459         * select-msw.c (mswindows_get_foreign_selection):
10460         Use TO_INTERNAL_FORMAT rather than hacking.
10461
10462 2000-07-14  Martin Buchholz  <martin@xemacs.org>
10463
10464         * process-unix.c (unix_open_multicast_group):
10465         (unix_open_multicast_group): Remove useless casts.
10466
10467 2000-07-13  Martin Buchholz  <martin@xemacs.org>
10468
10469         * sound.c (Fplay_sound): Fix `unused variable' warning.
10470
10471         * emacs.c (main): Use correct type for _environ on SCO5.
10472
10473 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
10474
10475         * console.h (own_selection_method):
10476         * console.h (selection_exists_p_method):
10477         * console.h (available_selection_types_method): New.
10478         * console.h (register_selection_data_type_method): New.
10479         * console.h (selection_data_type_name): New.
10480
10481         * console-msw.h (mswindows_destroy_selection): Declare it.  New
10482         function & alist to track GlobalAlloc()'d handles that need
10483         releasing when the clipboard data gets replaced or emptied.
10484
10485         * event-msw.c (mswindows_wnd_proc): Call it.
10486
10487         * lisp.h, general.c (Qappend): New symbol representing a
10488         `how-to-add' mode.
10489
10490         * select.c (own-selection-internal):
10491         * select.c (selection-exists-p):
10492         * select.c (available-selection-types): New.
10493         * select.c (register-selection-data-type): New.
10494         * select.c (selection-data-type-name): New.  New functions to deal
10495         with device-specific selection data formats.
10496         * select.c (selection-converter-out-alist): Renamed.
10497         * select.c (selection-converter-in-alist): New.
10498         * select.c (selection-appender-alist): New.  Added new alists.
10499         * select.c (syms_of_select, vars_of_select): Added new symbols &
10500         variables.
10501         * select.c (get_local_selection): Split.
10502         * select.c: Removed spurious type checking - selections may now be
10503         of any type, not just strings.
10504         * select.c (own-selection-internal):
10505
10506         * select.h, select.c (convert_selection): New. Created
10507         convert_selection() function based on get_local_selection().
10508         * select.h, select.c (QCF_*): New symbols representing mswindows
10509         clipboard formats.
10510         * select.h, select.c (Qreplace_all, Qreplace_existing): New
10511         symbols representing `how-to-add' modes.
10512
10513         * select-msw.c (x_sym_p): New.
10514         * select-msw.c (symbol_to_ms_cf): New.
10515         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
10516         symbols & clipboard formats. Can also handle string names.
10517         * select-msw.c (mswindows_own_selection):
10518         * select-msw.c (mswindows_selection_exists_p):
10519         Added `data-type' parameter. Use it.
10520         * select-msw.c (mswindows_available_selection_types): New.
10521         * select-msw.c (mswindows_register_selection_data_type): New.
10522         * select-msw.c (mswindows_selection_data_type_name): New.
10523         * select-msw.c (mswindows_own_selection):
10524         * select-msw.c (mswindows_get_foreign_selection):
10525         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
10526         * select-msw.c (console_create_select_mswindows): Added new methods.
10527         * select-msw.c (mswindows_destroy_selection): New.
10528         * select-msw.c (Vhandle_alist): New list.
10529         * select-msw.c (mswindows_own_selection):
10530
10531         * select-x.c (x_own_selection):
10532         * select-x.c (x_selection_exists_p):
10533         * select-x.c: Added some comments about maybe using new
10534         functionality.
10535         * select-x.c (x_own_selection):
10536
10537         * specifier.c: Remove definition of Qappend (now in general.c)
10538         * specifier.c (syms_of_specifier): Remove Qappend.
10539
10540 2000-07-12  Martin Buchholz  <martin@xemacs.org>
10541
10542         * config.h.in: Add socklen_t.
10543
10544         * s/decosf4-0.h: No special compiler flags needed or desired.
10545         In particular, undefine _BSD for DEC OSF 4.0.
10546
10547 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10548
10549         * redisplay-msw.c (msprinter_frame_output_end): Added.
10550         (console_type_create_redisplay_mswindows): Referred the above.
10551
10552         * frame.c (setup_frame_without_minibuffer): Do not create a
10553         default minibuffer frame on a printer device.
10554
10555         * frame-msw.c (apply_dc_geometry): Added.
10556         (msprinter_start_page):
10557         (msprinter_init_frame_3):
10558         (msprinter_eject_page): Use it.
10559
10560         * console-msw.h (struct msprinter_frame): Added pix_left and top,
10561         and removed residual duplex and orientation properties.
10562
10563 2000-07-11  Martin Buchholz  <martin@xemacs.org>
10564
10565         * eval.c (function_argcount): Work around a DEC CC compiler bug.
10566
10567         * unexalpha.c: Remove system prototypes from C sources!
10568
10569 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
10570
10571         * eval.c: Remove references to M-x edit-options in DEFUNs for
10572         `defvar' and `defconst'.
10573
10574 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10575
10576         * config.h.in: Remove SMART_INCLUDE hackery.
10577
10578         PostgreSQL hacking:
10579         * config.h.in: Don't use SMART_INCLUDE.
10580
10581         * postgresql.h: Include libpq-fe.h here.  Fix typo.
10582         * inline.c: Simply #include "postgresql.h"
10583         * postgresql.c:
10584         - Don't use SMART_INCLUDE
10585         - Use simply "const".
10586         - Use standard doc string conventions.
10587         - Use correct type for result of PQstatus.
10588
10589 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10590
10591         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
10592
10593         C++ compilation changes.
10594         * config.h.in (EXTERN_C): Define.
10595         * config.h.in (not): This is also a C++ keyword.
10596         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
10597         * cm.c: Use EXTERN_C.
10598         * redisplay-tty.c: Use EXTERN_C.
10599         * sysdep.c: Use EXTERN_C.  Remove Gould support.
10600
10601 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10602
10603         * general.c: Remove duplicate definition for Qfunction.
10604
10605 2000-07-08  Ben Wing  <ben@xemacs.org>
10606
10607         * device-msw.c (msprinter_init_device):
10608         * device-msw.c (sync_printer_with_devmode):
10609         * device-msw.c (handle_devmode_changes):
10610         * device-msw.c (print_dialog_worker):
10611         * device-msw.c (Fmsprinter_apply_settings):
10612         * device-msw.c (hash_devmode):
10613         * device-msw.c (Fmsprinter_settings_despecialize):
10614         use Qmswindows_tstr, not Qctext.
10615
10616         * vm-limit.c (check_memory_limits):
10617         avoid infinite loop printing warning messages.
10618
10619 2000-07-05  Craig Lanning  <lanning@scra.org>
10620
10621         * Makefile.in.in: Add support for including the Windows resources
10622         when building with the cygwin and mingw targets.
10623
10624         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
10625         not set or not correct.
10626         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
10627         (init_initial_directory): Don't try to use $PWD on the
10628         WIN32_NATIVE target.
10629
10630         * s\cygwin32.h:
10631         [[Add -mwindows to eliminate console window.]] not required --ben
10632         (HAVE_NATIVE_SOUND): removed; now handled by configure.
10633         (MAIL_USE_POP): removed; now handled by configure.
10634
10635         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
10636         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
10637         (HAVE_NATIVE_SOUND): removed; now handled by configure.
10638         (MAIL_USE_POP): removed; now handled by configure.
10639         (ENCAPSULATE_STAT): from Dan Holmsand, added.
10640         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
10641         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
10642         constant string.
10643         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
10644         up from <winsock.h> via systime.h.
10645         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
10646         (getpagesize): from Dan Holmsand, added.
10647         Added #endif which was left dangling by Ben's mega patch; added
10648         comment to help prevent this in the future.
10649
10650         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
10651
10652 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10653
10654         * console-msw.h (struct mswindows_device): Removed unnecessary
10655         cached device geometry values.
10656         Added update_tick and an accessor macro.
10657         (Lisp_Devmode): Added lrecord declaration.
10658         (struct msprinter_device): Contain devmode as a Lisp object.
10659         Added mswindows_get_selected_frame_hwnd();
10660
10661         * console.h (struct console_methods): Indentation nitpicking.
10662
10663         * device-msw.c (mswindows_init_device): Do not initialize geometry
10664         cache. Initialize update tick.
10665         (mswindows_device_system_metrics): Ask the device for its geometry.
10666         (global_free_2_maybe):
10667         (devmode_to_hglobal):
10668         (handle_printer_changes):
10669         (ensure_not_printing):
10670         (print_dialog_worker):
10671         (Fmsprinter_print_setup_dialog):
10672         (Fmsprinter_print_dialog):
10673         (plist_get_margin):
10674         (plist_set_margin):
10675         (Fmsprinter_page_setup_dialog): Added functions.
10676         (sync_printer_with_devmode):
10677         (handle_devmode_changes):
10678         (Fmsprinter_get_settings):
10679         (Fmsprinter_select_settings):
10680         (Fmsprinter_apply_settings):
10681         (allocate_devmode):
10682         (Fmsprinter_settings_copy):
10683         (Fmsprinter_settings_despecialize):
10684         (print_devmode):
10685         (finalize_devmode):
10686         (equal_devmode):
10687         (hash_devmode): Added functions
10688         (syms_of_device_mswindows): Init devmode lrecord class.
10689
10690         * device.h: Added an exfun for find-device.
10691
10692         * event-msw.c (mswindows_wnd_proc): Do not update the cached
10693         geometry; although, recreate the device compatible DC.
10694
10695         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
10696         (msprinter_init_frame_3):
10697         (msprinter_frame_property):
10698         (msprinter_internal_frame_property_p):
10699         (msprinter_frame_properties):
10700         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
10701         print job properties (will move to device settings).
10702
10703         * lisp.h: Added symbols.
10704
10705         * general.c (syms_of_general): Declared them.
10706
10707         * hash.c (string_hash): Added.
10708
10709         * lrecord.h (lrecord_type): Added devmode lrecord type.
10710
10711 2000-07-02  Mike Sperber <mike@xemacs.org>
10712
10713         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
10714         FreeBSD 4.0.
10715
10716 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
10717
10718         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
10719         integer.
10720
10721 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
10722
10723         * data.c (Fstring_to_number): Don't recognize floating point if
10724         base is not 10.
10725
10726 2000-06-22  Martin Buchholz  <martin@xemacs.org>
10727
10728         * glyphs-widget.c (tab_control_query_geometry):
10729         (widget_query_geometry):
10730         (button_query_geometry):
10731         * glyphs.c (text_query_geometry):
10732         Enforce type correctness.
10733
10734 2000-06-18  Martin Buchholz  <martin@xemacs.org>
10735
10736         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
10737         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
10738
10739 2000-06-17  Martin Buchholz  <martin@xemacs.org>
10740
10741         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
10742         conflicts with gcc's fixincluded version of FOO.h.
10743
10744         * glyphs.h (image_instance_geometry): Remove trailing `,'
10745
10746 2000-06-08  Mike Alexander  <mta@arbortext.com>
10747
10748         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
10749         (shove_thread): Don't write the same output twice
10750         (make_ntpipe_output_stream): Increase priority of shove thread
10751         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
10752         chance to run
10753         (ntpipe_shove_closer): Don't delete the pipe until we're done with
10754         it.
10755
10756 2000-06-12  Ben Wing  <ben@xemacs.org>
10757
10758         * s\mingw32.h (sigset):
10759         * s\windowsnt.h (sigset):
10760         rename msw_ to mswindows_ for consistency with general convention.
10761
10762 2000-06-12  Ben Wing  <ben@xemacs.org>
10763
10764         * console-msw.c:
10765         * console-msw.c (mswindows_get_console_hwnd):
10766         * console-msw.c (mswindows_ensure_console_allocated):
10767         * console-msw.c (mswindows_hide_console):
10768         * console-msw.c (mswindows_show_console):
10769         * console-msw.c (mswindows_ensure_console_buffered):
10770         * console-msw.c (mswindows_output_console_string):
10771         * console-msw.c (mswindows_windows9x_p):
10772         * console-msw.h:
10773         * device-msw.c (mswindows_get_workspace_coords):
10774         * device-msw.c (mswindows_device_system_metrics):
10775         * dialog-msw.c (mswindows_popup_dialog_box):
10776         * event-msw.c (mswindows_wnd_proc):
10777         * frame-msw.c (mswindows_size_frame_internal):
10778         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10779         * menubar-msw.c (displayable_menu_item):
10780         * menubar-msw.c (mswindows_char_is_accelerator):
10781         * nt.c:
10782         * nt.c (mswindows_sigset):
10783         * nt.c (mswindows_sigrelse):
10784         * nt.c (mswindows_sigpause):
10785         * nt.c (mswindows_raise):
10786         * nt.c (timer_proc):
10787         * ntproc.c:
10788         * ntproc.c (find_child_console):
10789         * ntproc.c (sys_kill):
10790         * print.c:
10791         * print.c (std_handle_out_external):
10792         * process-nt.c (find_child_console):
10793         * process-nt.c (send_signal_the_95_way):
10794         * process-nt.c (ensure_console_window_exists):
10795         * process-nt.c (nt_create_process):
10796         * syssignal.h:
10797         rename msw_ to mswindows_ for consistency with general convention.
10798
10799         * emacs.c:
10800         * dumper.c:
10801         include nt.h, not syswindows.h.
10802
10803         * nt.c (mswindows_fstat):
10804         * nt.c (mswindows_stat):
10805         prefix mswindows_ instead of attempting to directly override the
10806         library functions.  fix declarations.
10807
10808         * nt.h:
10809         include syswindows.h.  move some sysdep.h stuff here.
10810
10811         * ntheap.h:
10812         include syswindows.h, not <windows.h>.
10813
10814         * ntplay.c:
10815         clean up headers.
10816
10817         * sysdep.c:
10818         clean up headers.
10819
10820         * sysdep.c (sys_fstat):
10821         * sysdep.c (sys_stat):
10822         call mswindows versions when appropriate.
10823
10824         * sysdep.h:
10825         move mswin decls to nt.h.
10826
10827         * syswindows.h:
10828         add long comment describing appropriate use of the various windows
10829         headers.
10830
10831 2000-06-11  Ben Wing  <ben@xemacs.org>
10832
10833         * device-x.c: Correct doc string for sixth arg of x-get-resource.
10834
10835 2000-06-10  Ben Wing  <ben@xemacs.org>
10836
10837         * Makefile.in.in (release):
10838         Correction to make sure xemacs.exe always dumped when correct.
10839
10840         * alloca.c:
10841         * balloon_help.c:
10842         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
10843
10844         * buffer.c (set_buffer_internal):
10845         [[[[2]]]]: Remove HAVE_FEP code.
10846
10847         * buffer.c (init_initial_directory):
10848         [3].
10849
10850         * bytecode.c:
10851         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
10852         individual files.
10853
10854         * callproc.c:
10855         * callproc.c (call_process_cleanup):
10856         * callproc.c (Fold_call_process_internal):
10857         * callproc.c (child_setup):
10858         * callproc.c (getenv_internal):
10859         * callproc.c (init_callproc):
10860         * callproc.c (vars_of_callproc):
10861         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
10862         __CYGWIN32__ -> CYGWIN.
10863         DOS_NT -> WIN32_NATIVE.
10864         Remove MSDOS support/references, converting to WIN32_NATIVE
10865           where correct.
10866         __MINGW32__ -> MINGW.
10867         Fix windows.h includes.
10868         Remove bogus HAVE_NTGUI.
10869
10870         * config.h.in:
10871         [2].
10872
10873         * console-msw.c:
10874         mswindows_message_outputted added for use in allowing startup
10875         errors on the console to be seen.
10876
10877         * console-msw.c (msw_ensure_console_allocated):
10878         * console-msw.c (msw_output_console_string):
10879         * console-msw.c (DHEADER):
10880         * console-msw.c (DOPAQUE_DATA):
10881         * console-msw.c (DEVENT):
10882         * console-msw.c (DCONS):
10883         * console-msw.c (DCONSCDR):
10884         * console-msw.c (DSTRING):
10885         * console-msw.c (DVECTOR):
10886         * console-msw.c (DSYMBOL):
10887         * console-msw.c (DSYMNAME):
10888         Fix warnings.
10889
10890         * console-stream.c (stream_init_console):
10891         Fix text/binary problems.
10892
10893         * device-msw.c:
10894         * device-msw.c (mswindows_finish_init_device):
10895         * device-msw.c (mswindows_delete_device):
10896         [1].
10897
10898         * device.c (handle_asynch_device_change):
10899         [3].
10900
10901         * dgif_lib.c:
10902         * dgif_lib.c (DGifOpenFileName):
10903         * dgif_lib.c (DGifOpenFileHandle):
10904         * dgif_lib.c (DGifGetLine):
10905         * dgif_lib.c (DGifGetPixel):
10906         Added config.h/lisp.h, fix up includes.
10907         [1].
10908
10909         * dired-msw.c:
10910         [4].
10911
10912         * dired.c:
10913         * dired.c (file_name_completion):
10914         * dired.c (Ffile_attributes):
10915         * dired.c (syms_of_dired):
10916         [1].
10917
10918         * dumper.c:
10919         * dumper.c (pdump_file_unmap):
10920         * dumper.c (pdump_load):
10921         [1].
10922
10923         * editfns.c:
10924         * editfns.c (Ftemp_directory):
10925         * editfns.c (user_login_name):
10926         * editfns.c (Fuser_real_login_name):
10927         * editfns.c (get_home_directory):
10928         [1].
10929
10930         * elhash.c (finish_marking_weak_hash_tables):
10931         [[[[5]]]]: Fix GCC warnings.
10932
10933         * emacs.c:
10934         * emacs.c (mswindows_handle_hardware_exceptions):
10935         * emacs.c (make_arg_list_1):
10936         * emacs.c (main_1):
10937         * emacs.c (Fkill_emacs):
10938         * emacs.c (Fdump_emacs):
10939         [1].
10940         Fix problems with nested crashes, add long comment.
10941
10942         * event-Xt.c (init_event_Xt_late):
10943         [1].
10944
10945         * event-msw.c:
10946         * event-msw.c (mswindows_dde_callback):
10947         * event-msw.c (mswindows_handle_sticky_modifiers):
10948         * event-msw.c (mswindows_wnd_proc):
10949         [1].
10950         [5].
10951
10952         * events.c (character_to_event):
10953         [1].
10954
10955         * fileio.c:
10956         * fileio.c (Ffile_name_directory):
10957         * fileio.c (Ffile_name_nondirectory):
10958         * fileio.c (directory_file_name):
10959         * fileio.c (Fexpand_file_name):
10960         * fileio.c (Fsubstitute_in_file_name):
10961         * fileio.c (Ffile_name_absolute_p):
10962         * fileio.c (check_executable):
10963         * fileio.c (Ffile_readable_p):
10964         * fileio.c (Ffile_accessible_directory_p):
10965         * fileio.c (Ffile_modes):
10966         * fileio.c (Funix_sync):
10967         * fileio.c (vars_of_fileio):
10968         [1]. [4].
10969
10970         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
10971
10972         Expand getdefdir defn.
10973         Fix bogus rename() comment.
10974
10975         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
10976         to use standard XEmacs include files, e.g. sysfile.h, rather
10977         than system-specific includes.
10978
10979         * fns.c:
10980         * fns.c (Fsubseq):
10981         [5]. [6].
10982
10983         * frame.c (vars_of_frame):
10984         [1].
10985
10986         * getloadavg.c:
10987         * getloadavg.c (getloadavg):
10988         [1]. [6].
10989         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
10990         (We don't use it elsewhere in the code; just add a comment.)
10991
10992         * gif_io.c:
10993         [6].
10994         Add config.h.
10995
10996         * glyphs-msw.c:
10997         * glyphs-msw.c (mswindows_resource_instantiate):
10998         [1].
10999
11000         * glyphs-x.c (x_native_layout_instantiate):
11001         [5].
11002
11003         * gui-msw.c (Fmswindows_shell_execute):
11004         [1].
11005
11006         * insdel.c:
11007         [4].
11008
11009         * lisp.h:
11010         [4]. [5].
11011
11012         * lread.c (locate_file_in_directory_mapper):
11013         [1].
11014
11015         * lstream.c:
11016         [4].
11017
11018         * mem-limits.h:
11019         * mem-limits.h (get_lim_data):
11020         [1].
11021
11022         * menubar-msw.c:
11023         [4].
11024
11025         * ndir.h:
11026         [1].
11027
11028         * nt.c:
11029         * nt.c (getwd):
11030         * nt.c (closedir):
11031         * nt.c (rva_to_section):
11032         * nt.c (mswindows_executable_type):
11033         [1]. [6].
11034         Fix closedir() defn.
11035
11036         * nt.h:
11037         [[[[8]]]]: *_OK defs moved to sysfile.h.
11038
11039         * ntproc.c:
11040         [6]. [7].
11041
11042         * objects-x.c:
11043         [4].
11044
11045         * print.c:
11046         * print.c (std_handle_out_external):
11047         [1]. [4].
11048
11049         * process-nt.c:
11050         * process-nt.c (nt_create_process):
11051         [6].
11052         try to fix process quoting somewhat.
11053
11054         * process-unix.c (unix_create_process):
11055         [1].
11056
11057         * process.c:
11058         * process.c (vars_of_process):
11059         Add Vnull_device.
11060
11061         * process.h:
11062         [1].
11063
11064         * realpath.c:
11065         * realpath.c (xrealpath):
11066         [1].
11067
11068         * redisplay-tty.c (init_tty_for_redisplay):
11069         [3].
11070
11071         * redisplay.c:
11072         [4]. [6].
11073
11074         * scrollbar-msw.c:
11075         [4].
11076
11077         * sheap.c:
11078         * sheap.c (more_static_core):
11079         * sheap.c (report_sheap_usage):
11080         [5]. [6].
11081
11082         * signal.c:
11083         * signal.c (alarm_signal):
11084         [1]. [6].
11085
11086         * sound.c:
11087         [6].
11088
11089         * strftime.c:
11090         * strftime.c (zone_name):
11091         [1]. [5].
11092
11093         * symsinit.h (init_sunpro):
11094         [1].
11095
11096         * syscommctrl.h:
11097         commctrl.h not in Cygwin b20.1.
11098
11099         * sysdep.c:
11100         * sysdep.c (endif):
11101         * sysdep.c (sys_subshell):
11102         * sysdep.c (init_baud_rate):
11103         * sysdep.c (emacs_get_tty):
11104         * sysdep.c (emacs_set_tty):
11105         * sysdep.c (tty_init_sys_modes_on_device):
11106         * sysdep.c (init_system_name):
11107         * sysdep.c (sys_open):
11108         * sysdep.c (interruptible_open):
11109         * sysdep.c (sys_fopen):
11110         * sysdep.c (sys_mkdir):
11111         * sysdep.c (sys_rename):
11112         * sysdep.c (get_process_times_1):
11113         [1]. [6].
11114
11115         * sysdep.h:
11116         [1].
11117
11118         * sysdir.h:
11119         * sysdir.h (DIRENTRY_NONEMPTY):
11120         [1]. [6].
11121
11122         * sysdll.c (dll_init):
11123         * sysdll.h:
11124         [1].
11125
11126         * sysfile.h:
11127         [1]. [6]. [8].
11128         added text/binary defs.
11129
11130         * sysfloat.h:
11131         [1].
11132
11133         * sysproc.h:
11134         * sysproc.h (EDESTADDRREQ):
11135         * sysproc.h (poll_fds_for_input):
11136         [1]. [6].
11137
11138         * syspwd.h:
11139         [6].
11140
11141         * syssignal.h:
11142         [1].
11143
11144         * systime.h:
11145         [1]. [6].
11146
11147         * systty.h:
11148         [1].
11149
11150         * syswindows.h:
11151         [1].
11152         Always define WIN32_LEAN_AND_MEAN.
11153
11154         * unexcw.c (unexec):
11155         [5].
11156
11157         * unexec.c:
11158         * unexec.c (copy_text_and_data):
11159         * unexec.c (adjust_lnnoptrs):
11160         [1].
11161
11162         * unexnt.c:
11163         * unexnt.c (_start):
11164         [1].
11165
11166 2000-06-07  Ben Wing  <ben@xemacs.org>
11167
11168         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
11169         was used only as a model.  We've long since extracted any useful
11170         logic or code out of this. (I just did an exhaustive search.)
11171
11172         * s\msdos.h: Removed.
11173
11174         * s\windows95.h: Removed.
11175
11176 2000-06-10  Ben Wing  <ben@xemacs.org>
11177
11178         * s\cygwin32.h:
11179         [1]. [5].
11180         Don't use extern with fun defs.
11181
11182         * s\mingw32.h:
11183         [1]. [7].
11184         Remove nt\inc include.
11185         Remove getdisk, getdefdir. (The former is unused, the latter
11186         expanded in fileio.h.)
11187
11188         * s\windowsnt.h:
11189         * s\windowsnt.h (WIN32_NATIVE):
11190         * s\windowsnt.h (HAVE_STRCASECMP):
11191         [1]. [7].
11192         Add long comment about preprocessor changes.
11193         Remove getdisk, getdefdir. (The former is unused, the latter
11194         expanded in fileio.h.)
11195
11196 2000-06-10  Ben Wing  <ben@xemacs.org>
11197
11198         * m\arm.h:
11199         * m\delta.h:
11200         * m\intel386.h:
11201         * m\sequent.h:
11202         * m\template.h:
11203         * m\windowsnt.h:
11204         [1].
11205         Remove bogus/unused NO_SOCK_SIGIO.
11206
11207 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
11208
11209         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
11210         not an Emchar.
11211
11212 2000-06-04  Mike Sperber <mike@xemacs.org>
11213
11214         * casetab.c (set_case_table): For `set-standard-case-table',
11215         actually deposit the new case tables where the rest of XEmacs can
11216         see them.
11217
11218 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
11219
11220         * data.c (Faset): Don't cast XCHAR() to unsigned char.
11221
11222 2000-06-05  Ben Wing  <ben@xemacs.org>
11223
11224         * callproc.c (child_setup): Don't do close_load_descs() under
11225         MS Windows.  Put in a comment explaining why.
11226
11227 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
11228
11229         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
11230         Toolkit shell" which breaks `kill-compilation' on Windows NT
11231         native, retaining STDERR handling improvements.
11232
11233 2000-06-01  Andreas Jaeger  <aj@suse.de>
11234
11235         * s/s390.h: Support for S390, based on a patch by Martin
11236         Schwidefsky <schwidefsky@de.ibm.com>.
11237
11238 2000-05-30  Andy Piper  <andy@xemacs.org>
11239
11240         * window.c (allocate_window):
11241         (make_dummy_parent):
11242         (Fset_window_configuration): use new hashtable type.
11243
11244         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
11245         (struct image_instantiator_methods):
11246         (struct Lisp_Image_Instance): make instance geometry signed.
11247
11248         * glyphs.c (instantiate_image_instantiator):
11249         (image_instance_query_geometry):
11250         (image_instance_layout):
11251         (image_instance_layout):
11252         (query_string_geometry):
11253         (text_query_geometry):
11254         (image_instantiate):
11255         (image_instantiate):
11256         (cache_subwindow_instance_in_frame_maybe):
11257         (subwindow_query_geometry): make instance geometry signed.
11258
11259         * glyphs-widget.c (widget_query_geometry):
11260         (widget_layout):
11261         (button_query_geometry):
11262         (tree_view_query_geometry):
11263         (tab_control_query_geometry):
11264         (layout_query_geometry):
11265         (layout_layout):
11266         (native_layout_layout): make instance geometry signed.
11267
11268 2000-05-29  Olivier Galibert  <galibert@pobox.com>
11269
11270         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
11271         constant.
11272
11273         * general.c (syms_of_general): Add Qfull_assoc symbol.
11274
11275         * data.c (finish_marking_weak_lists): Mark full-assoc lists
11276         correctly.
11277         (decode_weak_list_type): Decode full-assoc type.
11278         (encode_weak_list_type): Encode full-assoc type.
11279         (Fmake_weak_list): Update doc string.
11280
11281 2000-05-30  Andy Piper  <andy@xemacs.org>
11282
11283         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
11284
11285         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
11286         (decode_hash_table_weakness): ditto.
11287         (Fhash_table_weakness): ditto.
11288         (Fhash_table_type): ditto.
11289         (finish_marking_weak_hash_tables): ditto.
11290         (hash_table_weakness_validate): ditto.
11291         (syms_of_elhash): ditto.
11292
11293 2000-05-28  Martin Buchholz <martin@xemacs.org>
11294
11295         * XEmacs 21.2.34 is released.
11296
11297 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11298
11299         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
11300         start cache.
11301         (updating_line_start_cache): Gone.
11302         (regenerate_window): Replace resetting of VERTICAL_CLIP by
11303         generic code to force a minimum of 1 line laid out in the
11304         CMOTION_DISP case.
11305
11306 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11307
11308         * glyphs.c (instantiate_image_instantiator): Check for initialized
11309         height & width no longer special cases IMAGE_NOTHING.
11310         (nothing_instantiate): Set height and width of instance.
11311
11312 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11313
11314         * unexelf.c (unexec): Search for ".data" section.
11315         Initialize new_data2_offset from old_data_index.
11316         Remove redundant check for ElfW.
11317
11318 2000-05-23  Andy Piper  <andy@xemacs.org>
11319
11320         * glyphs.c (get_image_instantiator_governing_domain): allow more
11321         specific domains as the governing domain rather than expecting an
11322         exact match. This fixes problems with layouts.
11323
11324 2000-05-22  Andy Piper  <andy@xemacs.org>
11325
11326         * redisplay-output.c (compare_runes): check for non-images
11327
11328         * glyphs.c (set_glyph_dirty_p): ditto.
11329         (update_glyph_cachel_data): ditto.
11330
11331         * glyphs-widget.c (layout_post_instantiate): ditto.
11332         (layout_post_instantiate): ditto.
11333
11334         * event-msw.c (mswindows_wnd_proc): warning removal.
11335
11336 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
11337
11338         * s\mingw32.h: Added #undef for CLASH_DETECTION.
11339
11340         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
11341
11342         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
11343
11344         * nt.c (rva_to_section): mingw32 needs rva_to_section.
11345         (mswindows_executable_type): mingw32 now has enough headers for
11346         this to work.
11347
11348 2000-05-20  Andy Piper  <andy@xemacs.org>
11349
11350         * console-msw.c (mswindows_output_last_error): ; -> ,
11351
11352 2000-05-12  Andy Piper  <andy@xemacs.org>
11353
11354         * console-msw.c (FROB): compare ints with ints.
11355
11356 2000-05-11  Andy Piper  <andy@xemacs.org>
11357
11358         * glyphs-x.c (x_finalize_image_instance): make minimal build
11359         happy.
11360
11361 2000-05-20  Ben Wing  <ben@xemacs.org>
11362
11363         * event-Xt.c:
11364         * event-Xt.c (vars_of_event_Xt):
11365         move modifier-keys-are-sticky to event-stream.c.
11366
11367         * event-msw.c:
11368         * event-msw.c (mswindows_enqueue_mouse_button_event):
11369         * event-msw.c (key_needs_default_processing_p):
11370         * event-msw.c (XEMSW_LCONTROL):
11371         * event-msw.c (mswindows_handle_sticky_modifiers):
11372         * event-msw.c (FROB):
11373         * event-msw.c (clear_sticky_modifiers):
11374         * event-msw.c (output_modifier_keyboard_state):
11375         * event-msw.c (output_alt_keyboard_state):
11376         * event-msw.c (mswindows_wnd_proc):
11377         * event-msw.c (mswindows_modifier_state):
11378         * event-msw.c (emacs_mswindows_handle_magic_event):
11379         implement sticky modifiers.
11380
11381         * event-stream.c:
11382         * event-stream.c (vars_of_event_stream):
11383         move modifier-keys-are-sticky here.
11384
11385         * lisp.h:
11386         add CHECK_FUNCTION.
11387
11388         * rangetab.c:
11389         implement map-range-table.
11390
11391
11392 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
11393
11394         * redisplay-tty.c (reset_tty_modes):
11395         (tty_redisplay_shutdown): Adjust argument type to
11396         tty_frame_output_end.
11397
11398 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
11399
11400         * eval.c (Fbacktrace): Don't output a line with only right
11401         parenthesis.
11402
11403 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
11404
11405         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
11406         (Fpq_reset_poll): Ditto.
11407
11408 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
11409
11410         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
11411
11412 2000-05-16  Ben Wing  <ben@xemacs.org>
11413
11414         * buffer.c:
11415         * buffer.c (dfc_convert_to/from_internal_format):
11416         * buffer.c (reinit_vars_of_buffer):
11417         Fix conversion functions to allow reentrancy.
11418
11419         * console-msw.c:
11420         * console-msw.c (mswindows_output_last_error):
11421         New fun, generally useful -- output a human-readable
11422         version of GetLastError() on the console.
11423
11424         * console-msw.h:
11425         * console-msw.h (struct mswindows_frame):
11426         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
11427
11428         * console-stream.c (stream_output_begin):
11429         * console-stream.c (stream_output_end):
11430         * console-stream.c (stream_output_vertical_divider):
11431         * console-stream.c (stream_clear_region):
11432         * console-stream.c (stream_flash):
11433         * console-stream.c (console_type_create_stream):
11434         Delete blank stream methods, not needed.
11435
11436         * console.h (struct console_methods):
11437         Split begin/end methods into window and frame.
11438
11439         * event-msw.c:
11440         * event-msw.c (mswindows_handle_paint):
11441         * event-msw.c (output_alt_keyboard_state):
11442         * event-msw.c (mswindows_wnd_proc):
11443         * event-msw.c (vars_of_event_mswindows):
11444         Comment about problems with ignored-expose.
11445         Define mswindows-debug-events; not really implemented.
11446
11447         * frame-msw.c (mswindows_init_frame_1):
11448         random cleanups.
11449
11450         * glyphs-msw.c:
11451         * glyphs-msw.c (begin_defer_window_pos):
11452         * glyphs-msw.c (mswindows_unmap_subwindow):
11453         * glyphs-msw.c (mswindows_map_subwindow):
11454         * glyphs-msw.c (mswindows_resize_subwindow):
11455         Use DeferWindowPos to reduce flashing when mapping/unmapping.
11456
11457         * glyphs.c (make_image_instance_1):
11458         Fix crash.
11459
11460         * gutter.c (Fredisplay_gutter_area):
11461         Use new begin/end methods.
11462
11463         * lisp.h (Dynarr_new2):
11464         New creation fun.
11465
11466         * redisplay-msw.c:
11467         * redisplay-msw.c (mswindows_frame_output_begin):
11468         * redisplay-msw.c (mswindows_frame_output_end):
11469         * redisplay-msw.c (console_type_create_redisplay_mswindows):
11470         New begin/end methods -- handle DeferWindowPos.
11471
11472         * redisplay-output.c (redisplay_move_cursor):
11473         * redisplay-output.c (redraw_cursor_in_window):
11474         * redisplay-output.c (redisplay_update_line):
11475         * redisplay-output.c (redisplay_output_window):
11476         New begin/end methods.
11477
11478         * redisplay-tty.c:
11479         * redisplay-tty.c (tty_frame_output_begin):
11480         * redisplay-tty.c (tty_frame_output_end):
11481         * redisplay-tty.c (console_type_create_redisplay_tty):
11482         New begin/end methods.
11483
11484         * redisplay-x.c:
11485         * redisplay-x.c (x_window_output_begin):
11486         * redisplay-x.c (x_window_output_end):
11487         * redisplay-x.c (console_type_create_redisplay_x):
11488         New begin/end methods.
11489
11490         * redisplay.c (redisplay_frame):
11491         * redisplay.c (Fredisplay_echo_area):
11492         New begin/end methods.
11493         use MAYBE_DEVMETH for clear_frame; it may not exist.
11494
11495         * window.h (WINDOW_XFRAME):
11496         WINDOW_XFOO macros -- get locale and decode struct pointer.
11497
11498
11499 2000-05-12  Ben Wing  <ben@xemacs.org>
11500
11501         * emacs.c:
11502         * emacs.c (ensure_no_quitting_from_now_on):
11503         * emacs.c (fatal_error_signal):
11504         * emacs.c (mswindows_handle_hardware_exceptions):
11505         * emacs.c (main):
11506         * emacs.c (Fkill_emacs):
11507         * emacs.c (shut_down_emacs):
11508         * emacs.c (assert_failed):
11509         various improvements in fatal error handling.
11510
11511         * eval.c:
11512         move preparing_for_armageddon to emacs.c.
11513
11514         * lisp.h:
11515         declare fatal_error_in_progress.
11516
11517         * print.c:
11518         * print.c (std_handle_out_external):
11519         * print.c (std_handle_out_va):
11520         * print.c (stderr_out):
11521         * print.c (stdout_out):
11522         use console under mswin when no standard output.
11523         don't do code conversion during fatal error.
11524
11525         * scrollbar.c (Fscrollbar_page_up):
11526         * scrollbar.c (Fscrollbar_page_down):
11527         fix missing else.  reindent.
11528
11529 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
11530
11531         Emergency fix.
11532
11533         * glyphs.h (GLYPH_CACHEL_DESCENT):
11534         (GLYPH_CACHEL_DESCENT):
11535         (GLYPH_CACHEL_DESCENT):
11536         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
11537         used in case these are inline functions.
11538         Use more absurd values to error check.
11539
11540         include window.h for error check functions.
11541
11542 2000-05-11  Ben Wing  <ben@xemacs.org>
11543
11544         * cmdloop.c (Freally_early_error_handler):
11545         Display message box under windows; otherwise, message will disappear
11546         before it can be viewed.
11547
11548         * console-msw.c:
11549         * console-msw.c (Fmswindows_message_box):
11550         * console-msw.c (FROB):
11551         * console-msw.c (syms_of_console_mswindows):
11552         Define new fun `mswindows-message-box'.
11553         #### I will merge this into `popup-dialog-box'; just give me
11554         a bit of time.
11555
11556         * general.c:
11557         * general.c (syms_of_general):
11558         Some new symbols used in `mswindows-message-box'.
11559
11560         * glyphs.c:
11561         * glyphs.c (Fset_image_instance_property):
11562         put warning in this fun.
11563
11564         * glyphs.h:
11565         * glyphs.h (GLYPH_CACHEL_WIDTH):
11566         * glyphs.h (GLYPH_CACHEL_ASCENT):
11567         * glyphs.h (GLYPH_CACHEL):
11568         * glyphs.h (GLYPH_CACHEL_GLYPH):
11569         define error-checking versions to try to catch a bug i've seen --
11570         redisplay gets in an infinite loop because the glyph width of the
11571         continuation glyph is 65535.
11572
11573         * lisp.h:
11574         Extern message-box stuff.
11575
11576         * window.c (allocate_window):
11577         * window.c (make_dummy_parent):
11578         * window.c (Fset_window_configuration):
11579         Use EQUAL not EQ for subwindow caches to make them work a bit
11580         better. (Something is still very broken.)
11581
11582
11583 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
11584
11585         * glyphs.c (image_instantiate): Suppress gcc warnings.
11586         (Fmake_image_instance): Fix doc string.
11587         * specifier.c (Fmake_specifier): Ditto.
11588
11589 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
11590
11591         * paths.h.in (PATH_LOCK): Removed.
11592         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
11593         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
11594
11595 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
11596
11597         * fns.c (Ffeaturep): Update e-mail address in doc-string.
11598         Document (featurep '(and xemacs 21.02)).
11599
11600 2000-05-09  Ben Wing  <ben@xemacs.org>
11601
11602         * buffer.c (complex_vars_of_buffer):
11603         update modeline-format doc.
11604
11605         * device.h:
11606         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
11607
11608         * emacs.c:
11609         timeline of all released versions of Emacs, for use in creating
11610         authorship comments and in synching up.
11611
11612         * glyphs-widget.c (image_instantiator_buttons):
11613         * glyphs-widget.c (image_instantiator_edit_fields):
11614         * glyphs-widget.c (image_instantiator_combo_box):
11615         * glyphs-widget.c (image_instantiator_scrollbar):
11616         * glyphs-widget.c (image_instantiator_progress_guage):
11617         * glyphs-widget.c (image_instantiator_tree_view):
11618         * glyphs-widget.c (image_instantiator_tab_control):
11619         * glyphs-widget.c (image_instantiator_labels):
11620         * glyphs-widget.c (image_instantiator_layout):
11621         * glyphs-widget.c (image_instantiator_native_layout):
11622         rename decode_domain method to governing_domain.
11623
11624         * glyphs.c:
11625         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
11626         * glyphs.c (add_entry_to_device_ii_format_list):
11627         make sure we don't put an entry more than once into the list.
11628         * glyphs.c (check_instance_cache_mapper):
11629         *************************************************************
11630         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
11631         HAVE BEEN GETTING.
11632         *************************************************************
11633         * glyphs.c (get_image_instantiator_governing_domain):
11634         clean up, expand on new concept of governing domain.
11635         * glyphs.c (instantiate_image_instantiator):
11636         * glyphs.c (allocate_image_instance):
11637         use governing_domain instead of cache_domain in naming.
11638         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
11639         * glyphs.c (make_image_instance_1):
11640         * glyphs.c (Fmake_image_instance):
11641         allow for any domain (not just device), and process the
11642         governing domain correctly.  very big doc fix.
11643         * glyphs.c (Fimage_instance_domain):
11644         new primitive, to retrieve the governing domain of an image instance.
11645         * glyphs.c (image_instantiate):
11646         use new governing_domain stuff.  this fixes a crash you could get
11647         by instantiating certain widget glyphs in frame locales. (should
11648         signal an error instead of crashing.)
11649         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
11650         * glyphs.c (Fglyphp): clean up doc.
11651         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
11652         * glyphs.c (syms_of_glyphs):
11653         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
11654         * glyphs.c (image_instantiator_format_create): add some comments about
11655         bogus code.
11656         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
11657         for current-display-table. (Apparently Hrjove implemented in 1998 a
11658         design I wrote up in 1996, but didn't update the doc string.)
11659
11660         * glyphs.h: clean up a doc string.
11661         * glyphs.h (governing_domain):
11662         * glyphs.h (struct image_instantiator_methods):
11663         changes for governing_domain stuff.
11664
11665         * gutter.c:
11666         * gutter.c (Fgutter_specifier_p):
11667         * gutter.c (Fgutter_size_specifier_p):
11668         * gutter.c (Fgutter_visible_specifier_p):
11669         * objects.c:
11670         * objects.c (Fcolor_specifier_p):
11671         * objects.c (Ffont_specifier_p):
11672         * objects.c (Fface_boolean_specifier_p):
11673         doc strings moved to make-*-specifier.
11674
11675         * redisplay.c (add_disp_table_entry_runes_1):
11676         * redisplay.c (generate_fstring_runes):
11677         * redisplay.c (screen):
11678         add random comments and doc strings.
11679
11680         * specifier.c:
11681         * specifier.c (Fmake_specifier):
11682         major overhaul of this doc string.
11683
11684         * specifier.c (Fvalid_specifier_domain_p):
11685         comment about the bogosity of image instances being domains.
11686         * specifier.c (decode_domain):
11687         now non-static, used in glyphs.c.
11688         * specifier.c (specifier_instance):
11689         comment about the bogosity of image instances being domains.
11690         * specifier.c (Fgeneric_specifier_p):
11691         move doc string to make-generic-specifier.
11692         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
11693         rebackslashify.
11694
11695         * specifier.h:
11696         * specifier.h (DOMAIN_FRAME):
11697         * specifier.h (DOMAIN_LIVE_P):
11698         * specifier.h (DOMAIN_XDEVICE):
11699         rebackslashify.
11700         add comments about problems with these macros.
11701         prototype for decode_domain.
11702
11703         * toolbar.c:
11704         * toolbar.c (Ftoolbar_specifier_p):
11705         move doc string to `make-toolbar-specifier'.
11706
11707         * window.c (window_unmap_subwindows_cache_mapper):
11708         *************************************************************
11709         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
11710         HAVE BEEN GETTING.
11711         *************************************************************
11712
11713 2000-05-09  Andy Piper  <andy@xemacs.org>
11714
11715         * glyphs.h: declare reset_frame_subwindow_instance_cache.
11716
11717         * window.c (Fset_window_configuration): reset the frame subwindow
11718         cache and re-initialize the window subwindow caches.
11719
11720         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
11721
11722 2000-05-09  Ben Wing  <ben@xemacs.org>
11723
11724         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
11725         DWORD.
11726
11727 2000-04-26  Mike Woolley  <mike@bulsara.com>
11728
11729         * ntheap.c: Changed recreate_heap to limit the amount reserved
11730         for the heap to that which is actually available. Also now
11731         displays a message box (with some dignostics) in the event that
11732         it still can't start.
11733
11734 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11735
11736         * callproc.c (Fold_call_process_internal): GCPRO path
11737
11738 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
11739
11740         Patch by Bill Perry.
11741
11742         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
11743         back data instead of #ifdef.
11744         (Fscrollbar_page_down): ditto.
11745
11746 2000-05-07  Ben Wing  <ben@xemacs.org>
11747
11748         * buffer.h:
11749         Kludge for defining Qmswindows_tstr.
11750
11751         * nt.c:
11752         * nt.c (open_input_file):
11753         * nt.c (open_output_file):
11754         * nt.c (rva_to_section):
11755         * nt.c (mswindows_executable_type):
11756         Move all memory-mapped-file routines here (some were in unexnt.c,
11757         which is bad because they are used by process-nt.c, and unexnt
11758         won't be around when portable dumping).  Synched the above routines
11759         with FSF 20.6.
11760
11761         * nt.h:
11762         Removed ifdef'd out bogus code.
11763         Fixed some prototypes.
11764
11765         * nt.h (file_data):
11766         * nt.h (OFFSET_TO_RVA):
11767         * nt.h (RVA_TO_OFFSET):
11768         * nt.h (RVA_TO_PTR):
11769         Moved the memory-mapped-file structures, macros and prototypes
11770         here, to parallel nt.c.  ntheap.h should really be removed
11771         entirely, and it's a non-portable-dumper specific file.
11772
11773         * ntheap.h (round_to_next):
11774         Moved the memory-mapped-file structures, macros and prototypes
11775         to nt.h.
11776
11777         * ntproc.c (compare_env):
11778         Moved rva_to_section and mswindows_executable_type to nt.c.
11779         Moved compare_env to process-nt.c.
11780         ntproc.c will die, one day.
11781
11782         * ntproc.c (sys_spawnve):
11783         Account for win32_ -> mswindows_.
11784
11785         * process-nt.c:
11786         * process-nt.c (struct nt_process_data):
11787         * process-nt.c (ensure_console_window_exists):
11788         * process-nt.c (compare_env):
11789         * process-nt.c (nt_create_process):
11790         * process-nt.c (nt_kill_process_by_pid):
11791         * process-nt.c (syms_of_process_nt):
11792         * process-nt.c (vars_of_process_nt):
11793         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
11794         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
11795         changes).  Eliminate our old `nt-quote-process-args' mechanism.
11796         Synch up nt_create_process with FSF 20.6 sys_spawnve.
11797         Move compare_env here from ntproc.c.
11798
11799         * process.c (Fprocess_send_region):
11800         Takes an optional fourth argument, BUFFER, which should fix some
11801         problems with call-process.
11802
11803         * syscommctrl.h:
11804         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
11805
11806         * syswindows.h:
11807         Move ICC_BAR_CLASSES to syscommctrl.h.
11808         Add preliminary macros for MSWindows/Mule.  More to come.
11809
11810         * unexnt.c:
11811         * unexnt.c (unexec):
11812         open_output_file moved to nt.c.
11813
11814
11815 2000-05-05  Andy Piper  <andy@xemacs.org>
11816
11817         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
11818         instance from the frame cache also since GC may catch up too late
11819         to make frame deletion sane.
11820
11821 2000-05-04  Andy Piper  <andy@xemacs.org>
11822
11823         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
11824         (x_finalize_image_instance): ungcpro on deletion.
11825
11826         * glyphs.c (image_instantiator_format_create): give pointers a
11827         query geometry method so that the geometry is at least set.
11828
11829         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
11830         initialize layouts if using widgets.
11831
11832 2000-05-03  Andy Piper  <andy@xemacs.org>
11833
11834         * nt.c: remove bogus reference to sysmmsystem.h
11835
11836         * gui-x.c (popup_selection_callback): fix no selection abort.
11837
11838 2000-05-02  Andy Piper  <andy@xemacs.org>
11839
11840         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
11841         (mswindows_widget_instantiate): ditto.
11842
11843         * glyphs-widget.c (initialize_widget_image_instance): initialize
11844         children correctly.
11845         (widget_instantiate): cope with children and items in the same
11846         instance.
11847
11848         * glyphs.c (mark_image_instance): cope with children as a first
11849         class member.
11850         (image_instance_equal): ditto.
11851         (image_instance_hash): ditto.
11852         (image_instance_changed): ditto.
11853
11854 2000-04-30  Andy Piper  <andy@xemacs.org>
11855
11856         * glyphs.c (subwindow_query_geometry): new function. Return some
11857         defaults.
11858         (subwindow_instantiate): don't assign dimensions if none have been
11859         given.
11860         (image_instantiator_format_create): add subwindow_query_geometry.
11861         (print_image_instance): cope with layouts as widgets.
11862
11863 2000-04-29  Andy Piper  <andy@xemacs.org>
11864
11865         * frame.c (delete_frame_internal): call
11866         free_frame_subwindow_instance_cache so that all subwindows are
11867         finalized before their parent.
11868         (mark_frame): remove subwindow_cachels.
11869         (Fmake_frame): remove subwindow_cachel manipulation.
11870         (allocate_frame_core): subwindow_instance_cache is a weak list.
11871         (delete_frame_internal): set subwindow_instance_cache to nil.
11872
11873         * glyphs-msw.c (mswindows_finalize_image_instance): make double
11874         finalization safe.
11875         (mswindows_finalize_image_instance): use the device
11876         not the domain as the domain may have died already.
11877
11878         * glyphs-x.c (x_finalize_image_instance): ditto.
11879         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
11880         HEIGHT.
11881
11882         * redisplay-output.c (redisplay_unmap_subwindows): update for
11883         subwindow instance cache as a weak list.
11884         (redisplay_unmap_subwindows_maybe): ditto.
11885         (redisplay_unmap_subwindows_except_us): ditto.
11886
11887         * glyphs.c (unmap_subwindow): error checking will check the domain
11888         so don't deal with it here. Don't use cachels anymore.
11889         (map_subwindow): ditto.
11890         (update_subwindow_cachel_data): remove old accessor names.
11891         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
11892         (Fresize_subwindow): don't update cachel.
11893         (mark_subwindow_cachels):
11894         (update_subwindow_cachel_data):
11895         (add_subwindow_cachel):
11896         (get_subwindow_cachel_index):
11897         (update_subwindow_cachel):
11898         (reset_subwindow_cachels):
11899         (mark_subwindow_cachels_as_not_updated): deleted.
11900         (cache_subwindow_instance_in_frame_maybe): new function. Add a
11901         subwindow instance to the frame cache.
11902         (find_matching_subwindow): update for subwindow instance cache as
11903         a weak list.
11904         (update_widget_instances): ditto.
11905         (image_instance_type_to_mask):inlined.
11906         (free_frame_subwindow_instance_cache): new function. finalize all
11907         subwindows that are instantiated.
11908
11909         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
11910         of cachel information.
11911         (IMAGE_INSTANCE_DISPLAY_X):
11912         (IMAGE_INSTANCE_DISPLAY_Y):
11913         (IMAGE_INSTANCE_DISPLAY_WIDTH):
11914         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
11915         (XIMAGE_INSTANCE_DISPLAY_X):
11916         (XIMAGE_INSTANCE_DISPLAY_Y):
11917         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
11918         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
11919         remove subwindow_cachel structure and function references.
11920         (image_instance_type_to_mask): inline from glyphs.c
11921
11922         * redisplay.c (redisplay_frame): remove subwindow_cachel
11923         references.
11924
11925         * frame.h (struct frame): remove subwindow_cachels.
11926         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
11927
11928         * frameslots.h: add subwindow_instance_cache.
11929
11930         * window.c (replace_window): check subwindow cache of replacement.
11931         (window_unmap_subwindows_cache_mapper):
11932         (window_unmap_subwindows): new functions. Unmap all subwindows
11933         cached on this window.
11934         (mark_window_as_deleted): unmap all subwindows.
11935
11936 2000-04-27  Andy Piper  <andy@xemacs.org>
11937
11938         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
11939
11940         * glyphs-widget.c (widget_layout): return something.
11941         (layout_layout): return something. Fail if not initialized.
11942         (layout_query_geometry): ditto.
11943         (image_instantiator_native_layout): new function. Initialized the
11944         native layout type.
11945         (widget_instantiate): don't do layout stuff here.
11946
11947         * glyphs.c (instantiate_image_instantiator): reorded calling or
11948         instantiate and post_instantiate with layout in between.
11949         (image_instance_layout): be more selective about deciding whether
11950         the layout has been done or not.
11951
11952         * glyphs.h (struct image_instantiator_methods): return a value
11953         from layout_method.
11954
11955 2000-04-26  Andy Piper  <andy@xemacs.org>
11956
11957         * glyphs.c (allocate_image_instance): make initial width and
11958         height unspecified. Set initialized to 0.
11959
11960         * syscommctrl.h new file. Encapsulates commctrl.h.
11961
11962         * syswindows.h new file. Encapsulates windows.h.
11963
11964         * ntplay.c: use new syswindows.h and syscommctrl.h header.
11965         * nt.c: ditto.
11966         * console-msw.h: ditto.
11967
11968         * redisplay-tty.c (tty_output_display_block): remove layout references.
11969
11970         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
11971         window handle rather than just the frame.
11972
11973         * glyphs.c (mark_image_instance): remove layout references.
11974         (print_image_instance): ditto.
11975         (image_instance_equal): ditto.
11976         (image_instance_hash): ditto.
11977         (decode_image_instance_type): ditto.
11978         (encode_image_instance_type): ditto.
11979         (image_instantiate): ditto.
11980         (allocate_glyph): ditto.
11981         (Fimage_instance_height): ditto.
11982         (Fimage_instance_width): ditto.
11983         (update_subwindow): ditto.
11984
11985         * redisplay-x.c (x_output_display_block): recode for layouts as
11986         widgets.
11987
11988         * redisplay-output.c (redisplay_output_layout): recode for layouts
11989         as widgets.
11990         (compare_runes): remove layout references.
11991
11992         * redisplay-msw.c (mswindows_output_display_block): recode for
11993         layouts as widgets.
11994
11995         * glyphs-widget.c (image_instantiator_layout): remove
11996         layout_possible_dest_types.
11997         (layout_possible_dest_types): deleted.
11998
11999         * glyphs.h (image_instance_type): remove layout references.
12000         (struct Lisp_Image_Instance): ditto. Add initialized flag.
12001         (IMAGE_INSTANCE_INITIALIZED): new accessor.
12002         (XIMAGE_INSTANCE_INITIALIZED): ditto.
12003
12004 2000-04-25  Andy Piper  <andy@xemacs.org>
12005
12006         * glyphs-widget.c (image_instantiator_buttons):
12007         (image_instantiator_edit_fields):
12008         (image_instantiator_combo_box):
12009         (image_instantiator_scrollbar):
12010         (image_instantiator_progress_guage):
12011         (image_instantiator_tree_view):
12012         (image_instantiator_tab_control):
12013         (image_instantiator_labels):
12014         (image_instantiator_layout): call default post_instantiate method.
12015         (widget_post_instantiate): new function. Simply lays out the
12016         widgets.
12017
12018         * glyphs.h (struct image_instantiator_methods): add
12019         post_instantiate method.
12020
12021         * glyphs.c (instantiate_image_instantiator): add post_instantiate
12022         method calls.
12023
12024 2000-04-23  Andy Piper  <andy@xemacs.org>
12025
12026         * glyphs.h (struct image_instantiator_methods): add
12027         decode_domain_method.
12028         (struct Lisp_Image_Instance): remove subwindow frame - it can be
12029         derived from the domain.
12030         (IMAGE_INSTANCE_FRAME): new accessor.
12031         (XIMAGE_INSTANCE_FRAME): ditto.
12032
12033         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
12034         instead of _SUBWINDOW_FRAME.
12035         (finalize_image_instance): ditto.
12036         (Fimage_instance_foreground): ditto.
12037         (Fimage_instance_background): ditto.
12038         (image_instantiate): ditto.
12039         (update_subwindow_cachel): ditto.
12040         (update_subwindow): ditto.
12041         (unmap_subwindow): ditto.
12042         (map_subwindow): ditto
12043         (subwindow_instantiate): ditto.
12044         * glyphs-msw.c (mswindows_update_widget): ditto.
12045         (mswindows_progress_gauge_instantiate): ditto.
12046         (mswindows_tab_control_update): ditto.
12047         * glyphs-x.c (x_update_widget): ditto.
12048         (x_widget_instantiate): ditto.
12049         (x_tab_control_instantiate): ditto.
12050         (x_tab_control_update): ditto.
12051         * event-msw.c (mswindows_wnd_proc): ditto
12052
12053         * glyphs-widget.c (image_instantiator_layout): use
12054         subwindow_decode_domain.
12055         (image_instantiator_buttons): ditto.
12056         (image_instantiator_edit_fields): ditto.
12057         (image_instantiator_combo_box): ditto.
12058         (image_instantiator_scrollbar): ditto.
12059         (image_instantiator_progress_guage): ditto.
12060         (image_instantiator_tree_view): ditto.
12061         (image_instantiator_tab_control): ditto.
12062         (image_instantiator_labels): ditto.
12063         (image_instantiator_layout): ditto.
12064
12065         * glyphs.c: add instance error checking to many functions.
12066         (instantiate_image_instantiator): decode device from cache_domain.
12067         (image_instantiate): partially rewrite by using
12068         decode_image_instantiator_domain to determine what domain the
12069         instance needs to be cached in.
12070         (decode_image_instantiator_domain): new function. Determine what
12071         domain the image needs to be cached in.
12072         (check_window_subwindow_cache): new error checking function.
12073         (check_instance_cache_mapper): ditto.
12074         (check_image_instance_structure): ditto.
12075         (subwindow_decode_domain): new function. Encodes a window as a
12076         subwindow's cache domain.
12077         (image_instantiator_format_create): use it for text and
12078         subwindows.
12079
12080 2000-04-21  Andy Piper  <andy@xemacs.org>
12081
12082         * glyphs.c (image_instance_device): new function.
12083         (image_instance_frame): new function.
12084         (image_instance_window): new function.
12085         (image_instance_live_p): new function.
12086
12087         * window.c (mark_window_as_deleted): reset the subwindow_instance_
12088         cache to nil.
12089
12090         * glyphs.h (struct Lisp_Image_Instance): device->domain.
12091         (IMAGE_INSTANCE_DOMAIN): new accessor.
12092         (XIMAGE_INSTANCE_DOMAIN): ditto.
12093
12094         * glyphs-x.c (x_finalize_image_instance): device->domain.
12095
12096         * glyphs-msw.c (init_image_instance_geometry): device->domain.
12097         (mswindows_finalize_image_instance): ditto.
12098
12099         * glyphs-eimage.c (jpeg_instantiate): device->domain.
12100         (gif_instantiate): ditto.
12101         (png_instantiate): ditto.
12102         (tiff_instantiate): ditto.
12103
12104         * glyphs.c (instantiate_image_instantiator): use domain rather
12105         than device.
12106         (mark_image_instance): device -> domain.
12107         (print_image_instance): ditto.
12108         (finalize_image_instance): ditto.
12109         (image_instance_equal): ditto.
12110         (allocate_image_instance): ditto.
12111         (Fcolorize_image_instance): ditto.
12112         (query_string_geometry): ditto.
12113         (image_instantiate): ditto
12114         (query_string_font): ditto.
12115         (image_instantiate): ditto.
12116         (update_subwindow): ditto.
12117         (unmap_subwindow): ditto.
12118         (map_subwindow): ditto.
12119         (subwindow_instantiate): ditto.
12120
12121         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
12122         (DOMAIN_FRAME): ditto.
12123         (DOMAIN_WINDOW): ditto.
12124         (DOMAIN_LIVE_P): ditto.
12125         (XDOMAIN_DEVICE): ditto.
12126         (XDOMAIN_FRAME): ditto.
12127         (XDOMAIN_WINDOW): ditto.
12128
12129         * specifier.c (Fvalid_specifier_domain_p): add image instances as
12130         a valid specifier domain.
12131
12132 2000-04-19  Andy Piper  <andy@xemacs.org>
12133
12134         * glyphs-widget.c (syms_of_glyphs_widget): remove
12135         widget-callback-current-channel.
12136         (vars_of_glyphs_widget): ditto.
12137         * glyphs.h: ditto
12138
12139         * gui.c (get_gui_callback): revert to previous behaviour.
12140
12141 2000-04-18  Andy Piper  <andy@xemacs.org>
12142
12143         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
12144         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
12145         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
12146
12147         * glyphs.c (image_instance_equal): add margin_width.
12148         (image_instance_hash): ditto.
12149
12150         * glyphs-widget.c (widget_instantiate): deal with margin-width.
12151         (layout_query_geometry): ditto.
12152         (layout_layout): ditto.
12153         (syms_of_glyphs_widget): add margin-width.
12154         (image_instantiator_layout): allow margin-width.
12155
12156         * glyphs.c (update_widget_instances): make a normal function.
12157         (syms_of_glyphs): remove Qupdate_widget_instances.
12158         * glyphs.h: ditto.
12159
12160         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
12161         so that we don't corrupt ideas about the last event or
12162         command. Remove widget-callback-current-channel fiddling.
12163         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
12164
12165 2000-05-01  Martin Buchholz <martin@xemacs.org>
12166
12167         * XEmacs 21.2.33 is released.
12168
12169 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
12170
12171         * make-src-depend: Allow dots in header file name.
12172
12173 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
12174
12175         * mule-charset.h (struct charset_lookup): Add
12176         next_allocated_1_byte_leading_byte and
12177         next_allocated_2_byte_leading_byte.
12178         * mule-charset.c: Move above two variables so that those values
12179         will be dumped.
12180
12181 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
12182
12183         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
12184         when string length is zero.
12185         (find_charsets_in_emchar_string): Ditto.
12186
12187 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
12188
12189         * lisp.h: extern Qdialog and Qmenubar.
12190
12191         * gui-x.c: added events.h.
12192                 also fixed typo which made the file uncompilable.
12193
12194         * general.c: Added Qmenubar and Qdialog
12195
12196 2000-04-28  Ben Wing  <ben@xemacs.org>
12197
12198         * frame-msw.c (mswindows_init_frame_1):
12199         * frame-msw.c (mswindows_mark_frame):
12200         * event-msw.c (mswindows_enqueue_dispatch_event):
12201         * console-msw.h:
12202         * console-msw.h (struct mswindows_frame):
12203         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
12204         there are now three hash tables for callbacks.
12205         mswindows_enqueue_dispatch_event is no longer static.
12206
12207         * dialog-x.c (maybe_run_dbox_text_callback):
12208         * dialog-x.c (dbox_descriptor_to_widget_value):
12209         switch to new cons3 form for callbacks.
12210
12211         * glyphs-msw.c (mswindows_register_gui_item):
12212         * glyphs-msw.c (mswindows_widget_instantiate):
12213         * glyphs-msw.c (add_tree_item):
12214         * glyphs-msw.c (add_tab_item):
12215         new image instance parameter, so it can be passed to callback-ex.
12216         respect :callback-ex as well as :callback.
12217
12218         * glyphs-widget.c (VALID_GUI_KEYWORDS):
12219         add :callback-ex.
12220
12221         * glyphs.c (print_image_instance):
12222         prettify, e.g. now prints widget type.
12223
12224         * gui-x.h:
12225         certain funs have new image instance parameter.
12226
12227         * gui.c:
12228         * gui.c (get_gui_callback):
12229         * gui.c (gui_item_add_keyval_pair):
12230         * gui.c (gui_item_init):
12231         * gui.c (gui_add_item_keywords_to_plist):
12232         * gui.c (mark_gui_item):
12233         * gui.c (gui_item_hash):
12234         * gui.c (gui_item_equal):
12235         * gui.c (copy_gui_item):
12236         * gui.c (syms_of_gui):
12237         recognize callback-ex in a number of places.
12238         also, fix the annoying "can't get out of yes-no dialog" bug.
12239
12240         * gui.h:
12241         * gui.h (struct Lisp_Gui_Item):
12242         recognize callback-ex in a number of places.
12243
12244         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12245         new parameter in button_item_to_widget_value.
12246
12247         * glyphs-x.c (x_update_widget):
12248         * glyphs-x.c (x_button_instantiate):
12249         * glyphs-x.c (x_button_update):
12250         * glyphs-x.c (x_progress_gauge_instantiate):
12251         * glyphs-x.c (x_edit_field_instantiate):
12252         * glyphs-x.c (x_combo_box_instantiate):
12253         * glyphs-x.c (x_tab_control_instantiate):
12254         * glyphs-x.c (x_label_instantiate):
12255         new image instance parameter in various places.
12256
12257         * event-Xt.c:
12258         * event-Xt.c (enqueue_Xt_dispatch_event):
12259         this fun gets exported.
12260
12261         * gui-msw.c:
12262         * gui-msw.c (mswindows_handle_gui_wm_command):
12263         handle both :callback and :callback-ex, and generate our own
12264         event because it's one of the callback-ex arguments.
12265
12266         * gui-x.c:
12267         * gui-x.c (popup_selection_callback):
12268         handle both :callback and :callback-ex, and generate our own
12269         event because it's one of the callback-ex arguments.
12270         * gui-x.c (button_item_to_widget_value):
12271         * gui-x.c (gui_items_to_widget_values_1):
12272         * gui-x.c (gui_item_children_to_widget_values):
12273         * gui-x.c (gui_items_to_widget_values):
12274         new image instance parameter in various places.
12275
12276         * fns.c (Freplace_list):
12277         fix small typo in doc string.
12278
12279         * lisp.h:
12280         declare enqueue_Xt_dispatch_event.
12281
12282 2000-04-28  Ben Wing  <ben@xemacs.org>
12283
12284         * buffer.c:
12285         * buffer.c (Frecord_buffer):
12286         * buffer.c (syms_of_buffer):
12287         delete record-buffer-hook.
12288
12289         * fns.c:
12290         * fns.c (Freplace_list):
12291         * fns.c (syms_of_fns):
12292         new primitive replace-list.
12293
12294         * frameslots.h:
12295         slot for old buffer-alist.
12296
12297         * lisp.h:
12298         exfun replace-list.
12299
12300         * redisplay.c:
12301         * redisplay.c (redisplay_frame):
12302         * redisplay.c (syms_of_redisplay):
12303         * redisplay.c (vars_of_redisplay):
12304         new hook buffer-list-changed-hook.
12305         call it.
12306
12307 2000-04-27  Ben Wing  <ben@xemacs.org>
12308
12309         * extents.h: extern in_modeline_generation.
12310
12311         * redisplay.c (generate_formatted_string_db): set
12312         in_modeline_generation.
12313
12314         * extents.c (extent_changed_for_redisplay): don't mark redisplay
12315         flags if in modeline generation.  otherwise frame-modified-tick
12316         is ticked far too often.
12317         Declare in_modeline_generation.
12318
12319 2000-04-26  Ben Wing  <ben@xemacs.org>
12320
12321         * emacs.c (vars_of_emacs): document quick-build "error-checking"
12322         option.
12323         (vars_of_emacs): add quick-build as an error-checking option.
12324         A bit kludgy, but there doesn't seem much point in creating
12325         a real var for this.
12326
12327         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
12328
12329 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12330
12331         * redisplay.h (struct display_line): Add a new variable,
12332         line_continuation.
12333
12334         * redisplay.c (create_text_block): Set dl->line_continuation if
12335         the line continues.
12336         (create_string_text_block): Ditto.
12337         (regenerate_window_incrementally): Use line_continuation instead
12338         of searching continuation glyph.
12339         (add_margin_runes): Call add_glyph_rune.
12340         (add_glyph_rune): Handle margin glyph.
12341
12342 2000-04-20  Martin Buchholz  <martin@xemacs.org>
12343
12344         * filelock.c (fill_in_lock_file_name):
12345         ANSIfy.
12346         Check for IS_ANY_SEP instead of '/'.
12347         (lock_file_1):
12348         Avoid generating gratuitous garbage.  Call user_login_name() directly.
12349         Never check errno without first seeing that system call failed.
12350         (unlock_file): Add GCPRO.
12351         (Flock_buffer): Fix docstring.
12352         (Ffile_locked_p): Fix docstring.  Add GCPRO.
12353
12354 2000-04-19  Martin Buchholz  <martin@xemacs.org>
12355
12356         * sysdep.c (get_pty_max_bytes):
12357         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
12358         strings longer than 252 bytes.
12359
12360         * md5.c: Unconditionally include ANSI header <limits.h>
12361
12362         * glyphs-x.c (convert_EImage_to_XImage):
12363         * lisp-union.h (union Lisp_Object):
12364         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
12365
12366 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
12367
12368         * filelock.c (current_lock_owner): Remove unused variable o, p.
12369
12370 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
12371
12372         * callint.c: Remove multiply defined symbol Qlet
12373         (syms_of_callint): ditto.
12374
12375 2000-04-14  Andy Piper  <andy@xemacs.org>
12376
12377         * general.c (syms_of_general): add last-command, this-command, let
12378         and funcall.
12379
12380         * lisp.h: declare various symbols.
12381
12382         * glyphs.h: declare Qwidget_callback_current_channel;
12383
12384         * glyphs-widget.c (syms_of_glyphs_widget): add
12385         Qgui_callback_current_channel.
12386         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
12387
12388         * gui-msw.c (mswindows_handle_gui_wm_command): bind
12389         widget-callback-current-channel when invoking the interactive
12390         arg. Also bind last-command and next-command when invoking the
12391         widget updates.
12392         * gui-x.c (popup_selection_callback): ditto.
12393
12394         * gui.c (get_gui_callback): massage args so that we are always
12395         calling eval. This allows us to add our own variable bindings
12396         outside.
12397
12398         * glyphs-x.c (x_button_instantiate): use
12399         gui_items_to_widget_values since this is GC safe.
12400         (x_progress_gauge_instantiate): ditto.
12401         (x_edit_field_instantiate): ditto.
12402         (x_label_instantiate): ditto.
12403
12404         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
12405         (emacs_Xt_event_widget_focus_out): new function
12406         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
12407         focus.
12408         (emacs_Xt_event_add_widget_actions): new function. add focus
12409         functions as actions.
12410         (init_event_Xt_late): use it.
12411
12412 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
12413
12414         * event-stream.c (Fdispatch_event): Doc fix.
12415
12416 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
12417
12418         * postgresql.c: Remove all references to PQsetenv*.
12419
12420         * postgresql.h: Remove references to PGsetenvHandler object.
12421         * lrecord.h (lrecord_type): Ditto.
12422
12423 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12424
12425         * glyphs-msw.h (struct mswindows_image_instance_data): Added
12426         real_heigh and real_width members, and accessor macros for these.
12427
12428         * glyphs-msw.c (init_image_instance_geometry): New function.
12429         (init_image_instance_from_dibitmap): Use it.
12430         (mswindows_resource_instantiate): Use it.
12431         (init_image_instance_from_xbm_inline): Use it.
12432         (mswindows_initialize_image_instance_mask): Use real bitmap
12433         geometry.
12434         (mswindows_create_resized_bitmap): Ditto.
12435         (mswindows_create_resized_mask): Ditto.
12436
12437         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
12438         and bitmap to their surface size.
12439
12440 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
12441
12442         * process-unix.c (unix_send_process): Guard against process MIA
12443         after Faccept_process_output.
12444
12445 2000-04-11  Ben Wing  <ben@xemacs.org>
12446
12447         * eval.c (unbind_to_hairy): fix brokenness introduced by
12448         nanosecond speed improvements.
12449
12450 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
12451
12452         * sunplay.c (init_device): To play sounds correctly, the device
12453         apparently needs to be initialized at least once by XEmacs.  Make
12454         it so.
12455
12456 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12457
12458         * redisplay.c (add_margin_runes): Add text image glyph
12459           handling.
12460
12461 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
12462
12463         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
12464         gcc is newer than 2.5.
12465
12466 2000-04-06  Colin Rafferty  <colin@xemacs.org>
12467
12468         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
12469
12470         * fns.c (size_bit_vector):
12471         * alloc.c (size_vector):
12472         (make_vector_internal):
12473         (make_bit_vector_internal):
12474         (sweep_bit_vectors_1):
12475         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
12476
12477 2000-04-06  Andy Piper  <andy@xemacs.org>
12478
12479         * gmalloc.c (malloc): undo previous change.
12480         (malloc): ditto.
12481         (free): ditto.
12482         (realloc): ditto.
12483
12484 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
12485
12486         * line-number.c (buffer_line_number): Revert to former version.
12487
12488 2000-04-06  Andy Piper  <andy@xemacs.org>
12489
12490         * gmalloc.c (malloc): add error checking.
12491         (malloc): ditto.
12492         (free): ditto.
12493         (realloc): ditto.
12494
12495         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
12496         button_item_to_widget_value arg.
12497
12498         * glyphs-x.c (x_button_instantiate): add extra
12499         button_item_to_widget_value arg.
12500         (x_progress_gauge_instantiate): ditto.
12501         (x_edit_field_instantiate): ditto.
12502         (x_label_instantiate): ditto.
12503
12504         * gui-x.c (gui_items_to_widget_values_1): add extra
12505         button_item_to_widget_value arg.
12506         (button_item_to_widget_value): add extra menu_item_p arg.
12507
12508         * gui-x.h: change signature of button_item_to_widget_value.
12509
12510         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
12511         button_item_to_widget_value arg.
12512
12513 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
12514
12515         * buffer.h (struct buffer): auto_save_modified should be long.
12516
12517 2000-04-05  Andy Piper  <andy@xemacs.org>
12518
12519         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
12520         type.
12521         (button_query_geometry): give a little more room so that athena
12522         buttons fit.
12523
12524 2000-04-05  Andy Piper  <andy@xemacs.org>
12525
12526         * faces.c (complex_vars_of_faces): The widget face should inherit
12527         the font of the gui-element face.
12528
12529 2000-04-04  Andy Piper  <andy@xemacs.org>
12530
12531         * glyphs-x.c (x_button_update): new function. unconditionally
12532         update a button's state when the instance is dirty.
12533         (image_instantiator_format_create_glyphs_x): add x_button_update.
12534         (x_widget_instantiate): remove old resize cruft.
12535
12536 2000-04-02  Andy Piper  <andy@xemacs.org>
12537
12538         * frame.c (change_frame_size_1): The introduction of gutters means
12539         that we need to allow 0 as a potential frame dimension.
12540
12541 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12542
12543         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
12544         image glyph if allow_cursor.
12545         (add_hscroll_rune): Don't allow cursor to border glyph.
12546         (create_text_block): Ditto.
12547
12548         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
12549         text not in buffer.
12550         (redisplay_output_layout): Call ensure_face_cachel_complete for
12551         text image glyph.
12552
12553
12554 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12555
12556         * redisplay.c (add_glyph_rune): Adding text image as text runes.
12557
12558         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
12559         not in buffer
12560
12561         * redisplay-tty.c (tty_output_display_block): Delete the routine
12562         for text image glyph
12563         * redisplay-x.c (x_output_display_block): ditto
12564         * redisplay-msw.c (mswindows_output_display_block): ditto
12565
12566 2000-02-02  Mike Alexander  <mta@arbortext.com>
12567
12568         Note: Some of these were committed by accident as part of other
12569         patches.
12570
12571         * regex.c (regex_compile): Avoid compiler warnings.
12572
12573         * ntproc.c (sys_spawnve): Avoid compiler warnings.
12574
12575         * nt.h: Declare term_ntproc correctly.
12576
12577         * nt.c: Remove incorrect declaration of get_home_directory which
12578         is declared correctly in lisp.h.
12579
12580         * keymap.c (get_keyelt): Avoid compiler warnings.
12581         (raw_lookup_key_mapper): Avoid compiler warnings.
12582
12583         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
12584
12585         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
12586
12587         * filemode.c (mode_string): Avoid compiler warnings.
12588
12589         * file-coding.c (Fcoding_system_aliasee): Add return statement to
12590         avoid warning.
12591
12592         * events-mod.h: Undef some things that winuser.h defines differently.
12593
12594         * data.c (Faset): Avoid compiler warnings.
12595
12596         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
12597
12598 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
12599
12600         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
12601         Fall through to simple beep on error.
12602         Replace "extern" by real header file.
12603
12604         * linuxplay.c: Use nativesound.h
12605         (play_sound_data): Return error code. Be less verbose on error.
12606
12607         * sunplay.c: Use nativesound.h
12608         (play_sound_data): Return error code. Be less verbose on error.
12609
12610         * ntplay.c: Use nativesound.h
12611         (play_sound_data): Return fake error code
12612
12613         * sgiplay.c: Use nativesound.h
12614         (play_sound_data): Return error code
12615
12616         * hpplay.c: Use nativesound.h, partially implement
12617         new error code. Break compilation until finished.
12618         (play_sound_data): error code.
12619
12620         * nativesound.h (play_sound_file):
12621           (play_sound_data): Prototype in new header.
12622
12623 2000-03-31  Andy Piper  <andy@xemacs.org>
12624
12625         * glyphs-widget.c: (button_query_geometry): new function. Adjust
12626         for toggle and radio buttons.
12627         (image_instantiator_buttons): use it.
12628
12629 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
12630
12631         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
12632         (x_update_horizontal_scrollbar_callback): Return if no mirror was
12633         found. Scrollbar event probably belonged to some old config.
12634
12635 2000-03-31  Andy Piper  <andy@xemacs.org>
12636
12637         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
12638         than 1.
12639         (initialize_widget_image_instance): default layout to
12640         LAYOUT_HORIZONTAL rather than 0.
12641         (widget_instantiate): reverse the item list at the end rather than
12642         every iteration.
12643         (layout_layout): re-code for the border text at the front of the
12644         item list rather than at the end.
12645         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
12646         provided by the user.
12647         (widget_query_geometry): comment.
12648
12649 2000-03-30  Andy Piper  <andy@xemacs.org>
12650
12651         * glyphs-widget.c (image_instantiator_layout): allow standard
12652         widget keywords in layouts.
12653
12654         * gutter.c (output_gutter): cope with nil gutter contents.
12655
12656         * frame.c (Fset_frame_properties): add gutter docs.
12657
12658 2000-03-29  Andy Piper  <andy@xemacs.org>
12659
12660         * toolbar-msw.c (TBSTYLE_FLAT): add.
12661         (mswindows_output_toolbar): minor fiddling.
12662
12663 2000-03-29  Andy Piper  <andy@xemacs.org>
12664
12665         * gutter.c (output_gutter): force gutter size recalculation if
12666         what we are trying to display won't fit.
12667         (update_gutter_geometry): new function. A per-gutter version of
12668         update_frame_gutter_geometry.
12669         (update_frame_gutter_geometry): use it.
12670         (redraw_exposed_gutter): add extra debugging output.
12671
12672 2000-03-28  Mike Alexander  <mta@arbortext.com>
12673
12674         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
12675         (pdump_file_unmap): Implement it on Windows
12676         (pdump_file_get): Save alocated handles for pdump_file_unmap
12677
12678 2000-03-28  Andy Piper  <andy@xemacs.org>
12679
12680         * gui.c (get_gui_callback): treat Quit specially.
12681
12682 2000-03-27  Andy Piper  <andy@xemacs.org>
12683
12684         * glyphs.c (image_instantiate): be careful to check in the same
12685         way we assigned.
12686
12687 2000-03-27  Didier Verna  <didier@xemacs.org>
12688
12689         * config.h.in: define the proper SMART_INCLUDE macro.
12690         handle renaming of `foo_h_path' to `foo_h_file'.
12691
12692         * database.c: ditto.
12693
12694         * emacs.c: ditto.
12695
12696         * linuxplay.c: ditto.
12697
12698         * terminfo.c: ditto.
12699
12700         * tooltalk.h: ditto.
12701
12702 2000-03-27  Andy Piper  <andy@xemacs.org>
12703
12704         * glyphs-msw.c (mswindows_update_widget): make sure the widget
12705         gets updated whenever the face might have changed.
12706
12707 2000-03-26  Mike Alexander  <mta@arbortext.com>
12708
12709         * dumper.c (pdump_resource_free): Fix the comment.
12710
12711 2000-03-21  Olivier Galibert  <galibert@pobox.com>
12712
12713         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
12714
12715 2000-03-22  Mike Alexander  <mta@arbortext.com>
12716
12717         * dumper.c: Include Windows headers on Windows
12718         (pdump_resource_free): Add a body to the function
12719         (pdump_load): exe_name -> exe_path and add some comments.
12720
12721 2000-03-25  Mike Alexander  <mta@arbortext.com>
12722
12723         * gui.c (copy_gui_item_tree): Return a value in all cases
12724
12725 2000-03-21  Didier Verna  <didier@xemacs.org>
12726
12727         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
12728         lwlib/config.h.in.
12729         (SMART_INCLUDE): new macro.
12730         (POSTGRES_INCLUDE): new macro to include postgresql headers from
12731         the proper location.
12732
12733         * postgresql.c: use it.
12734
12735         * inline.c: ditto.
12736
12737 2000-03-24  Andy Piper  <andy@xemacs.org>
12738
12739         * gutter.c (redraw_exposed_gutters): must be "in display" when we
12740         do this.
12741
12742 2000-03-24  Andy Piper  <andy@xemacs.org>
12743
12744         * redisplay-output.c (compare_runes): use image_instance_changed
12745         to detect changes. Do not depend on glyphs_changed, only depend on
12746         dirtiness.
12747          (redisplay_output_layout): add debug messages.
12748         (compare_runes): ditto.
12749
12750         * glyphs.h: declare new functions.
12751         (struct Lisp_Image_Instance): remove percent and associated
12752         accessors.
12753
12754         * gui.h: declare new copying functions.
12755
12756         * gui.c (copy_gui_item_tree): new function.
12757         (copy_gui_item): new function.
12758         (gui_item_id_hash): revert to standard hash.
12759         (gui_item_hash): ditto.
12760         (gui_item_hash_internal): deleted.
12761         (mark_gui_item): mark value.
12762         (gui_item_add_keyval_pair): add value.
12763         (gui_item_init): ditto.
12764         (gui_add_item_keywords_to_plist): ditto.
12765         (gui_item_equal): ditto.
12766         (syms_of_gui): add Q_value.
12767
12768         * glyphs-x.c (x_progress_gauge_update): use pending items and
12769         value for setting the state.
12770         (x_update_widget): don't set items from pending here.
12771
12772         * glyphs-widget.c (update_widget): update items here.
12773         (progress_gauge_set_property): use items for storing value. Put
12774         new value in pending items.
12775
12776         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
12777         items for new value. Convert percent -> value.
12778         (mswindows_tab_control_update): don't update items here.
12779
12780         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
12781         (update_subwindow): ditto.
12782         (image_instance_changed): new function. Compare hash values and
12783         past and present widget items.
12784         (image_instantiate): We more careful about where we instantiate
12785         things.
12786         (image_instantiate): add error checking.
12787
12788         * gutter.c (syms_of_gutter): use -hook.
12789
12790 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
12791
12792         * console-tty.c (Fset_console_tty_input_coding_system): Use
12793         Qkeyboard.
12794         (Fset_console_tty_output_coding_system): Use Qterminal.
12795         (tty_init_console): Use Qkeyboard and Qterminal.
12796
12797 2000-03-21  Ben Wing  <ben@xemacs.org>
12798
12799         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
12800         From Mike Alexander <mta@arbortext.com>.
12801
12802 2000-03-21  Ben Wing  <ben@xemacs.org>
12803
12804         * event-msw.c (mswindows_need_event): Horrible kludge to fix
12805         process brokenness.  Proper implementation to come.
12806         * callproc.c:
12807         Rename call-process-internal to old-call-process-internal.
12808         New impl. in process.el.
12809
12810 2000-03-21  Martin Buchholz  <martin@xemacs.org>
12811
12812         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
12813
12814 2000-03-20  Andy Piper  <andy@xemacs.org>
12815
12816         * glyphs.c (full_list_hash): make hashes of the same elements in
12817         different orders return different values.
12818
12819 2000-03-20  Martin Buchholz <martin@xemacs.org>
12820
12821         * XEmacs 21.2.32 is released.
12822
12823 2000-03-20  Martin Buchholz  <martin@xemacs.org>
12824
12825         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
12826         (DFC_MALLOC_USE_CONVERTED_DATA):
12827         Add aliasing-safe casts to allow use with char* or unsigned char*
12828         lvalues.
12829
12830         * eldap.c (Fldap_open):
12831         (Fldap_search_basic):
12832         (Fldap_add):
12833         (Fldap_modify):
12834         Make C++-compilable.
12835         Make sure GCPRO'ed variables are initialized.
12836         Use temp variables to avoid repeated calls to Flength.
12837
12838 2000-03-16  Martin Buchholz  <martin@xemacs.org>
12839
12840         * sysfile.h:
12841         Make sure PATH_MAX is always defined.
12842         Include limits.h for PATH_MAX.
12843         Deprecate use of MAXPATHLEN.
12844
12845 2000-03-10  Martin Buchholz  <martin@xemacs.org>
12846
12847         * emacs.c: Add reinit_vars_of_fileio.
12848         * symsinit.h: Add reinit_vars_of_fileio.
12849         * fileio.c (reinit_vars_of_fileio): New.
12850         * fileio.c (Fmake_temp_name):
12851         Initialize temp_name random number from microseconds to make
12852         collisions even less likely.  Initialize always at process startup
12853         time.  (make-temp-name) used to return the same file name twice in
12854         a row when PDUMP.
12855         Random stylistic fiddling.
12856         Comment fixes.
12857
12858 2000-03-20  Andy Piper  <andy@xemacs.org>
12859
12860         * glyphs.c (image_instantiate): allow text glyphs to be
12861         instantiated in the minibuffer window.
12862
12863 2000-03-19  Andy Piper  <andy@xemacs.org>
12864
12865         * glyphs.c (image_instance_hash): be careful about which items we
12866         hash on.
12867
12868         * glyphs-widget.c (tab_control_set_property): record into pending
12869         items rather than the actual items.
12870
12871         * glyphs-x.c (x_update_widget): use pending items to update with.
12872
12873         * glyphs-msw.c (mswindows_tab_control_update): use pending items
12874         to update with.
12875
12876         * glyphs.c (mark_image_instance): mark pending items.
12877
12878         * window.c (Fset_window_configuration): record the buffer.
12879         (Fselect_window): totally revert previous change which breaks many
12880         things.
12881
12882 2000-03-18  Andy Piper  <andy@xemacs.org>
12883
12884         * glyphs-msw.c (mswindows_tab_control_update): force selected
12885         item.
12886
12887         * glyphs.c (image_instantiate): don't allow the minibuffer as a
12888         window domain cache, otherwise we get inconsistencies at
12889         startup. There is something fishy at startup which can lead to the
12890         minibuffer being the selected window when the gutter content is
12891         instantiated.
12892
12893         * gui.c (parse_gui_item_tree_list): add probably unnecessary
12894         gcpros.
12895         (parse_gui_item_tree_children): ditto.
12896         (parse_gui_item_tree_item): ditto.
12897
12898         * glyphs.c (Fupdate_widget_instances): return something.
12899
12900 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
12901
12902         * window.c (Fselect_window): Undo 2000-03-17 change.
12903
12904 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
12905
12906         * postgresql.c (Fpq_setenv): Remove this turkey when linking
12907         against v7.0 libraries.  Insta-coredump city until the postgres
12908         folks fix it.
12909
12910 2000-03-17  Andy Piper  <andy@xemacs.org>
12911
12912         * faces.c (complex_vars_of_faces): don't give the widget face an
12913         inherited background pixmap.
12914
12915         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
12916         selected item.
12917
12918         * event-stream.c (Fdispatch_non_command_events): return something.
12919
12920         * gutter.c (output_gutter): use widget face.
12921         (clear_gutter): ditto.
12922
12923         * NEWS: adjust again.
12924
12925         * window.c (Fselect_window): make sure this runs to completion to
12926         avoid oddities with Fset_window_configuration.
12927         (Fcurrent_window_configuration): in general do not save the
12928         minibuffer as the selected window.
12929
12930         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
12931
12932 2000-03-16  Olivier Galibert  <galibert@pobox.com>
12933
12934         * emacs.c (Frunning_temacs_p): Revert previous patch.
12935         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
12936
12937 2000-03-16  Andy Piper  <andy@xemacs.org>
12938
12939         * glyphs-x.c (x_tab_control_update): if no widget values then
12940         return.
12941
12942         * NEWS: update for new features.
12943
12944         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
12945         synthetic event to the native system.
12946         (reinit_vars_of_event_Xt): set force_event_pending to
12947         emacs_Xt_force_event_pending.
12948
12949         * events.h (struct event_stream): add force_event_pending.
12950
12951         * specifier.c (recompute_one_cached_specifier_in_window): add
12952         comment.
12953
12954         * redisplay.c (redisplay_frame): don't call
12955         update_frame_subwindows. Reset subwindow cachels when
12956         subwindows_changed, removing this was an optimization too far.
12957
12958         * redisplay-output.c (compare_runes): reorganize so that we catch
12959         glyph changes when we want them. Set optimize_output when this
12960         would help layouts.
12961         (redisplay_output_layout): remove frame_really_changed, use
12962         optimize_output instead.
12963
12964         * redisplay-msw.c (mswindows_output_display_block): reset
12965         optimize_output after outputting a glyph.
12966         * redisplay-x.c (x_output_display_block): ditto.
12967         * redisplay-tty.c (tty_output_display_block): ditto.
12968
12969         * gutter.c: (specifier_vars_of_gutter): use new spec changed
12970         functions.
12971         (gutter_specs_changed): do specific gutter positions.
12972         (top_gutter_specs_changed): new function. Only update the
12973         specified gutter specs.
12974         (bottom_gutter_specs_changed): ditto.
12975         (left_gutter_specs_changed): ditto.
12976         (right_gutter_specs_changed): ditto.
12977
12978         * gui.c (gui_item_hash_internal): new function, does a real hash.
12979         (gui_item_id_hash): use it.
12980         (gui_item_hash): hash the eval'ed gui_item.
12981
12982         * gui-x.c (popup_selection_callback): send an eval event to call
12983         Fupdate_widget_instances.
12984
12985         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
12986         to call Fupdate_widget_instances.
12987
12988         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
12989         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
12990
12991         * glyphs.c: (update_frame_subwindows): deleted.
12992         (Fupdate_widget_instances): new function for updating the dirty
12993         state of widgets that might have changed.
12994         (syms_of_glyphs): add Qupdate_widget_instances.
12995         (full_list_hash): hash a list completely.
12996         (image_instance_hash): use it for items and properties.
12997
12998         * frame-msw.c (mswindows_size_frame_internal): remove unused
12999         variable.
13000
13001         * faces.h (struct face_cachel): fix comment.
13002
13003         * event-stream.c (Fdispatch_non_command_events): new
13004         function. Process non-command events, forcing an event cycle
13005         beforehand.
13006         (syms_of_event_stream): declare.
13007         (event_stream_force_event_pending): new function. Force an event
13008         on the native event queue so that an event cycle will occur next
13009         time we check.
13010
13011         * event-msw.c:
13012         (struct ntpipe_shove_stream):
13013         (mswindows_enqueue_dispatch_event):
13014         (mswindows_dequeue_dispatch_event):
13015         (mswindows_cancel_dispatch_event):
13016         (mswindows_pump_outstanding_events):
13017         (mswindows_drain_windows_queue):
13018         (mswindows_handle_paint):
13019         (mswindows_wnd_proc):
13020         (mswindows_key_to_emacs_keysym):
13021         (get_process_input_waitable):
13022         (emacs_mswindows_delete_stream_pair): re-indent file.
13023         (mswindows_need_event): do not process further fds if the windows
13024         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
13025         fixes the 100% cpu problem.
13026         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
13027
13028 2000-03-15  Olivier Galibert  <galibert@pobox.com>
13029
13030         * alloc.h: New.
13031         * dumper.h: New.
13032         * dumper.c: New.
13033
13034         * emacs.c: Moved dump file searching to dumper.c.
13035         (Frunning_temacs_p): Fixed.
13036
13037         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
13038         last_lrecord_type_index_assigned.
13039
13040 2000-02-20  Olivier Galibert  <galibert@pobox.com>
13041
13042         * symsinit.h: Added reinit parameter to init_console_stream
13043         declaration.
13044
13045         * lisp.h: Added file parameter to pdump_load declaration.
13046
13047         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
13048         support.  Added dump file searching.
13049
13050         * config.h.in: Added EMACS_PROGNAME.
13051
13052         * console-stream.c (init_console_stream): Fix reinitialisation
13053         when running from temacs.
13054
13055         * alloc.c (pdump): Add id support.
13056         (pdump_load): Add file parameter and signature/id support.
13057
13058         * Makefile.in.in: Add full pdump support.
13059
13060 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
13061
13062         * postgresql.c: Update documentation to reflect latest code
13063         status.
13064         (print_result): Show tuple counts in printed representation when
13065         appropriate.
13066         (Fpq_put_nbytes): MULE-ize.
13067         (Fpq_get_line_async): Ditto.
13068
13069 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13070
13071         * postgresql.c (Fpq_lo_import): Fix return value.
13072         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
13073
13074 2000-03-13  Ben Wing  <ben@xemacs.org>
13075
13076         * alloc.c (pdump_load):
13077         Fix compile warning under mswin.
13078
13079 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13080
13081         * postgresql.c: Mule-ization, bug fixes.
13082         Use PG_CODING to encapsulate coding system name changes.
13083         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
13084         (pg-coding-system): Create.
13085
13086         (Fpq_conn_defaults): Mule-ize.
13087         (Fpq_connectdb): Mule-ize & bug fix.
13088         (Fpq_connect_start): Mule-ize.
13089         (Fpq_set_client_encoding): Mule-ize.
13090         (Fpq_finish): Document `DEAD' connection status.
13091         (Fpq_clear): Ditto.
13092         (Fpq_pgconn): Mule-ize.
13093         (Fpq_exec): Mule-ize & bug fix.
13094         (Fpq_send_query): Ditto.
13095         (Fpq_get_result): Ditto.
13096         (Fpq_res_status): Mule-ize.
13097         (Fpq_result_error_message): Mule-ize.
13098         (Fpq_ntuples): fix comments.
13099         (Fpq_fname): Mule-ize.
13100         (Fpq_fnumber): Mule-ize.
13101         (Fpq_ftype): fix comments.
13102         (Fpq_get_value): Mule-ize.
13103         (Fpq_cmd_status): Ditto.
13104         (Fpq_cmd_tuples): Ditto.
13105         (Fpq_oid_value): Ditto.
13106         (Fpq_notifies): Ditto.
13107         (Fpq_lo_import): Ditto.
13108         (Fpq_lo_export): Ditto.
13109         (Fpq_get_line): Ditto.
13110         (Fpq_put_line): Mule-ize and bug fix.
13111         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
13112
13113 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13114
13115         * postgresql.c (vars_of_postgresql): Mule-ize.
13116         (Fpq_conn_defaults): Ditto.
13117
13118 2000-03-12  Ben Wing  <ben@xemacs.org>
13119
13120         * alloc.c (Fmake_byte_code):
13121         * alloc.c (debug_string_purity_print):
13122         * alloc.c (pdump_backtrace):
13123         * alloc.c (pdump_get_indirect_count):
13124         * alloc.c (pdump_register_sub):
13125         * alloc.c (pdump_register_object):
13126         * alloc.c (pdump_register_struct):
13127         * alloc.c (pdump_dump_data):
13128         * alloc.c (pdump_reloc_one):
13129         Minor cleanups.
13130
13131         * console-msw.c:
13132         * console-msw.c (GetConsoleHwnd):
13133         * console-msw.c (msw_hide_console):
13134         * console-msw.c (msw_show_console):
13135         * console-msw.c (msw_ensure_console_buffered):
13136         * console-msw.c (msw_output_console_string):
13137         * console-msw.c (console_type_create_mswindows):
13138
13139         a) Added functions to manipulate the console window for use with
13140         shell support.
13141
13142         b) Added support for writing text to the console, which is now
13143         used under Windows when xemacs is not being run non-interactively,
13144         to write text that would otherwise be destined for stdout because
13145         under these circumstances, text written to stdout tends to
13146         disappear and not be seen.
13147
13148         * console-msw.h:
13149         * event-Xt.c:
13150         * event-Xt.c (x_event_to_emacs_event):
13151         * event-Xt.c (describe_event_window):
13152         * events-mod.h (XEMACS_MOD_CONTROL):
13153         * events.c:
13154         * events.c (Fmake_event):
13155         * events.c (character_to_event):
13156         * events.c (event_to_character):
13157         * events.c (format_event_object):
13158         * events.c (Fevent_modifiers):
13159         * events.h:
13160         * events.h (struct key_data):
13161         * events.h (struct button_data):
13162         * events.h (struct misc_user_data):
13163         * frame-x.c (Fcde_start_drag_internal):
13164         * frame-x.c (Foffix_start_drag_internal):
13165         * gpmevent.c (Freceive_gpm_event):
13166         * keymap.c:
13167         * keymap.c (bucky_sym_to_bucky_bit):
13168         * keymap.c (control_meta_superify):
13169         * keymap.c (make_key_description):
13170         * keymap.c (keymap_lookup_directly):
13171         * keymap.c (create_bucky_submap):
13172         * keymap.c (keymap_store):
13173         * keymap.c (define_key_check_and_coerce_keysym):
13174         * keymap.c (define_key_parser):
13175         * keymap.c (define_key_alternate_name):
13176         * keymap.c (Fdefine_key):
13177         * keymap.c (raw_lookup_key_mapper):
13178         * keymap.c (struct map_keymap_unsorted_closure):
13179         * keymap.c (map_keymap_unsorted_mapper):
13180         * keymap.c (map_keymap_sort_predicate):
13181         * keymap.c (map_keymap_sorted):
13182         * keymap.c (accessible_keymaps_mapper_1):
13183         * keymap.c (where_is_recursive_mapper):
13184         * keymap.c (describe_map_mapper):
13185         * keymap.c (describe_map_sort_predicate):
13186         * keymap.c (describe_map):
13187         * keymap.c (complex_vars_of_keymap):
13188         And a number of other files, the key modifier preprocessor
13189         constants that xemacs uses have names that conflict with constants
13190         defined under MS Windows for other purposes, so they were renamed
13191         to begin with the prefix XEMACS_. The variables that hold such
13192         modifiers were changed to consistently be of type int to fix
13193         various compile warnings.
13194
13195         * console.c (complex_vars_of_console):
13196         * device.c:
13197         * device-msw.c:
13198         * device-msw.c (mswindows_finish_init_device):
13199         * device-msw.c (msw_get_workspace_coords):
13200         * device-msw.c (mswindows_device_system_metrics):
13201         and various other files, added support for a new
13202         device property called offset-workspace which returns the position
13203         of the upper left corner of the workspace area and goes along with
13204         the existing size-workspace property.
13205
13206         * dialog-msw.c:
13207         * dialog-msw.c (push_bufbyte_string_as_unicode):
13208         * dialog-msw.c (mswindows_popup_dialog_box):
13209         Added support for XEmacs-style accelerator specifications in
13210         button text.  Note: I didn't add support for this under X Windows,
13211         and somebody needs to do this.
13212
13213         * dialog.c:
13214         * dialog.c (Fpopup_dialog_box):
13215         Documented the support for accelerators that was just mentioned.
13216
13217         editfns.c (get_home_directory): Changed behavior under Windows
13218         when HOME not defined; former behavior was irretrievably broken.
13219
13220         * emacs.c:
13221         * emacs.c (main_1):
13222         * emacs.c (main):
13223         * minibuf.c (clear_echo_area_internal):
13224         * minibuf.c (echo_area_append):
13225         * print.c:
13226         * print.c (std_handle_out_external):
13227         * print.c (std_handle_out_va):
13228         * print.c (fatal):
13229         * print.c (write_string_to_stdio_stream):
13230         * print.c (output_string):
13231         * print.c (debug_print):
13232         * print.c (debug_backtrace):
13233         * print.c (debug_short_backtrace):
13234         Cleaned up the code that prints text to stdout so that this can be
13235         changed to output into a console window instead under MS Windows,
13236         as described above.
13237
13238         * eval.c:
13239         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
13240         * eval.c (internal_catch):
13241         * eval.c (unwind_to_catch):
13242         * eval.c (throw_or_bomb_out):
13243         * eval.c (condition_case_1):
13244         * eval.c (signal_1):
13245         * eval.c (check_error_state_sanity):
13246         * eval.c (call_with_suspended_errors_1):
13247         * eval.c (call_with_suspended_errors):
13248         * eval.c (reinit_vars_of_eval):
13249         Added code to catch throw loops and check for a pesky bug that may
13250         be gone now.
13251
13252         * event-msw.c:
13253         * event-msw.c (key_needs_default_processing_p):
13254         * event-msw.c (mswindows_wnd_proc):
13255         * event-msw.c (mswindows_modifier_state):
13256         * event-msw.c (emacs_mswindows_quit_p):
13257         * event-msw.c (vars_of_event_mswindows):
13258         a) Added support for using the alt key to select menu items as is
13259         standard under MS Windows.  This is controlled using the variable
13260         menu-accelerator-enabled, just like under X Windows.  There is an
13261         option on the options menu to turn this support on.  I really
13262         think that it should be on by default under Windows, but I'm not
13263         going to make this change yet.
13264
13265         b)  Added support for dynamic display size changes under Windows.
13266
13267         * event-stream.c:
13268         * event-stream.c (maybe_echo_keys):
13269         * event-stream.c (Fnext_event):
13270         * event-stream.c (command_builder_find_leaf):
13271         * event-stream.c (lookup_command_event):
13272         * event-stream.c (execute_command_event):
13273         * event-stream.c (pre_command_hook):
13274         * event-stream.c (post_command_hook):
13275         * event-stream.c (syms_of_event_stream):
13276         * event-stream.c (vars_of_event_stream):
13277         * event-stream.c (complex_vars_of_event_stream):
13278         * events.h (struct command_builder):
13279
13280         a) Tried to clean up a little bit the horribly written x-specific
13281         accelerator code that crept into this file.  I moved this code
13282         into menubar-x.c where it belongs. I also needed to move the
13283         command builder structure into the file events.h because it is
13284         accessed directly by this accelerator code.  What I didn't do, but
13285         which should be done at some point, is to properly abstract this
13286         code using device methods instead of the kludgy way that it
13287         currently hooks into the event code.
13288
13289         b) Added the lisp variables this-command-properties and
13290         last-command- properties, which should be used to synchronize two
13291         adjacent commands in preference to playing games with the variable
13292         this-command, which is typically what happens.
13293
13294         c) Added some slightly nasty code to hook into the lisp support
13295         for shifted- motion-key selection.  This is actually necessary for
13296         somewhat complicated reasons, which are described in
13297         simple.el. (NB: I think the proper thing would be to have the code
13298         that calls the pre and post command hooks also call out to generic
13299         lisp functions in simple.el, where all built-in stuff could be
13300         added.  I will think about this more.)
13301
13302         * event-unixoid.c (poll_fds_for_input):
13303         * lread.c (readchar):
13304         * redisplay-tty.c (tty_clear_frame):
13305         * redisplay-x.c (x_get_gc):
13306         * signal.c (interrupt_signal):
13307         And a whole bunch of other files: fixed up places that printed
13308         directly to stderr to instead call the function stderr_out so that
13309         the changes I made under Windows work correctly.
13310
13311         * filemode.c (mode_string):
13312         Warning fixes.
13313
13314         * frame-msw.c:
13315         * frame-msw.c (mswindows_size_frame_internal):
13316         Fixed the computation of frame size and position to keep the frame
13317         within the workspace area, rather than within the physical
13318         dimensions of the screen, so that the frame doesn't overlap window
13319         manager decorations, such as the start menu and toolbar, typically
13320         at the bottom of the screen.
13321
13322         * frame.c (vars_of_frame):
13323         Changed the default frame title format under MS Windows to consist
13324         of buffername-XEmacs, which is standard under MS Windows.  I think
13325         it might be a good idea to change this everywhere because I think
13326         it is superior to the current frame title format, but this is the
13327         kind of change that is likely to cause some people to get annoyed,
13328         so I'm not making it.
13329
13330         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
13331
13332         * gui-msw.c (mswindows_handle_gui_wm_command):
13333         Fixed compile warnings.
13334
13335         * gui-x.c:
13336         * gui-x.c (strdup_and_add_accel):
13337         * gui-x.c (button_item_to_widget_value):
13338         * gui-x.h:
13339         Added code to automatically put an accelerator onto the beginning
13340         of menu items that don't have one as is now the standard, and is
13341         described more later.  Also fixed things so that the menu item
13342         name can be an evaluated expression, again a new standard.
13343
13344         * gui.c:
13345         * gui.c (gui_item_add_keyval_pair):
13346         * gui.c (make_gui_item_from_keywords_internal):
13347         * gui.c (gui_add_item_keywords_to_plist):
13348         * gui.c (gui_item_accelerator):
13349         * gui.c (gui_name_accelerator):
13350         * gui.c (gui_item_included_p):
13351         * gui.c (gui_item_display_flush_left):
13352         * gui.c (gui_item_display_flush_right):
13353         * gui.c (parse_gui_item_tree_item):
13354         * gui.c (parse_gui_item_tree_children):
13355         * gui.c (parse_gui_item_tree_list):
13356         Mule-ized.  Cleanup.  GCPRO addition.
13357
13358         * line-number.c (buffer_line_number):
13359         * lisp.h:
13360         * lisp.h (EMACS_INT_MAX):
13361         Added the manifest constant EMACS_INT_MIN corresponding to the
13362         existing constant EMACS_INT_MAX.  This is partially to fix compile
13363         warnings under Windows, and partly for cleanliness.
13364
13365         * menubar-msw.c:
13366         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
13367         * menubar-msw.c (msw_translate_menu_or_dialog_item):
13368         * menubar-msw.c (displayable_menu_item):
13369         * menubar-msw.c (populate_menu_add_item):
13370         * menubar-msw.c (populate_or_checksum_helper):
13371         * menubar-msw.c (populate_menu):
13372         * menubar-msw.c (update_frame_menubar_maybe):
13373         * menubar-msw.c (prune_menubar):
13374         * menubar-msw.c (msw_char_is_accelerator):
13375         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
13376         * menubar-msw.c (mswindows_handle_wm_command):
13377         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
13378         * menubar-msw.c (mswindows_handle_wm_initmenu):
13379         * menubar-msw.c (mswindows_update_frame_menubars):
13380         * menubar-msw.c (mswindows_free_frame_menubars):
13381         * menubar-msw.c (mswindows_popup_menu):
13382         Fixed a bug in handling accelerators where an extra character
13383         would be displayed in the menu item.  Also generalized the
13384         function displayable_menu_item because it is now used by the
13385         dialog box code as well.  And finally, added code in the functions
13386         that create the menubar to extract a list of accelerators for the
13387         top level menubar, which is used in the event code to determine
13388         whether a particular alt-key combination should be used to invoke
13389         a menu item, or should be passed through to access the standard
13390         XEmacs keymap binding for this key combination.
13391
13392         Much needed GCPROing.
13393
13394         * menubar-x.c:
13395         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
13396         * menubar-x.c (menu_item_descriptor_to_widget_value):
13397         * menubar-x.c (restore_in_menu_callback):
13398         * menubar-x.c (x_popup_menu):
13399         * menubar-x.c (menu_move_up):
13400         * menubar-x.c (menu_move_down):
13401         * menubar-x.c (menu_move_left):
13402         * menubar-x.c (menu_move_right):
13403         * menubar-x.c (menu_select_item):
13404         * menubar-x.c (command_builder_operate_menu_accelerator):
13405         * menubar-x.c (menu_accelerator_junk_on_error):
13406         * menubar-x.c (command_builder_find_menu_accelerator):
13407         * menubar-x.c (Faccelerate_menu):
13408         * menubar.h:
13409         Moved a whole bunch of code here that was previously in
13410         event-stream.c as described above.  There is also code connected
13411         to the new standard of adding an accelerator to the beginning of
13412         menu items that don't have one as described above and below.
13413
13414         * menubar.c:
13415         * menubar.c (menu_parse_submenu_keywords):
13416         * menubar.c (Fmenu_find_real_submenu):
13417         * menubar.c (Fnormalize_menu_item_name):
13418         * menubar.c (syms_of_menubar):
13419         * menubar.c (vars_of_menubar):
13420         * menubar.c (complex_vars_of_menubar):
13421
13422         a) Cleaned up a bunch of documentation and improved it.
13423
13424         b) XEmacs now automatically adds an accelerator onto the beginning
13425         of any menu items that don't have one.  I did this because there
13426         will inevitably be some menu items on the main menubar that don't
13427         have accelerators on them because the package that adds that
13428         particular menu item hasn't yet been fixed up to have accelerators
13429         in them and it looked rather strange to have some items with and
13430         some items without accelerators, especially since even in items
13431         without accelerators, you can, at least under windows, still
13432         access the item through an accelerator corresponding to the first
13433         character in the item's name.  If people don't like this behavior,
13434         I can add a variable to turn it off optionally, but I'm not sure
13435         this is a good idea because we really do need to have accelerators
13436         on all of the menu items, and if a package doesn't like the
13437         accelerators being put on the first character, then it should put
13438         the accelerators where they belong.
13439
13440         c) I made a behavior change, which is that the descriptor that
13441         specifies the text of the menu item, which formerly was just a
13442         string, can now also be an evaluated expression.  This makes this
13443         descriptor parallel with all of the others, which could also be
13444         evaluated expressions.  This also obviates the need for the
13445         keyword :label, which was previously listed in the documentation
13446         as unimplemented, and which was for the same purpose.
13447
13448         d) GCPROing.
13449
13450         * ntproc.c:
13451         * ntproc.c (new_child):
13452         * ntproc.c (sys_spawnve):
13453         * ntproc.c (find_child_console):
13454         * ntproc.c (sys_kill):
13455         Fixed compile warnings.  By the way, this file should really go
13456         away entirely, and this will happen as soon as Kirill makes his
13457         final round of process cleanups, which affect the function
13458         call-process.
13459
13460         * process-nt.c:
13461         * process-nt.c (struct nt_process_data):
13462         * process-nt.c (find_process_from_pid):
13463         * process-nt.c (send_signal_the_nt_way):
13464         * process-nt.c (enable_child_signals):
13465         * process-nt.c (find_child_console):
13466         * process-nt.c (send_signal_the_95_way):
13467         * process-nt.c (nt_finalize_process_data):
13468         * process-nt.c (ensure_console_window_exists):
13469         * process-nt.c (nt_create_process):
13470         * process-nt.c (nt_kill_child_process):
13471         * process-nt.c (nt_kill_process_by_pid):
13472         * process-nt.c (nt_open_network_stream):
13473         * process-nt.c (vars_of_process_nt):
13474         Copied over code from Emacs 20.5 to correctly send signals to sub-
13475         processes under Windows 95.  Also added code to automatically
13476         create and hide console window when a sub-process is created under
13477         Windows 95, which obviates the need for the separate runemacs.exe
13478         executable, and finally implemented some variables that were
13479         implemented in Emacs 20.5, but previously not in XEmacs.  These
13480         include mswindows- start-process-share-console and
13481         mswindows-start-process-inherit-error-mode. (Both of these only
13482         apply to Windows 95.)
13483
13484         * regex.c (regex_compile): Fixed a compile warning.
13485
13486         * select-msw.c:
13487         * select-msw.c (mswindows_own_selection):
13488         * select-msw.c (mswindows_get_foreign_selection):
13489         * select-msw.c (mswindows_disown_selection):
13490         * select-msw.c (console_type_create_select_mswindows):
13491         * select-msw.c (syms_of_select_mswindows):
13492         Cleaned up the file and implemented the device method
13493         selection_exists_p, which had accidentally been left out.  Also
13494         removed four lisp functions that were remnants from before the
13495         time when the selection code was properly device abstracted.
13496         These functions are no longer needed because there are generic
13497         equivalents, and because they were added recently and don't exist
13498         in FSF Emacs, I don't think there's any problem with just deleting
13499         them.
13500
13501         * sysdep.c:
13502         * sysdep.c (sys_subshell):
13503         Fixed a compile warning, although in this case there's probably
13504         something wrong with this code, and it ought to be looked into
13505         more thoroughly by somebody who understands it.
13506
13507         * window.c:
13508         * window.c (Fwindow_text_area_height):
13509         * window.c (Fwindow_width):
13510         * window.c (Fwindow_full_width):
13511         * window.c (Fwindow_pixel_width):
13512         * window.c (debug_print_window):
13513         * window.c (syms_of_window):
13514         Added functions window-text-area-height and window-full-width,
13515         which are functions for returning various width and height
13516         characteristics of a window. (One of these functions is necessary
13517         for making the file dialog box work correctly, and the other one
13518         was added for completeness.)  Also added a table to the
13519         documentation for window-height which describes the entire scheme
13520         for accessing width and height characteristics of a window.
13521
13522 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13523
13524         * nt.c (fstat): Added a comment for another problem with
13525         non-encapsulated [f]stat(), reported by Adrian Aichner
13526         <aichner@ecf.teradyne.com>.
13527
13528 2000-03-11  Andy Piper  <andy@xemacs.org>
13529
13530         * window.c (make_dummy_parent): initialize subwindow instance
13531         cache.
13532         (Fset_window_configuration): zero extent_modiff.
13533
13534 2000-03-10  Andy Piper  <andy@xemacs.org>
13535
13536         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
13537         more changes can be triggered.
13538         (Fredisplay_frame): ditto.
13539         (Fredraw_device): ditto.
13540         (Fredisplay_device): ditto.
13541         (redisplay_frame): make non-static.
13542         (redisplay_frame): call update_frame_gutter_geometry outside of
13543         display proper.
13544
13545         * gutter.h: declare update_frame_gutter_geometry.
13546
13547         * redisplay.h: declare redisplay_frame.
13548
13549         * gutter.c (update_frame_gutter_geometry): move geometry changes
13550         in update_frame_gutters here. Geometry changes can only occur
13551         outside of redisplay.
13552         (update_frame_gutters): remove geometry change code.
13553         (Fredisplay_gutter_area): make sure that we are in display when we
13554         update and that we have flushed any size changes.
13555
13556 2000-03-11  Andy Piper  <andy@xemacs.org>
13557
13558         * alloc.c (pdump_dump_data): remove i & count shadows.
13559
13560 2000-02-27  Mike Alexander  <mta@arbortext.com>
13561
13562         * sysdep.h: Declare pdump_read_file
13563
13564         * sysdep.c (pdump_read_file): New function
13565
13566         * alloc.c (pdump_load): Call pdump_read_file to get the portable
13567         dump data
13568
13569 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13570
13571         * lrecord.h: add `lrecord_type_pgsetenv'.
13572
13573 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
13574
13575         * symsinit.h: declare (vars|syms)_of* functions.
13576         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
13577
13578 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
13579
13580         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
13581
13582         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
13583         GCCs.
13584
13585         * emacs.c (main_1): Call postgres initialization code.
13586
13587         * postgresql.h: New file.  PostgreSQL RDBMS support.
13588         * postgresql.c: New file.
13589
13590 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
13591
13592         * redisplay-output.c (redisplay_output_display_block): Disable
13593         redundant code.
13594
13595 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13596
13597         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
13598         (Fcanna_henkan_next): Ditto.
13599         (Fcanna_bunsetu_henkou): Ditto.
13600         (Fcanna_henkan_kakutei): Ditto.
13601         (Fcanna_henkan_end): Ditto.
13602         (Fcanna_henkan_quit): Ditto.
13603         (Fcanna_henkan_next): Set retun value correctly.
13604         (c2mu): Use unsigned char instead of signed char.
13605
13606 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13607
13608         * emacs.c (main_1): Always call syms_of_gui.
13609         * inline.c: include gui.h
13610
13611 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13612
13613         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
13614         converted to Lisp_Object.
13615         (Qtop_bottom): New variable.
13616         (syms_of_redisplay): Initialize it.
13617         * redisplay.h (Vvisible_bell): Ditto.
13618         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
13619         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
13620         only flash top and bottom.
13621
13622 2000-03-08  Andy Piper  <andy@xemacs.org>
13623
13624         * buffer.c (Frename_buffer): record new buffer name the right way.
13625
13626 2000-03-08  Andy Piper  <andy@xemacs.org>
13627
13628         * glyphs.c (update_subwindow): increase hash depth so that widget
13629         items get picked up properly.
13630
13631         * redisplay-output.c (compare_runes): increase hash depth so that
13632         widget items get picked up properly.
13633
13634 2000-03-08  Andy Piper  <andy@xemacs.org>
13635
13636         * gutter.c (output_gutter): add some debug.
13637
13638         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
13639         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
13640         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
13641
13642         * redisplay-output.c (compare_runes): use display_hash to
13643         determine if glyphs really are not the same.
13644
13645         * glyphs.c (update_subwindow): check display_hash to see if
13646         anything really needs to be updated. If not then do
13647         nothing. Record the display_hash after updating.
13648         (image_instance_equal): compare the image_instance face also.
13649
13650 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
13651
13652         * redisplay.h: Fix comment style.
13653
13654 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13655
13656         * consle-msw.h (struct mswindows_frame):
13657         Added new member paint_pending to indicate whether a WM_PAINT
13658         magic event has been queued for this frame.
13659
13660         * event-msw.c (mswindows_drain_windows_queue):
13661         Don't queue a WM_PAINT magic event if one is already queued.
13662         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
13663
13664         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
13665
13666 2000-03-07  Didier Verna  <didier@xemacs.org>
13667
13668         * dired.c: #include `regex.h' after `sysfile.h'.
13669
13670 2000-03-06  Martin Buchholz  <martin@xemacs.org>
13671
13672         * sound.c (init_nas_sound): Fix compiler warning.
13673
13674         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
13675         (FREE_STRUCT_P):
13676         (MARK_STRUCT_AS_FREE):
13677         (MARK_STRUCT_AS_NOT_FREE):
13678         Make `gcc -fstrict-aliasing' work properly.
13679
13680 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13681
13682         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
13683         (mswindows_delete_device): Call CoUnnitialize().
13684
13685         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
13686
13687 2000-02-25    <CraigL@DyCon.com>
13688
13689         * process-nt.c: MinGW now has <shellapi.h>, but still needs
13690         <errno.h>.
13691
13692         * sysdep.c: This extern declaration for environ prevents MinGW
13693         from finding the variable in CRTDLL.DLL.
13694
13695         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
13696         windows headers.
13697         (SHGFI_EXETYPE): ..
13698         (WM_MOUSEWHEEL): ..
13699         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
13700         definitions.
13701         (MMRESULT): Removed, now defined in cygwin's windows headers.
13702         (TIMECAPS): ..
13703         (uid_t,gid_t,pid_t,ssize_t): ..
13704         (_timeb): Removed, MinGW defines both _timeb and timeb.
13705         (HAVE_H_ERRNO): Added.
13706         (HAVE_TZNAME): Added, configure is not detecting this.
13707
13708 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
13709
13710         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
13711         * syntax.c (syntax_match): Use it.
13712
13713         * cmds.c: Import auto-fill-chars from FSF Emacs.
13714         (Vauto_fill_chars): New variables.
13715         (internal_self_insert): Check Vauto_fill_chars.
13716         (vars_of_cmds):
13717         Declare auto-fill-chars as a Lisp variable and initialize it.
13718
13719 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13720
13721         * fileio.c (Fmake_symbolic_link):
13722         (Ffile_symlink_p):
13723         Run handlers even if local machine doesn't have symlinks.
13724
13725 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13726
13727         * event-msw.c (mswindows_drain_windows_queue):
13728         Don't generate paint magic events for non-XEmacs frames.
13729
13730 2000-03-05  Andy Piper  <andy@xemacs.org>
13731
13732         * redisplay.c (redisplay_frame): generate_displayable_area and
13733         friends assumes that we are not in GC, we therefore have to make
13734         sure that this doesn't happen.
13735
13736         * gutter.c (calculate_gutter_size): generate_displayable_area
13737         assumes that we are not in GC, we therefore have to make sure that
13738         this doesn't happen.
13739
13740 2000-03-05  Martin Buchholz  <martin@xemacs.org>
13741
13742         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
13743
13744 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13745
13746         * redisplay.c (regenerate_window): Make sure we set a sane value
13747         for end_pos even if we jump out of the loop.
13748         (regenerate_window): Answer Ben's question :-).
13749         (start_end_of_last_line): Add may_error argument.
13750         (start_of_last_line):
13751         (end_of_last_line): Pass may_error = 0.
13752         (end_of_last_line_may_error): New function.
13753         (pixel_to_glyph_translation): Use it, so we don't crash in
13754         event_to_glyph.
13755
13756 2000-03-04  Andy Piper  <andy@xemacs.org>
13757
13758         * window.h (struct window): add gutter_extent_modiff.
13759
13760         * window.c (allocate_window): zero out gutter_extent_modiff.
13761
13762         * redisplay.h: declare sync_display_line_structs.
13763
13764         * redisplay.c (add_glyph_rune): add a better comment.
13765
13766         * redisplay-output.c (sync_display_line_structs): made non-static.
13767         (compare_runes): remove unneccesary glyph cachel access.
13768
13769         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
13770
13771         * gutter.c (output_gutter): don't output the gutter if extent
13772         changes only involve extents in buffers. use 4 sets of display
13773         lines.
13774         (gutter_extent_signal_changed_region_maybe): new function. Mark
13775         extents in gutters as changed.
13776         (update_frame_gutters): use 4 sets of display lines.
13777         (reset_gutter_display_lines): ditto.
13778         (free_frame_gutters): ditto.
13779         (redraw_exposed_gutter): force output of gutters.
13780
13781         * frame.h (struct frame): add 4 sets of gutter display lines.
13782
13783         * extents.c: (extent_changed_for_redisplay): signal changes to
13784         extents in strings in the gutter as well as extents in buffers.
13785
13786 2000-03-02  Andy Piper  <andy@xemacs.org>
13787
13788         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
13789
13790         * frame.c (Fmake_frame): make sure the gutters get initialized
13791         after the frame is visible.
13792         (set_frame_selected_window): re-arrange compilation macros a
13793         little.
13794         (change_frame_size_1): mark gutters changed.
13795
13796         * device.c (Fset_device_class): mark gutters changed.
13797
13798 2000-03-01  Andy Piper  <andy@xemacs.org>
13799
13800         * window.c (window_top_frame_gutter_height): deleted.
13801         (window_bottom_frame_gutter_height): ditto.
13802         (window_left_frame_gutter_height): ditto.
13803         (window_right_frame_gutter_height): ditto.
13804         (window_top_gutter_height): don't use them.
13805         (window_bottom_gutter_height): ditto.
13806         (window_left_gutter_width): ditto.
13807         (window_right_gutter_width): ditto.
13808         (Fsplit_window): ditto.
13809         (Fwindow_pixel_edges): don't use border dimensions here.
13810
13811         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
13812         (update_scrollbar_instance): ditto.
13813
13814         * redisplay.c (generate_modeline): don't take gutters into account.
13815         (generate_modeline): ditto.
13816         (redisplay_frame): small gutter display optimization.
13817
13818         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
13819
13820         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
13821         gutters into account.
13822
13823         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
13824         for window position and type.
13825
13826         * gutter.c (get_gutter_coords): fix for frame gutters.
13827         (update_frame_gutters): update frame geometry if the gutters have
13828         changed.
13829         (init_frame_gutters): record current gutter geometries.
13830
13831         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
13832         var.
13833         (mswindows_widget_instantiate): ditto.
13834
13835         * frame.h (struct frame): add current_gutter_bounds.
13836
13837         * frame.c (change_frame_size_1): position window and minibuffer
13838         appropriately taking into account the frame gutters.
13839
13840         * frame-x.c: (x_initialize_frame_size): take into account the
13841         frame gutters.
13842
13843 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13844
13845         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
13846
13847 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13848
13849         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
13850
13851 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13852
13853         * file-coding.c (reset_decoding_stream): Clear previous
13854         detection state when autodetect.
13855
13856 2000-02-29  Didier Verna  <didier@xemacs.org>
13857
13858         * extents.c (set_extent_glyph_1): don't require extents to be
13859         attached.
13860
13861 2000-02-27  Andy Piper  <andy@xemacs.org>
13862
13863         * gutter.c (Fset_default_gutter_position): don't default left and
13864         right gutter visibility to t.
13865         (Fset_default_gutter_position): run
13866         default-gutter-position-changed-hook.
13867         (syms_of_gutter): add default-gutter-position-changed-hook.
13868
13869 2000-02-26  Andy Piper  <andy@xemacs.org>
13870
13871         * specifier.c (Fmake_specifier): add gutter references.
13872
13873         * gutter.h (RAW_WINDOW_GUTTER): new macro.
13874
13875         * lisp.h: declare Fvalid_plist_p.
13876
13877         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
13878         as changed.
13879         (default_gutter_visible_p_changed_in_window): invalidate gutter as
13880         well as its visibility so that it gets reconstructed.
13881         (construct_window_gutter_spec): new function. Construct a string
13882         to be displayed in the gutter from a plist of strings. Take care
13883         to only use elements that are declared as visible.
13884         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
13885         WINDOW_GUTTER.
13886         (gutter_validate): allow plists of strings in the specifier.
13887         (gutter_specs_changed): construct the real_gutter from the gutter
13888         specs using construct_window_gutter_spec.
13889         (gutter_visible_validate): gutter-visible is a new specifier type.
13890         (Fgutter_visible_specifier_p): new function for the new specifier.
13891         (syms_of_gutter): declare gutter-visible and
13892         Fgutter_visible_specifier_p.
13893         (specifier_type_create_gutter): intitalize new gutter-visible
13894         specifier.
13895         (reinit_specifier_type_create_gutter): ditto.
13896         (specifier_vars_of_gutter): use new specifier type for gutter
13897         visibility.
13898         (init_frame_gutters): construct real_gutter correctly.
13899         (Fgutter_specifier_p): beef up documentation.
13900         (Fgutter_size_specifier_p): ditto.
13901
13902         * winslots.h: add real_gutter slots.
13903
13904 2000-02-25  Andy Piper  <andy@xemacs.org>
13905
13906         * device-msw.c: Be kind to older cygwin versions. From Raymond
13907         Toy <toy@rtp.ericsson.se>.
13908
13909         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
13910         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
13911
13912 2000-02-25  Martin Buchholz  <martin@xemacs.org>
13913
13914         * elhash.c (MARK_OBJ): Practice macro hygiene.
13915
13916 2000-02-24  Martin Buchholz  <martin@xemacs.org>
13917
13918         * miscplay.c: s/__inline__/inline/g;
13919         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
13920         (get_device_compdc): INLINE ==> static inline
13921         * *.[ch]: Change INLINE to INLINE_HEADER globally.
13922         find -name '*.h' | \
13923         xargs global-replace \
13924         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
13925
13926 2000-02-25  Andy Piper  <andy@xemacs.org>
13927
13928         * window.c (window_top_frame_gutter_height): new function.
13929         (window_top_window_gutter_height): ditto.
13930         (window_top_gutter_height): use them.
13931         (window_bottom_frame_gutter_height): new function.
13932         (window_bottom_window_gutter_height): ditto.
13933         (window_bottom_gutter_height): use them.
13934         (window_left_window_gutter_width): new function.
13935         (window_left_frame_gutter_width): ditto.
13936         (window_left_gutter_width): use them.
13937         (window_right_window_gutter_width): new function.
13938         (window_right_frame_gutter_width): ditto.
13939         (window_right_gutter_width): use them.
13940         (window_pixel_height): new function. calulate window pixel height
13941         with frame gutter involvement.
13942         (Fsplit_window): calculate new sizes taking frame gutters into
13943         account.
13944         (window_char_height_to_pixel_height): don't include frame gutters.
13945         (window_char_height): use window_pixel_height.
13946         (window_pixheight): rename from window_pixel_height.
13947         (change_window_height): use it.
13948         (window_pixel_height_to_char_height): don't include frame gutters.
13949         (window_char_width_to_pixel_width): ditto.
13950
13951 2000-02-25  Andy Piper  <andy@xemacs.org>
13952
13953         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
13954         if it is.
13955
13956 2000-02-24  Martin Buchholz  <martin@xemacs.org>
13957
13958         * alloc.c (staticpro):
13959         (staticpro_nodump):
13960         (dumpstruct):
13961         (dumpopaque):
13962         (pdump_wire):
13963         (pdump_wire_list):
13964         (compact_string_chars):
13965         (pdump_dump_wired):
13966         Convert:  if (foo) abort();  ==>  assert (! foo);
13967
13968         * eldap.c (Fldap_search_basic):
13969         (Fldap_add):
13970         (Fldap_modify):
13971         (Fldap_delete):
13972         Fix compiler warnings, and possible crashes if (random) return
13973         value were to be used.
13974
13975 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13976
13977         * device-msw.c: Workaround ResetDC failure.
13978
13979         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
13980         applying a devmode.
13981
13982         * redisplay-msw.c (get_frame_dc): Added start_page_p.
13983         (mswindows_text_width): Do not start printer page.
13984
13985         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
13986
13987         * glyphs-msw.c: Added image methods to msprinter console and
13988         msprinter-specific image instantiation.
13989
13990 2000-02-20  Mike Alexander  <mta@arbortext.com>
13991
13992         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
13993         to avoid crashes when selection-sets-clipboard is on
13994         (mswindows_own_selection): ditto
13995
13996 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13997
13998         * glyphs-msw.c:
13999         * redisplay-msw.c (get_frame_dc):
14000         (get_frame_compdc):
14001         * console-msw.h:
14002         * device-msw.c (mswindows_init_device):
14003         (mswindows_delete_device):
14004         (msprinter_init_device):
14005         (msprinter_delete_device):
14006         * frame-msw.c (mswindows_init_frame_1):
14007         (mswindows_delete_frame):
14008         (msprinter_init_frame_3):
14009         (msprinter_delete_frame): Move compatible DC to device object from
14010         frame object, for both mswindows and msprinter. Only one at a time
14011         is needed, it is a real waste to have one per frame!
14012
14013 2000-02-23  Andy Piper  <andy@xemacs.org>
14014
14015         * glyphs.c: add dynamic width and height elements.
14016         (image_instance_equal): ditto.
14017
14018         * glyphs-widget.c (widget_query_geometry): calculate width and
14019         height dynamically if required.
14020         (initialize_widget_image_instance): initialize dynamic dimensions.
14021         (widget_instantiate): pick-up dynamic dimensions.
14022
14023         * glyphs.h (struct Lisp_Image_Instance): add width and height for
14024         dynamic determination. Add appropriate macros.
14025
14026         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
14027         dimensions safe.
14028         (WINDOW_GUTTER_SIZE): ditto.
14029         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
14030
14031         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
14032         inline.
14033         (get_frame_dc): ditto.
14034
14035         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
14036         here.
14037
14038 2000-02-23  Martin Buchholz <martin@xemacs.org>
14039
14040         * XEmacs 21.2.31 is released.
14041
14042 2000-02-22  Ben Wing <ben@xemacs.org>
14043
14044         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
14045
14046 2000-02-22  Andy Piper  <andy@xemacs.org>
14047
14048         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
14049
14050 2000-02-21  Mike Sperber <mike@xemacs.org>
14051
14052         * .dbxrc:
14053         * .gdbinit:
14054         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
14055         variables.
14056
14057 2000-02-21  Mike Sperber <mike@xemacs.org>
14058
14059         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
14060
14061 2000-02-21  Martin Buchholz <martin@xemacs.org>
14062
14063         * XEmacs 21.2.30 is released.
14064
14065 2000-02-20  Martin Buchholz  <martin@xemacs.org>
14066
14067         Performance hacking.
14068         * *.c (syms_of_*):
14069         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
14070         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
14071         * emacs.c (main_1):
14072         * lisp.h (DEFUN):
14073         * console.c (DEFVAR_CONSOLE_LOCAL_1):
14074         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
14075         * symeval.h (DEFVAR_SYMVAL_FWD):
14076         * symbols.c (guts_of_unbound_marker):
14077         Make all c_readonly objects also lisp_readonly and marked for life.
14078         * lrecord.h (struct lrecord_implementation):
14079         Document flags better.
14080         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
14081         * lrecord.h (DECLARE_LRECORD):
14082         * lrecord.h (XSETRECORD):
14083         * lrecord.h (RECORDP):
14084         * lrecord.h (RECORD_TYPEP):
14085         * lrecord.h (RECORD_MARKER): New.
14086         * lrecord.h (error_check_*):
14087         * lrecord.h (CONCHECK_NONRECORD):
14088         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
14089         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
14090         * lrecord.h (set_lheader_implementation):
14091         * lrecord.h (enum lrecord_type): New.
14092         * symeval.h (SYMBOL_VALUE_MAGIC_P):
14093         * alloc.c (disksave_object_finalization_1):
14094         * alloc.c (mark_object):
14095         * alloc.c (lrecord_type_index):
14096         * alloc.c (tick_lcrecord_stats):
14097         * alloc.c (Fgarbage_collect):
14098         * alloc.c (init_alloc_once_early):
14099         * alloc.c (pdump_load):
14100         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
14101         * alloc.c (lrecord_type_index): Delete.
14102         Make lisp object type indexes be constant.
14103           Makes (byte-compile) 5% faster.
14104         Put all marker functions into their own array.
14105           Makes (garbage-collect) 5% faster.
14106         Optimize SYMBOL_VALUE_MAGIC_P.
14107           Makes (byte-compile) 2-3% faster.
14108         * config.h.in (gc_checking_assert): New.
14109         * alloc.c: Use gc_checking_assert().
14110         * .dbxrc: Make compatible with new object type implementation.
14111         * .gdbinit: Make compatible with new object type implementation.
14112         * alloc.c: Delete all symbols defined only for debugging, such as
14113         Lisp_Type_Vector and lrecord_charset.
14114
14115 2000-02-21  Andy Piper  <andy@xemacs.org>
14116
14117         * gui-msw.c (Fmswindows_shell_execute): fix file location
14118         problems.
14119
14120         * buffer.c (Fkill_buffer): remove buffer from alist buffer
14121         unshowing so that set_window_buffer doesn't undo
14122         kill_buffer_hook's hard work.
14123
14124         * glyphs-widget.c (tab_control_query_geometry): don't count the
14125         first item when calculating geometry.
14126
14127         * glyphs.c (map_subwindow): remove redundant code.
14128         (update_frame_subwindows): be more circumspect about when to
14129         update subwindows.
14130
14131         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
14132         when items haven't changed. Update faces if faces have changed as
14133         well as just the widget face.
14134         (x_tab_control_update): Update faces if faces have changed as well
14135         as just the widget face.
14136
14137 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14138
14139         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
14140         registration.
14141         (build_syscolor_string): Use mswindows_color_to_string to try to
14142         get a named color.
14143         (mswindows_device_system_metrics): Reverse the foreground and
14144         background colors so that they match the documentation.
14145
14146         * objects-msw.c: (mswindows_X_color_map): tweak some values so
14147         they match the default Windows palette.
14148         (mswindows_color_to_string): New function.
14149
14150 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14151
14152         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
14153
14154 2000-02-18  Olivier Galibert  <galibert@pobox.com>
14155
14156         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
14157         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
14158
14159         * symbols.c (init_symbols_once_early): Removed obsolete
14160         DATA_SEG_BITS related kludge.
14161         (defvar_magic): Ditto.
14162
14163         * malloc.c: Removed obsolete DATA_SEG_BITS
14164         * ralloc.c: Ditto.
14165         * mem-limits.h: Ditto.
14166
14167         * Makefile.in.in: Removed obsolete HAVE_SHM
14168         * emacs.c: Ditto.
14169
14170 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14171
14172         *  device-msw.c (mswindows_delete_device): Free DDE string
14173         handles.
14174
14175 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14176
14177         * keymap.c (get_keyelt):
14178         * unexnt.c (unexec):
14179         * vm-limit.c (memory_warnings):
14180         * ntheap.c (recreate_heap):
14181         * ntheap.h (UNINIT_PTR):
14182         * select-msw.c (Fmswindows_get_clipboard):
14183         (Fmswindows_set_clipboard):
14184         * objects-msw.h (MSWINDOWS_BAD_HFONT):
14185         * objects-msw.c:
14186         * menubar-msw.c (displayable_menu_item):
14187         * glyphs-msw.c:
14188         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
14189         * sysdep.c (sys_subshell):
14190         * process-nt.c (nt_create_process):
14191         * nt.c (normalize_filename):
14192         (dostounix_filename):
14193         (unixtodos_filename):
14194         * ntproc.c (win32_executable_type):
14195         * ntplay.c (play_sound_data_1):
14196         (play_sound_file):
14197         * editfns.c (get_home_directory):
14198         * event-msw.c (struct winsock_stream):
14199         (mswindows_dde_callback):
14200         * device-msw.c (msprinter_init_device):
14201         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
14202
14203         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
14204         mswindows_clear_toolbar were swapped!
14205
14206         * objects-msw.c:(colormap_t):
14207         (fontmap_t):
14208         * emacs.c (struct standard_args): Fixed const jumble.
14209
14210         * glyphs-widget.c (update_widget): Fixed comparison notation.
14211
14212         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
14213
14214         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
14215         __declspec(noreturn) syntax.
14216
14217 2000-02-19  Martin Buchholz  <martin@xemacs.org>
14218
14219         * eldap.c (Fldap_open):
14220         (Fldap_search_basic):
14221         (Fldap_add):
14222         (Fldap_modify):
14223         Use new coding system conversion macros.
14224
14225 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14226
14227         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
14228
14229 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
14230
14231         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
14232         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14233
14234         * eldap.c (Qadd, Qreplace): New constant symbols
14235         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
14236         interruptions by XEmacs signals
14237         Remove unnecessary calls to slow_down_interrupts and
14238         speed_up_interrupts
14239         (Fldap_search_basic): Renamed from Fldap_search_internal
14240         Added new optional parameter VERBOSE that triggers the
14241         display of progress messages
14242         Remove unnecessary calls to slow_down_interrupts and
14243         speed_up_interrupts
14244         LDAP result code analysis rewritten
14245         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14246         (syms_of_eldap): Define the new symbols and functions
14247
14248
14249 2000-02-17  Martin Buchholz  <martin@xemacs.org>
14250
14251         * realpath.c: Determine PATH_MAX maximally portably.
14252
14253         * insdel.c (bytecount_to_charcount): Optimize.
14254         The function used to be optimized for entirely ASCII sequences.
14255         Now it is optimized for successive characters from the same
14256         charset.  This also wins big for _mostly_ ASCII sequences.
14257
14258         * fileio.c (Ffile_truename): convert return from realpath() using
14259         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
14260         - Rewrite GCPROing slightly.
14261
14262         * sysdep.c (sys_open): Do filename conversion, like all other
14263         sys_* functions.  Fixes bug:
14264         (let ((file-name-coding-system 'iso-8859-2))
14265            (write-region x y latin2-name))
14266         ==> writes filename using internal encoding.
14267
14268 2000-02-18  Martin Buchholz  <martin@xemacs.org>
14269
14270         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
14271         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
14272         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
14273         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
14274         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
14275         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
14276         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
14277         (CONST_IF_NOT_DEBUG): Delete.
14278         * alloc.c (this_one_is_unmarkable): Delete.
14279         (mark_object): Don't check for this_one_is_unmarkable. Use the
14280         c_readonly flag instead.
14281         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
14282
14283 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14284
14285         * event-msw.c (mswindows_drain_windows_queue):
14286         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
14287         away redundant repaint events.
14288
14289 2000-02-17  Andy Piper  <andy@xemacs.org>
14290
14291         * redisplay.h: declare mark_redisplay_structs.
14292
14293         * redisplay.c (redisplay_window):
14294         (redisplay_frame): don't check subwindows_state_changed.
14295         (mark_redisplay): mark gutters here.
14296
14297         * glyphs.c: (instantiate_image_instantiator): always layout if we
14298         haven't done so already.
14299         (allocate_image_instance): don't mark as dirty.
14300         (update_subwindow): bind inhibit_quit.
14301
14302         * gutter.c (mark_gutters): new function.
14303
14304         * glyphs-x.c (x_update_widget): Always resize to get round a
14305         widget bug.
14306
14307         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
14308         breaking absolutely everything.
14309
14310         * gutter.h: declare mark_gutters.
14311
14312 2000-02-16  Martin Buchholz <martin@xemacs.org>
14313
14314         * XEmacs 21.2.29 is released.
14315
14316 2000-02-15  Olivier Galibert  <galibert@pobox.com>
14317
14318         * fns.c (size_bit_vector): Fix computation of the size.
14319
14320 2000-02-15  Martin Buchholz  <martin@xemacs.org>
14321
14322         * *.[ch]: Change CONST to const globally.
14323         find -name '*.[ch]' | \
14324         xargs global-replace \
14325         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
14326         - Remove vestigial references to CONST_IS_LOSING
14327
14328 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14329
14330         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
14331         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
14332         events instead of dispatching them directly.
14333         (mswindows_handle_paint): New function to do repainting.
14334         (mswindows_wnd_proc):
14335         (emacs_mswindows_handle_magic_event): Call above function.
14336
14337 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14338
14339         * objects-msw.c (mswindows_create_font_variant): Return the new
14340         font handle.
14341         (initialize_font_instance): Get font metrics from the underlined
14342         variant of the font to cope with the case where the underlined
14343         font has a bigger descent.
14344
14345 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14346
14347         * gui.c (gui_item_accelerator): Return the first underlined
14348         character in item name.
14349
14350 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14351
14352         * lisp.h: Added Qprinter.
14353
14354         * general.c (syms_of_general): Initialized it.
14355
14356         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
14357         (get_frame_dc):
14358         (get_frame_compdc): Made inline.
14359
14360         * console.h (struct console_methods): Added eject_page method.
14361
14362         * frame.h: Added FRAME_DISPLAY_P and friends.
14363         Aligned backslahes in many macros in more readable fashion.
14364         Added page_number to struct frame, and an accessor macro
14365         for it.
14366
14367         * defice.h: Added DEVICE_DISPLAY_P and friends.
14368
14369         * device.c (Fdevice_printer_p): Used these.
14370
14371         * frame.c (allocate_frame_core): Initialize page number.
14372         (Fprint_job_page_number):
14373         (Fprint_job_eject_page): Implemented.
14374
14375         * frame-msw.c (msprinter_eject_page): Added method.
14376         (msprinter_start_page): Added.
14377
14378         * window.c (Fwindow_truncated_p): Fixed docstring.
14379         (Fwindow_last_line_visible_height): Implemented.
14380
14381 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14382
14383         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
14384
14385 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14386
14387         * syntax.c (scan_words): Always advance at least one character.
14388
14389 2000-02-13  Andy Piper  <andy@xemacs.org>
14390
14391         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
14392         to make sure the glyph is in the cachels.
14393
14394         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
14395         global image instance flag.
14396         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
14397         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
14398
14399         * glyphs.c (allocate_image_instance): set dirty bits correctly.
14400         (Fset_image_instance_property): mark layout as changed.
14401         (invalidate_glyph_geometry_maybe): mark layout as changed.
14402         (glyph_width): use new NEEDS_LAYOUT macro.
14403         (glyph_ascent): ditto.
14404         (glyph_descent): ditto.
14405         (glyph_height): ditto.
14406         (image_instance_layout): mark layout as clean after laying out.
14407         (update_subwindow): don't mark layout as clean here.
14408
14409         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
14410         should no longer be needed.
14411
14412         * glyphs-x.c (x_update_widget): sanitize asserts.
14413         (x_finalize_image_instance): sanitize assignment to widgets.
14414
14415         * glyphs-widget.c (widget_instantiate): don't need to clear the
14416         layout flag here.
14417
14418 2000-02-13  Martin Buchholz  <martin@xemacs.org>
14419
14420         * sysdep.c (getcwd): Use standard prototype.
14421         * sysdep.h (getcwd): Use standard prototype.
14422
14423         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
14424         (sequence, start, end).
14425         Remove redundant type checking.
14426         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
14427         view of `caller-protects') to avoid a crash where the real fix was
14428         found elsewhere.
14429
14430 2000-02-12  Martin Buchholz  <martin@xemacs.org>
14431
14432         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
14433
14434         * s/sol2.h: Remove feature macro initialization.
14435
14436         * alloc.c (alloc_lcrecord): Add more type checking assertions.
14437         (vector_hash): New.  Code from internal_hash.
14438         * lrecord.h:
14439         Fix up allocation subsystem comments.
14440
14441         * config.h.in: Add __EXTENSIONS__ for Solaris.
14442
14443         * systime.h (EMACS_GETTIMEOFDAY): New.
14444         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
14445         Remove Solaris-specific code.
14446         Use void* for the (ignored) second arg for gettimeofday().
14447
14448         * elhash.c (hash_table_hash): Implement it, finally.
14449         * elhash.c:  Use hashcode_t.
14450
14451         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
14452         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
14453
14454         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
14455         * fns.c (size_bit_vector):
14456         * alloc.c (size_vector):
14457         (make_vector_internal):
14458         (make_bit_vector_internal):
14459         (sweep_bit_vectors_1):
14460         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
14461
14462 2000-02-10  Martin Buchholz  <martin@xemacs.org>
14463
14464         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
14465         Include strings.h to avoid warnings for bzero and strcasecmp.
14466
14467 2000-02-10  Olivier Galibert  <galibert@pobox.com>
14468
14469         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
14470         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
14471
14472         * fns.c (size_bit_vector): New.  Declare bit vectors as a
14473         sequence.
14474
14475 2000-02-10  Olivier Galibert  <galibert@pobox.com>
14476
14477         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
14478         use a value field instead.
14479         (symbol_value_forward_forward): Use value field.
14480         (DEFVAR_SYMVAL_FWD): Use value field.
14481         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
14482         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
14483         (DEFVAR_CONST_INT): Ditto.
14484         (DEFVAR_BOOL): Ditto.
14485         (DEFVAR_CONST_BOOL): Ditto.
14486         (DEFVAR_INT_MAGIC): Ditto.
14487         (DEFVAR_BOOL_MAGIC): Ditto.
14488
14489         * symbols.c (guts_of_unbound_marker): Use value field.
14490         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
14491         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
14492
14493         * lisp.h: Declare dumpopaque and noninteractive1.
14494
14495         * alloc.c (dumpopaque): Added.
14496         (pdump_dump_opaquevec): Added.
14497         (pdump): Call pdump_dump_opaquevec to dump opaque data.
14498         (pdump_load): Reload opaque data.  Sync noninteractive1 with
14499         noninteractive.
14500
14501 2000-02-10  Andy Piper  <andy@xemacs.org>
14502
14503         * glyphs.c (image_instance_layout): if the size changes, mark it
14504         as such.
14505
14506         * redisplay-output.c (redisplay_output_layout): Update the
14507         subwindow here.
14508         (redisplay_output_subwindow): ditto.
14509
14510         * glyphs.c (update_subwindow): make sure we reset flags for
14511         layouts as well as everything else.
14512
14513         * glyphs-widget.c (layout_layout): don't need to set the instances
14514         dimensions here.
14515
14516 2000-02-09  Martin Buchholz  <martin@xemacs.org>
14517
14518         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
14519         not HAVE_DLOPEN, which is a lower-level thing.
14520
14521         * .cvsignore: Ignore gmon.out
14522
14523 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
14524
14525         * .cvsignore: Ignore portable dumper xemacs.dmp file
14526
14527 2000-02-09  Andy Piper  <andy@xemacs.org>
14528
14529         * redisplay-output.c (redisplay_output_layout): be more clever
14530         about when we output based on the changed flags.
14531
14532         * glyphs.h (struct image_instantiator_methods): add update_method.
14533         (struct Lisp_Image_Instance): add changed flags. Declare new
14534         macros for manipulating them.
14535
14536         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
14537         (image_instance_parent_glyph): find an image_instance's parent
14538         glyph or image_instance.
14539         (image_instance_layout): mark the size as changed.
14540         (set_image_instance_dirty_p): new function. mark an image
14541         instance, plus all of its parents, as dirty.
14542         (Fset_image_instance_property): use it.
14543         (Fglyph_animated_timeout_handler): use it.
14544         (update_subwindow): call update_widget and device methods for
14545         update_subwindow. Mark all changed flags as clean.
14546         (Fresize_subwindow): mark size as changed.
14547
14548         * glyphs-x.c (x_finalize_image_instance): try and detect gc
14549         failures.
14550         (x_update_subwindow): only resize subwindows here.
14551         (x_update_widget): new function. Update all changed properties of
14552         a widget.
14553         (x_resize_subwindow): deleted.
14554         (x_widget_set_property): deleted.
14555         (x_progress_gauge_set_property): deleted.
14556         (x_progress_gauge_update): new function. Implement recorded
14557         changes.
14558         (x_tab_control_update): ditto.
14559         (x_tab_control_set_property): deleted.
14560         (console_type_create_glyphs_x): declare new functions.
14561         (image_instantiator_format_create_glyphs_x): ditto.
14562
14563         * glyphs-widget.c (widget_set_property): mark text changed.
14564         (update_widget): new function. Update properties of a widget.
14565         (widget_instantiate): for layouts make sure we set their
14566         children's parent correctly.
14567         (tab_control_set_property): new function. Record changes that will
14568         take place under redisplay's control.
14569         (progress_gauge_set_property): ditto.
14570         (image_instantiator_progress_guage): declare new functions.
14571         (image_instantiator_tab_control): ditto.
14572
14573         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
14574         now.
14575         (mswindows_update_widget): new function. Update all properties on
14576         a widget that have changed.
14577         (mswindows_button_update): new function. Update a button's set
14578         state.
14579         (mswindows_tab_control_update): new function. Update the items in
14580         a tab.
14581         (mswindows_tab_control_set_property): deleted.
14582         (mswindows_progress_gauge_update): new function. Update the
14583         progress gauge's progress.
14584         (mswindows_widget_set_property): deleted. This is all done
14585         asynchronously now.
14586         (mswindows_progress_gauge_set_property): ditto.
14587         (console_type_create_glyphs_mswindows): declare new methods.
14588         (image_instantiator_format_create_glyphs_mswindows): ditto.
14589
14590         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
14591         (msprinter_set_frame_properties): ditto.
14592
14593         * console.h (struct console_methods): Add update_widget_method.
14594
14595 2000-02-09  Andy Piper  <andy@xemacs.org>
14596
14597         * gui-msw.c (Fmswindows_shell_execute): Make
14598         mswindows-shell-execute industrial strength.
14599
14600 2000-02-08  Martin Buchholz  <martin@xemacs.org>
14601
14602         * lrecord.h: Make macro argument `props' match member function `plist'.
14603         * fns.c (Fget):
14604         * fns.c (Fput):
14605         * fns.c (Fremprop):
14606         * fns.c (Fobject_plist):
14607         * alloc.c:
14608         * symbols.c:
14609         Object property list frobbing cleanup.
14610         - Allow any lisp object (compared with `eq'), not just symbols, as
14611           keys in object plists.
14612         - Move symbol plist frobbing into symbols.c, where it belongs.
14613         - Move string plist frobbing into alloc.c, where it belongs.
14614         - Everything's an lrecord now, so no need to test for symbolp, etc.
14615         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
14616
14617         * extents.c: Reorder code to remove declarations.
14618
14619         * frame.h (store_in_alist): Remove useless declaration.
14620
14621 2000-02-07  Martin Buchholz  <martin@xemacs.org>
14622
14623         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
14624         * config.h.in: Add HAVE_XCONVERTCASE.
14625
14626 2000-02-07  Andy Piper  <andy@xemacs.org>
14627
14628         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
14629         it breaks many things.
14630
14631 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
14632
14633         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
14634         actually can start a common comment type.
14635         * src/syntax.h (SYNTAX_END_P): ditto for end.
14636
14637 2000-02-07  Martin Buchholz <martin@xemacs.org>
14638
14639         * XEmacs 21.2.28 is released.
14640
14641 2000-02-06  Martin Buchholz  <martin@xemacs.org>
14642
14643         * event-Xt.c (x_keysym_to_character): New.
14644         (maybe_define_x_key_as_self_inserting_character): New.
14645         (x_has_keysym): New.
14646         Auto-define all keys on the keyboard as self-insert-key.
14647
14648 2000-02-02  Martin Buchholz  <martin@xemacs.org>
14649
14650         * menubar.c (vars_of_menubar): A small code simplification.
14651
14652         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
14653
14654         * ExternalShell.c:
14655         * ExternalClient.c:
14656         * EmacsShell-sub.c:
14657         * EmacsManager.c:
14658         * EmacsFrame.c:
14659         Use consistent style for specifying X resources.
14660
14661         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
14662         This makes (dontusethis-set-symbol-value-handler) actually usable.
14663
14664         * lrecord.h (lrecord_decription_type):
14665         * alloc.c (pdump_register_sub):
14666         (pdump_dump_data):
14667         (pdump_reloc_one):
14668         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
14669         Comply with XEmacs coding style.
14670         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
14671         args, and XD_LISP_OBJECT_ARRAY with 3 args.
14672
14673         * keymap.c (Faccessible_keymaps):
14674         Make (accessible-keymaps map "\C-h") do the Right Thing.
14675         Make (accessible-keymaps map []) do the Right Thing.
14676         Make (accessible-keymaps map "") do the Right Thing.
14677         (check_keymap_definition_loop): New function.
14678         (keymap_store_internal): Keep luser from shooting self in foot,
14679           via (define-key ctl-x-4-map "p" global-map).
14680         Remove fullness slot from struct Lisp_Keymap, since hash tables
14681         are now reliable.
14682         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
14683
14684 2000-01-30  Martin Buchholz  <martin@xemacs.org>
14685
14686         * redisplay.c (init_redisplay): Fix small memory leak.
14687         * elhash.h:
14688         * elhash.c (pdump_reorganize_hash_table):
14689         Rename from reorganize_hash_table. Change prototype.
14690         Reuse the original memory for hentries.  Save 100k.
14691         * alloc.c (PDUMP_READ): new macro.
14692         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
14693         * alloc.c: No need to #ifndef before #undef.
14694
14695         * print.c: Allow debug_print() to print readably by modifying
14696         debug_print_readably.  Use consistent variable names.
14697
14698         * .dbxrc: Try to get things to work even if stopped in a function
14699         without source available by explicitly specifying source files.
14700 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14701
14702         * unexnt.c (_start): Removed bogus code which caused loading heap
14703         from differrent executable file.
14704         Removed bogus assignment to _fmode, which caused inconsistencies.
14705
14706 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14707
14708         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
14709         Have spawnve encapsulation regard DONT_ENCAPSULATE.
14710         Do not preliminary `#define signal sigset'.
14711
14712         * systime.h: Do not prototype environ on windows nt and cygwin,
14713         this conflicts with system header.
14714
14715         * syssignal.h: Use correct define for WINDOWSNT
14716
14717         * sysdep.h: Do not prototype environ on windows nt, this conflicts
14718         with system header.
14719
14720         * sysdep.c (near start of file): Fixed commentary and rearranged
14721         ifdefs in readable order.
14722         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
14723         (start_of_text):
14724         (end_of_text):
14725         (end_of_data): Do not compile in if using PDUMP.
14726
14727         * symsinit.h: Prototyped vars_of_nt().
14728
14729         * ntproc.c (windows9x_p): Added, instead of os_subtype.
14730         (find_child_console): Use it.
14731         (sys_kill): Use it.
14732
14733         * ntheap.h: Do not extern os_subtype.
14734
14735         * ntheap.c (cache_system_info): Do not cache unneeded:
14736         nt_major_version, nt_minor_version and os_subtype.
14737         (recreate_heap): Do not compile in when PDUMPing.
14738
14739         * nt.c (geteuid and friends): Use the new varibale
14740         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
14741         (init_user_info): Removed the above mentioned hackery.
14742         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
14743         stat has been fixed in the C runtime.
14744         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
14745
14746         * file-coding.c (struct file_coding_dump): Do not define
14747         ucs_to_mule_table in the struct if not MULE.
14748         (struct struct lrecord_description fcd_description_1): Do not dump
14749         the above.
14750
14751         * emacs.c (main_1): Call vars_of_nt().
14752         (right before Fdump_emacs_data): Don't need lastfile if using both
14753         portabe dumper and system malloc.
14754
14755         * alloc.c (Fmemory_limit): Conditionalized out.
14756         (pdump): Use OPEN_BINARY for the portable dump file.
14757         (pdump_load): Ditto.
14758
14759 2000-02-02  Mike Alexander  <mta@arbortext.com>
14760
14761         * nt.c (convert_time): Set tm_isdst before calling mktime and
14762         avoid calling it at all if the compiler supports 64 bit integers.
14763         Also initialize utc_base_ft before using it.
14764
14765 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14766
14767         * frame.c (change_frame_size_1): Take f->internal_border_width
14768         into consideration when calculating the width of the frame.
14769
14770 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14771
14772         * window.c (frame_min_height):
14773         (frame_size_valid_p):
14774         (frame_pixsize_valid_p): Added.
14775         (check_frame_size): Generalized.
14776
14777         * window.h: Prototyped the above.
14778
14779         * lisp.h:
14780         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
14781         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
14782         Deleted Vwin32_* and Vbinary_process_* unused variables.
14783
14784         * device-msw.c (msprinter_init_device): Do not get printer font
14785         list; Added DEVMODE functions.
14786
14787         * frame-msw.c: Added lots of printer code.
14788
14789         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
14790         general.c.
14791
14792         * console-msw.h: Added more msprinter device private slots.
14793
14794 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14795
14796         * event-msw.c (key_needs_default_processing_p): Added.
14797         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
14798
14799 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14800
14801         * glyphs.c (image_instance_layout): Mark image instance as clean
14802         after layout.
14803         (glyph_dirty_p): Removed redundant function.
14804         (invalidate_glyph_geometry_maybe): Added.
14805         (update_glyph_cachel_data): Call it.
14806
14807         * glyphs.h: Prototyped it.
14808
14809         * redisplay.c (add_glyph_rune): Call it.
14810         (redisplay_window): Reset glyphs cachels when frame faces have
14811         changed, thus forcing recomputation of built-in border glyphs.
14812
14813 2000-01-30  Martin Buchholz  <martin@xemacs.org>
14814
14815         * Makefile.in.in: Make portable dumper and purify play well together.
14816         Add imperfect, but better than nothing, support for pdump.
14817         Remove xemacs.dmp when temacs is re-generated.
14818         Don't ignore errors when dumping xemacs.
14819
14820         * symbols.c (maybe_call_magic_handler): Remove one magic number.
14821
14822 2000-01-28  Andy Piper  <andy@xemacs.org>
14823
14824         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
14825         (setup_normal_frame): ditto.
14826         (setup_frame_without_minibuffer): ditto.
14827         (setup_minibuffer_frame): ditto.
14828         (delete_frame_internal): ditto.
14829         (Fmake_frame_invisible): ditto.
14830         (Ficonify_frame): ditto.
14831
14832         * window.h: change Fset_window_buffer signature.
14833
14834         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
14835         (Fset_window_buffer): allow recording of buffer if the window is
14836         the selected window.
14837         (window_loop): Use new Fset_window signature.
14838
14839 2000-01-23  Daniel Pittman  <daniel@danann.net>
14840
14841         * config.h.in: Added template for `HAVE_ATHENA_3D'
14842
14843 2000-01-29  Andy Piper  <andy@xemacs.org>
14844
14845         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
14846
14847         * gutter.c (output_gutter): Don't output if the window isn't live.
14848
14849 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14850
14851         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
14852         of 01/12/00: Moved SetFocus back here where it belongs.
14853
14854 2000-01-23  Andy Piper  <andy@xemacs.org>
14855
14856         * s/cygwin32.h: declare printer things.
14857
14858 2000-01-26  Andy Piper  <andy@xemacs.org>
14859
14860         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
14861         Alexander.
14862
14863 2000-01-24  Andy Piper  <andy@xemacs.org>
14864
14865         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
14866         (mswindows_button_instantiate): Make sure glyph is a pixmap.
14867
14868         * glyphs-widget.c (widget_instantiate): Avoid shadows.
14869
14870         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
14871
14872         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
14873
14874         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
14875         (mswindows_output_display_block): Avoid local shadows.
14876
14877         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
14878         (mswindows_enqueue_mouse_button_event): ditto.
14879         (mswindows_handle_gui_wm_command): remove declaration.
14880
14881         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
14882         warnings.
14883
14884         * console-msw.h: Avoid shadows.
14885         (mswindows_get_toolbar_button_text):
14886         (emacs_mswindows_create_stream_pair):
14887         (emacs_mswindows_delete_stream_pair):
14888         (mswindows_handle_toolbar_wm_command): declare.
14889
14890         * device-msw.c (build_syscolor_string): Avoid shadows.
14891
14892 2000-01-23  Andy Piper  <andy@xemacs.org>
14893
14894         * glyphs-widget.c (widget_instantiate): reverse the items for
14895         layouts so that children are in the expected order.
14896
14897 2000-01-28  Martin Buchholz  <martin@xemacs.org>
14898
14899         * ralloc.c: safe_bcopy ==> memmove
14900         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
14901         * s/msdos.h: Remove BCOPY macros.
14902         * insdel.c (gap_right): Remove BCOPY conditional code.
14903         * insdel.c (gap_left): Remove BCOPY conditional code.
14904         XEmacs demands a working ANSI C compiler - hence memmove.
14905
14906         * regex.c (regex_compile): Remove accidental use of trigraphs.
14907
14908 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14909
14910         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
14911         event timestamp.
14912
14913 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14914
14915         * event-msw.c (mswindows_drain_windows_queue): Added the
14916         parameter.
14917         (mswindows_need_event): Commented the call to
14918         mswindows_drain_windows_queue().
14919         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
14920         only.
14921
14922         * console-msw.h: Moved a few function prototypes here from
14923         event-msw.c.
14924
14925         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
14926         parameter from unsigned short to unsigned long.
14927         (Fmswindows_shell_execute): Added return value.
14928
14929 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
14930
14931         * sysdep.c (init_system_name):
14932           process-unix.c (unix_canonicalized_host_name):
14933         Don't call freeaddrinfo() if getaddrinfo() fails.
14934
14935         * process-unix.c (unix_open_unix_network_stream):
14936         Moved the code to get a port # into address loop.
14937
14938 2000-01-27  Martin Buchholz  <martin@xemacs.org>
14939
14940         * buffer.c (reinit_vars_of_buffer):
14941         The right place to initialize conversion_in_dynarr and
14942         conversion_out_dynarr.
14943
14944         * alloc.c (pdump): Use the real open() till sys_open() is functional.
14945
14946         * process-unix.c (unix_canonicalize_host_name): Muleize.
14947         (unix_open_network_stream): Muleize.
14948
14949         * buffer.h: Fix up prototypes for ralloc.c functions.
14950
14951 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
14952         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
14953         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
14954                 instead of gethostbyname()
14955         * process-unix.c: In unix_canonicalize_host_name() and
14956                 unix_open_network_stream(), add code to use getaddrinfo()
14957                 instead of gethostbyname().
14958
14959 2000-01-27  Daniel Pittman <daniel@danann.net>
14960
14961         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
14962         libs when built with flat Athena.
14963
14964 2000-01-27  Martin Buchholz  <martin@xemacs.org>
14965
14966         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
14967         Use coding standards for function prototypes.
14968
14969 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14970
14971         * dialog-msw.c (push_lisp_string_as_unicode):
14972         * doc.c (unparesseuxify_doc_string):
14973         * dired.c (Fuser_name_completion_1):
14974         * dired.c (Fuser_name_all_completions):
14975         * dired.c (free_user_cache):
14976         * dired.c (user_name_completion):
14977         * console-x.c (get_display_arg_connection):
14978         * minibuf.c (clear_echo_area_internal):
14979         * minibuf.c (echo_area_append):
14980         * eldap.c (Fldap_open):
14981         * eldap.c (Fldap_search_internal):
14982         * frame-x.c (x_set_frame_text_value):
14983         * frame-x.c (x_set_frame_properties):
14984         * frame-x.c (x_create_widgets):
14985         * redisplay-tty.c (term_get_fkeys_1):
14986         * objects-x.c (x_parse_nearest_color):
14987         * objects-x.c (x_valid_color_name_p):
14988         * objects-x.c (x_initialize_font_instance):
14989         * objects-x.c (x_list_fonts):
14990         * objects-x.c (x_find_charset_font):
14991         * tooltalk.c (Fadd_tooltalk_message_arg):
14992         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
14993         * tooltalk.c (Fadd_tooltalk_pattern_arg):
14994         * process-unix.c (unix_create_process):
14995         * ntproc.c (sys_spawnve):
14996         * sound.c (Fplay_sound_file):
14997         * sound.c (Fplay_sound):
14998         * buffer.c (init_initial_directory):
14999         * buffer.c (init_buffer):
15000         * editfns.c (init_editfns):
15001         * editfns.c (Ftemp_directory):
15002         * editfns.c (Fuser_full_name):
15003         * editfns.c (uncache_home_directory):
15004         * editfns.c (get_home_directory):
15005         * editfns.c (Fuser_home_directory):
15006         * editfns.c (Fformat_time_string):
15007         * editfns.c (Fcurrent_time_string):
15008         * gui-x.c (button_item_to_widget_value):
15009         * database.c (Fopen_database):
15010         * event-Xt.c (x_to_emacs_keysym):
15011         * event-Xt.c (x_event_to_emacs_event):
15012         * event-Xt.c (describe_event_window):
15013         * event-msw.c (mswindows_wnd_proc):
15014         * glyphs-eimage.c (jpeg_instantiate):
15015         * glyphs-eimage.c (gif_instantiate):
15016         * glyphs-eimage.c (png_instantiate):
15017         * glyphs-eimage.c (tiff_instantiate):
15018         * glyphs-x.c (xbm_instantiate_1):
15019         * glyphs-x.c (x_xbm_instantiate):
15020         * glyphs-x.c (x_xface_instantiate):
15021         * glyphs-x.c (autodetect_instantiate):
15022         * glyphs-x.c (cursor_font_instantiate):
15023         * glyphs-x.c (x_widget_instantiate):
15024         * glyphs-x.c (x_widget_set_property):
15025         * glyphs-x.c (x_widget_property):
15026         * glyphs-x.c (BUILD_GLYPH_INST):
15027         * print.c (write_string_to_stdio_stream):
15028         * print.c (output_string):
15029         * print.c (Falternate_debugging_output):
15030         * print.c (Fexternal_debugging_output):
15031         * glyphs-msw.c (extract_xpm_color_names):
15032         * glyphs-msw.c (mswindows_xpm_instantiate):
15033         * glyphs-msw.c (bmp_instantiate):
15034         * glyphs-msw.c (resource_name_to_resource):
15035         * glyphs-msw.c (mswindows_resource_instantiate):
15036         * glyphs-msw.c (xbm_instantiate_1):
15037         * glyphs-msw.c (mswindows_xbm_instantiate):
15038         * glyphs-msw.c (mswindows_xface_instantiate):
15039         * glyphs-msw.c (mswindows_widget_instantiate):
15040         * glyphs-msw.c (add_tree_item):
15041         * glyphs-msw.c (add_tab_item):
15042         * glyphs-msw.c (mswindows_combo_box_instantiate):
15043         * glyphs-msw.c (mswindows_widget_property):
15044         * glyphs-msw.c (mswindows_combo_box_property):
15045         * glyphs-msw.c (mswindows_widget_set_property):
15046         * console.c (stuff_buffered_input):
15047         * objects-msw.c (mswindows_initialize_color_instance):
15048         * objects-msw.c (mswindows_valid_color_name_p):
15049         * objects-msw.c (mswindows_list_fonts):
15050         * objects-msw.c (mswindows_font_instance_truename):
15051         * bytecode.c (optimize_compiled_function):
15052         * select-x.c (symbol_to_x_atom):
15053         * select-x.c (x_atom_to_symbol):
15054         * select-x.c (hack_motif_clipboard_selection):
15055         * select-x.c (selection_data_to_lisp_data):
15056         * select-x.c (lisp_data_to_selection_data):
15057         * select-x.c (Fx_get_cutbuffer_internal):
15058         * select-x.c (Fx_store_cutbuffer_internal):
15059         * buffer.h (TO_EXTERNAL_FORMAT): New function.
15060         * buffer.h (TO_INTERNAL_FORMAT): New function.
15061         * emacs.c (make_arg_list_1):
15062         * emacs.c (make_argc_argv):
15063         * emacs.c (main_1):
15064         * emacs.c (Fdump_emacs):
15065         * emacs.c (split_string_by_emchar_1):
15066         * file-coding.h:
15067         * lisp.h:
15068         * lstream.h:
15069         * symsinit.h:
15070         * device-x.c (x_init_device):
15071         * device-x.c (Fx_valid_keysym_name_p):
15072         * device-x.c (Fx_get_font_path):
15073         * device-x.c (Fx_set_font_path):
15074         * glyphs.c (bitmap_to_lisp_data):
15075         * glyphs.c (pixmap_to_lisp_data):
15076         * alloc.c (make_ext_string): Use coding system arguments.  Update
15077         all callers.
15078         * alloc.c (build_string):
15079         * callproc.c (child_setup):
15080         * callproc.c (init_callproc):
15081         * fileio.c (lisp_strerror):
15082         * fileio.c (directory_file_name):
15083         * fileio.c (Fexpand_file_name):
15084         * fileio.c (Ffile_truename):
15085         * fileio.c (Fsysnetunam):
15086         * fileio.c (Fdo_auto_save):
15087         * sysdep.c (sys_readdir):
15088         * tests.c: New file.  Allow adding C tests.
15089         Replace GET_* macros with a more comprehensible and flexible
15090         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
15091         Modify all calls.
15092         Any coding system can be used to do format conversion.
15093         Eliminate enum external_data_format.
15094         Eliminate convert_to_external_format.
15095         Eliminate convert_to_internal_format.
15096         Make sure file-name, keyboard, terminal, and ctext are always
15097         defined as coding systems or aliases.  Make
15098         file-name-coding-system, terminal-coding-system, and
15099         keyboard-coding-system magical variables that are equivalent to
15100         defining the corresponding coding system aliases.
15101
15102         * file-coding.c (Fcoding_system_canonical_name_p): New function.
15103         * file-coding.c (Fcoding_system_alias_p): New function.
15104         * file-coding.c (Fcoding_system_aliasee): New function.
15105         * file-coding.c (append_suffix_to_symbol): New function.
15106         * file-coding.c (dangling_coding_system_alias_p): New function.
15107         * file-coding.c (Ffind_coding_system):
15108         * file-coding.c (Fcopy_coding_system):
15109         * file-coding.c (encode_coding_no_conversion):
15110         * file-coding.c (syms_of_file_coding):
15111         * file-coding.c (vars_of_file_coding):
15112         Rewrite coding system alias code.
15113         Allow nested aliases, like symbolic links.
15114         Allow redefinition of coding system aliases.
15115         Prevent existence of dangling coding system aliases.
15116
15117         * dired.c (Fuser_name_completion_1):
15118         * dired.c (Fuser_name_all_completions):
15119         A crash would happen if user did QUIT in the middle of building
15120         user_name_cache.  Remove redundant code in mainline and unwind_protect.
15121
15122         * lisp.h:
15123         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
15124
15125         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
15126         an unsigned char *.  Update all callers.
15127
15128 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15129
15130         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
15131
15132 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15133
15134         * elhash.c (hentry_description): Use more portable definition.
15135         (resize_hash_table): Initialize new hentries using
15136         xnew_array_and_zero, thereby simplifying the code.
15137
15138         * mule-charset.c (make_charset): Make sure entire object is
15139         initialized, to avoid Purify warnings.
15140
15141         * alloc.c (resize_string): Fix unlikely crash with big strings.
15142
15143 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15144
15145         * realpath.c (xrealpath):
15146         Don't call getwd().
15147
15148 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15149
15150         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
15151
15152 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
15153
15154         * unexelfsgi.c (unexec): Change the way we decide which segment
15155         should be extended.
15156
15157         Assumption that .bss section should be outside the PT_LOADable
15158         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
15159         it's present) is inside the 'data' segment. This would fail the
15160         test which was used to find a segment to grow and cover new
15161         heap. Instead of this assumption, I created another one - on IRIX
15162         the segment to grow should start below .bss and it's address
15163         should extent above the end of .bss. Once this segment is
15164         identified, it's grown to accommodate the new heap and new
15165         zero-length .bss section is added at the end of .data2.
15166
15167 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15168
15169         * eval.c (Feval): Wrong number of arguments should use original
15170         function, not the indirect_function version of it.
15171
15172 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
15173
15174         * glyphs-x.c (x_button_instantiate): Don't add image if
15175         it is not a pixmap.
15176         (x_locate_pixmap_file): Call Fexpand_file_name when file name
15177         is relative.
15178
15179 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
15180
15181         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
15182         declaration.
15183         (DEFVAR_INT_MAGIC): Ditto.
15184         (DEFVAR_BOOL_MAGIC): Ditto.
15185         * glyphs.h: Reindent backslash.
15186
15187 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15188
15189         * glyphs-widget.c (layout_query_geometry):
15190         (layout_layout): Use correct types for gheight, gwidth.
15191
15192 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15193
15194         * EmacsManager.c (QueryGeometry): Purified.
15195
15196 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15197
15198         * alloc.c (make_float): Make sure entire object is initialized, to
15199         avoid Purify warnings.
15200         (pdump_register_sub): Remove useless assignment.
15201         (pdump): Use xmalloc, not malloc.
15202         (pdump_load): Use xmalloc, not malloc.
15203
15204 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15205
15206         * callproc.c:
15207         * dired-msw.c:
15208         * fileio.c:
15209         * process-nt.c:
15210         * redisplay-msw.c:
15211         * sysdep.c: Removed redundant #include <windows.h>
15212
15213 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15214
15215         * frame.c (delete_frame_internal): Do not delete device when its
15216         implementation so declares.
15217         (delete_frame_internal): Set device selected frame to nil when
15218         last frame goes away.
15219
15220         * device-msw.c (msprinter_device_system_metrics): Implemented.
15221         (mswindows_device_system_metrics): Added 'device-dpi property.
15222
15223         * device.c: (Fdevice_printer_p): Added.
15224         Added 'offset-workspace device metric.
15225
15226         * console.h (device_metrics): Declared DM_offset_workspace.
15227
15228 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15229
15230         * fileio.c (Ffile_truename): Remove pointless and confusing
15231         initialization of elen.
15232
15233         * glyphs-widget.c: Compiler warning fixes.
15234
15235 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
15236
15237         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
15238         instead of a Lisp_Object as argument to make it consistent with
15239         the other LIVE_P macros.
15240         (CHECK_LIVE_PROCESS): New macro.
15241
15242         * process.c: Declare Qprocess_live_p.
15243         (Fprocess_live_p): New function.
15244         (create_process): Use PROCESS_LIVE_P.
15245         (read_process_output): Ditto.
15246         (set_process_filter): Ditto.
15247         (Fdelete_process): Ditto.
15248         (kill_buffer_processes): Ditto
15249         (process_send_signal): Use CHECK_LIVE_PROCESS.
15250         (Fprocess_input_coding_system): Check whether process is still
15251         alive (fix PR#1061).
15252         (Fprocess_output_coding_system): Ditto.
15253         (Fprocess_coding_system): Ditto.
15254         (Fset_process_input_coding_system): Ditto.
15255         (Fset_process_output_coding_system): Ditto.
15256
15257 2000-01-23  Andy Piper  <andy@xemacs.org>
15258
15259         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
15260         layout and widget.
15261
15262         * glyphs.c (mark_image_instance): take into account changed
15263         image_instance format.
15264         (image_instance_equal): ditto.
15265         (image_instance_hash): ditto.
15266
15267         * glyphs-widget.c (widget_instantiate): Incorporate layout
15268         instantiation here. Delay layout of the layout until later.
15269         (layout_instantiate): deleted.
15270         (layout_query_geometry): new function. get the geometry of a
15271         layout.
15272         (layout_layout): layout a layout dynamically.
15273         (image_instantiator_widget): New function - splitting up
15274         image_instantiator_format_create_glyphs_widget for netwinder
15275         compilation.
15276         (image_instantiator_buttons):
15277         (image_instantiator_edit_fields):
15278         (image_instantiator_combo_box):
15279         (image_instantiator_scrollbar):
15280         (image_instantiator_progress_guage):
15281         (image_instantiator_tree_view):
15282         (image_instantiator_tab_control):
15283         (image_instantiator_labels):
15284         (image_instantiator_layout): ditto.
15285         (image_instantiator_format_create_glyphs_widget): Call preceding
15286         functions.
15287
15288 2000-01-22  Martin Buchholz  <martin@xemacs.org>
15289
15290         * process.c (Fset_process_coding_system):
15291         * device-x.c (Fx_keysym_hash_table):
15292         Docstring fixes.
15293
15294         * lstream.c (Lstream_write): Return documented value, not 0.
15295
15296         * fileio.c (directory_file_name):
15297         (Fsubstitute_in_file_name):
15298         (Fsubstitute_insert_file_contents_internal):
15299         (Fwrite_region_internal):
15300         * emacs.c:
15301         * sysdep.c:
15302         * getloadavg.c:
15303         * systty.h:
15304         Remove vestigial APOLLO-conditional code.
15305
15306 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15307
15308         * getpagesize.h: Add guard macros.
15309         * libsst.h: Add guard macros.
15310         * libst.h: Add guard macros.
15311         * line-number.h: Add guard macros.
15312         * ndir.h: Add guard macros.
15313         * sysfloat.h: Add guard macros.
15314         * sysfile.h: Add guard macros.
15315         * sysproc.h: Add guard macros.
15316         * syswait.h: Add guard macros.
15317         * xintrinsic.h: Add guard macros.
15318         * xintrinsicp.h: Add guard macros.
15319         * xmmanager.h: Add guard macros.
15320         * xmmanagerp.h: Add guard macros.
15321         * xmprimitive.h: Add guard macros.
15322         * xmu.h: Add guard macros.
15323         * gpmevent.h: Add copyright statement. Add guard macros.
15324         * miscplay.h: Add guard macros.
15325         * *.h: Use consistent C-standards-approved guard macro names.
15326
15327         * opaque.c (make_opaque): Switch parameter order.
15328         * opaque.h (make_opaque): Switch parameter order.
15329         Update all callers.
15330         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
15331
15332         * config.h.in (type_checking_assert): Added.
15333         (bufpos_checking_assert): Added.
15334
15335 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15336
15337         * alloc.c: Harmless pdump changes.
15338         - Use countof().
15339         - spell alignment correctly.
15340         * sysdep.c: Use countof()
15341
15342 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15343
15344         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
15345         initially_selected_for_input() console method, default to 0.
15346         (semi_canonicalize_console_connection): Try to delegate to
15347         canonicalize_console_connection if no such console method.
15348         (canonicalize_console_connection): Vice versa.
15349         (print_console): Do not print nil connection.
15350
15351         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
15352         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
15353         (XDEVIMPF_FRAMELESS_OK): Added.
15354         (CONSOLE_INHERITS_METHOD): Added.
15355
15356         * console-msw.c (mswindows_canonicalize_console_connection):
15357         Added.
15358         (mswindows_canonicalize_device_connection): Added.
15359
15360         * console-msw.h (struct msprinter_device): Added this struct and
15361         accessor macros.
15362         (mswindows_device): Made fontlist a lisp object.
15363
15364         * device.c (semi_canonicalize_device_connection):  Try to delegate
15365         to canonicalize_device_connection if no such console method.
15366         (canonicalize_device_connection): Vice versa.
15367         (print_device): Do not print nil connection.
15368
15369         * device-msw.c (mswindows_init_device): Call InitCommonControls
15370         when have widgets.
15371         (mswindows_delete_device): Removed fontlist deallocation.
15372         (mswindows_mark_device): Added.
15373
15374         * events.c (event_equal): Added abort() at unreached code.
15375         (event_hash): Ditto.
15376
15377         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
15378         fallback tags of Windows devices.
15379
15380         * general.c (syms_of_general): Initialized Qmsprinter.
15381
15382         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
15383         of fallback tags of Windows devices.
15384
15385         * lisp.h: Declared Qmsprinter.
15386
15387         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
15388         of strings.
15389         (mswindows_list_fonts): Ditto.
15390         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
15391         that it can be used by both mswindows and msprinter devices.
15392         (initialize_font_instance): Added.
15393         (mswindows_initialize_font_instance): Use it.
15394         (msprinter_initialize_font_instance): Added.
15395
15396         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
15397         and implementation flags check.
15398         (redisplay_without_hooks): Changed the call to the above.
15399         (Fredraw_device): Ditto.
15400         (Fredisplay_device): Ditto.
15401
15402         * redisplay-msw.c (get_frame_dc): Implemented.
15403         (get_frame_compdc): Implemented.
15404         (many functions): Use the two functions above to get device
15405         contexts, ether for a window or a printer.
15406
15407 2000-01-21  Olivier Galibert  <galibert@pobox.com>
15408
15409         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
15410         initialization here.
15411         (init_symbols_once_early): Call it.
15412         * emacs.c (main_1): Call it.
15413         * symsinit.h: Declare it.
15414
15415 2000-01-19  Olivier Galibert  <galibert@pobox.com>
15416
15417         * alloc.c: Use a lrecord_header * in the backtrace instead of a
15418         Lisp_Object.
15419         (pdump_backtrace): Ditto.
15420         (pdump_register_object): Ditto.  Cleanup use of the pointers.
15421         (pdump_get_entry): Abort if trying to register a null pointer.
15422         (pdump_dump_data): Cleanup types when relocating.
15423         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
15424         (pdump_dump_rtables): Remove bad casts.
15425         (pdump_load): Cleanup relocation w.r.t union type.  Use a
15426         Lisp_Object instead of a EMACS_INT for the hashtable
15427         reorganization.
15428
15429 2000-01-20  Martin Buchholz  <martin@xemacs.org>
15430
15431         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
15432
15433         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
15434
15435         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
15436
15437         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
15438
15439 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15440
15441         * faces.h (FACE_STRIKETHRU_P): Added.
15442
15443         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
15444         of font variants.
15445
15446         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
15447         (mswindows_set_dc_font): New function, aware of font variants,
15448         separated from mswindows_update_dc.
15449
15450         * objects-msw.h (struct mswindows_font_instance_data): Added
15451         definition.
15452
15453         * objects-msw.c (mswindows_finalize_font_instance): Delete all
15454         cached fonts and the data structure.
15455         (mswindows_initialize_font_instance): Added creation of font data
15456         structure.
15457         (mswindows_print_font_instance): Print at least something.
15458         (mswindows_create_font_variant): Implemented.
15459         (mswindows_get_hfont): Implemented.
15460
15461 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
15462
15463         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
15464         prototyping problem with msvc.
15465
15466         * emacs.c (main_1): added syms_of_gui_mswindows() call
15467
15468         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
15469         syms_of_gui_mswindows() function
15470
15471         * symsinit.h: added the prototype for syms_of_gui_mswindows()
15472
15473 2000-01-18  Martin Buchholz <martin@xemacs.org>
15474
15475         * XEmacs 21.2.27 is released.
15476
15477 2000-01-18  Martin Buchholz  <martin@xemacs.org>
15478
15479         * glyphs-eimage.c (struct tiff_error_struct):
15480         (tiff_error_func):
15481         (tiff_warning_func):
15482         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
15483
15484         * unexmips.c:
15485         * unexhp9k3.c:
15486         * unexfreebsd.c:
15487         * unexec.c: Remove vestigial Lucid C code.
15488         * unexalpha.c:
15489         * unexaix.c:
15490         * termcap.c:
15491         * libsst.c: Ansify.
15492         Remove declarations of errno and strerror().
15493
15494         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
15495
15496         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
15497
15498 2000-01-16  Martin Buchholz  <martin@xemacs.org>
15499
15500         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
15501         Optimize.
15502
15503 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15504
15505         * md5.c:
15506         * file-coding.c:
15507         * file-coding.h:
15508         Change enum eol_type to eol_type_t.
15509
15510 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15511
15512         * gui.c (get_gui_callback): Check cons before accessing car.
15513
15514 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15515
15516         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
15517         (XSETSPECIFIER_TYPE): Ditto.
15518
15519 2000-01-17  Didier Verna  <didier@xemacs.org>
15520
15521         * redisplay.c (generate_fstring_runes): compute string size in
15522         characters, not bytes.
15523
15524 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
15525
15526         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
15527
15528 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
15529
15530         * print.c (print_error_message): Call print_prepare().
15531
15532 2000-01-14  Martin Buchholz  <martin@xemacs.org>
15533
15534         * .dbxrc: Renamed from dbxrc.
15535
15536         * events.c (event_to_character):
15537         Use `assert (foo)' instead of `if (!foo) abort()'
15538
15539         * .gdbinit (xtype): Add documentation.
15540         * .gdbinit (check-temacs): New function.
15541         * .gdbinit (check-xemacs): New function.
15542         * dbxrc (check-xemacs): New function.
15543         * dbxrc (check-xemacs): New function.
15544
15545 2000-01-14  Andy Piper  <andy@xemacs.org>
15546
15547         * glyphs-widget.c (widget_query_geometry): Make sure that we
15548         calculate default dimensions correctly.
15549
15550 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15551
15552         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
15553
15554         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
15555         pdump_wire'd variable.
15556
15557         * emacs.c: (main_1): Conditionalized calls to
15558         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
15559
15560 2000-01-13  Martin Buchholz  <martin@xemacs.org>
15561
15562         * window.c (Fset_window_configuration):
15563         * sysdep.c (_start):
15564         * input-method-motif.c (res):
15565         * event-Xt.c (Xt_process_to_emacs_event):
15566         Simple compiler warning fixes.
15567
15568         * bytecode.c (funcall_compiled_function): Use the original
15569         function symbol on the backtrace list in preference to the
15570         compiled_function object in error messages.
15571
15572 2000-01-13  Andy Piper  <andy@xemacs.org>
15573
15574         * glyphs-x.c (update_widget_face): Make sure we update the widget
15575         background as well as foreground.
15576
15577 2000-01-13  Andy Piper  <andy@xemacs.org>
15578
15579         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
15580         fields to subwindow.
15581         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
15582         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
15583         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
15584         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
15585
15586         * glyphs-widget.c (check_valid_tab_orientation): new function.
15587         (initialize_widget_image_instance): zero orientation and
15588         justification.
15589         (widget_instantiate): pick up orientation.
15590         (tab_control_query_geometry): return appropriate values for
15591         vertical tabs.
15592
15593         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
15594         appropriate creation flags for left, right and bottom tabs.
15595
15596         * s/cygwin32.h: add tab definitions.
15597
15598 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15599
15600         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
15601         frame upon hiding a subwindow.
15602         (mswindows_button_instantiate): Changed the push button style to
15603         BS_PUSHBUTTON.
15604         (mswindows_button_instantiate): Removed button BS_NOTIFY
15605         style.
15606         (mswindows_button_instantiate): Removed redundant check for
15607         a disabled gui item.
15608         (mswindows_button_instantiate): Made use of WS_TABSTOP
15609         consistent: "operable" controls (edit, button, tree, scroll) have
15610         this style, "display-only" ones (static, progress gauge) do
15611         not. This style is currently ignored by XEmacs though. Also,
15612         removed the WS_EX_CONTROLPARENT style - it is not for children,
15613         it is for their parents!
15614         (mswindows_edit_field_instantiate): Ditto.
15615         (mswindows_progress_gauge_instantiate): Ditto.
15616         (mswindows_tree_view_instantiate): Ditto.
15617         (mswindows_tab_control_instantiate): Ditto.
15618         (mswindows_scrollbar_instantiate): Ditto.
15619         (mswindows_combo_box_instantiate): Ditto.
15620         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
15621         style to the "clip" window.
15622         (mswindows_button_instantiate): Removed compilation warning by
15623         equally typing terms of the ?: operator.
15624
15625 2000-01-12  Didier Verna  <didier@xemacs.org>
15626
15627         * redisplay.c (generate_fstring_runes): new parameter holding the
15628         last modeline-format extent.
15629         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
15630         extent, fill the glyph block with it.
15631         (generate_fstring_runes): handle these parameters.
15632         (generate_formatted_string_db): ditto.
15633
15634         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
15635         glyphs'extents in the modeline.
15636
15637 1999-01-11  Mike Woolley  <mike@bulsara.com>
15638
15639         * ntheap.c: Reduced the reserved heap space from 1Gb down to
15640         256Mb, as a workaround for the non-starting problem many people
15641         have experienced.
15642
15643 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15644
15645         * console-tty.c (Fset_console_tty_output_coding_system):
15646         Force redrawing tty frame.
15647
15648 2000-01-10  Didier Verna  <didier@xemacs.org>
15649
15650         * redisplay.c (generate_fstring_runes): fix size computation bug.
15651
15652 2000-01-09  William M. Perry <wmperry@aventail.com>
15653
15654         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
15655
15656 2000-01-09  Andy Piper  <andy@xemacs.org>
15657
15658         * glyphs-msw.c: index -> i to avoid shadows.
15659         (xbm_create_bitmap_from_data): make static.
15660         (check_valid_string_or_int): deleted.
15661         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
15662
15663         * glyphs-x.c (x_update_subwindow): remove unused args.
15664
15665         * glyphs.c (glyph_image_instance): return the thing. Don't set the
15666         back pointer - this is done in allocate_image_instance.
15667         (query_string_font): return Qnil to make the compiler happy.
15668         (unmap_subwindow): set to ~0 to make the compiler happy.
15669         (glyph_query_geometry): comment out until used.
15670         (glyph_layout): ditto.
15671
15672 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
15673
15674         * insdel.c (signal_after_change): Remove extraneous unbind_to().