update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2
3         * mule-charset.c (Qmap_cns11643_1): Renamed from
4         `Qchinese_cns11643_1'.
5         (syms_of_mule_charset): Add new symbol `=cns11643_1' instead of
6         `chinese-cns11643_1'.
7         (complex_vars_of_mule_charset): Rename `chinese-cns11643_1' to
8         `=cns11643_1'.
9
10 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
11
12         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
13         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
14         `chinese-gb12345'.
15         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
16         `=gb12345'.
17
18 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
19
20         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
21         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
22         `chinese-gb2312'.
23         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
24         `=gb2312'.
25
26 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
27
28         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
29         (syms_of_mule_charset): Add new symbol `=big5' instead of
30         `chinese-big5'.
31         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
32
33 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
34
35         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
36         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
37         `korean-ksc5601'.
38         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
39         `=ks-x1001'.
40
41 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
42
43         * mule-charset.c (Qmap_jis_x0212): Renamed from
44         `Qjapanese_jisx0212'.
45         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
46         `japanese-jisx0212'.
47         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
48         `=jis-x0212'.
49
50 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
51
52         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
53         `Qjapanese_jisx0208'.
54         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
55         of `japanese-jisx0208'.
56         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
57         `=jis-x0208-1983'.
58
59 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
60
61         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
62         `Qjapanese_jisx0208_1978'.
63         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
64         of `japanese-jisx0208-1978'.
65         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
66         `=jis-x0208-1978'.
67
68 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
69
70         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
71         only for XEmacs CHISE.
72
73 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
74
75         * char-ucs.h: Compact non-ISO-IR charset-ids.
76         (LEADING_BYTE_UCS): Changed to -177.
77         (LEADING_BYTE_CONTROL_1): Changed to -77.
78         (LEADING_BYTE_UCS_BMP): Changed to -176.
79         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
80
81 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
82
83         * mule-charset.c (Qiso_ir): New variable.
84         (Fmake_charset): Recognise new property `iso-ir'.
85         (syms_of_mule_charset): Add new symbol `iso-ir'.
86
87 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
88
89         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
90         n to -n; charset-id of non ISO-IR sets are changed to positive
91         numbers.
92
93 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
94
95         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
96         for &MCS-XXXXXXXX; values.
97
98 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
99
100         * mule.c (Vxemacs_chise_version): Renamed from
101         `Vutf_2000_version'.
102         (vars_of_mule): Add new variable `xemacs-chise-version'; define
103         `utf-2000-version' as an alias for `xemacs-chise-version'.
104
105 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
106
107         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
108         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
109         defined.
110
111         * config.h.in (CHISE): New macro.
112
113 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
114
115         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
116         of `ucs'.
117         (Qmap_ucs): New variable.
118         (syms_of_mule_charset): Add new symbol `=ucs'.
119         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
120
121         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
122         (simplify_char_spec): Likewise.
123
124         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
125
126         * char-ucs.h (Qmap_ucs): New extern variable.
127
128 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
129
130         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
131         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
132         don't define it when UTF2000 is not defined.
133         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
134         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
135         when UTF2000 is not defined.
136         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
137         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
138
139 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
140
141         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
142
143         * mule-charset.c (Vcharset_ucs_gb): Deleted.
144         (Qucs_gb): Deleted.
145         (syms_of_mule_charset): Delete `ucs-gb'.
146         (complex_vars_of_mule_charset): Likewise.
147
148 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
149
150         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
151
152         * mule-charset.c (Vcharset_ucs_cns): Deleted.
153         (Qucs_cns): Deleted.
154         (syms_of_mule_charset): Delete `ucs-cns'.
155         (complex_vars_of_mule_charset): Likewise.
156
157 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
158
159         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
160
161         * mule-charset.c (Vcharset_ucs_jis): Deleted.
162         (Qucs_jis): Deleted.
163         (syms_of_mule_charset): Delete `ucs-jis'.
164         (complex_vars_of_mule_charset): Likewise.
165
166 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
167
168         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
169
170         * mule-charset.c (Vcharset_ucs_ks): Deleted.
171         (Qucs_ks): Deleted.
172         (syms_of_mule_charset): Delete `ucs-ks'.
173         (complex_vars_of_mule_charset): Likewise.
174
175 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
176
177         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
178         (Qideograph_daikanwa_2): Deleted.
179         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
180         (complex_vars_of_mule_charset): Likewise.
181
182         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
183         (LEADING_BYTE_DAIKANWA_1): Deleted.
184         (LEADING_BYTE_DAIKANWA_2): Deleted.
185         (MIN_CHAR_DAIKANWA): Deleted.
186         (MAX_CHAR_DAIKANWA): Deleted.
187
188 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
189
190         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
191         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
192         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
193
194         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
195         (Vcharset_ideograph_daikanwa): Deleted.
196         (Qideograph_hanziku_{1..12}): Deleted.
197         (Qideograph_daikanwa): Deleted.
198         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
199         Vcharset_ideograph_daikanwa.
200         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
201         `ideograph-hanziku-{1..12}'.
202         (complex_vars_of_mule_charset): Likewise.
203
204 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
205
206         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
207
208         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
209         (Qideograph_gt_pj_{1..11}): Deleted.
210         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
211         (complex_vars_of_mule_charset): Likewise.
212
213 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
214
215         * mule-charset.c (Vcharset_ucs_big5): Deleted.
216         (Vcharset_ideograph_gt): Deleted.
217         (Qucs_big5): Deleted.
218         (Qideograph_gt): Deleted.
219         (syms_of_mule_charset): Delete symbol `ucs-big5' and
220         `ideograph-gt'.
221         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
222         and `ideograph-gt'.
223
224         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
225         (LEADING_BYTE_GT): Deleted.
226         (MIN_CHAR_GT): Deleted.
227         (MAX_CHAR_GT): Deleted.
228
229 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
230
231         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
232
233 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
234
235         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
236         (save_uint16_byte_table): Likewise.
237         (save_byte_table): Likewise; convert values by it.
238         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
239         for `ideographic-structure'.
240         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
241         as the filter for `ideographic-structure'.
242
243 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
244
245         * chartab.c (put_char_composition): New function.
246         (Fput_char_attribute): Use `put_char_composition'; use
247         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
248
249         * fns.c (simplify_char_spec): New function.
250         (char_ref_simplify_spec): New function.
251         (Fchar_refs_simplify_char_specs): New function.
252         (syms_of_fns): Add new builtin function
253         `char-refs-simplify-char-specs'.
254
255 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
256
257         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
258         (Qideograph_cbeta): Deleted.
259         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
260         (complex_vars_of_mule_charset): Likewise.
261
262         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
263         (MIN_CHAR_CBETA): Comment out.
264         (MAX_CHAR_CBETA): Likewise.
265
266 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
267
268         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
269         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
270         CHISE client feature.
271
272 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
273
274         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
275
276 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
277
278         * mule-charset.c (charset_lookup_description_1): Use
279         `NUM_LEADING_BYTES' in UTF-2000.
280
281 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
282
283         * char-ucs.h (GC_CHARSETP): Deleted.
284
285 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
286
287         * char-ucs.h (MAX_CHAR_GT): Updated.
288
289 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
290
291         * text-coding.c: Sync with XEmacs 21.4.10.
292
293 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
294
295         * mule-charset.c (Vcharset_china3_jef): Deleted.
296         (Qchina3_jef): Deleted.
297         (syms_of_mule_charset): Don't define `china3-jef'.
298         (complex_vars_of_mule_charset): Likewise.
299
300         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
301         (MIN_CHAR_CHINA3_JEF): Comment out.
302         (MAX_CHAR_CHINA3_JEF): Comment out.
303
304 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
305
306         * mule-charset.c (Vcharset_ucs_gb): New variable.
307         (Qucs_gb): New variable.
308         (syms_of_mule_charset): Add new symbol `ucs-gb'.
309         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
310
311         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
312
313 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
314
315         * mule-charset.c (charset_code_point): if a coded-charset has a
316         final-byte, don't inherit the builtin range of the mother CCS.
317
318 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
319
320         * mule-charset.c (charset_code_point): Fix problem about
321         inheritance.
322
323 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
324
325         * mule-charset.c (decode_builtin_char): Reorganized.
326
327 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
328
329         * text-coding.c (char_encode_as_entity_reference): Modify for
330         `charset_code_point'.
331         (char_encode_shift_jis): Likewise.
332         (char_encode_big5): Likewise.
333         (char_encode_utf8): Likewise.
334         (char_encode_iso2022): Likewise.
335
336         * mule-charset.c (charset_code_point): Add new argument
337         `defined_only'.
338         (Fencode_char): Add new optional argument `defined_only'.
339
340         * chartab.c (put_char_table): Modify for `charset_code_point'.
341
342         * char-ucs.h (charset_code_point): Add new argument
343         `defined_only'.
344         (encode_char_1): Modify for `charset_code_point'.
345
346 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
347
348         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
349         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
350
351 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
352
353         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
354         (Qjis_x0208): Likewise.
355         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
356         XCHARSET_FINAL(charset).
357         (charset_code_point): Modify condition for final-byte based
358         builtin-chars.
359         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
360         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
361         in UTF-2000; specify `=jis-x0208' as the mother of
362         `japanese-jisx0208-1978', `japanese-jisx0208' and
363         `japanese-jisx0208-1990' in UTF-2000.
364
365 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
366
367         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
368
369 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
370
371         * text-coding.c (decode_coding_utf16): Support UTF-16.
372         (char_encode_utf16): Fixed.
373
374 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
375
376         * text-coding.c (Qutf16): New variable in MULE.
377         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
378         (Fcoding_system_type): Add `utf-16' in MULE.
379         (struct detection_state): Add a structure for utf16 in MULE.
380         (detect_coding_type): Setup st->utf16.mask in MULE.
381         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
382         MULE.
383         (reset_encoding_stream): Use `char_encode_utf16' and
384         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
385         (detect_coding_utf16): New function [incomplete].
386         (decode_coding_utf16): New function [support only UCS-2].
387         (char_encode_utf16): New function.
388         (char_finish_utf16): New function.
389         (syms_of_file_coding): Add new symbol `utf-16'; setup
390         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
391
392         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
393         UTF-2000.
394         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
395         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
396
397 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
398
399         * chartab.c (put_char_table): When a charset is specified as a
400         range in UTF-2000, don't support builtin characters.
401
402 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
403
404         * mule-charset.c (decode_defined_char): Don't refer external
405         database if Qunbound or Qnil are found.
406         (Fsave_charset_mapping_table): Don't define it if
407         HAVE_CHISE_CLIENT is not defined.
408         (Freset_charset_mapping_table): New function.
409         (load_char_decoding_entry_maybe): Store Qnil if a character is not
410         found in external database.
411         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
412         if HAVE_CHISE_CLIENT is not defined; add new builtin function
413         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
414
415 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
416
417         * text-coding.c (decode_coding_utf8): Check CCS is specified or
418         not.
419
420 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
421
422         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
423         Q_lowercase, Q_uppercase in UTF-2000.
424
425         * chartab.c (get_char_table): Add special code for the standard
426         case table to use character attribute `->downcase' and
427         `->uppercase' for case operations in UTF-2000.
428
429         * casetab.c (Qflippedcase): New variable in UTF-2000.
430         (Q_lowercase): Likewise.
431         (Q_uppercase): Likewise.
432         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
433         and `->uppercase' in UTF-2000.
434         (complex_vars_of_casetab): Assign attribute name `downcase' to
435         downcase and CANON table of Vstandard_case_table in UTF-2000;
436         assign attribute name `flippedcase' to upcase and EQV table of
437         Vstandard_case_table in UTF-2000.
438
439 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
440
441         * text-coding.c (decode_add_er_char): Support isolated-chars.
442         (char_encode_as_entity_reference): Likewise.
443
444 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
445
446         * emacs.c (Vutf_2000_lisp_directory): New variable.
447         (Vconfigure_utf_2000_lisp_directory): Likewise.
448         (complex_vars_of_emacs): Add new variable
449         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
450
451 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
452
453         * char-ucs.h (DECODE_CHAR): Delete special code for
454         `chinese-big5-1' and `chinese-big5-2'.
455
456         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
457         (Qbig5_2): Likewise.
458         (decode_defined_char): Support CONVERSION_BIG5_1 and
459         CONVERSION_BIG5_2.
460         (decode_builtin_char): Likewise.
461         (charset_code_point): Likewise.
462         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
463         'conversion in UTF-2000.
464         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
465         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
466         `chinese-big5-2' as children of `chinese-big5'.
467
468         * char-ucs.h (CONVERSION_BIG5_1): New macro.
469         (CONVERSION_BIG5_2): New macro.
470
471 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
472
473         * text-coding.c (char_encode_big5): Support entity-reference.
474
475 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
476
477         * text-coding.c (char_encode_as_entity_reference): New function.
478         (char_encode_utf8): Use `char_encode_as_entity_reference'.
479
480 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
481
482         * text-coding.c (decode_coding_big5): Support entity-reference
483         decoding feature.
484
485 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
486
487         * text-coding.c (allocate_coding_system): Initialize initial
488         charsets for CODESYS_UTF8.
489         (Fmake_coding_system): Accept charset-g0, charset-g1 and
490         charset-g2 for CODESYS_UTF8.
491         (decode_coding_utf8): Use charset-g0.
492         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
493         to force variants to map to UCS.
494
495 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
496
497         * text-coding.c (Qutf_8_mcs): New variable.
498         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
499         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
500         instead of `utf-8' in UTF-2000.
501
502 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
503
504         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
505         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
506         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
507         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
508         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
509         CONVERSION_96x96x96x96 are introduced.
510         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
511         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
512         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
513
514         * char-ucs.h (CONVERSION_94): New macro.
515         (CONVERSION_96): New macro.
516         (CONVERSION_94x94): New macro.
517         (CONVERSION_96x96): New macro.
518         (CONVERSION_94x94x94): New macro.
519         (CONVERSION_96x96x96): New macro.
520         (CONVERSION_94x94x94x60): New macro.
521         (CONVERSION_94x94x94x94): New macro.
522         (CONVERSION_96x96x96x96): New macro.
523
524 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
525
526         * chartab.c (Vcharacter_variant_table): Deleted.
527         (Fchar_variants): Use character-attribute `->ucs-variants' instead
528         of `Vcharacter_variant_table'.
529         (Fput_char_attribute): Likewise.
530         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
531         (complex_vars_of_chartab): Likewise.
532
533 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
534
535         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
536
537         * fns.c (Qideographic_structure): New variable.
538         (Qkeyword_char): New variable.
539         (ids_format_unit): New function.
540         (Fideographic_structure_to_ids): New function.
541         (syms_of_fns): Add new symbols `ideographic-structure' and
542         `:char'; add new builtin function `ideographic-structure-to-ids'.
543
544         * data.c (Fchar_ref_p): New function.
545         (syms_of_data): Add new builtin function `char-ref-p'.
546
547         * chartab.h: Add an EXFUN for `Ffind_char'.
548
549 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
550
551         * text-coding.c (Vcharacter_composition_table): Deleted.
552         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
553         in every UTF-2000.
554
555         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
556         UTF-2000.
557         (Vcharacter_composition_table): Deleted.
558         (Fget_composite_char): Use the implementation for external-DB
559         support in every UTF-2000.
560         (Fput_char_attribute): Likewise.
561         (char_attribute_system_db_file): Don't define if external-DB
562         feature is not available.
563         (Fsave_char_attribute_table): Likewise.
564         (Fmount_char_attribute_table): Likewise.
565         (Fclose_char_attribute_table): Likewise.
566         (Freset_char_attribute_table): Likewise.
567         (Fload_char_attribute_table): Likewise.
568         (syms_of_chartab): Don't define `save-char-attribute-table',
569         `mount-char-attribute-table', `reset-char-attribute-table',
570         `close-char-attribute-table' and `load-char-attribute-table' if
571         external-DB feature is not available.
572         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
573
574 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
575
576         * text-coding.c (Qcomposition): Add extern if external-DB feature
577         is supported.
578         (Vcharacter_composition_table): Don't add extern if external-DB
579         feature is supported.
580         (COMPOSE_ADD_CHAR): Modify for new data-representation of
581         character composition rule if external-DB feature is supported.
582
583         * chartab.c (Vcharacter_composition_table): Don't define if
584         external-DB feature is supported.
585         (Qcomposition): New variable.
586         (Fget_composite_char): New implementation for external-DB support.
587         (Fput_char_attribute): Use `composition' property of each
588         character instead of `Vcharacter_composition_table' to store
589         character-composition rules if external-DB feature is supported.
590         (syms_of_chartab): Add new symbol `composition'.
591         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
592         external-DB feature is supported.
593
594 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
595
596         * chartab.c (Vchar_db_stingy_mode): New variable.
597         (load_char_attribute_maybe): Close database if
598         Vchar_db_stingy_mode is not NIL.
599         (Fload_char_attribute_table_map_function): Use
600         `get_char_id_table_0' instead of `get_char_id_table'.
601         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
602
603         * chartab.h (get_char_id_table_0): New inline function.
604         (get_char_id_table): Use `get_char_id_table_0'.
605
606 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
607
608         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
609         and `COMPOSE_ADD_CHAR'.
610         (decode_coding_iso2022): Use `decode_flush_er_chars'.
611
612 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
613
614         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
615         instead of `DECODE_ADD_UCS_CHAR'.
616         (COMPOSE_ADD_CHAR): Likewise.
617
618 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
619
620         * text-coding.c (decode_flush_er_chars): New inline function.
621         (decode_add_er_char): New function.
622         (decode_coding_utf8): Use `decode_flush_er_chars' and
623         `decode_add_er_char'.
624
625 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
626
627         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
628         done before `decode_output_utf8_partial_char'.
629
630         * mule-charset.c (complex_vars_of_mule_charset): Specify
631         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
632         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
633
634 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
635
636         * mule-charset.c (decode_defined_char): New function; search
637         mother.
638         (decode_builtin_char): Don't search mother if
639         XCHARSET_MAX_CODE(charset) == 0.
640         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
641         == 0 even if code >= XCHARSET_MAX_CODE(charset).
642         (Fdecode_char): Use `decode_defined_char' instead of
643         `DECODE_DEFINED_CHAR'.
644         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
645         mother of `Vcharset_ucs_jis'.
646
647         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
648         instead of `DECODE_DEFINED_CHAR'.
649
650         * char-ucs.h (decode_defined_char): Renamed from
651         `DECODE_DEFINED_CHAR'; changed to normal function.
652         (DECODE_CHAR): Use `decode_defined_char' instead of
653         `DECODE_DEFINED_CHAR'.
654
655         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
656
657 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
658
659         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
660
661         * text-coding.c (Vcoded_charset_entity_reference_alist): New
662         variable.
663         (Quse_entity_reference): New variable.
664         (Qd): New variable.
665         (Qx): New variable.
666         (QX): New variable.
667         (coding_system_description): Add description for
668         `ccs_priority_list'.
669         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
670         (allocate_coding_system): Initialize `ccs_priority_list' in
671         UTF-2000.
672         (Fmake_coding_system): Add description about
673         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
674         (codesys).
675         (Fcoding_system_property): Accept `disable-composition' and
676         `use-entity-reference' in UTF-2000.
677         (struct decoding_stream): Add new member `er_counter' and `er_buf'
678         in UTF-2000.
679         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
680         (decode_coding_utf8): Decode entity-reference if
681         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
682         (char_encode_utf8): Encode non-Unicode characters as
683         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
684         (str->codesys).
685         (syms_of_file_coding): Add new symbols `use-entity-reference',
686         `d', `x', `X'.
687         (vars_of_file_coding): Add new variable
688         `coded-charset-entity-reference-alist'.
689         (complex_vars_of_file_coding): Declare `disable-composition' and
690         `use-entity-reference' to be coding-system-properties in UTF-2000.
691
692         * file-coding.h (struct Lisp_Coding_System): Add new member
693         `use_entity_reference' and `ccs_priority_list'.
694         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
695         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
696         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
697
698 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
699
700         * chartab.c (save_uint8_byte_table): Don't clear the table.
701         (save_uint16_byte_table): Likewise.
702         (save_byte_table): Likewise.
703         (Fmount_char_attribute_table): New function.
704         (syms_of_chartab): Add new builtin function
705         `mount-char-attribute-table'.
706
707 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
708
709         * mule-charset.c (Fsave_charset_mapping_table): Open database as
710         "w+" mode.
711         (load_char_decoding_entry_maybe): Open database as read-only mode.
712
713         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
714         open database as "w+" mode.
715         (load_char_attribute_maybe): Open database as read-only mode.
716         (Fload_char_attribute_table): Likewise.
717
718 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
719
720         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
721         (char_table_description): Delete member `db_file'.
722         (Fmake_char_table): Don't refer `ct->db_file'.
723         (Fcopy_char_table): Likewise.
724         (Fsave_char_attribute_table): Likewise.
725         (Fclose_char_attribute_table): Likewise.
726         (Freset_char_attribute_table): Likewise.
727         (load_char_attribute_maybe): Likewise.
728         (Fload_char_attribute_table): Likewise.
729
730         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
731
732 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
733
734         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
735         (Fsave_char_attribute_table): Don't check `ct->db_file' if
736         `ct->db' is living.
737         (load_char_attribute_maybe): Likewise.
738         (Fload_char_attribute_table): Likewise.
739
740 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
741
742         * chartab.c (Fclose_char_attribute_table): Set Qnil on
743         `ct->db_file' unconditionally.
744
745 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
746
747         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
748         UTF-2000.
749         (char_table_description): Add description for `db_file' and `db'
750         in UTF-2000.
751         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
752         UTF-2000.
753         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
754         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
755         (Fclose_char_attribute_table): New function.
756         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
757         (load_char_attribute_maybe): Change interface; use `cit->db_file'
758         and `cit->db'.
759         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
760         (syms_of_chartab): Add new builtin function
761         `Fclose_char_attribute_table'.
762
763 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
764
765         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
766         `db' in UTF-2000.
767         (load_char_attribute_maybe): Change interface.
768         (get_char_id_table): Modify for `load_char_attribute_maybe'.
769
770 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
771
772         * database.h: Add an EXFUN for `Fdatabase_live_p'.
773
774 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
775
776         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
777         instead of `DECODE_CHAR' for mother; don't use special code for
778         chinese-big5 to use code space of chinese-big5-1 and
779         chinese-big5-2.
780         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
781         `MAX_CHAR_BIG5_CDP' for chinese-big5.
782
783         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
784         (MAX_CHAR_BIG5_CDP): Revival.
785
786 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
787
788         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
789         the XLFD registry-encoding name of `chinese-big5'.
790
791 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
792
793         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
794         (Qchinese_big5_cdp): Deleted.
795         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
796         (complex_vars_of_mule_charset): Delete coded-charset
797         `chinese-big5-cdp'.
798
799         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
800         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
801         `CHARSET_ID_OFFSET - n' for private CCS.
802         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
803         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
804         of `MIN_LEADING_BYTE'.
805         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
806         `(CHARSET_ID_OFFSET - 97)'.
807         (MIN_CHAR_BIG5_CDP): Deleted.
808         (MAX_CHAR_BIG5_CDP): Deleted.
809
810 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
811
812         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
813
814 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
815
816         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
817         (vars_of_mule): Add new variable `utf-2000-version' [moved from
818         chartab.c].
819
820         * chartab.c (Vutf_2000_version): Moved to mule.c.
821         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
822
823 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
824
825         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
826         when HAVE_CHISE_CLIENT is not defined.
827
828         * mule.c (vars_of_mule): Provide feature `chise' when
829         HAVE_CHISE_CLIENT is defined.
830
831 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
832
833         * config.h.in (UTF2000): Add comment.
834         (HAVE_CHISE_CLIENT): New macro.
835
836 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
837
838         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
839         CONSP.
840         (Fput_char_attribute): Likewise.
841         (char_attribute_system_db_file): Encode file-name of attribute.
842         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
843         the initial value.
844
845 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
846
847         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
848         (Fsave_charset_mapping_table): Use
849         `char_attribute_system_db_file'.
850         (load_char_decoding_entry_maybe): Likewise.
851
852         * chartab.h (Qsystem_char_id): New external variable.
853         (char_attribute_system_db_file): New prototype.
854
855         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
856         (char_attribute_system_db_file): New function.
857         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
858         (Freset_char_attribute_table): Likewise.
859         (load_char_attribute_maybe): Likewise.
860         (Fload_char_attribute_table): Likewise.
861         (syms_of_chartab): Add new symbol `system-char-id'.
862
863 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
864
865         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
866         `XCHARSET_GRAPHIC(ccs)'.
867
868 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
869
870         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
871
872 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
873
874         * chartab.c (Q_ucs_variants): New variable.
875         (syms_of_chartab): Add new symbol `->ucs-variants'.
876         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
877         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
878         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
879
880         * mule-charset.c (load_char_decoding_entry_maybe): New function.
881
882         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
883         `HAVE_DATABASE' is defined.
884         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
885         `HAVE_DATABASE' is defined.
886
887 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
888
889         * chartab.c (Fsave_char_attribute_table): Don't clear internal
890         attribute-table.
891         (Freset_char_attribute_table): New function.
892         (syms_of_chartab): Add new builtin function
893         `reset-char-attribute-table'.
894
895 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
896
897         * chartab.c (load_char_attribute_maybe): Don't make directories.
898
899 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
900
901         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
902
903         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
904         for decoding-table.
905
906 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
907
908         * mule-charset.c (Fsave_charset_mapping_table): Use
909         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
910
911         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
912         instead of `XCHARSET_CHARS'.
913
914 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
915
916         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
917         (XCHARSET_BYTE_SIZE): Likewise.
918
919         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
920         mule-charset.c].
921         (XCHARSET_BYTE_SIZE): Likewise.
922
923 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
924
925         * chartab.c (Fput_char_attribute): Use exec-directory instead of
926         data-directory to store database.
927         (Fsave_char_attribute_table): Likewise.
928         (load_char_attribute_maybe): Likewise.
929         (Fload_char_attribute_table): Likewise.
930
931 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
932
933         * mule-charset.c (Fsave_charset_mapping_table): New function.
934         (syms_of_mule_charset): Add new builtin function
935         `save-charset-mapping-table'.
936
937 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
938
939         * char-ucs.h (decoding_table_check_elements): Delete prototype.
940         (get_ccs_octet_table): New inline function.
941         (put_ccs_octet_table): Likewise.
942         (decoding_table_put_char): Use `get_ccs_octet_table' and
943         `put_ccs_octet_table'.
944         (decoding_table_remove_char): Use `decoding_table_put_char'.
945         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
946
947         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
948         into encoding_table.
949         (make_charset): Use Qunbound instead Qnil as initial value of
950         decoding_table.
951
952 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
953
954         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
955         element is Qunloaded.
956         (map_over_uint16_byte_table): Likewise.
957         (map_over_byte_table): Likewise.
958         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
959         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
960         database support, load encoding-table of the specified
961         coded-charset if it is not loaded yet.
962         (save_uint8_byte_table): New function of UTF-2000 with external
963         database support.
964         (save_uint16_byte_table): Likewise.
965         (save_byte_table): Likewise.
966         (Fput_char_attribute): Don't store value into external database
967         even if the external database feature is supported in UTF-2000;
968         set `attribute' as name of char-table if the external database
969         feature is supported.
970         (Fsave_char_attribute_table): New function in UTF-2000.
971         (syms_of_chartab): Add new builtin function
972         `save-char-attribute-table' in UTF-2000.
973
974 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
975
976         * chartab.c (char_attribute_table_to_put): New variable in
977         UTF-2000.
978         (Qput_char_table_map_function): Likewise.
979         (value_to_put): Likewise.
980         (Fput_char_table_map_function): New function in UTF-2000.
981         (put_char_table): Use `Fmap_char_attribute' for
982         CHARTAB_RANGE_CHARSET in UTF-2000.
983         (Fput_char_attribute): Store symbol instead of string in
984         `XCHAR_TABLE_NAME (table)'.
985         (load_char_attribute_maybe): Likewise.
986         (syms_of_chartab): Add new symbol/function
987         `put-char-table-map-function'.
988
989 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
990
991         * database.h: Add new EXFUN for `Fmap_database'.
992
993         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
994         (syms_of_database): Likewise.
995
996         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
997         UTF-2000.
998         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
999         (XCHAR_TABLE_UNLOADED): Likewise.
1000
1001         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1002         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1003         HAVE_DATABASE is defined.
1004         (char_attribute_table_to_load): New variable of UTF-2000 with
1005         external database support.
1006         (Qload_char_attribute_table_map_function): Likewise.
1007         (Fload_char_attribute_table_map_function): New function of
1008         UTF-2000 with external database support.
1009         (Fload_char_attribute_table): New function of UTF-2000.
1010         (Fmap_char_attribute): Call Fload_char_attribute_table if
1011         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1012         (syms_of_chartab): Add new symbol and function
1013         `load-char-attribute-table-map-function' in UTF-2000 with external
1014         database support; add new function `load-char-attribute-table' in
1015         UTF-2000.
1016
1017 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1018
1019         * chartab.h (load_char_attribute_maybe): New prototype for
1020         UTF-2000 with DATABASE support.
1021         (get_char_id_table): Use `load_char_attribute_maybe' if
1022         HAVE_DATABASE is defined.
1023
1024         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1025         with DATABASE support.
1026
1027 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1028
1029         * chartab.c (Fput_char_attribute): Use S-expression as key of
1030         external database.
1031
1032         * chartab.h (get_char_id_table): Use S-expression as key of
1033         external database.
1034
1035 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1036
1037         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1038         if an element is not loaded, load the corresponding attributes
1039         from an external database.
1040         (map_over_uint16_byte_table): Likewise.
1041         (map_over_byte_table): Likewise.
1042         (map_char_table): Modify for `map_over_uint8_byte_table',
1043         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1044         element is not loaded, load the corresponding attributes from an
1045         external database.
1046         (Fput_char_attribute): Change initial values to Qunloaded.
1047
1048         * chartab.h (get_char_id_table): If a character attribute is not
1049         loaded and the attribute value is not found in an external
1050         database, store Qunbound as the attribute value.
1051
1052 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1053
1054         * chartab.c (BT_UINT8_unloaded): New macro.
1055         (UINT8_VALUE_P): Accept Qunloaded.
1056         (UINT8_ENCODE): Likewise.
1057         (UINT8_DECODE): Likewise.
1058         (BT_UINT16_unloaded): New macro.
1059         (UINT16_VALUE_P): Accept Qunloaded.
1060         (UINT16_ENCODE): Likewise.
1061         (UINT16_DECODE): Likewise.
1062         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1063         BT_UINT16_unloaded.
1064         (mark_char_table): Mark `ct->name' in UTF-2000.
1065         (char_table_description): Add `name' in UTF-2000.
1066         (Fmake_char_table): Initialize `ct->name'.
1067         (Fcopy_char_table): Copy `ct->name'.
1068         (Fput_char_attribute): Store value into an external database if
1069         HAVE_DATABASE is defined.
1070
1071         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1072         UTF-2000.
1073         (CHAR_TABLE_NAME): New macro in UTF-2000.
1074         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1075         (get_char_id_table): Try to read an external database if Qunloaded
1076         is stored in a table.
1077
1078         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1079         Qunloaded.
1080
1081 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1082
1083         * database.h: Add EXFUN definitions for Fopen_database,
1084         Fput_database, Fget_database and Fclose_database.
1085
1086         * data.c (Qunloaded): New variable in UTF-2000.
1087
1088         * lisp.h (Qunloaded): New variable in UTF-2000.
1089
1090 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1091
1092         * mule-charset.c (put_char_ccs_code_point): Modify for
1093         `decoding_table_remove_char' and `decoding_table_put_char'.
1094         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1095
1096         * char-ucs.h (decoding_table_remove_char): Change arguments to
1097         hide decoding_table vector.
1098         (decoding_table_put_char): Likewise.
1099
1100 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1101
1102         * mule-charset.c (decoding_table_remove_char): Moved to
1103         char-ucs.h.
1104         (decoding_table_put_char): Likewise.
1105
1106         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1107         from mule-charset.c].
1108         (decoding_table_remove_char): New inline function [moved from
1109         mule-charset.c].
1110         (decoding_table_put_char): Likewise.
1111
1112 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1113
1114         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1115         extension.
1116
1117 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1118
1119         * mule-charset.c (decode_builtin_char): Support mother charsets.
1120
1121 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1122
1123         * mule-charset.c (Q94x94x60): New variable.
1124         (charset_code_point): Support conversion `94x94x60'.
1125         (Fmake_charset): Likewise.
1126         (syms_of_mule_charset): Add new symbol `94x94x60'.
1127
1128         * char-ucs.h (CONVERSION_94x94x60): New macro.
1129
1130 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1131
1132         * mule-charset.c (charset_code_point): Unify code about
1133         `code-offset'.
1134
1135 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1136
1137         * mule-charset.c (charset_code_point): Merge code about builtin
1138         characters into code about mother charsets; don't use
1139         `range_charset_code_point'.
1140         (range_charset_code_point): Deleted.
1141
1142 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1143
1144         * mule-charset.c (Qcode_offset): New variable.
1145         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1146         `max-code'; accept new property `code-offset'.
1147         (syms_of_mule_charset): Add new symbol `code-offset'.
1148
1149 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1150
1151         * mule-charset.c (range_charset_code_point): Fixed.
1152
1153 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1154
1155         * mule-charset.c (decode_builtin_char): Change semantics of
1156         code-offset of coded-charset.
1157         (charset_code_point): Likewise.
1158         (range_charset_code_point): Likewise.
1159         (complex_vars_of_mule_charset): Modify for the change.
1160
1161 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1162
1163         * mule-charset.c (Fencode_char): Reverse arguments.
1164
1165         * mule-charset.c (charset_code_point): Fixed.
1166
1167 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1168
1169         * mule-charset.c (Vcharset_mojikyo): Deleted.
1170         (Vcharset_mojikyo_2022_1): Deleted.
1171         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1172         (Qmin_code): New variable in UTF-2000.
1173         (Qmax_code): Likewise.
1174         (Qmother): Likewise.
1175         (Qconversion): Likewise.
1176         (Q94x60): Likewise.
1177         (Qmojikyo): Deleted.
1178         (Qmojikyo_2022_1): Deleted.
1179         (Qmojikyo_pj_{1..22}): Deleted.
1180         (mark_charset): Mark `cs->mother'.
1181         (charset_description): Add description for `mother'.
1182         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1183         new arguments `mother' and `conversion'; use
1184         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1185         (charset_code_point): Moved from char-ucs.h; support `mother'
1186         charset feature.
1187         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1188         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1189         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1190         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1191         allow 2 as the value of `graphic' in UTF-2000; add new properties
1192         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1193         require `final' in UTF-2000; modify for `make_charset'.
1194         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1195         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1196         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1197         (Fencode_char): New function.
1198         (syms_of_mule_charset): Add new builtin function `encode-char' in
1199         UTF-2000; add new symbols `min-code', `max-code', `mother',
1200         `conversion' and `94x60'; delete symbols `mojikyo',
1201         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
1202         (complex_vars_of_mule_charset): Modify for `make_charset' change;
1203         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
1204         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
1205
1206         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
1207         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
1208
1209         * char-ucs.h (Vcharset_mojikyo): Deleted.
1210         (Vcharset_mojikyo_2022_1): Deleted.
1211         (LEADING_BYTE_MOJIKYO): Deleted.
1212         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1213         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1214         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1215         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
1216         add new member `mother'; add new member `conversion'.
1217         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
1218         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
1219         (CHARSET_MOTHER): New macro.
1220         (CHARSET_CONVERSION): New macro.
1221         (CONVERSION_IDENTICAL): New macro.
1222         (CONVERSION_94x60): New macro.
1223         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
1224         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
1225         (XCHARSET_MOTHER): New macro.
1226         (XCHARSET_CONVERSION): New macro.
1227         (MIN_CHAR_MOJIKYO): Deleted.
1228         (MAX_CHAR_MOJIKYO): Deleted.
1229         (DECODE_MOJIKYO_2022): Deleted.
1230         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
1231         (charset_code_point): Changed to non-inline function.
1232         (encode_char_1): Use `charset_code_point'.
1233         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
1234
1235 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1236
1237         * lread.c (read_compiled_function): Fix prototype.
1238         (read_vector): Likewise.
1239
1240 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1241
1242         * lrecord.h (struct lrecord_header): Delete `older'.
1243         (set_lheader_implementation): Delete code for `older'.
1244         (set_lheader_older_implementation): Deleted.
1245         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
1246         (OLDER_RECORD_P): Deleted.
1247         (OLDER_RECORD_HEADER_P): Deleted.
1248         (alloc_older_lcrecord): Deleted.
1249         (alloc_older_lcrecord_type): Deleted.
1250
1251         * alloc.c (all_older_lcrecords): Deleted.
1252         (alloc_older_lcrecord): Deleted.
1253         (disksave_object_finalization_1): Delete code for older objects.
1254         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
1255         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
1256
1257 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1258
1259         * mule-charset.c (decoding_table_put_char): Use `make_vector'
1260         instead of `make_older_vector'.
1261         (put_char_ccs_code_point): Likewise.
1262         (mark_charset): Mark `cs->decoding_table'.
1263         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
1264
1265         * lisp.h (make_older_vector): Deleted.
1266         (make_vector_newer): Deleted.
1267
1268         * config.h.in (HAVE_GGC): Deleted.
1269
1270         * alloc.c (make_older_vector): Deleted.
1271         (make_vector_newer_1): Deleted.
1272         (make_vector_newer): Deleted.
1273
1274 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1275
1276         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
1277         (Qideograph_daikanwa_2): New variable.
1278         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
1279         (complex_vars_of_mule_charset): Add new coded-charset
1280         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
1281         `LEADING_BYTE_DAIKANWA'.
1282
1283         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
1284         (LEADING_BYTE_DAIKANWA_1): New macro.
1285         (LEADING_BYTE_DAIKANWA_2): New macro.
1286         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
1287
1288 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1289
1290         * mule-charset.c (complex_vars_of_mule_charset): Change
1291         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
1292         the second revised version.
1293
1294 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1295
1296         * mule-charset.c (Vcharset_ucs_smp): New variable.
1297         (Vcharset_ucs_sip): New variable.
1298         (Qucs_smp): New variable.
1299         (Qucs_sip): New variable.
1300         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
1301         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
1302         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
1303         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
1304         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
1305         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
1306
1307         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
1308         (LEADING_BYTE_UCS_SIP): New macro.
1309         (MIN_CHAR_SMP): New macro.
1310         (MAX_CHAR_SMP): New macro.
1311         (MIN_CHAR_SIP): New macro.
1312         (MAX_CHAR_SIP): New macro.
1313
1314 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1315
1316         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
1317         utf-2000.
1318
1319 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1320
1321         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
1322         value; don't store value into `encoding_table' of `Lisp_Charset'.
1323         (mark_charset): `encoding_table' was deleted.
1324         (charset_description): Likewise.
1325         (make_charset): Likewise.
1326         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
1327         `put_char_ccs_code_point'.
1328
1329         * chartab.h (Fput_char_attribute): New EXFUN.
1330
1331         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
1332         is unified with normal symbol space.
1333         (Fget_char_attribute): Likewise.
1334         (Fput_char_attribute): Likewise; behavior of
1335         `put_char_ccs_code_point' is changed.
1336
1337         * char-ucs.h: Include "elhash.h".
1338         (Vchar_attribute_hash_table): New external variable.
1339         (struct Lisp_Charset): Delete `encoding_table'.
1340         (CHARSET_ENCODING_TABLE): New implementation; refer
1341         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
1342         `Lisp_Charset'.
1343
1344 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1345
1346         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
1347         (cs) == 0.
1348
1349 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1350
1351         * text-coding.c (char_encode_big5): Prefer charset-g1 than
1352         `chinese-big5'.
1353
1354 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1355
1356         * chartab.c (uint8_byte_table_description): New constant.
1357         (uint8-byte-table): Use `uint8_byte_table_description'.
1358         (uint16_byte_table_description): New constant.
1359         (uint16-byte-table): Use `uint16_byte_table_description'.
1360
1361 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1362
1363         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
1364         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
1365
1366 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1367
1368         * mule-charset.c (Vcharset_ucs_ks): New variable.
1369         (Qucs_ks): New variable.
1370         (syms_of_mule_charset): Add new symbol `ucs-ks'.
1371         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
1372
1373         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
1374
1375 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1376
1377         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
1378         (Fdecode_char): Likewise.
1379
1380         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
1381         chartab.h.
1382         (Fdefine_char): Modify for Fdecode_char.
1383         (Ffind_char): Likewise.
1384
1385         * mule-charset.c (Fdecode_char): Add new optional argument
1386         `defined-only'.
1387         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1388
1389 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1390
1391         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
1392         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
1393         (allocate_coding_system): Initialize initial-charsets of
1394         CODESYS_BIG5 in XEmacs UTF-2000.
1395         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
1396         CODESYS_BIG5 in XEmacs UTF-2000.
1397         (decode_coding_big5): Use initial-charset-g0 and -g1 of
1398         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
1399
1400         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
1401         variables.
1402         (Qideograph_hanziku_{1 .. 12}): Likewise.
1403         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
1404         .. 12}'.
1405         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
1406         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
1407         `ideograph-hanziku-{1 .. 12}'.
1408
1409         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
1410         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
1411         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
1412         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
1413         (DECODE_DEFINED_CHAR): New inline function.
1414         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1415
1416 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1417
1418         * mule-charset.c (Vcharset_china3_jef): Renamed from
1419         `Vcharset_japanese_jef_china3'.
1420         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1421         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1422         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1423         (syms_of_mule_charset): Rename `china3-jef' from
1424         `japanese-jef-china3'.
1425         (complex_vars_of_mule_charset): Likewise; rename
1426         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1427
1428         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1429         `LEADING_BYTE_JEF_CHINA3'.
1430         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1431         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1432
1433 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1434
1435         * mule-charset.c (encode_builtin_char_1): Comment out special code
1436         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1437
1438         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1439         (MAX_CHAR_MOJIKYO_0): Comment out.
1440         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1441         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1442         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1443         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1444
1445 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1446
1447         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1448         (Qideograph_cbeta): New variable.
1449         (encode_builtin_char_1): Comment out special code for
1450         coded-charset `mojikyo' and `japanese-jef-china3'.
1451         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1452         (complex_vars_of_mule_charset): Add new coded-charset
1453         `ideograph-cbeta'.
1454
1455         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1456         (MIN_CHAR_CBETA): New macro.
1457         (MAX_CHAR_CBETA): New macro.
1458
1459 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1460
1461         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1462         (LEADING_BYTE_JEF_CHINA3): New macro.
1463         (MIN_CHAR_JEF_CHINA3): New macro.
1464         (MAX_CHAR_JEF_CHINA3): Likewise.
1465         (DECODE_CHAR): Fixed.
1466
1467 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1468
1469         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
1470         (Qjapanese_jef_china3): New variable.
1471         (encode_builtin_char_1): Support `japanese-jef-china3'.
1472         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
1473         (complex_vars_of_mule_charset): Add new coded-charset
1474         `japanese-jef-china3'.
1475
1476 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1477
1478         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
1479         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
1480         94^4, 96^3, 96^4, 128^n and 256^n set.
1481         (put_char_table): Use `XCHARSET_CELL_RANGE'.
1482         (map_char_table): Likewise.
1483
1484 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1485
1486         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
1487         UTF-2000.
1488
1489 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1490
1491         * chartab.h (get_char_id_table): New inline function.
1492
1493         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
1494         function.
1495
1496 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1497
1498         * chartab.h (decode_char_table_range): New prototype in XEmacs
1499         UTF-2000.
1500         (put_char_id_table): New inline function in XEmacs UTF-2000.
1501
1502         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
1503         function.
1504         (decode_char_table_range): Delete static declaration in XEmacs
1505         UTF-2000.
1506
1507 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1508
1509         * chartab.c (put_char_id_table): Use `put_char_table'.
1510
1511 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1512
1513         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
1514         (map_over_uint16_byte_table): Likewise.
1515         (map_over_byte_table): Likewise.
1516         (map_char_table): Modify for `map_over_uint8_byte_table',
1517         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
1518         UTF-2000.
1519
1520 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1521
1522         * chartab.c (struct map_char_table_for_charset_arg): New
1523         structure.
1524         (map_char_table_for_charset_fun): New function.
1525         (map_char_table): Use `map_char_table' for encoding_table of
1526         `range->charset'.
1527
1528 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1529
1530         * chartab.c (map_char_table): Check a character is found in
1531         range->charset instead of non default value is defined in
1532         char-table when range is CHARTAB_RANGE_ROW.
1533
1534 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1535
1536         * chartab.c (map_char_id_table): Deleted.
1537         (Fmap_char_attribute): Use `map_char_table' instead of
1538         `map_char_id_table'.
1539
1540 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1541
1542         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
1543         UTF-2000.
1544         (update_syntax_table): Deleted in XEmacs UTF-2000.
1545
1546         * syntax.c (find_defun_start): Use `syntax_table' instead of
1547         `mirror_syntax_table' in XEmacs UTF-2000.
1548         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
1549         UTF-2000.
1550         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
1551         XEmacs UTF-2000.
1552         (Fmatching_paren): Likewise.
1553         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
1554         in XEmacs UTF-2000.
1555         (find_start_of_comment): Likewise.
1556         (find_end_of_comment): Likewise.
1557         (Fforward_comment): Likewise.
1558         (scan_lists): Likewise.
1559         (char_quoted): Likewise.
1560         (Fbackward_prefix_chars): Likewise.
1561         (scan_sexps_forward): Likewise.
1562         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
1563         (update_syntax_table): Likewise.
1564
1565         * search.c (skip_chars): Use `syntax_table' instead of
1566         `mirror_syntax_table' in XEmacs UTF-2000.
1567         (wordify): Likewise.
1568         (Freplace_match): Likewise.
1569
1570         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
1571         `mirror_syntax_table' in XEmacs UTF-2000.
1572         (WORDCHAR_P_UNSAFE): Likewise.
1573         (re_match_2_internal): Likewise.
1574
1575         * font-lock.c (find_context): Use `buf->syntax_table' instead of
1576         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1577
1578         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
1579         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
1580
1581         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
1582         XEmacs UTF-2000.
1583
1584         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
1585         UTF-2000.
1586         (print_char_table): Print `default_value' in XEmacs UTF-2000.
1587         (char_table_description): Delete `mirror_table' in XEmacs
1588         UTF-2000.
1589         (fill_char_table): Don't call `update_syntax_table' in XEmacs
1590         UTF-2000.
1591         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
1592         (Fcopy_char_table): Likewise.
1593         (put_char_table): Don't call `update_syntax_table' in XEmacs
1594         UTF-2000.
1595
1596         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
1597         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1598         (casify_region_internal): Likewise.
1599
1600         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
1601
1602         * buffer.c (common_init_complex_vars_of_buffer): Don't use
1603         `mirror_syntax_table' in XEmacs UTF-2000.
1604
1605         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
1606         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1607         (Fexpand_abbrev): Likewise.
1608
1609 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1610
1611         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
1612
1613 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1614
1615         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
1616         (map_over_uint16_byte_table): Likewise.
1617         (map_over_byte_table): Likewise.
1618         (get_char_id_table): Refer `cit->default_value'.
1619         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1620         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
1621         of character-id ranges.
1622         (mark_char_table): Mark `ct->default_value'.
1623         (char_table_description): Add `default_value'.
1624         (fill_char_table): Use `default_value'.
1625         (decode_char_table_range): Decode `nil' as
1626         `CHARTAB_RANGE_DEFAULT'.
1627         (get_char_id_table): Refer `cit->default_value'.
1628         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1629         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
1630         temporary hack; check value of char-table is bound or not.
1631         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
1632
1633         * chartab.h (struct Lisp_Char_Table): Add new member
1634         `default_value' in XEmacs UTF-2000.
1635         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
1636         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
1637         UTF-2000.
1638
1639 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1640
1641         * chartab.h (Lisp_Char_ID_Table): Deleted.
1642
1643         * chartab.c (char_table_description): Fix typo.
1644         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
1645         `Lisp_Char_ID_Table'.
1646
1647 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1648
1649         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
1650         `CHAR_ID_TABLE_P'.
1651
1652         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
1653         `CHAR_ID_TABLE_P'.
1654
1655         * chartab.h (XCHAR_ID_TABLE): Deleted.
1656         (XSETCHAR_ID_TABLE): Deleted.
1657         (CHAR_ID_TABLE_P): Deleted.
1658
1659         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
1660         `CHAR_ID_TABLE_P'.
1661         (Fget_composite_char): Likewise.
1662         (put_char_table): Likewise.
1663         (add_char_attribute_alist_mapper): Fixed.
1664         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
1665         `CHAR_ID_TABLE_P'.
1666         (Fget_char_attribute): Likewise.
1667         (Fget_char_attribute): Likewise.
1668         (Fmap_char_attribute): Likewise.
1669
1670         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
1671         `CHAR_ID_TABLE_P'.
1672         (encode_char_1): Likewise.
1673
1674 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1675
1676         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
1677         `XCHAR_ID_TABLE'.
1678
1679         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
1680         instead of `XCHAR_ID_TABLE'.
1681         (remove_char_ccs): Likewise.
1682
1683         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
1684         `XCHAR_ID_TABLE'.
1685         (Fget_composite_char): Likewise.
1686         (Fchar_variants): Likewise.
1687         (put_char_table): Likewise.
1688         (add_char_attribute_alist_mapper): Likewise.
1689         (Fchar_attribute_alist): Likewise.
1690         (Fget_char_attribute): Likewise.
1691         (Fput_char_attribute): Likewise.
1692         (Fmap_char_attribute): Likewise.
1693         (Fmap_char_attribute): Likewise.
1694
1695         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
1696         `XCHAR_ID_TABLE'.
1697         (encode_char_1): Likewise.
1698
1699 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1700
1701         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
1702         `Lisp_Char_ID_Table'.
1703         (mark_char_id_table): Deleted.
1704         (print_char_id_table): Likewise.
1705         (char_id_table_equal): Likewise.
1706         (char_id_table_hash): Likewise.
1707         (char_id_table_description): Likewise.
1708         (char_id_table): Likewise.
1709         (make_char_id_table): Use `Fmake_char_table' and
1710         `fill_char_table'.
1711         (get_char_id_table): Use `Lisp_Char_Table' instead of
1712         `Lisp_Char_ID_Table'.
1713         (put_char_id_table): Likewise.
1714         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
1715         `XCHAR_ID_TABLE'.
1716         (Fremove_char_attribute): Likewise.
1717         (syms_of_chartab): Don't define type `char-id-table'.
1718
1719         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
1720         (char_id_table): Likewise.
1721         (GC_CHAR_ID_TABLE_P): Likewise.
1722         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
1723         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
1724         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
1725         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
1726         (get_char_id_table): Use `Lisp_Char_Table' instead of
1727         `Lisp_Char_ID_Table'.
1728         (put_char_id_table_0): Likewise.
1729         (put_char_id_table): Likewise.
1730
1731 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1732
1733         * chartab.h: Lisp_Byte_Table related codes are moved from
1734         chartab.h.
1735
1736         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
1737
1738 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1739
1740         * chartab.h: Don't include "chartab.h".
1741         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
1742         (Lisp_Char_ID_Table): Likewise.
1743         (char_id_table): Likewise.
1744         (XCHAR_ID_TABLE): Likewise.
1745         (XSETCHAR_ID_TABLE): Likewise.
1746         (CHAR_ID_TABLE_P): Likewise.
1747         (GC_CHAR_ID_TABLE_P): Likewise.
1748         (get_char_id_table): Likewise.
1749
1750         * char-ucs.h: Include "chartab.h".
1751         (struct Lisp_Char_ID_Table): Moved to chartab.h.
1752         (Lisp_Char_ID_Table): Likewise.
1753         (char_id_table): Likewise.
1754         (XCHAR_ID_TABLE): Likewise.
1755         (XSETCHAR_ID_TABLE): Likewise.
1756         (CHAR_ID_TABLE_P): Likewise.
1757         (GC_CHAR_ID_TABLE_P): Likewise.
1758         (get_char_id_table): Likewise.
1759
1760 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1761
1762         * chartab.c (copy_uint8_byte_table): New function.
1763         (copy_uint16_byte_table): New function.
1764         (copy_byte_table): New function.
1765         (map_over_uint8_byte_table): Modify to avoid huge numbers of
1766         characters to call.
1767         (map_over_uint16_byte_table): Likewise.
1768         (map_over_byte_table): Likewise.
1769         (get_byte_table): Move prototype to chartab.h.
1770         (put_byte_table): Likewise.
1771         (put_char_id_table_0): Moved to chartab.h.
1772         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
1773         (char_table_entry_equal): Likewise.
1774         (char_table_entry_hash): Likewise.
1775         (char_table_entry_description): Likewise.
1776         (char_table_entry): Likewise.
1777         (make_char_table_entry): Likewise.
1778         (copy_char_table_entry): Likewise.
1779         (get_non_ascii_char_table_value): Likewise.
1780         (map_over_charset_ascii): Likewise.
1781         (map_over_charset_control_1): Likewise.
1782         (map_over_charset_row): Likewise.
1783         (map_over_other_charset): Likewise.
1784         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
1785         (print_char_table): Likewise.
1786         (char_table_equal): Likewise.
1787         (char_table_hash): Likewise.
1788         (char_table_description): Likewise.
1789         (fill_char_table): Likewise.
1790         (Fcopy_char_table): Likewise.
1791         (get_char_table): Likewise.
1792         (Fget_range_char_table): Likewise.
1793         (put_char_table): Likewise.
1794         (map_char_table): Likewise.
1795         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
1796         UTF-2000.
1797
1798 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1799
1800         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
1801         `Vauto_fill_chars' in XEmacs UTF-2000.
1802
1803         * chartab.h (get_byte_table): New prototype [moved from
1804         chartab.c].
1805         (put_byte_table): Likewise [moved from chartab.c].
1806         (put_char_id_table_0): New inline function [moved from chartab.c].
1807         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
1808         (Lisp_Char_Table_Entry): Likewise.
1809         (char_table_entry): Likewise.
1810         (XCHAR_TABLE_ENTRY): Likewise.
1811         (XSETCHAR_TABLE_ENTRY): Likewise.
1812         (CHAR_TABLE_ENTRYP): Likewise.
1813         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1814         (NUM_ASCII_CHARS): Likewise.
1815         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1816         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1817
1818 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1819
1820         * chartab.c (get_char_id_table): Change interface.
1821         (put_char_id_table_0): New function.
1822         (put_char_id_table): Change interface; new implementation.
1823         (Fget_composite_char): Modify for interface change of
1824         `get_char_id_table'.
1825         (Fchar_variants): Likewise.
1826         (add_char_attribute_alist_mapper): Likewise.
1827         (Fchar_attribute_alist): Likewise.
1828         (Fget_char_attribute): Likewise.
1829         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1830         as same as character as the first argument like `put-char-table';
1831         modify for interface change of `put_char_id_table'.
1832         (Fremove_char_attribute): Modify for interface change of
1833         `put_char_id_table'.
1834
1835 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1836
1837         * text-coding.c: Sync up with XEmacs 21.2.41.
1838         (COMPOSE_ADD_CHAR): Modify for interface change of
1839         `get_char_id_table'.
1840
1841         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1842         change of `put_char_id_table'.
1843         (remove_char_ccs): Likewise.
1844
1845         * chartab.h (put_char_id_table): Change interface.
1846
1847         * char-ucs.h (get_char_id_table): Change interface.
1848         (charset_code_point): Modify for interface change of
1849         `get_char_id_table'.
1850         (encode_char_1): Likewise.
1851
1852 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1853
1854         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1855         argument `ccs'.
1856         (map_over_uint16_byte_table): Likewise.
1857         (map_over_byte_table): Likewise.
1858         (map_char_id_table): Add new argument `range' like
1859         `map_char_table'.
1860         (Fmap_char_attribute): Add new argument `range' like
1861         `Fmap_char_table'.
1862
1863 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1864
1865         * chartab.c (map_over_uint8_byte_table): Change interface of
1866         mapping function to use struct chartab_range instead of Emchar.
1867         (map_over_uint16_byte_table): Likewise.
1868         (map_over_byte_table): Likewise.
1869         (map_char_id_table): Likewise.
1870         (struct slow_map_char_id_table_arg): Deleted.
1871         (slow_map_char_id_table_fun): Deleted.
1872         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1873         function `slow_map_char_table_fun' instead of struct
1874         `slow_map_char_id_table_arg' and function
1875         `slow_map_char_id_table_fun'.
1876
1877 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1878
1879         * mule-charset.c: Move char-it-table related codes to chartab.c.
1880         (Vutf_2000_version): Moved to chartab.c.
1881         (Fdefine_char): Likewise.
1882         (Ffind_char): Likewise.
1883         (syms_of_mule_charset): Move types `uint8-byte-table',
1884         `uint16-byte-table', `byte-table' and `char-id-table' to
1885         chartab.c; move functions `char_attribute_list,
1886         `find_char_attribute_table, `char_attribute_alist,
1887         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1888         `map_char_attribute, `define_char, `find_char, `char_variants and
1889         `get_composite_char to chartab.c; move symbols `=>ucs',
1890         `->decomposition', `compat', `isolated', `initial', `medial',
1891         `final', `vertical', `noBreak', `fraction', `super', `sub',
1892         `circle', `square', `wide', `narrow', `small' and `font' to
1893         chartab.c.
1894         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1895         setting codes for `Vcharacter_composition_table' and
1896         `Vcharacter_variant_table' to chartab.c.
1897         (complex_vars_of_mule_charset): Move setting code for
1898         `Vchar_attribute_hash_table' to chartab.c.
1899
1900         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1901         (make_char_id_table): New prototype.
1902         (put_char_id_table): Likewise.
1903         (Fget_char_attribute): Likewise.
1904
1905         * chartab.c: Move char-id-table related code from mule-charset.c.
1906         (Vutf_2000_version): Moved from mule-charset.c.
1907
1908         * char-ucs.h (Qucs): New external variable.
1909         (put_char_ccs_code_point): New prototype.
1910         (remove_char_ccs): Likewise.
1911
1912 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1913
1914         * mule-charset.c (Vcharset_ucs_jis): New variable.
1915         (Qucs_jis): Likewise.
1916         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1917         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1918
1919         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1920
1921 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1922
1923         * mule-charset.c (map_over_uint8_byte_table): New function.
1924         (map_over_uint16_byte_table): Likewise.
1925         (map_over_byte_table): Likewise.
1926         (map_char_id_table): Likewise.
1927         (slow_map_char_id_table_fun): Likewise.
1928         (Fmap_char_attribute): Likewise.
1929         (syms_of_mule_charset): Add new function `map-char-attribute'.
1930
1931 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1932
1933         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1934         (syms_of_mule_charset): Add new function `find-char'.
1935
1936 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1937
1938         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1939         XEmacs UTF-2000.
1940         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1941         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1942         XEmacs UTF-2000.
1943         (complex_vars_of_mule_charset): Add new coded-charset
1944         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1945         `ideograph-gt-pj-*'.
1946
1947         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1948
1949 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1950
1951         * mule-charset.c (encode_builtin_char_1): Purge codes about
1952         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1953         {MIN|MAX}_CHAR_HEBREW.
1954         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1955         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1956
1957         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1958         (MAX_CHAR_GREEK): Purged.
1959         (MIN_CHAR_CYRILLIC): Purged.
1960         (MAX_CHAR_CYRILLIC): Purged.
1961         (MIN_CHAR_HEBREW): Commented out.
1962         (MAX_CHAR_HEBREW): Likewise.
1963
1964 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1965
1966         * mule-charset.c (Qto_ucs): New variable.
1967         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1968         (Fdefine_char): Likewise.
1969         (syms_of_mule_charset): Add new symbol `=>ucs'.
1970
1971 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1972
1973         * mule-charset.c (Fdecode_char): Fixed.
1974
1975 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1976
1977         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1978         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1979         "tcvn5712-1".
1980
1981 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1982
1983         * mule-charset.c (Vcharset_ucs_big5): New variable.
1984         (Qucs_big5): Likewise.
1985         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1986         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1987
1988         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1989
1990 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1991
1992         * mule-charset.c (decode_builtin_char): Check Big5 code range
1993         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1994
1995 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1996
1997         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1998         (Qchinese_gb12345): Likewise.
1999         (Fdecode_builtin_char): Fixed.
2000         (syms_of_mule_charset): Add `chinese-gb12345'.
2001         (complex_vars_of_mule_charset): Add coded-charset
2002         `chinese-gb12345'.
2003
2004         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2005         (LEADING_BYTE_CHINESE_GB12345): New macro.
2006
2007 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2008
2009         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2010         and `latin-viscii-upper' for `latin-viscii'.
2011
2012 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2013
2014         * mule-charset.c (Fdecode_builtin_char): Comment out
2015         regularization code for ISO-IR GR representation.
2016
2017 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2018
2019         * mule-charset.c (decode_builtin_char): New function; renamed from
2020         `make_builtin_char'; return -1 instead of signal.
2021         (Fdecode_builtin_char): Use `decode_builtin_char'.
2022
2023         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2024         `make_builtin_char'.
2025         (DECODE_CHAR): Use `decode_builtin_char' instead of
2026         `make_builtin_char'; use mapping table of `chinese-big5' for
2027         `chinese-big5-{1,2}'.
2028
2029 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2030
2031         * text-coding.c (char_encode_big5): New function.
2032         (char_finish_big5): Likewise.
2033         (reset_encoding_stream): Use `char_encode_big5' and
2034         `char_finish_big5' for CODESYS_BIG5.
2035         (mule_encode): Don't use `encode_coding_big5'.
2036         (encode_coding_big5): Deleted.
2037
2038 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2039
2040         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2041         0x81- in XEmacs UTF-2000.
2042         (detect_coding_big5): Likewise.
2043
2044 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2045
2046         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2047         generate character-id if the CCS property does not have
2048         corresponding predefined character.
2049         (make_builtin_char): Return -1 if corresponding predefined
2050         character is not found.
2051         (Fdecode_char): Return nil if corresponding character is not
2052         found.
2053         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2054         don't map to builtin ucs space.
2055
2056 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2057
2058         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2059         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2060
2061 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2062
2063         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2064         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2065         (Qideograph_gt): Likewise.
2066         (Qideograph_gt_pj_{1..11}): Likewise.
2067         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2068         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2069         `ideograph-gt-pj-11'.
2070         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2071         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2072         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2073
2074         * char-ucs.h (LEADING_BYTE_GT): New macro.
2075         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2076         (MIN_CHAR_GT): Likewise.
2077         (MAX_CHAR_GT): Likewise.
2078
2079 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2080
2081         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2082         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2083
2084         * doprnt.c (unsigned_int_converters): Add `c'.
2085         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2086
2087         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2088         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2089         `MIN_CHAR_MOJIKYO'.
2090         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2091         (MAX_CHAR_MOJIKYO_0): New macro.
2092         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2093
2094 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2095
2096         * mule-charset.c (Fdefine_char): Delete cemented out code.
2097         (encode_builtin_char_1): Modify for new allocation of builtin
2098         Mojikyo characters.
2099
2100         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2101
2102 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2103
2104         * mule-charset.c (Vcharset_ucs_cns): New variable.
2105         (Qucs_cns): New variable.
2106         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2107         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2108
2109 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2110
2111         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2112
2113 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2114
2115         * search.c (search_buffer): Make `charset_base_code' as
2116         character-id >> 6 to eliminate the corresponding last byte in
2117         UTF-8 representation [I'm not sure it is right thing].
2118         (boyer_moore): Likewise.
2119
2120 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2121
2122         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2123         representation in MULE.
2124
2125 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2126
2127         * text-coding.c (Fmake_coding_system): Use
2128         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2129         `EXTERNAL_PROPERTY_LIST_LOOP'.
2130
2131 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2132
2133         * text-coding.c (decode_output_utf8_partial_char): New function.
2134         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2135
2136 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2137
2138         * text-coding.c (decode_coding_utf8): Output original byte
2139         sequence if it is broken; change order of conditions.
2140
2141         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2142         of conditions.
2143
2144         * mb-multibyte.h (BYTE_ASCII_P):
2145         Use bit ops for char-signedness safety.
2146         (BYTE_C0_P): Use bit ops for char-signedness safety.
2147         (BYTE_C1_P): Use bit ops for char-signedness safety.
2148
2149         * character.h: (XCHAR_OR_CHAR_INT):
2150         Always use inline function.
2151         Remove redundant type checking assert() - XINT will abort quite
2152         nicely.
2153
2154 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2155
2156         * text-coding.c: (Fencode_shift_jis_char):
2157         (Fencode_big5_char):
2158         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2159         Replace 0 with '\0' when working with bytes.
2160         Replace initial "(" with "\(" in docstrings.
2161
2162         (Fmake_coding_system):
2163         When type is ccl and value is vector, register it with a proper
2164         symbol.  And checks whether the given ccl program is valid.
2165         (mule_decode): When calling ccl_driver, if src indicates
2166         NULL pointer, set an empty string instead.
2167         (mule_encode): Likewise.
2168
2169         (detect_eol_type):
2170         (detect_coding_sjis):
2171         (decode_coding_sjis):
2172         (detect_coding_big5):
2173         (decode_coding_big5):
2174         (detect_coding_ucs4):
2175         (decode_coding_ucs4):
2176         (detect_coding_utf8):
2177         (decode_coding_utf8):
2178         (detect_coding_iso2022):
2179         (decode_coding_iso2022):
2180         (decode_coding_no_conversion):
2181         (mule_decode):
2182         Make all detecting and decoding functions take an Extbyte * arg.
2183         (text_encode_generic):
2184         (encode_coding_big5):
2185         (encode_coding_no_conversion):
2186         (mule_encode):
2187         Make all encoding functions take a Bufbyte * arg.
2188         Use size_t instead of unsigned int for memory sizes.
2189         Only cast to unsigned char whenever dereferencing Extbyte *.
2190
2191         (struct lrecord_description fcd_description_1): Use countof.
2192         (complex_vars_of_file_coding):
2193         Use countof instead of sizeof.
2194         Use CHECK_NATNUM instead of CHECK_INT.
2195
2196 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2197
2198         * mule-charset.c (Fget_char_attribute): Add new optional argument
2199         `default-value'.
2200         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
2201         (remove_char_ccs): Likewise.
2202
2203 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2204
2205         * text-coding.c (char_encode_shift_jis): New implementation in
2206         UTF-2000.
2207         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
2208         ...)'.
2209
2210         * mule-charset.c (Vcharset_chinese_big5): New variable in
2211         UTF-2000.
2212         (Qchinese_big5): New variable in UTF-2000.
2213         (BIG5_SAME_ROW): New macro in UTF-2000.
2214         (make_builtin_char): Use builtin characters of
2215         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
2216         characters of `Vcharset_chinese_big5'.
2217         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
2218         (complex_vars_of_mule_charset): Add new coded-charset
2219         `chinese-big5' in UTF-2000.
2220
2221         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
2222         (Vcharset_chinese_big5): New external variable declaration.
2223         (Vcharset_japanese_jisx0208_1990): Likewise.
2224
2225 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2226
2227         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
2228         function.
2229         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
2230
2231 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2232
2233         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
2234         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
2235         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
2236         `mojikyo-pj-*'.
2237
2238 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2239
2240         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
2241
2242 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2243
2244         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2245         to 0.17.
2246
2247 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2248
2249         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
2250         for `CHARSET_BY_ATTRIBUTES'.
2251         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2252         `CHARSET_BY_ATTRIBUTES'.
2253
2254         * text-coding.c (struct decoding_stream): Rename member `CH' to
2255         `CPOS'.
2256         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
2257         (decode_coding_sjis): Likewise.
2258         (decode_coding_big5): Likewise.
2259         (decode_coding_ucs4): Likewise.
2260         (decode_coding_utf8): Likewise.
2261         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2262         `CHARSET_BY_ATTRIBUTES'.
2263         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
2264         `str->counter'; decode 3, 4 bytes sets.
2265         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
2266         sets.
2267         (decode_coding_no_conversion): Use `str->cpos' instead of
2268         `str->ch'.
2269
2270         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
2271         (Qmojikyo_2022_1): New variable.
2272         (make_charset): Don't use `CHARSET_TYPE_*'.
2273         (range_charset_code_point): Support coded-charset
2274         `mojikyo-2022-1'.
2275         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
2276         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
2277         `CHARSET_BY_ATTRIBUTES'.
2278         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
2279         `CHARSET_BY_ATTRIBUTES'.
2280         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
2281         (complex_vars_of_mule_charset): Add new coded-charset
2282         `mojikyo-2022-1'.
2283
2284         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
2285         interface; changed to inline function.
2286
2287         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
2288         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
2289         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
2290         (CHARSET_TYPE_94): Deleted.
2291         (CHARSET_TYPE_94X94): Deleted.
2292         (CHARSET_TYPE_96): Deleted.
2293         (CHARSET_TYPE_96X96): Deleted.
2294         (CHARSET_TYPE_128): Deleted.
2295         (CHARSET_TYPE_128X128): Deleted.
2296         (CHARSET_TYPE_256): Deleted.
2297         (CHARSET_TYPE_256X256): Deleted.
2298         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
2299         to inline function.
2300         (DECODE_MOJIKYO_2022): New inline function.
2301         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
2302         `Vcharset_mojikyo_2022_1'.
2303
2304 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2305
2306         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
2307         instead of `EQ'.
2308         (put_byte_table): Likewise.
2309         (char_id_table_equal): Use `get_byte_table' [new implementation].
2310
2311 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2312
2313         * mule-charset.c: Include <limits.h> in UTF-2000.
2314         (BT_UINT8_MIN): New macro in UTF-2000.
2315         (BT_UINT8_MAX): New macro in UTF-2000.
2316         (BT_UINT8_t): New macro in UTF-2000.
2317         (BT_UINT8_nil): New macro in UTF-2000.
2318         (BT_UINT8_unbound): New macro in UTF-2000.
2319         (INT_UINT8_P): New inline function in UTF-2000.
2320         (UINT8_VALUE_P): New inline function in UTF-2000.
2321         (UINT8_ENCODE): New inline function in UTF-2000.
2322         (UINT8_DECODE): New inline function in UTF-2000.
2323         (mark_uint8_byte_table): New function in UTF-2000.
2324         (print_uint8_byte_table): New function in UTF-2000.
2325         (uint8_byte_table_equal): New function in UTF-2000.
2326         (uint8_byte_table_hash): New function in UTF-2000.
2327         (make_uint8_byte_table): New function in UTF-2000.
2328         (uint8_byte_table_same_value_p): New function in UTF-2000.
2329         (BT_UINT16_MIN): New macro in UTF-2000.
2330         (BT_UINT16_MAX): New macro in UTF-2000.
2331         (BT_UINT16_t): New macro in UTF-2000.
2332         (BT_UINT16_nil): New macro in UTF-2000.
2333         (BT_UINT16_unbound): New macro in UTF-2000.
2334         (INT_UINT16_P): New inline function in UTF-2000.
2335         (UINT16_VALUE_P): New inline function in UTF-2000.
2336         (UINT16_ENCODE): New inline function in UTF-2000.
2337         (UINT16_DECODE): New inline function in UTF-2000.
2338         (UINT8_TO_UINT16): New inline function in UTF-2000.
2339         (mark_uint16_byte_table): New function in UTF-2000.
2340         (print_uint16_byte_table): New function in UTF-2000.
2341         (uint16_byte_table_equal): New function in UTF-2000.
2342         (uint16_byte_table_hash): New function in UTF-2000.
2343         (make_uint16_byte_table): New function in UTF-2000.
2344         (uint16_byte_table_same_value_p): New function in UTF-2000.
2345         (print_byte_table): New function in UTF-2000.
2346         (byte-table): Use `print_byte_table' as printer.
2347         (make_byte_table): Delete second argument `older'.
2348         (byte_table_same_value_p): New function in UTF-2000.
2349         (copy_byte_table): Deleted.
2350         (get_byte_table): New function in UTF-2000.
2351         (put_byte_table): New function in UTF-2000.
2352         (print_char_id_table): New function in UTF-2000.
2353         (char-id-table): Use `print_char_id_table' as printer.
2354         (make_char_id_table): Delete second argument `older'.
2355         (get_char_id_table): Use `get_byte_table [new implementation].
2356         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
2357         implementation].
2358         (Ffind_char_attribute_table): New function in UTF-2000.
2359         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2360         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
2361         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
2362         (syms_of_mule_charset): Add new function
2363         `find-char-attribute-table' in UTF-2000.
2364
2365         * lrecord.h (enum lrecord_type): Add
2366         `lrecord_type_uint16_byte_table' and
2367         `lrecord_type_uint8_byte_table'.
2368
2369         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
2370         (Lisp_Uint8_Byte_Table): New type.
2371         (XUINT8_BYTE_TABLE): New macro.
2372         (XSETUINT8_BYTE_TABLE): New macro.
2373         (UINT8_BYTE_TABLE_P): New macro.
2374         (GC_UINT8_BYTE_TABLE_P): New macro.
2375         (struct Lisp_Uint16_Byte_Table): New structure.
2376         (Lisp_Uint16_Byte_Table): New type.
2377         (XUINT16_BYTE_TABLE): New macro.
2378         (XSETUINT16_BYTE_TABLE): New macro.
2379         (UINT16_BYTE_TABLE_P): New macro.
2380         (GC_UINT16_BYTE_TABLE_P): New macro.
2381
2382 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2383
2384         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
2385         (Vcharacter_ideographic_strokes_table): Deleted.
2386         (Vcharacter_total_strokes_table): Deleted.
2387         (Vcharacter_morohashi_daikanwa_table): Deleted.
2388         (Vcharacter_decomposition_table): Deleted.
2389         (Qname): Deleted because it is duplicated.
2390         (Qideographic_radical): Deleted.
2391         (Qideographic_strokes): Deleted.
2392         (Qtotal_strokes): Deleted.
2393         (Qmorohashi_daikanwa): Deleted.
2394         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
2395         `ideographic-radical', `ideographic-strokes', `total-strokes',
2396         `morohashi-daikanwa' and `->decomposition'.
2397         (Fget_char_attribute): Likewise.
2398         (Fput_char_attribute): Likewise; use `make-vector' instead of
2399         `make_older_vector' for `->decomposition' value.
2400         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
2401         `ideograph-daikanwa'.
2402         (syms_of_mule_charset): Delete builtin symbols `name',
2403         `ideographic-radical', `ideographic-strokes', `total-strokes' and
2404         `morohashi-daikanwa'.
2405         (vars_of_mule_charset): Don't setup
2406         `Vcharacter_ideographic_radical_table',
2407         `Vcharacter_ideographic_strokes_table',
2408         `Vcharacter_total_strokes_table',
2409         `Vcharacter_morohashi_daikanwa_table' and
2410         `Vcharacter_decomposition_table'.
2411
2412 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2413
2414         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2415         `make_older_vector', `make_vector_newer_1' and
2416         `make_vector_newer'.
2417
2418         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2419         `make_older_vector' and `make_vector_newer'.
2420
2421         * config.h.in (HAVE_GGC): New macro.
2422
2423 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2424
2425         * mule-charset.c (struct char_attribute_list_closure): New
2426         structure in UTF-2000.
2427         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2428         (Fchar_attribute_list): Likewise.
2429         (Fset_charset_mapping_table): Use `make_vector_newer'.
2430         (Fdecode_builtin_char): New function in UTF-2000.
2431         (syms_of_mule_charset): Add new function `char-attribute-list' and
2432         `decode-builtin-char' in UTF-2000.
2433
2434         * lisp.h (make_vector_newer): New prototype.
2435
2436         * alloc.c (make_vector_newer_1): New function.
2437         (make_vector_newer): New function.
2438
2439 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2440
2441         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2442         50100)'.
2443
2444 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2445
2446         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2447         (Vcharacter_attribute_table): Deleted.
2448         (Vcharacter_name_table): Deleted.
2449         (put_char_attribute): Deleted.
2450         (remove_char_attribute): Deleted.
2451         (struct char_attribute_alist_closure): New structure.
2452         (add_char_attribute_alist_mapper): New function.
2453         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2454         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2455         (Fget_char_attribute): Likewise.
2456         (Fput_char_attribute): Likewise.
2457         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2458         of `remove_char_attribute'.
2459         (Fdefine_char): Return character.
2460         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2461         and `Vcharacter_name_table'.
2462         (complex_vars_of_mule_charset): Likewise
2463         `Vchar_attribute_hash_table'.
2464
2465 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2466
2467         * character.h (CHARC_CHARSET): New macro.
2468         (CHARC_CHARSET_ID): New macro.
2469         (CHARC_CODE_POINT): New macro.
2470         (CHARC_COLUMNS): New macro.
2471         (CHARC_TO_CHAR): New inline function.
2472         (CHARC_EQ): New inline function.
2473         (CHARC_ASCII_EQ): New inline function.
2474         (CHARC_IS_SPACE): New inline function.
2475         (ASCII_TO_CHARC): New inline function.
2476
2477         * char-ucs.h (encode_char_2): Deleted.
2478         (ENCODE_CHAR): Use `encode_char_1' again.
2479         (breakup_char_1): Likewise.
2480         (CHAR_TO_CHARC): New inline function.
2481
2482         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
2483
2484 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2485
2486         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
2487         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
2488         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
2489         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
2490         (create_string_text_block): Use `CHARC_ASCII_EQ' and
2491         `CHARC_IS_SPACE'.
2492         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
2493
2494         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
2495         `CHARC_CODE_POINT'.
2496         (x_output_display_block): Use `CHARC_CHARSET' and
2497         `CHARC_ASCII_EQ'.
2498
2499         * redisplay-tty.c (tty_output_display_block): Use
2500         `CHARC_ASCII_EQ'.
2501         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
2502
2503         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
2504
2505         * insdel.c (find_charsets_in_charc_string): Use
2506         `CHARC_CHARSET_ID'.
2507         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
2508         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
2509         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
2510         (convert_charc_string_into_malloced_string): Likewise.
2511
2512 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2513
2514         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
2515         instead of <Emchar_dynarr *> for buf; use
2516         `convert_bufbyte_string_into_charc_dynarr' instead of
2517         `convert_bufbyte_string_into_emchar_dynarr'; use
2518         `find_charsets_in_charc_string' instead of
2519         `find_charsets_in_emchar_string'.
2520
2521         * redisplay.h:
2522         - Include "character.h".
2523         (struct rune): New member `cglyph'; delete member `chr'.
2524
2525         * redisplay.c (redisplay_text_width_charc_string): New function;
2526         delete `redisplay_text_width_emchar_string'.
2527         (rtw_charc_dynarr): New variable; renamed from
2528         `rtw_emchar_dynarr'.
2529         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
2530         `rtw_emchar_dynarr'; use
2531         `convert_bufbyte_string_into_charc_dynarr' instead of
2532         `convert_bufbyte_string_into_emchar_dynarr'; use
2533         `redisplay_text_width_charc_string' instead of
2534         `redisplay_text_width_emchar_string'.
2535         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
2536         instead of `rtw_emchar_dynarr'; use
2537         `convert_bufbyte_string_into_charc_dynarr' instead of
2538         `convert_bufbyte_string_into_emchar_dynarr'.
2539         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
2540         `redisplay_text_width_charc_string' instead of
2541         `redisplay_text_width_emchar_string'.
2542         (create_text_block): Modify for <struct rune> change.
2543         (generate_formatted_string_db): Likewise.
2544         (create_string_text_block): Likewise.
2545         (pixel_to_glyph_translation): Likewise.
2546
2547         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
2548         instead of <const Emchar *>.
2549         (x_text_width): Likewise.
2550         (x_output_display_block): Use <Charc_dynarr *> instead
2551         <Emchar_dynarr *>; modify for <structure rune> change.
2552         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
2553         *>.
2554
2555         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
2556         <const Emchar *>; use `charc_string_displayed_columns' instead of
2557         `emchar_string_displayed_columns'.
2558         (tty_output_display_block): Use <Charc_dynarr *> instead of
2559         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
2560         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
2561         (tty_output_charc_dynarr_dynarr): New variable; renamed from
2562         `tty_output_emchar_dynarr_dynarr'.
2563         (tty_output_charc_dynarr): New function; delete
2564         `tty_output_charc_dynarr'.
2565
2566         * redisplay-output.c (compare_runes): Modify for `struct rune'.
2567         (redisplay_output_layout): Use <Charc_dynarr *> instead of
2568         <Emchar_dynarr *> for buf; use
2569         `convert_bufbyte_string_into_charc_dynarr' instead of
2570         `convert_bufbyte_string_into_emchar_dynarr'.
2571
2572         * frame.c (title_string_charc_dynarr): New variable; renamed from
2573         `title_string_emchar_dynarr'.
2574         (generate_title_string): Use `title_string_charc_dynarr' instead
2575         of `title_string_emchar_dynarr'; use
2576         `convert_charc_string_into_malloced_string' instead of
2577         `convert_emchar_string_into_malloced_string'.
2578         (init_frame): Use `title_string_charc_dynarr' instead of
2579         `title_string_emchar_dynarr'.
2580
2581         * console.h:
2582         - Include "character.h".
2583         (struct console_methods): Use <const Charc *> instead of <const
2584         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
2585         <Emchar_dynarr *> in output_string_method.
2586
2587         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
2588         <Emchar_dynarr *>.
2589
2590         * console-stream.c (stream_text_width): Use <const Charc *>
2591         instead of <const Emchar *>.
2592
2593         * character.h (Charc_dynarr): New type.
2594
2595         * char-ucs.h (structure Charc): New structure; define new type
2596         `Charc'.
2597
2598         * char-lb.h (DECODE_CHAR): New inline function.
2599         (encode_char_1): New inline function.
2600         (ENCODE_CHAR): New macro.
2601         (structure Charc): New structure; define new type `Charc'.
2602
2603         * char-1byte.h (Vcharset_control_1): New macro.
2604         (Vcharset_latin_iso8859_1): New macro.
2605         (DECODE_CHAR): New inline function.
2606         (encode_char_1): New inline function.
2607         (ENCODE_CHAR): New macro.
2608         (structure Charc): New structure; define new type `Charc'.
2609
2610         * insdel.c (find_charsets_in_charc_string): New function; delete
2611         `find_charsets_in_emchar_string'.
2612         (charc_string_displayed_columns): New function; delete
2613         `emchar_string_displayed_columns'.
2614         (convert_bufbyte_string_into_charc_dynarr): New function; delete
2615         `convert_bufbyte_string_into_emchar_dynarr'.
2616         (convert_charc_string_into_bufbyte_dynarr): New function; delete
2617         `convert_charc_string_into_bufbyte_dynarr'.
2618         (convert_charc_string_into_malloced_string): New function; delete
2619         `convert_charc_string_into_malloced_string'.
2620
2621         * buffer.h (find_charsets_in_charc_string): New prototype; delete
2622         `find_charsets_in_emchar_string'.
2623         (charc_string_displayed_columns): New prototype; delete
2624         `emchar_string_displayed_columns'.
2625         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
2626         `convert_charc_string_into_bufbyte_dynarr'.
2627         (convert_charc_string_into_malloced_string): New prototype; delete
2628         `convert_charc_string_into_malloced_string'.
2629
2630 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2631
2632         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
2633
2634 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2635
2636         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
2637
2638         * char-ucs.h: Use <short> for <Charset_ID>.
2639
2640         * mule-charset.h, char-1byte.h: Use <unsigned char> for
2641         <Charset_ID>.
2642
2643 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2644
2645         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2646         to 0.16.
2647
2648 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2649
2650         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
2651         variable.
2652         (Qmorohashi_daikanwa): New variable.
2653         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
2654         for `morohashi-daikanwa' attribute.
2655         (Fget_char_attribute): Likewise.
2656         (Fput_char_attribute): Likewise.
2657         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
2658         has the same value of `ideograph-daikanwa'.
2659         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
2660         (vars_of_mule_charset): Setup
2661         `Vcharacter_morohashi_daikanwa_table'.
2662
2663 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2664
2665         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
2666         attributes.
2667         (add_charset_to_list_mapper): Add `key' instead of
2668         `XCHARSET_NAME (value)' to return aliases.
2669
2670 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2671
2672         * mule-charset.c (Vcharacter_ideographic_radical_table): New
2673         variable.
2674         (Vcharacter_ideographic_strokes_table): New variable.
2675         (Qideographic_radical): New variable.
2676         (Qideographic_strokes): New variable.
2677         (Fchar_attribute_alist): Use
2678         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
2679         attribute; use `Vcharacter_ideographic_strokes_table' for
2680         `ideographic-strokes' attribute.
2681         (Fget_char_attribute): Likewise.
2682         (Fput_char_attribute): Likewise.
2683         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
2684         `ideographic-strokes'.
2685         (vars_of_mule_charset): Setup
2686         `Vcharacter_ideographic_radical_table' and
2687         `Vcharacter_ideographic_strokes_table'.
2688
2689 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2690
2691         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
2692         (Qtotal_strokes): New variable.
2693         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
2694         `total-strokes' attribute.
2695         (Fget_char_attribute): Likewise.
2696         (Fput_char_attribute): Likewise.
2697         (syms_of_mule_charset): Add new symbol `total-strokes'.
2698         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
2699
2700 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2701
2702         * mule-charset.c (Vcharacter_decomposition_table): New variable.
2703         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
2704         are found.
2705         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
2706         `->decomposition' attribute.
2707         (Fput_char_attribute): Likewise.
2708         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
2709
2710 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2711
2712         * mule-charset.c (decoding_table_check_elements): New function.
2713         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
2714
2715 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2716
2717         * mule-charset.c (Fset_charset_mapping_table): Use
2718         `put_char_ccs_code_point'.
2719
2720 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2721
2722         * mule-charset.c (decoding_table_put_char): New inline function.
2723         (put_char_ccs_code_point): Use `decoding_table_put_char'.
2724
2725 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2726
2727         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
2728         (XCHARSET_BYTE_SIZE): New macro.
2729         (decoding_table_remove_char): New inline function.
2730         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
2731         `decoding_table_remove_char'.
2732         (remove_char_ccs): Use `decoding_table_remove_char'.
2733         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
2734
2735 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2736
2737         * mule-charset.c (Vcharacter_name_table): New variable.
2738         (Qname): New variable.
2739         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
2740         attribute.
2741         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
2742         `Vcharacter_name_table' for `name' attribute.
2743         (Fremove_char_attribute): Use function `remove_char_ccs'.
2744         (put_char_ccs_code_point): New function.
2745         (remove_char_ccs): New function.
2746         (syms_of_mule_charset): Add new symbol `name'.
2747         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
2748
2749 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2750
2751         * mule-charset.c (make_byte_table): Add new argument `older'.
2752         (make_char_id_table): Likewise.
2753         (copy_char_id_table): Comment out because it is not used.
2754         (put_char_id_table): Modify for `make_byte_table'.
2755         (Fput_char_attribute): Make encoding_table as older object;
2756         inherit older bit of `Vcharacter_composition_table'.
2757         (mark_charset): Don't mark `cs->encoding_table'.
2758         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
2759         normal object; make `Vcharacter_composition_table' as an older
2760         object; delete staticpro for `Vcharacter_composition_table'; make
2761         `Vcharacter_variant_table' as a normal object.
2762
2763         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
2764         (mark_object): Don't check older object in UTF-2000.
2765
2766         * lrecord.h (struct lrecord_header): Add new member `older' in
2767         UTF-2000.
2768         (set_lheader_implementation): Setup `SLI_header->older' in
2769         UTF-2000.
2770         (set_lheader_older_implementation): New macro in UTF-2000.
2771         (OLDER_RECORD_P): New macro in UTF-2000.
2772         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
2773         (alloc_older_lcrecord): New prototype in UTF-2000.
2774         (alloc_older_lcrecord_type): New macro in UTF-2000.
2775
2776 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2777
2778         * mule-charset.c (byte_table_description): Use
2779         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
2780         (char_id_table_description): Delete bogus `, 1'.
2781         (Fget_char_attribute): Refer encoding_table of each coded-charset
2782         to get value of coded-charset attribute of a character.
2783         (Fput_char_attribute): Use `make_older_vector' instead of
2784         `make_vector'; use encoding_table of each coded-charset to store
2785         value of coded-charset attribute of a character.
2786         (Fremove_char_attribute): Use encoding_table of each coded-charset
2787         to store value of coded-charset attribute of a character.
2788         (mark_charset): Mark `cs->encoding_table'; don't mark
2789         `cs->decoding_table'.
2790         (charset_description): Add description of new member
2791         `encoding_table'.
2792         (make_charset): Initialize `encoding_table'.
2793
2794         * char-ucs.h (struct Lisp_Charset): Add new member
2795         `encoding_table'.
2796         (CHARSET_ENCODING_TABLE): New macro.
2797         (XCHARSET_ENCODING_TABLE): New macro.
2798         (charset_code_point): New implementation.
2799         (encode_char_1): Likewise.
2800
2801         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
2802         (disksave_object_finalization_1): Call finalizers of
2803         `all_older_lcrecords' in UTF-2000.
2804         (make_older_vector): New function in UTF-2000.
2805         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
2806         UTF-2000.
2807
2808         * lisp.h (make_older_vector): New prototype in UTF-2000.
2809
2810 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2811
2812         * lrecord.h (enum lrecord_type): Rename
2813         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2814
2815         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2816         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2817         `get_char_code_table'.
2818
2819         * mule-charset.c (mark_char_id_table): Renamed from
2820         `mark_char_code_table'.
2821         (char_id_table_equal): Renamed from `char_code_table_equal'.
2822         (char_id_table_hash): Renamed from `char_code_table_hash'.
2823         (make_char_id_table): Renamed from `make_char_code_table'.
2824         (copy_char_id_table): Renamed from `copy_char_code_table'.
2825         (get_char_id_table): Renamed from `get_char_code_table'.
2826         (put_char_id_table): Renamed from `put_char_code_table'.
2827         (to_char_id): Renamed from `to_char_code'.
2828
2829         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2830         `Lisp_Char_Code_Table'.
2831         (char_id_table): Renamed from `char_code_table'.
2832         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2833         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2834         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2835         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2836         (get_char_id_table): Renamed from `get_char_code_table'.
2837
2838 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2839
2840         * lrecord.h (enum lrecord_type): Rename
2841         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2842
2843         * mule-charset.c (mark_byte_table): Renamed from
2844         `mark_char_byte_table'.
2845         (byte_table_equal): Renamed from `char_byte_table_equal'.
2846         (byte_table_hash): Renamed from `byte_table_hash'.
2847         (make_byte_table): Renamed from `make_byte_table'.
2848         (copy_byte_table): Renamed from `copy_char_byte_table'.
2849
2850         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2851         `Lisp_Char_Byte_Table'.
2852         (byte_table): Renamed from `char_byte_table'.
2853         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2854         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2855         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2856         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2857
2858 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2859
2860         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2861         (dfc_convert_to_internal_format): Likewise.
2862         
2863         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2864         * text-coding.c (Fcoding_system_alias_p): New function.
2865         * text-coding.c (Fcoding_system_aliasee): New function.
2866         * text-coding.c (append_suffix_to_symbol): New function.
2867         * text-coding.c (dangling_coding_system_alias_p): New function.
2868         * text-coding.c (Ffind_coding_system):
2869         * text-coding.c (Fcopy_coding_system):
2870         * text-coding.c (encode_coding_no_conversion):
2871         * text-coding.c (syms_of_file_coding):
2872         * text-coding.c (vars_of_file_coding):
2873         Rewrite coding system alias code.
2874         Allow nested aliases, like symbolic links.
2875         Allow redefinition of coding system aliases.
2876         Prevent existence of dangling coding system aliases.
2877         Eliminate convert_to_external_format.
2878         Eliminate convert_to_internal_format.
2879         
2880         * text-coding.c: Change enum eol_type to eol_type_t.
2881
2882 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2883
2884         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2885         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2886
2887         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2888         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2889
2890 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2891
2892         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2893         `ideograph-daikanwa'.
2894
2895         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2896         (Vcharset_ucs_bmp): Likewise.
2897         (Vcharset_mojikyo): Add new extern variable definition.
2898         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2899         (Vcharset_latin_iso8859_3): Likewise.
2900         (Vcharset_latin_iso8859_4): Likewise.
2901         (Vcharset_latin_iso8859_9): Likewise.
2902         (Vcharset_latin_viscii_lower): Likewise.
2903         (Vcharset_latin_viscii_upper): Likewise.
2904         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2905         `mojikyo' code-point is used to decode.
2906         (encode_char_2): New function [to convert `mojikyo' code-point to
2907         Mojikyo font encoding].
2908         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2909         (breakup_char_1): Likewise.
2910         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2911
2912 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2913
2914         * text-coding.c (Fmake_coding_system): Add document about
2915         `disable-composition' property.
2916
2917 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2918
2919         * text-coding.c (Qdisable_composition): New variable; delete
2920         `Qcomposite'.
2921         (Fmake_coding_system): Add new property `disable-composite';
2922         delete property `composite'.
2923         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2924         instead of `!CODING_SYSTEM_COMPOSITE'.
2925         (syms_of_file_coding): Add new symbol `disable-composition';
2926         delete symbol `composite'.
2927
2928         * file-coding.h (struct Lisp_Coding_System): Add
2929         `disable_composition'; delete `enable_composition'.
2930         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2931         `CODING_SYSTEM_COMPOSITE'.
2932         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2933         `XCODING_SYSTEM_COMPOSITE'.
2934
2935 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2936
2937         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2938         to 0.15.
2939
2940 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2941
2942         * text-coding.c (Qcomposite): New variable.
2943         (Fmake_coding_system): Add new property `composite'.
2944         (struct decoding_stream): Add `combined_char_count',
2945         `combined_chars' and `combining_table' in UTF-2000.
2946         (COMPOSE_FLUSH_CHARS): New macro.
2947         (COMPOSE_ADD_CHAR): New macro.
2948         (reset_decoding_stream): Reset `str->combined_char_count' and
2949         `str->combining_table' in UTF-2000.
2950         (decode_coding_iso2022): Modify for character-decomposition.
2951         (syms_of_file_coding): Add new symbol `composite'.
2952
2953 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2954
2955         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2956         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2957         of `Vcharacter_composition_table' if `->decomposition' property
2958         has only 1 element.
2959         (Qlatin_tcvn5712): New variable.
2960         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2961         (complex_vars_of_mule_charset): Add new coded-charset
2962         `latin-tcvn5712'.
2963
2964         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2965
2966 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2967
2968         * file-coding.h (struct Lisp_Coding_System): Add
2969         `enable_composition'.
2970         (CODING_SYSTEM_COMPOSITE): New macro.
2971         (XCODING_SYSTEM_COMPOSITE): New macro.
2972
2973 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2974
2975         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2976
2977 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2978
2979         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2980         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2981
2982 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2983
2984         * mule-charset.c (Vcharset_mojikyo): New variable.
2985         (Fdefine_char): Don't use coded-charset which does not have
2986         non-builtin character range to allocate character-id.
2987         (Qmojikyo): New variable.
2988         (syms_of_mule_charset): Add new symbol `mojikyo'.
2989         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2990
2991         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2992         (LEADING_BYTE_MOJIKYO): New macro.
2993         (MIN_CHAR_MOJIKYO): New macro.
2994         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2995         (MAX_CHAR_MOJIKYO): New macro.
2996
2997 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2998
2999         * mule-charset.c (remove_char_attribute): Fixed.
3000
3001 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3002
3003         * mule-charset.c (remove_char_attribute): New function.
3004         (Fremove_char_attribute): New function.
3005         (encode_builtin_char_1): Comment out builtin-support for
3006         greek-iso8859-7 and cyrillic-iso8859-5.
3007         (Fdecode_char): Check `code' is an integer.
3008         (syms_of_mule_charset): Add `remove-char-attribute'.
3009         (MIN_CHAR_GREEK): Deleted.
3010         (MAX_CHAR_GREEK): Likewise.
3011         (MIN_CHAR_CYRILLIC): Likewise.
3012         (MAX_CHAR_CYRILLIC): Likewise.
3013         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3014         MAX_CHAR_GREEK for `greek-iso8859-7'.
3015
3016         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3017         (MAX_CHAR_GREEK): Likewise.
3018         (MIN_CHAR_CYRILLIC): Likewise.
3019         (MAX_CHAR_CYRILLIC): Likewise.
3020
3021 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3022
3023         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3024         format is used without `ucs' property.
3025         (Fdecode_char): Fix problem with GR representation.
3026         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3027         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3028
3029 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3030
3031         * mule-charset.c (make_builtin_char): New function.
3032         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3033         (Fset_charset_mapping_table): Modify for new representation of
3034         code-point.
3035         (Fdecode_char): New function.
3036         (syms_of_mule_charset): Add new builtin function `decode-char' in
3037         UTF-2000.
3038
3039         * char-ucs.h (make_builtin_char): New prototype.
3040         (DECODE_CHAR): New inline function.
3041         (MAKE_CHAR): Use `DECODE_CHAR'.
3042
3043 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3044
3045         * text-coding.c (parse_charset_conversion_specs): Use
3046         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3047         `XCHARSET_TYPE'.
3048         (iso2022_designate): Likewise.
3049
3050         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3051         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3052
3053         * mule-charset.c (Vcharset_ucs): New variable.
3054         (print_charset): Change design; use `CHARSET_CHARS' and
3055         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3056         (make_charset): Change signature to specify `chars' and
3057         `dimension' instead of `type'.
3058         (range_charset_code_point): Modify for 256^n-set.
3059         (encode_builtin_char_1): Encode as `ucs' in default.
3060         (Fmake_charset): Modify for `make_charset'.
3061         (Fmake_reverse_direction_charset): Likewise.
3062         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3063         UTF-2000.
3064         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3065         for `make_charset'.
3066
3067         * char-ucs.h (Vcharset_ucs): New variable.
3068         (LEADING_BYTE_UCS): New macro.
3069         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3070         and `chars' to `unsigned short' from `unsigned int'.
3071         (CHARSET_TYPE): Deleted.
3072         (XCHARSET_TYPE): Deleted.
3073
3074 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3075
3076         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3077
3078         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3079         (ENCODE_CHAR): New macro.
3080
3081 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3082
3083         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3084         to 0.14 (Kawachi-Katakami).
3085
3086 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3087
3088         * text-coding.c (char_encode_shift_jis): Modify for
3089         `charset_code_point'.
3090         (char_encode_iso2022): Likewise.
3091
3092         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3093         (integer) instead of list of <Lisp_Object>s (integers) as the
3094         format of code-point of a coded-charset.
3095         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3096         (encode_builtin_char_1): New function; delete
3097         `split_builtin_char'.
3098         (charset_code_point): Return <int> instead of <Lisp_Object>.
3099         (Fsplit_char): Don't use `SPLIT_CHAR'.
3100
3101         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3102         prototype for `split_builtin_char'.
3103         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3104         (charset_code_point): Likewise.
3105         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3106         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3107
3108 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3109
3110         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3111         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3112
3113 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3114
3115         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3116
3117         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3118         (MAX_CHAR_OBS_94x94): Deleted.
3119
3120 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3121
3122         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3123
3124         * char-ucs.h (MAX_CHAR_BMP): New macro.
3125
3126 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3127
3128         * text-coding.c: Sync with r21-2-24.
3129
3130 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3131
3132         * file-coding.c: Modify for UTF-2000.
3133
3134 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3135
3136         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3137         to 0.13 (Takaida).
3138
3139 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3140
3141         * mule-charset.c (split_builtin_char): Delete builtin support for
3142         `katakana-jisx0201'.
3143         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3144         BMP area in builtin representation.
3145
3146         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3147         `Vcharset_katakana_jisx0201'.
3148
3149 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3150
3151         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3152         (Qisolated): New variable.
3153         (Qinitial): New variable.
3154         (Qmedial): New variable.
3155         (Qfinal): New variable.
3156         (Qvertical): New variable.
3157         (Qsmall): New variable.
3158         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3159         `Qvertical' and `Qsmall'.
3160         (Qmojikyo_pj_[1 .. 21]): New variable.
3161         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3162         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3163         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3164         .. 21]'.
3165
3166 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3167
3168         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3169         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3170         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3171
3172 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3173
3174         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3175         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3176         BMP.
3177         (Qjapanese_jisx0208_1990): New variable.
3178         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3179         (complex_vars_of_mule_charset): Add new coded-charset
3180         `japanese-jisx0208-1990'.
3181
3182         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3183         (MIN_CHAR_JIS_X0208_1990): New macro.
3184         (MAX_CHAR_JIS_X0208_1990): New macro.
3185
3186 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3187
3188         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3189         coded-charset is not found.
3190
3191 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3192
3193         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3194         (Fdefine_char): Use `Fmake_char'.
3195
3196 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3197
3198         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
3199         (Vcharset_hiragana_jisx0208): Deleted.
3200         (Vcharset_katakana_jisx0208): Deleted.
3201         (Qideograph_daikanwa): New variable.
3202         (Qhiragana_jisx0208): Deleted.
3203         (Qkatakana_jisx0208): Deleted.
3204         (split_builtin_char): Split `ideograph-daikanwa'.
3205         (Fsplit_char): New implementation for UTF-2000.
3206         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
3207         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
3208         (complex_vars_of_mule_charset): Add new coded-charset
3209         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
3210         `katakana-jisx0208'.
3211
3212         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3213         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3214         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3215         (MIN_CHAR_DAIKANWA): New macro.
3216         (MAX_CHAR_DAIKANWA): New macro.
3217
3218 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3219
3220         * data.c (Fstring_to_number): Don't recognize floating point if
3221         base is not 10.
3222
3223 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3224
3225         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
3226
3227 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3228
3229         * mule-charset.c (Qsquare): New variable.
3230         (to_char_code): Add `Qsquare'.
3231         (syms_of_mule_charset): Add new symbol `square'.
3232
3233 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3234
3235         * mule-charset.c (Qcircle): New variable.
3236         (to_char_code): Add `Qcircle'.
3237         (syms_of_mule_charset): Add new symbol `circle'.
3238
3239 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3240
3241         * mule-charset.c (Qfont): New variable.
3242         (to_char_code): Add `Qfont'.
3243         (syms_of_mule_charset): Add new symbol `font'.
3244
3245 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3246
3247         * mule-charset.c (Qsub): New variable.
3248         (to_char_code): Add `Qsub'.
3249         (syms_of_mule_charset): Add new symbol `sub'.
3250
3251 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3252
3253         * mule-charset.c (Fput_char_attribute): Convert each element of
3254         VALUE to GL position if ATTRIBUTE is a GR-set,
3255
3256 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3257
3258         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
3259         coded-charset is a GR-set.
3260
3261 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3262
3263         * mule-charset.c (Fput_char_attribute): Check each element of
3264         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
3265
3266 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3267
3268         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
3269         UTF-2000.
3270         (Qethiopic_ucs): New variable in UTF-2000.
3271         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
3272         (complex_vars_of_mule_charset): Add new coded-charset
3273         `ethiopic-ucs' in UTF-2000.
3274
3275         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
3276         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3277         9)'.
3278         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3279         10)'.
3280         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
3281
3282 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3283
3284         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
3285         `ascii'.
3286
3287 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3288
3289         * mule-charset.c (Vcharacter_variant_table): New variable.
3290         (Q_ucs): New variable.
3291         (Fchar_variants): New function.
3292         (Fput_char_attribute): Register `->ucs' value to
3293         `Vcharacter_variant_table'.
3294         (syms_of_mule_charset): Add new function `char-variants' and new
3295         symbol `->ucs'.
3296         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
3297
3298 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3299
3300         * mule-charset.c (get_char_code_table): Allow negative character
3301         code.
3302         (put_char_code_table): Likewise.
3303         (Vcharacter_composition_table): New variable.
3304         (Q_decomposition): New variable.
3305         (Qwide): New variable.
3306         (Qnarrow): New variable.
3307         (Qcompat): New variable.
3308         (QnoBreak): New variable.
3309         (Qsuper): New variable.
3310         (Qfraction): New variable.
3311         (to_char_code): New function.
3312         (Fget_composite_char): New function.
3313         (Fput_char_attribute): Register `->decomposition' value to
3314         `Vcharacter_composition_table'.
3315         (syms_of_mule_charset): Add new function `get-composite-char', new
3316         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
3317         `super' and `fraction'.
3318         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
3319
3320 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3321
3322         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
3323         character; copy the return value.
3324
3325 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3326
3327         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
3328
3329         * mule-charset.c (range_charset_code_point): Must use make_int.
3330         (split_builtin_char): New function.
3331
3332 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3333
3334         * mule-charset.c (char_byte_table): Change name from
3335         "char-code-table" to "char-byte-table".
3336         (mark_char_code_table): New function.
3337         (char_code_table_equal): New function.
3338         (char_code_table_hash): New function.
3339         (char_code_table_description): New constant.
3340         (char_code_table): New type.
3341         (make_char_code_table): New function.
3342         (copy_char_code_table): New function.
3343         (get_char_code_table): Modify for `char_code_table' type.
3344         (put_char_code_table): Likewise.
3345         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
3346         (Kashiwara).
3347
3348         * char-ucs.h (char_code_table): New type.
3349         (XCHAR_CODE_TABLE): New macro.
3350         (XSETCHAR_CODE_TABLE): New macro.
3351         (CHAR_CODE_TABLE_P): New macro.
3352         (GC_CHAR_CODE_TABLE_P): New macro.
3353         (struct Lisp_Char_Code_Table): New structure.
3354
3355 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3356
3357         * mule-charset.c (Fmake_charset): Setup byte_offset for
3358         {94|96}^n-set.
3359
3360 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3361
3362         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
3363         character.
3364
3365 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3366
3367         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
3368         is found.
3369
3370 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3371
3372         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
3373         charset, it is regarded as a charset.
3374         (put_char_attribute): New function in UTF-2000.
3375         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
3376         charset, mapping-table of the charset is modified.
3377         (Fdefine_char): New function in UTF-2000.
3378         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
3379         `Fput_char_attribute'.
3380         (syms_of_mule_charset): Add new function `define-char' and new
3381         symbol `ucs' in UTF-2000.
3382         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
3383
3384 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3385
3386         * mule-charset.c (Fcharset_name): Define `byte_offset' in
3387         non-UTF-2000 configuration.
3388
3389 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3390
3391         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
3392         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
3393
3394         * mule-charset.c (mark_charset): `cs->encoding_table' has been
3395         deleted.
3396         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
3397         (Fset_charset_mapping_table): Likewise.
3398
3399         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
3400         (CHARSET_ENCODING_TABLE): Delete.
3401         (XCHARSET_ENCODING_TABLE): Delete.
3402         (charset_code_point): New interface.
3403
3404 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3405
3406         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
3407         instead of `charset_get_byte1' and `charset_get_byte2'.
3408
3409         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
3410         (charset_get_byte2): Deleted.
3411
3412 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3413
3414         * char-ucs.h (SPLIT_CHAR): New inline function.
3415         (breakup_char_1): Use `SPLIT_CHAR'.
3416
3417         * mule-charset.c (range_charset_code_point): New function.
3418         (charset_code_point): New function.
3419
3420         * char-ucs.h (range_charset_code_point): New interface.
3421         (breakup_char_1): Use `range_charset_code_point'.
3422
3423 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3424
3425         * mule-charset.c (Fmake_charset): Delete unused local variable
3426         `code_offset'.
3427
3428         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3429         (breakup_char_1): Find a charset and code-point in
3430         `Vcharacter_attribute_table'.
3431
3432 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3433
3434         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3435         to 0.10 (Yao).
3436
3437 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3438
3439         * mule-charset.c (Vcharacter_attribute_table): New variable.
3440         (Fchar_attribute_alist): New function.
3441         (Fget_char_attribute): New function.
3442         (Fput_char_attribute): New function.
3443         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3444         too.
3445         (syms_of_mule_charset): Add new function `char-attribute-alist',
3446         `get-char-attribute' and `put-char-attribute'.
3447         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3448
3449 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3450
3451         * mule-charset.c (Fmake_charset): Just use
3452         `get_unallocated_leading_byte'.
3453
3454         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3455         sets; don't use final-byte based number for private sets.
3456
3457 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3458
3459         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3460         integer.
3461
3462 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3463
3464         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3465         to 0.9.
3466
3467 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3468
3469         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
3470         of `CHAR_LEADING_BYTE' in UTF-2000.
3471
3472         * insdel.c (find_charsets_in_bufbyte_string): Use
3473         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3474         (find_charsets_in_emchar_string): Likewise.
3475
3476         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
3477         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3478
3479         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
3480         (CHAR_CHARSET_ID): New macro.
3481
3482 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3483
3484         * chartab.c (get_char_table): Don't use type `Charset_ID' for
3485         charset-id - MIN_LEADING_BYTE.
3486         (put_char_table): Likewise.
3487
3488 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3489
3490         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
3491         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
3492         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
3493         (CHARSET_ID_OFFSET): New macro.
3494         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
3495         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
3496         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
3497         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3498         4).
3499         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3500         5).
3501         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
3502         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
3503         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
3504         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
3505         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
3506
3507 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3508
3509         * mule-charset.c (next_allocated_leading_byte): New variable in
3510         UTF-2000.
3511         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
3512         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
3513         (get_unallocated_leading_byte): Simply use
3514         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
3515         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
3516         UTF-2000.
3517
3518         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
3519         (MAX_LEADING_BYTE_PRIVATE): New macro.
3520         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
3521         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
3522
3523 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3524
3525         * mule-charset.c (Fmake_charset): Allocate final-byte based
3526         charset-id for 94-set, 96-set and 94x94-set.
3527
3528 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3529
3530         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
3531         ambiguous `else'.
3532         (Fmake_charset): Likewise.
3533         (complex_vars_of_mule_charset): Modify the font registry of
3534         `ucs-bmp' not to match `Ethiopic-Unicode'.
3535
3536 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3537
3538         * mule-charset.c (complex_vars_of_mule_charset): Add font
3539         registory of `ucs-bmp'.
3540
3541 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3542
3543         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
3544         coded-charsets in `default-coded-charset-priority-list' when
3545         breaking up a character.
3546
3547         * mule-charset.c (Vcharset_latin_viscii): New variable.
3548         (Qlatin_viscii): New variable.
3549         (make_charset): Don't use `decoding_table'.
3550         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
3551         byte_offset.
3552         (Fset_charset_mapping_table): New implementation.
3553         (syms_of_mule_charset): Add new symbol `latin-viscii'.
3554         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
3555         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
3556         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
3557         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
3558         charset `latin_viscii'.
3559
3560         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
3561         (CHARSET_TYPE_94X94): Change to 1 from 2.
3562         (CHARSET_TYPE_96): Change to 2 from 1.
3563         (CHARSET_TYPE_128): New macro.
3564         (CHARSET_TYPE_128X128): Change to 5 from 4.
3565         (CHARSET_TYPE_256): New macro.
3566         (CHARSET_TYPE_256X256): Change to 7 from 5.
3567         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
3568
3569 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3570
3571         * text-coding.c (char_encode_shift_jis): Refer
3572         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
3573         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
3574
3575         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
3576         (char_byte_table_equal): New function in UTF-2000.
3577         (char_byte_table_hash): New function in UTF-2000.
3578         (char_byte_table_description): New constant in UTF-2000.
3579         (char_byte_table): New type in UTF-2000.
3580         (make_char_byte_table): New function in UTF-2000.
3581         (copy_char_byte_table): New function in UTF-2000.
3582         (make_char_code_table): New macro in UTF-2000.
3583         (get_char_code_table): New function in UTF-2000.
3584         (put_char_code_table): New function in UTF-2000.
3585         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3586         (charset_description): Add setting in UTF-2000.
3587         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
3588         `CHARSET_TO_BYTE1_TABLE(cs)'.
3589         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
3590         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
3591         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
3592         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
3593         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
3594         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
3595         `CHARSET_TO_BYTE2_TABLE(cs)'.
3596
3597         * char-ucs.h (char_byte_table): New type.
3598         (XCHAR_BYTE_TABLE): New macro.
3599         (XSETCHAR_BYTE_TABLE): New macro.
3600         (CHAR_BYTE_TABLE_P): New macro.
3601         (GC_CHAR_BYTE_TABLE_P): New macro.
3602         (struct Lisp_Char_Byte_Table): New structure.
3603         (get_char_code_table): New interface.
3604         (Emchar_to_byte_table): Deleted.
3605         (get_byte_from_character_table): Deleted.
3606         (struct Lisp_Charset): Add `encoding_table'; delete
3607         `to_byte1_table' and `to_byte2_table'.
3608         (CHARSET_ENCODING_TABLE): New macro.
3609         (CHARSET_TO_BYTE1_TABLE): Deleted.
3610         (CHARSET_TO_BYTE2_TABLE): Deleted.
3611         (XCHARSET_ENCODING_TABLE): New macro.
3612         (XCHARSET_TO_BYTE1_TABLE): Deleted.
3613         (XCHARSET_TO_BYTE2_TABLE): Deleted.
3614
3615 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3616
3617         * mule-charset.c (syms_of_mule_charset): Delete charset alias
3618         `vietnamese-viscii-*'.
3619
3620 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3621
3622         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
3623         (Qvietnamese_viscii_upper): New variable.
3624         (Fdefine_charset_alias): New function.
3625         (syms_of_mule_charset): Add new function `define-charset-alias'.
3626         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
3627         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
3628         `latin-viscii-*'.
3629
3630 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
3631
3632         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
3633         (MAX_CHAR_OBS_94x94): New macro.
3634         (breakup_char_1): Support obsolete XEmacs-UCS private code space
3635         for 94x94 sets.
3636
3637         * mule-charset.c (put_byte_from_character_table): Change unit size
3638         from 128 to 256.
3639         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
3640         not defined.
3641         (Fmake_reverse_direction_charset): Modify dummy argument of
3642         `make_charset' for non-UTF-2000 environment.
3643
3644 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3645
3646         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
3647
3648         * mule-charset.c (destroy_byte_from_character_table): New macro.
3649         (latin_jisx0201_to_ucs): Deleted.
3650         (latin_iso8859_2_to_ucs): Deleted.
3651         (latin_iso8859_3_to_ucs): Deleted.
3652         (latin_iso8859_4_to_ucs): Deleted.
3653         (latin_iso8859_9_to_ucs): Deleted.
3654         (latin_viscii_lower_to_ucs): Deleted.
3655         (latin_viscii_upper_to_ucs): Deleted.
3656         (mark_charset): Mark `cs->decoding_table'.
3657         (Fcharset_mapping_table): Fix DOC-string.
3658         (Fset_charset_mapping_table): New function.
3659         (syms_of_mule_charset): Add nwe function
3660         `set-charset-mapping-table'.
3661         (complex_vars_of_mule_charset): Don't setup and use
3662         `latin_*_to_ucs'.
3663
3664 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3665
3666         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
3667         charset.
3668
3669 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3670
3671         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
3672         (Vcharset_katakana_jisx0208): New variable.
3673         (Qhiragana_jisx0208): New variable.
3674         (Qkatakana_jisx0208): New variable.
3675         (make_charset): Add new argument `byte_offset'.
3676         (charset_get_byte1): Modify for new coded-charset definition; use
3677         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3678         `XCHARSET_BYTE_OFFSET'.
3679         (Fmake_charset): Modify for `make_charset'.
3680         (Fmake_reverse_direction_charset): Likewise.
3681         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
3682         `katakana-jisx0208'.
3683         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
3684         `.'  in font registry of charset `katakana-jisx0201',
3685         `latin-jisx0201', `vietnamese-viscii-lower' and
3686         `vietnamese-viscii-upper'; modify DOC-string of charset
3687         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
3688         registry of charset `japanese-jisx0208' not to use font for JIS
3689         X0208:1990; add new charset `hiragana-jisx0208' and
3690         `katakana-jisx0208'.
3691
3692         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
3693         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
3694         (struct Lisp_Charset): Add `byte_offset'.
3695         (CHARSET_BYTE_OFFSET): New macro.
3696         (XCHARSET_UCS_MIN): New macro.
3697         (XCHARSET_UCS_MAX): New macro.
3698         (XCHARSET_CODE_OFFSET): New macro.
3699         (XCHARSET_BYTE_OFFSET): New macro.
3700         (MIN_CHAR_HIRAGANA): New macro.
3701         (MAX_CHAR_HIRAGANA): New macro.
3702         (MIN_CHAR_KATAKANA): New macro.
3703         (MAX_CHAR_KATAKANA): New macro.
3704         (MAKE_CHAR): Modify for new coded-charset definition; use
3705         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3706         `XCHARSET_BYTE_OFFSET'.
3707
3708 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3709
3710         * mule-charset.c (CHAR96): Deleted.
3711         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
3712         <Lisp_Object>.
3713         (latin_iso8859_2_to_ucs): Likewise.
3714         (latin_iso8859_3_to_ucs): Likewise.
3715         (latin_iso8859_4_to_ucs): Likewise.
3716         (latin_iso8859_9_to_ucs): Likewise.
3717         (latin_viscii_lower_to_ucs): Likewise.
3718         (latin_viscii_upper_to_ucs): Likewise.
3719         (latin_tcvn5712_to_ucs): Commented out.
3720         (make_charset): Change type of argument `decoding_table' from
3721         <Emchar*> to <Lisp_Object> [vector of characters].
3722         (Fmake_charset): Modify for `make_charset'.
3723         (Fmake_reverse_direction_charset): Likewise.
3724         (Fcharset_mapping_table): New function in UTF-2000.
3725         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
3726         UTF-2000.
3727         (complex_vars_of_mule_charset): Modify for type change of
3728         `*_to_ucs'; modify for `make_charset'.
3729
3730         * char-ucs.h (struct Lisp_Charset): Change type of
3731         `decoding_table' from <Emchar*> to <Lisp_Object>.
3732         (MAKE_CHAR): Modify for new specification of `decoding_table'.
3733
3734 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3735
3736         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
3737         error with non-UTF-2000-Mule.
3738
3739 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
3740
3741         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
3742         in lisp again].
3743         (Vcharset_chinese_cns11643_4): Likewise.
3744         (Vcharset_chinese_cns11643_5): Likewise.
3745         (Vcharset_chinese_cns11643_6): Likewise.
3746         (Vcharset_chinese_cns11643_7): Likewise.
3747         (Qchinese_cns11643_3): Likewise.
3748         (Qchinese_cns11643_4): Likewise.
3749         (Qchinese_cns11643_5): Likewise.
3750         (Qchinese_cns11643_6): Likewise.
3751         (Qchinese_cns11643_7): Likewise.
3752         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
3753         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3754         and `chinese-cns11643-7' to lisp/mule/chinese.el.
3755         (complex_vars_of_mule_charset): Likewise.
3756
3757 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3758
3759         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
3760         96-set.
3761         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
3762         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
3763
3764 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3765
3766         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
3767         0xFF60.
3768         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
3769         (breakup_char_1): Likewise.
3770
3771         * text-coding.c (char_encode_iso2022): Keep designated charsets if
3772         one of them includes the specified character.
3773
3774 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3775
3776         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
3777
3778 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3779
3780         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
3781
3782 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3783
3784         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
3785         definition for non-UTF-2000 Mule.
3786         (latin_iso8859_3_to_ucs): Likewise.
3787         (latin_iso8859_4_to_ucs): Likewise.
3788         (latin_iso8859_9_to_ucs): Likewise.
3789         (latin_jisx0201_to_ucs): Likewise.
3790         (MIN_CHAR_THAI): Likewise.
3791         (MAX_CHAR_THAI): Likewise.
3792         (MIN_CHAR_GREEK): Likewise.
3793         (MAX_CHAR_GREEK): Likewise.
3794         (MIN_CHAR_HEBREW): Likewise.
3795         (MAX_CHAR_HEBREW): Likewise.
3796         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
3797         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
3798         (MIN_CHAR_CYRILLIC): Likewise.
3799         (MAX_CHAR_CYRILLIC): Likewise.
3800
3801 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3802
3803         * char-ucs.h (breakup_char_1): Use
3804         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
3805         thai-tis620 and katakana-jisx0201 area.
3806
3807 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3808
3809         * char-ucs.h (breakup_char_1): Use
3810         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
3811         area.
3812
3813         * text-coding.c (reset_encoding_stream): Fixed.
3814         (char_encode_ucs4): Delete `& 255'.
3815
3816         * char-ucs.h (breakup_char_1): Use
3817         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3818
3819 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3820
3821         * file-coding.c (Fmake_coding_system): Don't set up
3822         `codesys->fixed.size'.
3823         (encode_coding_no_conversion): Don't refer
3824         `str->codesys->fixed.size'.
3825
3826 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3827
3828         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3829         (latin_a_char_to_byte1): Deleted.
3830         (latin_a_char_to_byte2): Deleted.
3831
3832 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3833
3834         * mule-charset.c (make_charset): Add new argument `ucs_min',
3835         `ucs_max' and `code_offset'.
3836         (charset_get_byte1): New implementation [delete specific charset
3837         depended implementations].
3838         (Fmake_charset): Modify for `make_charset'.
3839         (Fmake_reverse_direction_charset): Likewise.
3840         (complex_vars_of_mule_charset): Likewise.
3841
3842         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3843         `code_offset'.
3844         (CHARSET_UCS_MIN): New macro.
3845         (CHARSET_UCS_MAX): New macro.
3846         (CHARSET_CODE_OFFSET): New macro.
3847         (MAKE_CHAR): Delete charset depended definitions [except
3848         katakana-jisx0201].
3849
3850 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3851
3852         * char-ucs.h (breakup_char_1): Use
3853         `Vdefault_coded_charset_priority_list' for C0-Controls,
3854         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3855
3856 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3857
3858         * char-ucs.h (charset_get_byte1): New function.
3859         (XCHARSET_GET_BYTE1): Deleted.
3860         (charset_get_byte2): New function.
3861         (XCHARSET_GET_BYTE2): Deleted.
3862         (Vdefault_coded_charset_priority_list): New external variable.
3863         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3864         `Vdefault_preferred_coded_charset_list'.
3865
3866         * mule-charset.c (charset_get_byte1): New function.
3867         (charset_get_byte2): New function.
3868         (Vdefault_coded_charset_priority_list): New variable.
3869         (vars_of_mule_charset): Add new variable
3870         `default-coded-charset-priority-list'.
3871
3872 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3873
3874         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3875         (XCHARSET_GET_BYTE2): New inline function.
3876         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3877         `XCHARSET_GET_BYTE2'.
3878
3879 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3880
3881         * mule-charset.c (make_charset): Initialize
3882         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3883         NULL if table is not defined.
3884
3885 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3886
3887         * text-coding.c (char_encode_shift_jis): Use
3888         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3889         `ucs_to_latin_jisx0201'.
3890
3891         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3892         (ucs_to_latin_iso8859_2): Deleted.
3893         (ucs_to_latin_iso8859_3): Deleted.
3894         (ucs_to_latin_iso8859_4): Deleted.
3895         (ucs_to_latin_iso8859_9): Deleted.
3896         (ucs_to_latin_viscii_lower): Deleted.
3897         (ucs_to_latin_viscii_upper): Deleted.
3898         (ucs_to_latin_tcvn5712): Deleted.
3899         (make_charset): Add new argument `decoding_table'; set up
3900         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3901         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3902         `decoding_table' is defined in UTF-2000.
3903         (Fmake_charset): Modify for `make_charset'.
3904         (Fmake_reverse_direction_charset): Likewise.
3905         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3906         and `GENERATE_96_SET'.
3907
3908         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3909         (ucs_to_latin_jisx0201): Deleted.
3910         (latin_iso8859_2_to_ucs): Deleted.
3911         (ucs_to_latin_iso8859_2): Deleted.
3912         (latin_iso8859_3_to_ucs): Deleted.
3913         (ucs_to_latin_iso8859_3): Deleted.
3914         (latin_iso8859_4_to_ucs): Deleted.
3915         (ucs_to_latin_iso8859_4): Deleted.
3916         (latin_iso8859_9_to_ucs): Deleted.
3917         (ucs_to_latin_iso8859_9): Deleted.
3918         (latin_viscii_lower_to_ucs): Deleted.
3919         (ucs_to_latin_viscii_lower): Deleted.
3920         (latin_viscii_upper_to_ucs): Deleted.
3921         (ucs_to_latin_viscii_upper): Deleted.
3922         (struct Lisp_Charset): Renamed `encoding_table' to
3923         `to_byte1_table'; add `to_byte2_table'.
3924         (CHARSET_DECODING_TABLE): New macro.
3925         (CHARSET_TO_BYTE1_TABLE): New macro.
3926         (CHARSET_TO_BYTE2_TABLE): New macro.
3927         (XCHARSET_DECODING_TABLE): New macro.
3928         (XCHARSET_TO_BYTE1_TABLE): New macro.
3929         (XCHARSET_TO_BYTE2_TABLE): New macro.
3930         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3931         tables.
3932         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3933         don't use `ucs_to_*' tables.
3934
3935 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3936
3937         * text-coding.c (Fmake_coding_system): Don't set up
3938         `codesys->fixed.size'.
3939         (encode_coding_no_conversion): Use `if' instead of `switch'.
3940
3941         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3942
3943 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3944
3945         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3946         (Fmake_charset): Modify for `make_charset'.
3947         (Fmake_reverse_direction_charset): Likewise.
3948         (complex_vars_of_mule_charset): Likewise.
3949
3950 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3951
3952         * text-coding.c (char_encode_shift_jis): Use table
3953         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3954
3955 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3956
3957         * text-coding.c (text_encode_generic): Use `if' instead of
3958         `switch'.
3959         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3960         decode JIS-Latin.
3961
3962 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3963
3964         * text-coding.c (encode_coding_sjis): Deleted.
3965         (char_encode_shift_jis): New function.
3966         (char_finish_shift_jis): New function.
3967         (reset_encoding_stream): Set up `encode_char' and `finish' for
3968         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3969         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3970         (char_encode_utf8): Treat `eol_type'.
3971
3972 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3973
3974         * file-coding.c (decode_coding_iso2022): Use
3975         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3976
3977 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3978
3979         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3980         to 0.7 (Hirano).
3981
3982 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3983
3984         * char-lb.h (CHAR_COLUMNS): New macro.
3985
3986 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3987
3988         * text-coding.c (char_encode_ucs4): New function.
3989         (char_finish_ucs4): New function.
3990         (encode_coding_ucs4): Deleted.
3991         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3992         (text_encode_generic): Delete local variable `charset' and `half'.
3993         (ucs_to_mule_table): Deleted.
3994         (mule_to_ucs_table): Deleted.
3995         (Fset_ucs_char): Deleted.
3996         (ucs_to_char): Deleted.
3997         (Fucs_char): Deleted.
3998         (Fset_char_ucs): Deleted.
3999         (Fchar_ucs): Deleted.
4000         (decode_ucs4): Deleted.
4001         (mule_char_to_ucs4): Deleted.
4002         (encode_ucs4): Deleted.
4003         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4004         (decode_coding_utf8): Likewise.
4005         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4006         (char_encode_iso2022): Fixed.
4007         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4008         `Fset_char_ucs' and `Fchar_ucs'.
4009         (complex_vars_of_file_coding): Don't initialize
4010         `ucs_to_mule_table'.
4011
4012         * objects-tty.c (tty_initialize_font_instance): Don't use
4013         `XCHARSET_COLUMNS'.
4014
4015         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4016         UTF-2000.
4017
4018         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4019         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4020
4021         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4022         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4023         (emchar_string_displayed_columns): Likewise.
4024
4025         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4026         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4027         (string_column_at_point): Likewise.
4028         (Fmove_to_column): Likewise.
4029
4030         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4031         `encoding_table' and `decoding_table'.
4032         (CHARSET_REP_BYTES): Deleted.
4033         (XCHARSET_REP_BYTES): Deleted.
4034         (XCHARSET_COLUMNS): Deleted.
4035         (CHAR_COLUMNS): New macro.
4036         (lookup_composite_char): Deleted unconditionally.
4037         (composite_char_string): Likewise.
4038
4039 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4040
4041         * char-ucs.h (Emchar_to_byte_table): New type.
4042         (get_byte_from_character_table): New function interface.
4043         (Vcharset_latin_jisx0201): New variable.
4044         (latin_jisx0201_to_ucs): New variable.
4045         (ucs_to_latin_jisx0201): New variable.
4046         (Vcharset_latin_iso8859_2): New variable.
4047         (latin_iso8859_2_to_ucs): New variable.
4048         (ucs_to_latin_iso8859_2): New variable.
4049         (Vcharset_latin_iso8859_3): New variable.
4050         (latin_iso8859_3_to_ucs): New variable.
4051         (ucs_to_latin_iso8859_3): New variable.
4052         (Vcharset_latin_iso8859_4): New variable.
4053         (latin_iso8859_4_to_ucs): New variable.
4054         (ucs_to_latin_iso8859_4): New variable.
4055         (Vcharset_latin_iso8859_9): New variable.
4056         (latin_iso8859_9_to_ucs): New variable.
4057         (ucs_to_latin_iso8859_9): New variable.
4058         (Vcharset_latin_viscii_lower): New variable.
4059         (latin_viscii_lower_to_ucs): New variable.
4060         (ucs_to_latin_viscii_lower): New variable.
4061         (Vcharset_latin_viscii_upper): New variable.
4062         (latin_viscii_upper_to_ucs): New variable.
4063         (ucs_to_latin_viscii_upper): New variable.
4064         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4065         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4066         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4067         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4068         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4069         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4070         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4071         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4072         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4073         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4074
4075         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4076         (Vcharset_latin_viscii_upper): New variable.
4077         (make_byte_from_character_table): New function.
4078         (put_byte_from_character_table): New function.
4079         (get_byte_from_character_table): New function.
4080         (CHAR96): New macro.
4081         (ucs_to_latin_jisx0201): New variable.
4082         (latin_jisx0201_to_ucs): New variable.
4083         (ucs_to_latin_iso8859_2): New variable.
4084         (latin_iso8859_2_to_ucs): New variable.
4085         (ucs_to_latin_iso8859_3): New variable.
4086         (latin_iso8859_3_to_ucs): New variable.
4087         (ucs_to_latin_iso8859_4): New variable.
4088         (latin_iso8859_4_to_ucs): New variable.
4089         (ucs_to_latin_iso8859_9): New variable.
4090         (latin_iso8859_9_to_ucs): New variable.
4091         (ucs_to_latin_viscii_lower): New variable.
4092         (latin_viscii_lower_to_ucs): New variable.
4093         (ucs_to_latin_viscii_upper): New variable.
4094         (latin_viscii_upper_to_ucs): New variable.
4095         (ucs_to_latin_tcvn5712): New variable.
4096         (latin_tcvn5712_to_ucs): New variable.
4097         (Qlatin_viscii_lower): New variable.
4098         (Qlatin_viscii_upper): New variable.
4099         (syms_of_mule_charset): Set up new symbol
4100         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4101         (complex_vars_of_mule_charset): Set up new charset
4102         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4103         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4104         `ucs_to_<CHARSET>' tables.
4105
4106 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4107
4108         * text-coding.c: New file.
4109
4110 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4111
4112         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4113
4114         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4115         (MAKE_CHAR): Modify for `ucs-bmp'.
4116         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4117         non-MULE characters of BMP.
4118
4119 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4120
4121         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4122         to 0.6.
4123
4124 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4125
4126         * lstream.h:
4127         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4128         - Include character.h for `CHAR_ASCII_P'.
4129
4130         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4131
4132         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4133         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4134
4135         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4136         (BYTE_C0_P): Likewise.
4137         (BYTE_C1_P): Likewise.
4138         (Lstream_get_emchar_1): Likewise.
4139         (Lstream_fput_emchar): Likewise.
4140         (Lstream_funget_emchar): Likewise.
4141         (copy_internal_to_external): Likewise.
4142         (copy_external_to_internal): Likewise.
4143
4144         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4145         (BYTE_C0_P): Likewise.
4146         (BYTE_C1_P): Likewise.
4147         (Lstream_get_emchar_1): Likewise.
4148         (Lstream_fput_emchar): Likewise.
4149         (Lstream_funget_emchar): Likewise.
4150         (copy_internal_to_external): Likewise.
4151         (copy_external_to_internal): Likewise.
4152
4153         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4154         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4155
4156         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4157         (BYTE_ASCII_P): Moved to mb-1byte.h.
4158
4159 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4160
4161         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4162
4163         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4164         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4165         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4166         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4167         (VALIDATE_CHARPTR_FORWARD): Likewise.
4168         (simple_charptr_emchar): Moved to mb-multibyte.h.
4169         (simple_set_charptr_emchar): Likewise.
4170         (simple_charptr_copy_char): Likewise.
4171         (non_ascii_charptr_emchar): Likewise.
4172         (non_ascii_set_charptr_emchar): Likewise.
4173         (non_ascii_charptr_copy_char): Likewise.
4174         (charptr_emchar): Moved to mb-*byte.h.
4175         (set_charptr_emchar): Likewise.
4176         (charptr_copy_char): Likewise.
4177
4178         * mb-1byte.h, mb-multibyte.h: New files.
4179
4180 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4181
4182         * mb-utf-8.h (MULTIBYTE): New macro.
4183         (MAX_EMCHAR_LEN): Moved from buffer.h.
4184         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4185
4186         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4187
4188         * mb-lb.h, multibyte.h: New files.
4189
4190         * char-1byte.h (Charset_ID): Moved from buffer.h.
4191         (MIN_LEADING_BYTE): Likewise.
4192         (LEADING_BYTE_ASCII): Likewise.
4193         (NUM_LEADING_BYTES): Likewise.
4194         (CHARSETP): Likewise.
4195         (CHARSET_BY_LEADING_BYTE): Likewise.
4196         (XCHARSET_LEADING_BYTE): Likewise.
4197         (XCHARSET_GRAPHIC): Likewise.
4198         (XCHARSET_COLUMNS): Likewise.
4199         (XCHARSET_DIMENSION): Likewise.
4200         (CHAR_CHARSET): Likewise.
4201         (CHAR_LEADING_BYTE): Likewise.
4202         (BREAKUP_CHAR): Likewise.
4203         (Vcharset_ascii): Likewise.
4204
4205         * buffer.h: Include multibyte.h unconditionally.
4206         (VALID_CHARPTR_P): Moved to multibyte.h.
4207         (ASSERT_VALID_CHARPTR): Likewise.
4208         (REAL_INC_CHARPTR): Likewise.
4209         (REAL_INC_CHARBYTIND): Likewise.
4210         (REAL_DEC_CHARPTR): Likewise.
4211         (INC_CHARPTR): Likewise.
4212         (INC_CHARBYTIND): Likewise.
4213         (DEC_CHARPTR): Likewise.
4214         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4215         (VALIDATE_CHARPTR_FORWARD): Likewise.
4216         (charptr_n_addr): Likewise.
4217         (MAX_EMCHAR_LEN): Moved to mb-*.h.
4218         (simple_charptr_emchar): Moved to multibyte.h.
4219         (simple_set_charptr_emchar): Likewise.
4220         (simple_charptr_copy_char): Likewise.
4221         (non_ascii_charptr_emchar): Likewise.
4222         (non_ascii_set_charptr_emchar): Likewise.
4223         (non_ascii_charptr_copy_char): Likewise.
4224         (charptr_emchar): Likewise.
4225         (set_charptr_emchar): Likewise.
4226         (charptr_copy_char): Likewise.
4227         (charptr_emchar_n): Likewise.
4228         (Charset_ID): Moved to char-1byte.h.
4229         (Vcharset_ascii): Likewise.
4230         (CHAR_CHARSET): Likewise.
4231         (CHAR_LEADING_BYTE): Likewise.
4232         (LEADING_BYTE_ASCII): Likewise.
4233         (NUM_LEADING_BYTES): Likewise.
4234         (MIN_LEADING_BYTE): Likewise.
4235         (CHARSETP): Likewise.
4236         (CHARSET_BY_LEADING_BYTE): Likewise.
4237         (XCHARSET_LEADING_BYTE): Likewise.
4238         (XCHARSET_GRAPHIC): Likewise.
4239         (XCHARSET_COLUMNS): Likewise.
4240         (XCHARSET_DIMENSION): Likewise.
4241         (BREAKUP_CHAR): Likewise.
4242
4243 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4244
4245         * character.h: Add document about interface for characters.
4246
4247         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
4248         (MAKE_CHAR): Delete comment about
4249         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
4250         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
4251         (BREAKUP_CHAR): Modify name of arguments.
4252         (CHAR_CHARSET): Modify name of argument.
4253
4254         * buffer.h: Delete document about Emchar accessors.
4255
4256 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4257
4258         * character.h (CHAR_INTP): Moved from buffer.h
4259         (CHAR_OR_CHAR_INTP): Likewise.
4260         (XCHAR_OR_CHAR_INT): Likewise.
4261         (CHECK_CHAR_COERCE_INT): Likewise.
4262
4263         * buffer.h (CHAR_INTP): Moved to character.h
4264         (CHAR_OR_CHAR_INTP): Likewise.
4265         (XCHAR_OR_CHAR_INT): Likewise.
4266         (CHECK_CHAR_COERCE_INT): Likewise.
4267
4268 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4269
4270         * character.h:
4271         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
4272         - Include char-1byte.h, char-lb.h or char-ucs.h.
4273
4274         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
4275
4276         * buffer.h: Include character unconditionally.
4277         (valid_char_p): Moved to char-*.h.
4278         (non_ascii_valid_char_p): Moved to char-lb.h.
4279
4280         * char-1byte.h, char-lb.h, char-ucs.h: New files.
4281
4282 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4283
4284         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
4285         in UTF-2000 because it is not ported yet and not to use
4286         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
4287         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
4288         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
4289
4290         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
4291         (CHAR_ASCII_P): Moved from character.h.
4292
4293         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
4294         (CHAR_ASCII_P): Likewise.
4295         (CHAR_FIELD1_MASK): Deleted.
4296         (CHAR_FIELD2_MASK): Deleted.
4297         (CHAR_FIELD3_MASK): Deleted.
4298         (MAX_CHAR_BASIC_LATIN): New macro.
4299         (CHAR_FIELD1): Deleted.
4300         (CHAR_FIELD2_INTERNAL): Deleted.
4301         (CHAR_FIELD3_INTERNAL): Deleted.
4302         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
4303         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
4304         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
4305         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
4306         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
4307         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
4308         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
4309         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
4310         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
4311         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
4312         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
4313         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
4314         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
4315         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
4316         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
4317         (MIN_CHAR_COMPOSITION): Deleted.
4318         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
4319         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
4320
4321 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
4322
4323         * buffer.h: Include mb-utf-8.h in UTF-2000.
4324
4325         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
4326
4327         * mb-utf-8.h: New file.
4328
4329 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
4330
4331         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
4332         instead of `int'.
4333
4334         * mule-charset.h, buffer.h (Charset_ID): New type.
4335
4336 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4337
4338         * mule-canna.c (c2mu): Use `MAKE_CHAR',
4339         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
4340         instead of `MULE_CHAR_PRIVATE_OFFSET',
4341         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
4342         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
4343         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
4344
4345         * character.h (Vcharset_japanese_jisx0212): New variable
4346         definition.
4347
4348 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4349
4350         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
4351         (charset_by_attributes): Delete array about direction.
4352         (latin_a_char_to_charset): New variable in UTF-2000.
4353         (latin_a_char_to_byte1): New variable in UTF-2000.
4354         (latin_a_char_to_byte2): New variable in UTF-2000.
4355         (Qucs_bmp): New variable.
4356         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
4357         `Bufbyte'.
4358         (next_allocated_2_byte_leading_byte): Likewise.
4359         (non_ascii_set_charptr_emchar): Likewise.
4360         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
4361         `CHARSET_TYPE_256X256' in UTF-2000; modify for
4362         `charset_by_attributes'.
4363         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
4364         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
4365         and `CHARSET_BY_LEADING_BYTE'.
4366         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
4367         `utf-2000-version' to `vars_of_mule_charset'.
4368         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
4369         define `leading-code-private-11' in UTF-2000; move setting of
4370         `utf-2000-version' from `syms_of_mule_charset'.
4371         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
4372         UTF-2000.
4373
4374         * character.h (Charset_ID): New type.
4375         (LEADING_BYTE_UCS_BMP): New macro.
4376         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
4377         (CHARSET_ID_OFFSET_94): New macro.
4378         (MIN_CHARSET_ID_PRIVATE_94): New macro.
4379         (MAX_CHARSET_ID_PRIVATE_94): New macro.
4380         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
4381         final-byte.
4382         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
4383         (LEADING_BYTE_LATIN_JISX0201): Likewise.
4384         (CHARSET_ID_OFFSET_96): New macro.
4385         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
4386         CHARSET_ID_OFFSET_96 and final-byte.
4387         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
4388         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
4389         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
4390         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
4391         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
4392         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
4393         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
4394         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
4395         (LEADING_BYTE_THAI_TIS620): Likewise.
4396         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
4397         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
4398         (CHARSET_ID_OFFSET_94x94): New macro.
4399         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
4400         CHARSET_ID_OFFSET_94x94 and final-byte.
4401         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
4402         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
4403         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
4404         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
4405         (LEADING_BYTE_CHINESE_GB2312): Likewise.
4406         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
4407         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
4408         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
4409         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
4410         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
4411         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
4412         (CHARSET_TYPE_128X128): New macro.
4413         (CHARSET_TYPE_256X256): New macro.
4414         (XCHARSET_PRIVATE_P): Delete unconditionally.
4415         (charset_by_attributes): Delete array about direction.
4416         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4417         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4418         (MIN_CHAR_94): New macro.
4419         (MAX_CHAR_94): New macro.
4420         (MIN_CHAR_96): New macro.
4421         (MAX_CHAR_96): New macro.
4422         (MIN_CHAR_94x94): New macro.
4423         (MAX_CHAR_94x94): New macro.
4424         (MIN_CHAR_96x96): New macro.
4425         (MAX_CHAR_96x96): New macro.
4426         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4427         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4428         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4429         - 32)'.
4430         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4431         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4432         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4433         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4434         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4435         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4436         `XCHARSET_LEADING_BYTE' to make code-point.
4437         (latin_a_char_to_charset): New variable.
4438         (latin_a_char_to_byte1): New variable.
4439         (latin_a_char_to_byte2): New variable.
4440         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4441         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4442         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4443
4444         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4445         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4446         (find_charsets_in_emchar_string): Likewise.
4447         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4448
4449         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4450         `int'.
4451         (decode_coding_iso2022): Likewise.
4452
4453         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4454         of `unsigned char'.
4455
4456         * redisplay.c (redisplay_text_width_emchar_string): Use
4457         `Charset_ID' instead of `unsigned char'.
4458         (redisplay_frame_text_width_string): Likewise.
4459
4460         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4461         `unsigned char'.
4462
4463         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4464         instead of `unsigned char'.
4465         (face_cachel_charset_font_metric_info): Likewise.
4466
4467         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
4468         (get_non_ascii_char_table_value): Likewise.
4469         (get_char_table): Likewise.
4470         (put_char_table): Likewise.
4471         (map_over_other_charset): Likewise.
4472         (map_char_table): Likewise.
4473
4474         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
4475         instead of `unsigned char'.
4476
4477 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
4478
4479         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
4480         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
4481
4482         * mule-charset.c (leading_code_private_11): Don't define in
4483         UTF-2000.
4484
4485         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
4486         in UTF-2000 because it is not ported yet and not to use
4487         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
4488
4489 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
4490
4491         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
4492
4493 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4494
4495         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
4496         in UTF-2000.
4497
4498         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
4499         of unsigned char to store leading-byte.
4500
4501         * chartab.c (get_non_ascii_char_table_value): Don't use
4502         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
4503
4504         * file-coding.c (encode_coding_big5): Delete bogus implementation
4505         in UTF2000.
4506
4507         * character.h (LEADING_BYTE_*): Delete definition for
4508         non-UTF-2000.
4509         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
4510         (LEADING_BYTE_PREFIX_P): Deleted.
4511         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
4512         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
4513         (BUFBYTE_LEADING_BYTE_P): Deleted.
4514         (CHARSET_PRIVATE_P): Deleted unconditionally.
4515         (rep_bytes_by_first_byte): Deleted unconditionally.
4516         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
4517         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
4518         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4519         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
4520         (CHAR_FIELD2): Deleted.
4521         (CHAR_FIELD3): Deleted.
4522         (MAKE_CHAR): Delete definition for non-UTF-2000.
4523         (BREAKUP_CHAR_1_UNSAFE): Deleted.
4524         (breakup_char_1): New implementation.
4525         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
4526         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
4527
4528 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4529
4530         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
4531         condition.
4532
4533 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4534
4535         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
4536         (CHARSET_PRIVATE_P): Likewise.
4537         (XCHARSET_PRIVATE_P): Likewise.
4538         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
4539
4540         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
4541         UTF2000.
4542         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
4543
4544 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4545
4546         * character.h (LEADING_BYTE_*): Changed in UTF2000.
4547         (NUM_LEADING_BYTES): Changed from 128 to 256.
4548         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4549         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
4550         UTF2000.
4551         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4552
4553         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
4554         UTF2000.
4555         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
4556         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
4557         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
4558         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
4559         (Qchinese_cns11643_3): New variable in UTF2000.
4560         (Qchinese_cns11643_4): New variable in UTF2000.
4561         (Qchinese_cns11643_5): New variable in UTF2000.
4562         (Qchinese_cns11643_6): New variable in UTF2000.
4563         (Qchinese_cns11643_7): New variable in UTF2000.
4564         (syms_of_mule_charset): Define `chinese-cns11643-3',
4565         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4566         and `chinese-cns11643-7' in UTF2000.
4567         (vars_of_mule_charset): Initialize
4568         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
4569         + 1 in UTF2000.
4570         (complex_vars_of_mule_charset): Setup charset
4571         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
4572         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
4573
4574 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4575
4576         * mule-charset.c: Move setting for `leading-code-private-11' from
4577         `syms_of_mule_charset' to `vars_of_mule_charset'.
4578
4579 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4580
4581         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
4582         and `NUM_LEADING_BYTES' in assert.
4583
4584 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4585
4586         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
4587         instead of 128.
4588         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
4589         `NUM_LEADING_BYTES' instead of 128.
4590
4591 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4592
4593         * mule-charset.h (charset_by_leading_byte): Use
4594         `NUM_LEADING_BYTES' instead of 128.
4595         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
4596
4597         * mule-charset.c (charset_by_leading_byte): Use
4598         `NUM_LEADING_BYTES' instead of 128.
4599         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
4600
4601         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
4602         128.
4603
4604 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4605
4606         * mule-charset.c (syms_of_mule_charset): Update to
4607         0.4 (Shin-Imamiya).
4608
4609 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4610
4611         * file-coding.c (encode_coding_sjis): New implementation for
4612         UTF2000.  (decode_coding_sjis): Ditto.
4613
4614 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4615
4616         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
4617         Don't define in UTF2000.
4618
4619         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
4620         defined.
4621
4622         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4623         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
4624         MULE.
4625
4626 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4627
4628         * config.h.in (CHAR_IS_UCS4): New macro.
4629
4630         * mule-charset.c (rep_bytes_by_first_byte): Modify for
4631         conventional MULE representation.
4632         (syms_of_mule_charset): Update to 0.3 (Imamiya).
4633
4634         * mule-charset.h: Reverted to original.
4635
4636         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4637         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
4638         "mule-charset.h" if CHAR_IS_UCS4 is defined.
4639
4640         * character.h: New file.
4641
4642         * file-coding.c (Fmake_coding_system): Set 1 to
4643         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
4644         defined.
4645         (encode_coding_no_conversion): New implementation for UTF2000.
4646
4647         * file-coding.h (struct Lisp_Coding_System): Add new member
4648         `fixed.size'.
4649
4650 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
4651
4652         * file-coding.c (decode_coding_iso2022): Code-point arguments of
4653         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
4654         (encode_coding_iso2022): New implementation for UTF2000.
4655
4656 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4657
4658         * mule-canna.c (c2mu): New implementation for UTF2000.
4659         (m2c): Likewise.
4660
4661 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4662
4663         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
4664
4665 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4666
4667         * file-coding.c (reset_encoding_stream): Set 0 to
4668         `str->iso2022.current_char_boundary' in UTF2000.
4669         (encode_utf8): Don't define in UTF2000.
4670         (encode_coding_utf8): New implementation for UTF-8 representation
4671         of UTF2000.
4672         (complex_vars_of_file_coding): Define coding-system `utf-8'.
4673
4674 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4675
4676         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
4677
4678         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
4679         UTF2000.
4680         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4681
4682         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
4683
4684         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
4685         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
4686         as UTF-8 in UTF2000.
4687         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
4688         (non_ascii_valid_char_p): Don't define in UTF2000.
4689         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
4690         (Lstream_get_emchar_1): Likewise.
4691         (utf-2000-version): New variable in UTF2000.
4692
4693         * lread.c (read_escape): Add new reader `u'.
4694
4695         * insdel.c (three_to_one_table): Don't define in UTF2000.
4696         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
4697         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4698         UTF2000.
4699         (bytind_to_bufpos_func): Likewise.
4700         (buffer_mule_signal_inserted_region): Likewise.
4701         (vars_of_insdel): Don't initialize `three_to_one_table'.
4702         (init_buffer_text): Use `buf->text->mule_size' instead of
4703         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4704         UTF2000.
4705
4706         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
4707         UTF-8 representation in UTF2000.
4708         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
4709         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
4710         (decode_coding_iso2022): Don't define local variable `lb' in
4711         UTF2000; don't use LEADING_BYTE in UTF2000; use
4712         `DECODE_ADD_UCS_CHAR' in UTF2000.
4713         (convert_to_external_format): Decode as UTF-8 in UTF2000.
4714
4715         * config.h.in (UTF2000): New macro.
4716
4717         * buffer.h (struct buffer_text): Add new member `mule_size' and
4718         don't add `mule_shifter' and `mule_three_p' in UTF2000.
4719         (valid_char_p): Return always 1 in UTF2000.
4720         (MAX_EMCHAR_LEN): 6 in UTF2000.
4721         (three_to_one_table): Don't define in UTF2000.
4722         (real_bufpos_to_bytind): Modify for UTF-8 representation in
4723         UTF2000.
4724         (real_bytind_to_bufpos): Likewise.
4725
4726         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
4727
4728 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4729
4730         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
4731         representation change.
4732         (Vutf_2000_version): New variable.
4733         (leading_code_private_11): New variable.
4734         (syms_of_mule_charset): Add new variables `utf-2000-version' and
4735         `leading-code-private-11'.
4736
4737         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
4738         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
4739         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
4740         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
4741         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
4742         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
4743         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
4744         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
4745         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
4746         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
4747         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
4748         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
4749         (MIN_CHAR_GREEK): New macro.
4750         (MAX_CHAR_GREEK): New macro.
4751         (MIN_CHAR_CYRILLIC): New macro.
4752         (MAX_CHAR_CYRILLIC): New macro.
4753         (MIN_CHAR_HEBREW): New macro.
4754         (MAX_CHAR_HEBREW): New macro.
4755         (MIN_CHAR_THAI): New macro.
4756         (MAX_CHAR_THAI): New macro.
4757         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
4758         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
4759         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
4760         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
4761         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
4762         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
4763         (CHAR_FIELD2): New inline function.
4764         (CHAR_FIELD3): New inline function.
4765         (MULE_CHAR_PRIVATE_OFFSET): New macro.
4766         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
4767         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
4768         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
4769         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
4770         (MIN_CHAR_COMPOSITION): Likewise.
4771         (CHAR_LEADING_BYTE): Modified for character representation change.
4772         (MAKE_CHAR): Likewise.
4773
4774         * lisp.h (Vcharset_latin_iso8859_1): New variable.
4775         (Vcharset_greek_iso8859_7): Likewise.
4776         (Vcharset_cyrillic_iso8859_5): Likewise.
4777         (Vcharset_hebrew_iso8859_8): Likewise.
4778         (Vcharset_thai_tis620): Likewise.
4779         (Vcharset_katakana_jisx0201): Likewise.
4780
4781 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
4782
4783         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
4784
4785 2002-12-14  Ben Wing  <ben@xemacs.org>
4786
4787         * callint.c: Declaration error.
4788         * dumper.c (pdump):
4789         * dumper.c (pdump_load): Warning fix.
4790         * process.c: GCPRO error.
4791         * glyphs.c (unmap_subwindow):
4792         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
4793         * event-stream.c (maybe_kbd_translate): Wrong argument to
4794         character_to_event().
4795
4796         * alloc.c (garbage_collect_1):
4797         * emacs.c:
4798         * emacs.c (debug_can_access_memory):
4799         * emacs.c (fatal_error_signal):
4800         * emacs.c (mswindows_handle_hardware_exceptions):
4801         * emacs.c (main_1):
4802         * emacs.c (main):
4803         * emacs.c (assert_failed):
4804         * emacs.c (syms_of_emacs):
4805         * lisp.h:
4806         * print.c:
4807         * print.c (std_handle_out_va):
4808         * print.c (write_string_to_stdio_stream):
4809         * print.c (write_fmt_string):
4810         * print.c (printing_badness):
4811         * print.c (printing_major_badness):
4812         * print.c (print_internal):
4813         * print.c (debug_print_no_newline):
4814         * print.c (debug_backtrace):
4815         Be more defensive in handling bad values when printing.  Add code
4816         from trunk involving inhibit_non_essential_printing_operations.
4817         When going down or in debug_print(), don't do external conversion
4818         and such and try really, really hard when printing to avoid core
4819         dumping.  Add force-debugging-signal, debug_break().
4820
4821 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
4822
4823         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
4824         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
4825
4826 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
4827
4828         * database.c: Fix open_database. Berkeley DB API has changed in
4829         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
4830
4831 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
4832
4833         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
4834
4835 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
4836
4837         * event-Xt.c (Xt_timeout):
4838         (Xt_timeout_callback):
4839         (emacs_Xt_add_timeout):
4840         (emacs_Xt_remove_timeout):
4841         (Xt_timeout_to_emacs_event):
4842         Turn completed_timeouts from a stack into a queue.  Fixes
4843         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
4844
4845 2002-11-07  Wolfram Gloger  <wg@malloc.de>
4846
4847         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
4848         * emacs.c (main): Assert that mmap'd allocation is disabled.
4849
4850 2002-10-14  Andy Piper  <andy@xemacs.org>
4851
4852         * glyphs-widget.c (layout_query_geometry): add in fiddle
4853         factor. Include border text in width layout calculation.
4854         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
4855
4856 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
4857
4858         * XEmacs 21.4.10 "Military Intelligence" is released.
4859
4860 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
4861
4862         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
4863         using the NAS private array SoundFileInfo that no longer exists in
4864         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
4865         and earlier.  This is broken for some versions between 1.5a and
4866         1.5f.
4867
4868 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
4869
4870         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
4871
4872         * emacs.c (shut_down_emacs): Improve crash message.
4873
4874 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
4875
4876         * file-coding.c (determine_real_coding_system): Check for coding
4877         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
4878         shebangs and Python PEP 263.
4879
4880 2002-10-08  Andy Piper  <andy@xemacs.org>
4881
4882         * glyphs-widget.c (layout_query_geometry): only resize dynamically
4883         if static sizes haven't been set.
4884
4885 2002-08-30  Mike Alexander  <mta@arbortext.com>
4886
4887         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
4888         to close a socket.
4889
4890 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
4891
4892         * callproc.c (child_setup): 21.4 doesn't have retry_close.
4893
4894 2002-09-20  Mike Sperber <mike@xemacs.org>
4895
4896         (This partially gets back my patch from 2002-07-20 without the
4897         bug.)
4898         * callproc.c (child_setup): Remove Ben's comment noting confusion
4899         over the file descriptors >= 3: close_process_descs() doesn't
4900         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
4901         * process-unix.c (unix_create_process): Call
4902         begin_dont_check_for_quit to inhibit unwanted interaction (and
4903         thus breaking of X event synchronicity) in the child.
4904
4905 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
4906
4907         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
4908         widget.
4909
4910 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
4911
4912         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
4913         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
4914         the xemacs process did not exit, but looped infinitely here.  This
4915         fixes that problem.
4916
4917 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
4918
4919         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
4920         (find_context): Improve comments.
4921
4922         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
4923         (re_match_2): An XCHAR_TABLE operation was missing.
4924
4925         Many of the following changes were inspired by Andy Piper's (now
4926         obsolete) patch to make syntax-table text property lookup optional.
4927
4928         [Documentation]
4929
4930         * syntax.h (top level): Document semantics of syntax flags.
4931         * syntax.c (comstr_start, Fforward_comment): Improve comments.
4932         * syntax.c, syntax.h (top level): Document syntax cache better in
4933         comments.
4934
4935         [Instrument syntax caching (temporary change)]
4936
4937         * syntax.h (enum syntax_cache_statistics_functions, struct
4938         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
4939         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
4940         * syntax.c (scan_words, Fforward_comment, scan_lists,
4941         Fbackward_prefix_characters):
4942         * font-lock.c (find_context):
4943         Use them to instrument syntax caching. 
4944         * syntax.c (struct syntax_cache_statistics, scs_statistics,
4945         syntax_cache_statistics_function_names): New type and variables.
4946         * syntax.c (update_syntax_cache): Update and report statistics.
4947
4948         [Major syntax cache optimizations]
4949
4950         syntax.c (lookup_syntax_properties): Default off.
4951
4952         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
4953         * syntax.c (update_syntax_cache):
4954         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
4955
4956         [Minor syntax cache optimizations and code clarifications]
4957
4958         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
4959         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
4960         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
4961         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
4962         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
4963         (Code clarification.)
4964
4965         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
4966         scan_lists): Compute code from syncode, use Boolean macros instead
4967         of redundant masking operations.  (Code clarification; any decent
4968         compiler can do this optimization.)
4969
4970         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
4971         for clarity.
4972
4973         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
4974         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
4975         use F*_single_property_change instead of F*_extent_change.
4976         Currently F*_single_property_change is _much_ less efficient.
4977
4978         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
4979         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
4980         syntax_cache.object properly, don't leave Qt or Qnil.
4981         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
4982         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
4983         tests for Qt or Qnil.
4984
4985 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
4986
4987         * redisplay.c (point_in_line_start_cache): 
4988         * extents.c (print_extent_1):
4989         Fix warnings.
4990
4991         * extents.c (Fset_extent_property): Document `syntax-table' property.
4992
4993         * extents.h (Fnext_single_property_change): EXFUN it.
4994
4995 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
4996
4997         * search.c (clear_unused_search_regs): New static function.
4998         (search_buffer): 
4999         (simple_search): 
5000         (boyer_moore):
5001         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
5002         Minor clarifications in comments.
5003
5004         * regex.c (re_match_2_internal): Ensure no stale submatches.
5005
5006 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5007
5008         * event-Xt.c (enqueue_focus_event): Add missing prototype.
5009
5010 2002-08-29  Jerry James  <james@xemacs.org>
5011
5012         * lisp.h: structrures -> structures.
5013
5014 2002-06-03  Andy Piper  <andy@xemacs.org>
5015
5016         * frame.c (frame_conversion_internal): add conversion appropriate
5017         for setting frame dimensions in pixels.
5018
5019         * console.h (struct console_methods): add device-specific widget
5020         layout functions.
5021
5022         * emacs.c (main_1): initialize glyph vars.
5023
5024         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
5025         (handle_focus_event_2): new function. Allow focus to
5026         be set to a particular window and widget.
5027         (enqueue_focus_event): new function. Create a
5028         synthetic focus event.
5029         (emacs_Xt_handle_magic_event): call
5030         handle_focus_event_2.
5031
5032         * frame.c (Fset_frame_pixel_height): new function. Allow
5033         pixel-based sizing. Does the right thing on character-oriented
5034         displays.
5035         (Fset_frame_pixel_width): ditto.
5036         (Fset_frame_pixel_size): ditto.
5037         (syms_of_frame): declare.
5038
5039         * general-slots.h: add :vertically-justify and
5040         :horizontally-justify.
5041
5042         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
5043         (mswindows_widget_border_width): new function.
5044         (mswindows_combo_box_instantiate): set border widths.
5045         (console_type_create_glyphs_mswindows): declare.
5046
5047         * glyphs-widget.c:
5048         (check_valid_justification): allow vertical and horizontal
5049         justification.
5050         (widget_border_width): new function. Call device methods.
5051         (widget_instance_border_width): ditto.
5052         (logical_unit_height): new function. Determine the height of a
5053         logical-unit. Logical units are intended to provide grid-like
5054         layout for subcontrols in a layout. If the layout is
5055         :vertically-justify top then subcontrols will be positioned on
5056         logical-unit boundaries, thus allowing adjacent subcontrols to
5057         line up.
5058         (widget_logical_unit_height): ditto for widgets.
5059         (redisplay_widget): misc cleanup.
5060         (widget_spacing): new function. Call device specific
5061         methods. Intended to be the default gap between adjacent widgets.
5062         (widget_query_geometry): use new spacing functions to determine
5063         appropriate geometry.
5064         (initialize_widget_image_instance): initialize horizontal and
5065         vertical justification.
5066         (widget_instantiate): use logica-units where appropriate for
5067         sizing large widgets.
5068         (button_query_geometry): use widget_instance_border_width.
5069         (tree_view_query_geometry): ditto.
5070         (tab_control_query_geometry): ditto.
5071         (edit_field_query_geometry): new function.
5072         (layout_update): pick up :justify, :horizontally-justify and
5073         :vertically-justify none of which worked previously. :justify is
5074         used as a fallback for both horizontal and vertical justification.
5075         (layout_query_geometry): use logical units to size appropriately.
5076         (layout_layout): ditto.
5077         (Fwidget_logical_to_character_width): new function. Allow users to
5078         convert from logical units to characters so that frame sizes can
5079         be set appropriately.
5080         (Fwidget_logical_to_character_height): ditto.
5081         (syms_of_glyphs_widget): declare.
5082         (image_instantiator_edit_fields): add edit_field_query_geometry.
5083         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
5084         :horizontally-justify.
5085         (specifier_vars_of_glyphs_widget): new function. Declare
5086         Vwidget_border_width which is not yet used.
5087
5088         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
5089         (x_widget_border_width): new function.
5090         (x_widget_instantiate): create a sensible name for widgets.
5091         (console_type_create_glyphs_x): declare x_widget_border_width.
5092
5093         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
5094         (struct Lisp_Image_Instance): add :vertically-justify and
5095         :horizontally-justify.
5096         (LAYOUT_JUSTIFY_TOP): new.
5097         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
5098         (ROUND_UP): new macro. Round argument up to next integral
5099         interval.
5100
5101         * redisplay-output.c (redisplay_output_layout): misc formatting.
5102
5103         * symsinit.h: declare specifier_vars_of_glyphs_widget.
5104
5105 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
5106
5107         * XEmacs 21.4.9 "Informed Management" is released.
5108
5109 2002-08-19  Andy Piper  <andy@xemacs.org>
5110
5111         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
5112         win32 format.
5113
5114         * realpath.c (xrealpath): normalize drive spec also so that dir
5115         sep chars are not mixed on cygwin.
5116
5117 2002-08-06  Jerry James  <james@xemacs.org>
5118
5119         * window.c (Fsplit_window): Count only half of the divider width
5120         against the left window when splitting horizontally. 
5121
5122 2002-06-24  Andy Piper  <andy@xemacs.org>
5123
5124         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
5125         toolbar was cleared.
5126
5127         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
5128         function. Split out from mswindows_output_frame_toolbars.
5129         (mswindows_output_frame_toolbars): move clear pieces to
5130         mswindows_output_frame_toolbars.
5131
5132         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
5133         out from gtk_output_frame_toolbars.
5134         (gtk_output_frame_toolbars): move clear pieces to
5135         gtk_clear_frame_toolbars.
5136
5137         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
5138         the frame is cleared. How this ever worked before is a mystery.
5139         (x_output_frame_toolbars): Only output toolbars.
5140         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
5141
5142         * gutter.c (update_gutter_geometry):
5143         Mark frame layout changed.
5144         (update_frame_gutter_geometry, update_frame_gutters):
5145         Respect frame_layout_changed.
5146
5147         * console.h (struct console_methods): add
5148         clear_frame_toolbars_method.
5149
5150         * redisplay.c (redisplay_frame): call
5151         update_frame_toolbars_geometry and re-order update_frame_toolbars.
5152
5153         * toolbar.h: declare update_frame_toolbars_geometry.
5154
5155         * toolbar.c (update_frame_toolbars_geometry): new function. Split
5156         out from update_frame_toolbars.  Call clear_frame_toolbars.
5157         (update_frame_toolbars): only output, do not change geometry.
5158
5159         * redisplay.c: add frame_layout_changed.
5160
5161         * redisplay.h: add frame_layout_changed.
5162         (CLASS_RESET_CHANGED_FLAGS): set it.
5163         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
5164         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
5165         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
5166
5167         * device.h (struct device): add frame_layout_changed.
5168         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
5169
5170         * frame.h (struct frame): add frame_layout_changed.
5171         (MARK_FRAME_LAYOUT_CHANGED): new.
5172
5173 2002-06-30  Mike Alexander  <mta@arbortext.com>
5174
5175         * event-msw.c (mswindows_need_event): Don't wait for a new message
5176         if the queue is not empty.  Suggested by Paul Moore.
5177
5178 2002-06-12  Andy Piper  <andy@xemacs.org>
5179
5180         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
5181         for printing on accurately.
5182
5183 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
5184
5185         * event-msw.c (mswindows_wnd_proc): Add a handler for the
5186         WM_ACTIVATE message. Make sure that the frame is visible if the
5187         window is visible. This seemss to fix the problem where XEmacs
5188         appears to freeze after switching desktops with certain virtual
5189         window managers.
5190         (debug_output_mswin_message): Added code to output message
5191         parameters for WM_WINDOWPOSCHANGED, 
5192         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
5193
5194 2002-05-25  Andy Piper  <andy@xemacs.org>
5195
5196         * select-x.c (vars_of_select_x): Fix docstring of
5197         x-selection-strict-motif-ownership
5198
5199 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5200
5201         * keymap.c (get_keymap):
5202         Add comment about do_autoload GCPROs own args.
5203
5204 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5205
5206         * bytecode.c (execute_optimized_program): check_opcode ifdef
5207         ERROR_CHECK_BYTE_CODE.
5208
5209 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5210
5211         Thanks to Ben Wing and Michael Sperber.
5212
5213         * eval.c (Fcommand_execute):
5214         (Feval):
5215         (Ffuncall):
5216         (Fmacroexpand_internal):
5217         (function_argcount):
5218         callint.c (Fcall_interactively):
5219         Add comment about do_autoload GCPROs own args.
5220
5221         * (do_autoload): GCPRO both args as well as local Lisp_Object.
5222
5223         * eval.c (Ffuncall): Extra braces to placate GCC.
5224
5225 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
5226
5227         * backtrace.h (grow_specpdl):
5228         (SPECPDL_RESERVE):
5229         * EmacsFrame.c (EmacsFrameSetValues):
5230         * eval.c (grow_specpdl):
5231         * ExternalShell.c (hack_event_masks_1):
5232         * glyphs-x.c (convert_EImage_to_XImage): 
5233         (x_finalize_image_instance):
5234         * ralloc.c (page_size):
5235         (r_alloc_sbrk):
5236         * xgccache.c (gc_cache_hash):
5237         Fix unsigned comparison warnings.
5238
5239 2002-07-29  Jerry James  <james@xemacs.org>
5240
5241         * lread.c (locate_file): Any nonnegative return value indicates
5242         success if MODE is nonnegative.
5243
5244 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
5245
5246         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
5247         argument. 
5248
5249 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
5250
5251         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
5252
5253         * dumper.c (pdump_get_indirect_count):
5254         (pdump_scan_by_alignment):
5255         (pdump_dump_root_struct_ptrs):
5256         (pdump_dump_rtables):
5257         (pdump_dump_root_objects):
5258         (pdump):
5259         * nas.c (WaveOpenDataForReading):
5260         * fns.c (print_bit_vector):
5261         * font-lock.c (SINGLE_SYNTAX_STYLE):
5262         * glyphs.c (check_for_ignored_expose):
5263         (find_matching_subwindow):
5264         * glyphs-eimage.c:
5265         * imgproc.c (get_histogram):
5266         * redisplay.c (point_in_line_start_cache):
5267         * redisplay-output.c (redisplay_unmap_subwindows):
5268         * symbols.c (defsymbol_massage_name_1):
5269         (defkeyword_massage_name):
5270         (deferror_massage_name_and_message):
5271         * redisplay-x.c (x_output_string): 
5272         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
5273         * frame.h (struct frame):
5274         * filelock.c (current_lock_owner):
5275         * doprnt.c (emacs_doprnt_1):
5276         * lisp.h (struct Lisp_Bit_Vector):
5277         (DO_REALLOC):
5278         Fix warnings.
5279
5280 2002-02-13  Ben Wing  <ben@xemacs.org>
5281
5282         * event-stream.c (reset_key_echo):
5283         * event-stream.c (reset_this_command_keys):
5284         * event-stream.c (execute_command_event):
5285         If console is dead as a result of C-x 5 0, then post-command stuff
5286         needs to be careful and do only non-console-specific stuff.
5287
5288 2002-07-01  Mike Sperber <mike@xemacs.org>
5289
5290         * process-unix.c (unix_send_process): Mark coding_outstream as
5291         non-open upon SIGPIPE.
5292
5293         * event-stream.c (Fnext_event): Reorder switch cases to something
5294         that makes sense.
5295
5296 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
5297
5298         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
5299         Don't bogusly reinitialize ascii_character property.
5300
5301 2002-07-08  Mike Sperber <mike@xemacs.org>
5302
5303         * process.c (Fstart_process_internal): Do error checking before we
5304         fork off the child, so the child can't muck with the state of the
5305         parent.
5306
5307 2002-07-08  Mike Sperber <mike@xemacs.org>
5308
5309         * ralloc.c (init_ralloc): Allocate properly for pdump.
5310
5311 2002-06-12  Andy Piper  <andy@xemacs.org>
5312
5313         * glyphs.c (query_string_geometry): check the string.
5314
5315         * glyphs-widget.c (widget_logical_unit_height): cope with nil
5316         widget names.
5317
5318 2002-06-17  Jerry James  <james@xemacs.org>
5319
5320         * sysdll.c: Remove RTLD_GLOBAL initialization.
5321         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
5322
5323 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
5324
5325         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
5326
5327 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
5328
5329         * sysdep.c (sys_rename): Make sys_rename work for the case where
5330         Windows rename sets errno to EACCES if target file exists.
5331
5332 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
5333
5334         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5335         Fix detection of metric units to work on Win95
5336
5337 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
5338
5339         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
5340
5341 2002-04-25  Andy Piper  <andy@xemacs.org>
5342
5343         * redisplay.c (create_text_block): Remove extra comment trailer.
5344
5345 2002-04-24  Andy Piper  <andy@xemacs.org>
5346
5347         * redisplay.c (create_text_block): Don't actually add propagation
5348         data if the line ends after we have added a glyph.
5349
5350 2002-04-22  Andy Piper  <andy@xemacs.org>
5351
5352         * extents.c (extent_fragment_update): check for glyphs we have
5353         previously displayed.
5354         * extents.c (print_extent_1): warning removal.
5355         * extents.h: change prototype.
5356         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
5357         widths correctly for wide glyphs.
5358         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
5359         * redisplay.c (prop_type): add PROP_GLYPH.
5360         * redisplay.c (struct prop_block): add glyph type
5361         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
5362         to the propagation data.
5363         * redisplay.c (create_text_block): if there is a glyph in the
5364         propagation data use it to salt extent_fragment_update.
5365         * redisplay.c (create_string_text_block): ditto.
5366
5367 2002-04-13  Nix  <nix@esperi.demon.co.uk>
5368
5369         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
5370         * redisplay-output.c (compare_runes): Compare them.
5371         * redisplay.c: Update copyright date.
5372         * redisplay.c (pos_data): Add need_baseline_computation field.
5373         * redisplay.c (add_glyph_rune): Update ascent, descent, and
5374         need_baseline_computation; zero yoffset. Set max_pixmap_height
5375         for all pixmaps, not just automatically positioned ones.
5376         * redisplay.c (calculate_yoffset): New, compute yoffset values.
5377         * redisplay.c (calculate_baseline): New, compute textual baseline.
5378         * redisplay.c (add_glyph_rune): Call them.
5379         * redisplay.c (create_text_block): Likewise.
5380         * redisplay.c (create_overlay_glyph_block): Likewise.
5381         * redisplay.c (add_margin_runes): Likewise.
5382         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
5383
5384         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
5385         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
5386         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
5387         * redisplay-msw.c (mswindows_output_string): Likewise.
5388         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
5389         * redisplay-gtk.c (gtk_output_display_block): Likewise.
5390         * redisplay-x.c (x_output_display_block): Likewise.
5391
5392 2002-03-28  Ben Wing  <ben@xemacs.org>
5393
5394         * redisplay.c: Fixed bug in redisplay
5395         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
5396         and down of the lines, since they're bigger than the line
5397         size. (It was seen most obviously when there's a horizontal scroll
5398         bar, e.g. do C-h a glyph or something like that.) The problem was
5399         that the glyph-contrib-p setting on glyphs was ignored even if it
5400         was set properly, which it wasn't until now.
5401
5402 2002-04-24  Andy Piper  <andy@xemacs.org>
5403
5404         * lisp.h (Dynarr_end): Fix definition.
5405
5406 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
5407
5408         * redisplay.c (mark_redisplay): Remove call to
5409         update_frame_window_mirror.
5410
5411 2001-11-15  Andy Piper  <andy@xemacs.org>
5412
5413         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
5414         cygwin (again).
5415
5416 2002-02-13  Andy Piper  <andy@xemacs.org>
5417
5418         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
5419         we did in fact enqueue the XM_MAPFRAME event.
5420
5421 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
5422
5423         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
5424         to fix problem switching between virtual desktops under virtuawin
5425         virtual window manager.
5426
5427 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
5428
5429         * event-msw.c: Typo fix.
5430         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
5431         magic XM_MAPFRAME event has been sent.
5432
5433 2001-11-23  Andy Piper  <andy@xemacs.org>
5434
5435         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
5436
5437 2001-11-21  Andy Piper  <andy@xemacs.org>
5438
5439         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
5440         mouse events outside the frame.
5441
5442 2002-03-20  Andy Piper  <andy@xemacs.org>
5443
5444         * menubar-msw.c (mswindows_popup_menu): warning removal.
5445         * dialog-msw.c (dialog_popped_down): ditto.
5446
5447 2001-12-11  Andy Piper  <andy@xemacs.org>
5448
5449         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
5450         * dialog-msw.c (mswindows_make_dialog_box_internal): set
5451         popup_up_p.
5452         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
5453         * menubar-msw.c (mswindows_handle_wm_command): ditto.
5454         * menubar-msw.c (mswindows_popup_menu): ditto.
5455
5456 2001-10-29  Andy Piper  <andy@xemacs.org>
5457
5458         * dialog-msw.c (handle_directory_dialog_box): quit if the user
5459         cancels.
5460
5461 2002-01-03  Andy Piper  <andy@xemacs.org>
5462
5463         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
5464         letters.
5465         (xrealpath): ditto.
5466
5467 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
5468
5469         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
5470         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
5471         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5472         Detect and handle case where machine is set up for metric units
5473
5474 2002-04-02  Andy Piper  <andy@xemacs.org>
5475
5476         * dired-msw.c (mswindows_get_files): 
5477         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
5478         completely handled by XEmacs. Suggested by Thomas Vogler
5479         <mail@thomas-vogler.de>.
5480
5481 2001-11-14  Andy Piper  <andy@xemacs.org>
5482
5483         * nt.c (REG_ROOT): change registry key to XEmacs.
5484
5485 2002-04-27  Andy Piper  <andy@xemacs.org>
5486
5487         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
5488
5489 2002-04-26  Andy Piper  <andy@xemacs.org>
5490
5491         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
5492         behavior.
5493
5494 2002-03-14  Mike Alexander  <mta@arbortext.com>
5495
5496         * event-msw.c (mswindows_unwait_process): New, remove process from
5497         wait list
5498         * process-nt.c (nt_finalize_process_data): Call
5499         mswindows_unwait_process
5500         * console-msw.h: Declare mswindows_unwait_process
5501
5502 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
5503
5504         * editfns.c (Fdecode_time):
5505         (Fformat_time_string):
5506         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
5507         (make_time): Warning elimination (change arg name).
5508
5509 2001-11-24  Andy Piper  <andy@xemacs.org>
5510
5511         * window.c (Fsplit_window): Doc return type.
5512
5513 2002-04-01  Andy Piper  <andy@xemacs.org>
5514
5515         * emacs.c (Fkill_emacs): Only output message box in interactive
5516         mode.
5517
5518 2002-04-26  Andy Piper  <andy@xemacs.org>
5519  
5520         * config.h.in: pull in 21.5.x change to stop alloca warnings under
5521         cygwin.
5522
5523 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
5524
5525         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
5526         bit platform.
5527
5528 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
5529
5530         * XEmacs 21.4.8 "Honest Recruiter" is released.
5531
5532 2002-05-07  Nix  <nix@esperi.demon.co.uk>
5533
5534         Supersedes 2002-04-17 patch.
5535
5536         * process.h (PROCESS_LIVE_P): Use the process status as
5537         evidence of health, not the state of the input stream.
5538         (PROCESS_READABLE_P): Say if the process is readable
5539         from. (It may be dead nonetheless.)
5540         (CHECK_READABLE_PROCESS): Test for that condition.
5541
5542         * process.c (create_process): Use PROCESS_READABLE_P.
5543         (read_process_output, set_process_filter): Likewise.
5544
5545         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
5546         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
5547
5548         This code is #if 0'd, this is not the time to add new functions:
5549
5550         * process.c (Fprocess_readable_p): Report readability status.
5551         * process.c (Qprocess_readable_p): New, associated symbol...
5552         * process.c (syms_of_process): ... initialize it.
5553
5554 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
5555
5556         * XEmacs 21.4.7 "Economic Science" is released.
5557
5558 2002-04-17  Nix  <nix@esperi.demon.co.uk>
5559
5560         * process.h (PROCESS_LIVE_P): Use the process status as
5561         evidence of health, not the state of the input stream.
5562
5563 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
5564
5565         * sysdep.c (sys_siglist): change "signum" to "signal"
5566
5567 2001-04-21  Martin Buchholz  <martin@xemacs.org>
5568
5569         * s/darwin.h: New file.
5570         Thanks to Greg Parker <gparker@cs.stanford.edu>.
5571         
5572 2002-04-23  Andreas Jaeger  <aj@suse.de>
5573
5574         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
5575         which use lib64 for 64-bit libs.
5576         (START_FILES): Likewise.
5577
5578 2002-02-11  Mike Sperber  <mike@xemacs.org>
5579
5580         * device-x.c: 
5581         (x_IO_error_handler):
5582         (x_init_device): Temporarily keep device in static variable
5583         `device_being_initialized' so we can recover gracefully from
5584         internal XOpenDevice failure.  (XOpenDevice is documented to
5585         return NULL on failure, but sometimes calls the IO error handler
5586         instead.)
5587
5588 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
5589
5590         * dired.c (Ffile_name_all_completions): Change documentation --
5591         remove reference to completion-ignored-extensions.
5592         * dired.c (vars_of_dired): Change documentation for
5593         completion-ignored-extensions -- remove reference to
5594         file-name-all-completions.
5595
5596 2002-03-06  Jerry James  <james@xemacs.org>
5597
5598         * emodules.c (emodules_load): Fix multiple loading of same module.
5599
5600 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
5601         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
5602         RTLD_LAZY to avoid incorrect symbol binding when using nested
5603         shared libraries on Solaris.
5604
5605 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
5606
5607         * fileio.c (Ffind_file_name_handler): Improve docstring.
5608
5609 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
5610
5611         * fns.c (Fmapconcat): Improve docstring.
5612
5613 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
5614
5615         * device-gtk.c: Add prototype for
5616         emacs_gtk_selection_clear_event_handle.
5617         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
5618         selection.  Setup signal handler for "selection_clear_event"
5619         (emacs_gtk_selection_clear_event_handle).
5620
5621         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
5622         other applications owning the clipboard (based on
5623         x_handle_selection_clear).
5624
5625 2001-12-23  William M. Perry  <wmperry@gnu.org>
5626
5627         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
5628         
5629 2002-01-04  Martin Buchholz  <martin@xemacs.org>
5630
5631         * keymap.c (define_key_alternate_name): Parenthesize EQ.
5632
5633 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
5634
5635         * XEmacs 21.4.6 "Common Lisp" is released.
5636
5637 2001-12-16  Torsten Duwe  <duwe@caldera.de>
5638
5639         * search.c (Freplace_match): Add missing sub-expression functionality.
5640
5641         * buffer.c (decode_buffer): Add a check for pointer type to
5642         decode_buffer, before gcc's CSE optimization reorders a
5643         dereference in front of the allow_string test.
5644
5645 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
5646
5647         * window.c (window_loop): Fix bug that sometimes prevented
5648         window_loop() from iterating across multiple devices.  Also, at
5649         Ben's request, changed infloop-detecting code to abort() instead
5650         of silently terminating window_loop().
5651
5652 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
5653
5654         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
5655         * editfns.c (make_time): New function.
5656         (Fencode_time): Use it instead of wasteful_word_to_lisp.
5657         * lisp.h (make_time): Prototype and comment it.
5658         * dired.c (wasteful_word_to_lisp): Deprecate.
5659         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
5660
5661 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
5662
5663         * fileio.c (auto_save_1): Use current coding system, not
5664         escape-quoted.
5665
5666 2001-11-13  Ben Wing  <ben@xemacs.org>
5667
5668         * window.c:
5669         * window.c (window_truncation_on):
5670         * window.c (syms_of_window):
5671         truncate-partial-width-windows should respect the buffer being
5672         displayed, like other redisplay vars.
5673
5674 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
5675
5676         * event-stream.c (Fread_key_sequence): save current buffer.
5677
5678 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
5679
5680         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
5681
5682 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
5683
5684         * alloc.c (lcrecord_stats): Add space for types defined in modules.
5685
5686 2001-10-26  Mike Alexander  <mta@arbortext.com>
5687
5688         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
5689
5690 2001-10-25  Andy Piper  <andy@xemacs.org>
5691
5692         * ChangeLog:
5693         * dialog-msw.c (handle_directory_proc): new function.
5694          (handle_directory_dialog_box): new fucntion.
5695          (handle_file_dialog_box): use new directory dialog support.
5696          (mswindows_make_dialog_box_internal): ditto.
5697         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
5698         handling.
5699         (mswindows_find_frame): make global.
5700         * fileio.c (Fexpand_file_name): build fix.
5701         * general-slots.h: add Qdirectory.
5702         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
5703         handling.
5704         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
5705         cygwin not leaving win32 paths unchanged.
5706         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
5707         cygwin runtime to do path conversion.
5708         (Fmswindows_shell_execute): fix cygwin handling of URLs.
5709         (syms_of_win32): add new function.
5710         * window.c (window_loop): build fix.
5711
5712 2001-10-15  Andy Piper  <andy@xemacs.org>
5713
5714         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
5715
5716 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
5717
5718         * XEmacs 21.4.5 "Civil Service" is released.
5719
5720 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
5721
5722         * glyphs-x.c: Force buffer-tab highlight update when moving the
5723         buffer, avoiding an ugly black border, used for keyboard focus
5724         indication, on a widget that can never have keyboard focus, the
5725         buffer tab.
5726
5727 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
5728
5729         * process-unix.c (unix_open_multicast_group): Remove too much
5730         conversion between host and network byte order.
5731
5732 2001-09-10  Nix  <nix@esperi.demon.co.uk>
5733
5734         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
5735         before replacing them.
5736
5737         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
5738         operation.
5739
5740         * src/window.c (undedicate_windows): Use it.
5741         * src/window.h: Add prototype.
5742
5743 2001-09-17  Ben Wing  <ben@xemacs.org>
5744
5745         * fileio.c (normalize_filename):
5746         * fileio.c (Fexpand_file_name):
5747         Fix various C++ compile errors in Andy's recent code.
5748         
5749         * callint.c (Fcall_interactively):
5750         * editfns.c (Ftemp_directory):
5751         * editfns.c (Fuser_full_name):
5752         * emacs.c (argmatch):
5753         * lread.c (locate_file_map_suffixes):
5754         * redisplay-x.c (x_ring_bell):
5755         Fix sign-compare warnings.
5756         
5757 2001-09-08  Andy Piper  <andy@xemacs.org>
5758
5759         * fileio.c (normalize_filename): copied from nt.c
5760         * (Ffile_name_directory): enable win32 paths under cygwin.
5761         * (Ffile_name_nondirectory): ditto.
5762         * (directory_file_name): ditto.
5763         * (Fexpand_file_name): ditto.
5764         * (Ffile_truename): ditto.
5765         * (Fsubstitute_in_file_name): ditto.
5766         * (Ffile_name_absolute_p): ditto.
5767         * (Ffile_readable_p): ditto.
5768
5769 2001-09-08  Andy Piper  <andy@xemacs.org>
5770
5771         * device-msw.c (mswindows_finish_init_device): remove dde
5772         initialization.
5773         * device-msw.c (mswindows_init_dde): factor out from
5774         mswindows_finish_init_device()
5775         * device-msw.c (init_mswindows_very_early): new function
5776         initialize but don't enable dde.
5777         * emacs.c (main_1): call init_mswindows_very_early.
5778         * event-msw.c:
5779         * event-msw.c (mswindows_dde_callback): only execute when we are
5780         ready.
5781         * symsinit.h: declare init_mswindows_very_early.
5782
5783 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5784
5785         [sjt: This has been in 21.5 for months with no complaints.]
5786
5787         * console.h (struct console_methods): Added flags member.
5788         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
5789         (CONMETH_IMPL_FLAG):
5790         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
5791         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5792
5793         * device.c (window_system_pixelated_geometry): Use the above macros.
5794
5795         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
5796         implememntation flag.
5797         * device.h (DEVICE_DISPLAY_P): Use it.
5798
5799         * frame.c (delete_frame_internal): Use the above macro.
5800
5801         * redisplay.c (redisplay_device): Use it.
5802         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5803         (redisplay_frame): Ditto.
5804
5805         * device-msw.c (mswindows_device_implementation_flags): Removed.
5806         (msprinter_device_implementation_flags): Removed.
5807         (console_type_create_device_mswindows): Removed references to
5808         implementation_flags methods, set implementation flags here.
5809         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
5810
5811         * device-gtk.c (gtk_device_implementation_flags): Removed method.
5812         (console_type_create_device_gtk): Removed method declaration.
5813         Added commented out statement which semantically matches the
5814         commented out statement in the above removed method.
5815
5816 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
5817
5818         The attached patch fixes a few warnings. 
5819
5820         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
5821         * src/frame-gtk.c: guard against GNOME calls in GTK only
5822         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
5823         * src/select-gtk.c: prototype lisp_to_time
5824
5825 2001-06-08  Ben Wing  <ben@xemacs.org>
5826
5827         ------ gc-in-window-procedure fixes ------
5828         
5829         * alloc.c:
5830         * alloc.c (struct post_gc_action):
5831         * alloc.c (register_post_gc_action):
5832         * alloc.c (run_post_gc_actions):
5833         * alloc.c (garbage_collect_1):
5834         Create "post-gc actions", to avoid those dreaded "GC during window
5835         procedure" problems.
5836
5837         * event-msw.c:
5838         Abort, clean and simple, when GC in window procedure.  We want
5839         to flush these puppies out.
5840
5841         * glyphs-msw.c:
5842         * glyphs-msw.c (finalize_destroy_window):
5843         * glyphs-msw.c (mswindows_finalize_image_instance):
5844         Use a post-gc action when destroying subwindows.
5845
5846         * lisp.h:
5847         Declare register_post_gc_action().
5848
5849         * scrollbar-msw.c:
5850         * scrollbar-msw.c (unshow_that_mofo):
5851         Use a post-gc action when unshowing scrollbar windows, if in gc.
5852
5853         * redisplay.c (mark_redisplay):
5854         Add comment about the utter evilness of what's going down here.
5855
5856         ------ cygwin setitimer fixes ------
5857         
5858         * Makefile.in.in (sheap_objs):
5859         * Makefile.in.in (profile_objs):
5860         * Makefile.in.in (objs):
5861         Compile profile.c only when HAVE_SETITIMER.
5862         
5863         * nt.c (mswindows_sigset):
5864         * nt.c (mswindows_sighold):
5865         * nt.c (mswindows_sigrelse):
5866         * nt.c (mswindows_sigpause):
5867         * nt.c (mswindows_raise):
5868         * nt.c (close_file_data):
5869         Style fixes.
5870         
5871         * nt.c:
5872         Move setitimer() emulation to win32.c, because Cygwin needs it too.
5873         
5874         * profile.c:
5875         * profile.c (Fstart_profiling):
5876         * profile.c (Fstop_profiling):
5877         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
5878         instead of just plain setitimer().
5879         
5880         * signal.c:
5881         * signal.c (set_one_shot_timer):
5882         * signal.c (alarm):
5883         Define qxe_setitimer() as an encapsulation around setitimer() --
5884         call setitimer() directly unless Cygwin or MS Win, in which case
5885         we use our simulated version in win32.c.
5886         
5887         * systime.h:
5888         * systime.h (struct itimerval):
5889         * systime.h (ITIMER_REAL):
5890         Prototype mswindows_setitimer() and qxe_setitimer().  Long
5891         comment about "qxe" and the policy regarding encapsulation.
5892
5893         * win32.c:
5894         * win32.c (setitimer_helper_proc):
5895         * win32.c (setitimer_helper_period):
5896         * win32.c (setitimer_helper):
5897         * win32.c (mswindows_setitimer):
5898         Move setitimer() emulation here, so Cygwin can use it.
5899         Rename a couple of functions and variables to be longer and more
5900         descriptive.  In setitimer_helper_proc(), send the signal
5901         using either mswindows_raise() or (on Cygwin) kill().  If for
5902         some reason we are still getting lockups, we'll change the kill()
5903         to directly invoke the signal handlers.
5904
5905         ------ windows shell fixes ------
5906         
5907         * callproc.c:
5908         * ntproc.c:
5909         Comments about how these two files must die.
5910
5911         * callproc.c (init_callproc):
5912         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
5913         not just COMSPEC. (more correct and closer to FSF.) Don't
5914         force a value for SHELL into the environment. (Comments added
5915         to explain why not.)
5916         
5917         * nt.c (init_user_info):
5918         Don't shove a fabricated SHELL into the environment.  See above.
5919
5920 2001-06-01  Ben Wing  <ben@xemacs.org>
5921
5922         * Makefile.in.in (ldflags):
5923         eliminate that pesky "defaulting to 00401000" warning.
5924         * nt.h:
5925         eliminate warnings.
5926
5927 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
5928
5929         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
5930         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
5931
5932 2001-04-24  Jerry James <james@xemacs.org>
5933
5934         * faces.h: pass parameters to Fadd_spec_to_specifier in the
5935         correct order.
5936
5937 2001-06-01  Ben Wing  <ben@xemacs.org>
5938
5939         * event-msw.c (debug_mswin_messages):
5940         conditionalize the messages that were causing compile errors.
5941         (if only macros could generate #ifdef statements ...)
5942
5943 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
5944
5945         * XEmacs 21.4.4 "Artificial Intelligence" is released.
5946
5947 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
5948
5949         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
5950
5951 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
5952
5953         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
5954         * process-unix.c (unix_canonicalize_host_name):
5955         sysdep.c (init_system_name):
5956         Use it to conditionally support IPv6 canonicalization.
5957
5958 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
5959
5960         * event-msw.c:
5961         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
5962
5963 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
5964
5965         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
5966         attempt is made to scroll when no scroll bar is available.
5967
5968 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
5969
5970         * input-method-motif.c (XIM_delete_frame): New callback.
5971         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
5972         got deleted from 21.4.3.)
5973
5974 2001-06-01  Ben Wing  <ben@xemacs.org>
5975
5976         * nt.c (mswindows_utime):
5977         * nt.c (close_file_data):
5978         fix off-by-one-indirection error.
5979
5980 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
5981
5982         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
5983         because set_file_times() now takes Lisp_Object path, instead of
5984         char*.
5985         * nt.c: Include buffer.h.
5986         * nt.c (convert_from_time_t): New.
5987         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
5988         not set mtime correctly.
5989         * nt.h: Declare mswindows_utime().
5990         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
5991         path, instead of char*.
5992         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
5993
5994 2001-05-30  Ben Wing  <ben@xemacs.org>
5995
5996         For 21.4:
5997
5998         (Stephen, just take all event-msw.c patches.  This includes
5999         the "iconify" fix below.)
6000
6001         * event-msw.c:
6002         * event-msw.c (mswindows_dequeue_dispatch_event):
6003         * event-msw.c (assert):
6004         * event-msw.c (emacs_mswindows_quit_p):
6005         * event-msw.c (debug_mswin_messages):
6006         * event-msw.c (debug_output_mswin_message):
6007         * event-msw.c (vars_of_event_mswindows):
6008         Fix yet more problems with C-g handling.
6009         Implement debug-mswindows-events.
6010         
6011 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6012
6013         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
6014         
6015 2001-05-23  Ben Wing  <ben@xemacs.org>
6016
6017         * event-msw.c (winsock_writer):
6018         * event-msw.c (winsock_closer):
6019         prior kludgy code was clobbering the buffer, thinking it was
6020         "unused" space to store an unneeded return value; instead, use
6021         the variable we've already got staring us in the face.
6022
6023 2001-05-17  Andy Piper  <andy@xemacs.org>
6024
6025         * sysfile.h: don't assume that file attributes are boolean
6026
6027 2001-05-23  Ben Wing  <ben@xemacs.org>
6028
6029         * device-msw.c (msprinter_init_device):
6030         signal an error rather than crash with an unavailable network
6031         printer (from Mike Alexander).
6032         
6033         * event-msw.c:
6034         * event-msw.c (struct winsock_stream):
6035         * event-msw.c (winsock_writer):
6036         * event-msw.c (winsock_closer):
6037         * event-msw.c (make_winsock_stream_1):
6038         cleanup headers.  fix (hopefully) an error with data corruption
6039         when sending to a network connection.
6040
6041         * fileio.c (Fexpand_file_name): Fix evil code that attempts
6042         to handle the ~user prefix by (a) always assuming we're referencing
6043         ourselves and not even verifying the user -- hence any file with
6044         a tilde as its first char is invalid! (b) if there wasn't a slash
6045         following the filename, the pointer was set *past* the end of
6046         file and we started reading from uninitialized memory.  Now we
6047         simply treat these as files, always.
6048
6049         * buffer.c (common_init_complex_vars_of_buffer): comment change.
6050         
6051 2001-05-19  Ben Wing  <ben@xemacs.org>
6052
6053         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
6054
6055         * process-nt.c:
6056         * process-nt.c (vars_of_process_nt):
6057         remove unused mswindows-quote-process-args.  rec for 21.4.
6058         
6059 2001-05-12  Ben Wing  <ben@xemacs.org>
6060
6061         * event-msw.c (mswindows_dde_callback):
6062         * event-msw.c (mswindows_wnd_proc):
6063         eliminate cygwin warnings.
6064
6065 2001-05-06  Ben Wing  <ben@xemacs.org>
6066
6067         * console-msw.h:
6068         * device-msw.c:
6069         * device-msw.c (print_dialog_worker):
6070         * device-msw.c (mswindows_handle_print_dialog_box):
6071         * device-msw.c (syms_of_device_mswindows):
6072         * dialog-msw.c (mswindows_make_dialog_box_internal):
6073         * general-slots.h:
6074         implement printing the selection when it's selected.
6075
6076 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
6077
6078         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
6079
6080 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
6081
6082         * lisp.h (EMACS_INT_MAX): This should be one bit less since
6083         EMACS_INT is signed.
6084
6085 2001-04-15  Michael Lausch  <mla@1012surf.net>
6086
6087         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
6088         gtk_widget_request_size() to give scrollbar >0 width for
6089         GTK >1.2.8.
6090
6091 2001-05-30  William M. Perry  <wmperry@gnu.org>
6092
6093         * event-gtk.c: Check for buttons as modifier keys.
6094
6095 2001-05-25  Craig Lanning  <CraigL@Knology.net>
6096
6097         * s\mingw32.h:
6098         Properly find MinGW's <process.h> inside Cygwin's restructured
6099         include directories.  Don't try to include <cygwin/version.h>
6100         since we are dropping support for MinGW in versions of Cygwin
6101         earlier than b21.
6102         * nt.c:
6103         Drop support for MinGW in versions of Cygwin before b21.
6104         * sysdep.c:
6105         Properly find MinGW's <process.h> inside Cygwin's restructured
6106         include directories.
6107         * syswindows.h:
6108         Drop support for MinGW in versions of Cygwin before b21.
6109         * unexcw.c:
6110         Even though a.out.h is no longer detected by configure, allow
6111         MinGW to use it until we figure out how to do the job with Win32.
6112
6113 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
6114
6115         * syntax.c (find_start_of_comment):
6116         Fix `unbalanced parentheses' bug when dealing with mixed comment
6117         styles in c++/java/etc. mode
6118
6119 2001-05-29  Mike Alexander  <mta@arbortext.com>
6120
6121         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
6122         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
6123
6124 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
6125
6126         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
6127
6128 2001-03-31  Mike Sperber <mike@xemacs.org>
6129
6130         * search.c (Freplace_match): Support FSF-style specification of
6131         match subexpression when applied to a buffer.
6132
6133 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6134
6135         * event-stream.c (is_scrollbar_event): add missing semicolon
6136
6137 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
6138
6139         * Makefile.in.in: Use TAR macro instead of hardcoding
6140           tar.  Allows use of GNU tar instead of system tar
6141
6142 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6143
6144         * event-stream.c (is_scrollbar_event): add missing semicolon
6145
6146 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6147
6148         * XEmacs 21.4.3 "Academic Rigor" is released.
6149
6150 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6151
6152         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
6153
6154 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
6155
6156         * buffer.c (Vcase_fold_search): Remove obsolete
6157           comment about non ASCII case-fold-search.  This
6158           bug has been fixed by case-table changes.
6159
6160 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
6161
6162         * event-msw.c: Restore include of events-mod.h.
6163
6164 2001-04-22   zhaoway  <zw@debian.org>
6165
6166         * event-stream.c (is_scrollbar_event): Noop returning 0 if
6167         !HAVE_SCROLLBARS.
6168
6169 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
6170
6171         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
6172
6173 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
6174
6175         * mule-charset.c (Fmake_charset): Add missing else.
6176
6177 2001-04-23  Ben Wing  <ben@xemacs.org>
6178
6179         * event-msw.c (FAKE_MOD_QUIT):
6180         * event-msw.c (mswindows_dequeue_dispatch_event):
6181         * event-msw.c (mswindows_wnd_proc):
6182         * event-msw.c (emacs_mswindows_quit_p):
6183         Get critical quit working.
6184
6185 2001-05-05  Ben Wing  <ben@xemacs.org>
6186
6187         * console-msw.h:
6188         * device-msw.c:
6189         * device-msw.c (mswindows_get_default_margin):
6190         * frame-msw.c (mswindows_size_frame_internal):
6191         * frame-msw.c (msprinter_init_frame_1):
6192         * frame-msw.c (vars_of_frame_mswindows):
6193         Change top/bottom margin defaults to 0.5 inches.
6194
6195 2001-05-01  Martin Buchholz  <martin@xemacs.org>
6196
6197         Fix link error with gcc 3.0 on Linux.
6198         * terminfo.c (UP): Remove.
6199         * terminfo.c (BC): Remove.
6200         * terminfo.c (PC): Remove.
6201         They weren't used, and in any case, these symbols should be
6202         defined in the *library*.
6203
6204 2001-05-03  Martin Buchholz  <martin@xemacs.org>
6205
6206         * s/aix4.h: Fix crash with xlc -O3.
6207         Improve comment explaining how -O3 works.
6208
6209 2001-04-15  Ben Wing  <ben@xemacs.org>
6210
6211         * event-stream.c:
6212         * event-stream.c (Fnext_event):
6213         * event-stream.c (is_scrollbar_event):
6214         * event-stream.c (execute_command_event):
6215         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
6216         crash' problem.  His fix introduces other problems.  We filter
6217         out scrollbar events specifically, making them somewhat invisible
6218         to command-building, and not appearing in `this-command-keys'.
6219         More work is still needed (see comments in event-stream.c), but
6220         this fixes all the major problems.
6221
6222 2001-04-20  Ben Wing  <ben@xemacs.org>
6223
6224         * .cvsignore: Added stuff for Windows.
6225
6226 2001-04-28  Ben Wing  <ben@xemacs.org>
6227
6228         * buffer.c (Ferase_buffer):
6229         * editfns.c (buffer_insert1):
6230         * editfns.c (Finsert_before_markers):
6231         * editfns.c (Finsert_string):
6232         * editfns.c (Finsert_char):
6233         * editfns.c (Fdelete_region):
6234         * editfns.c (Fwiden):
6235         * editfns.c (Fnarrow_to_region):
6236         remove bogus lines setting zmacs_region_stays to 0.
6237         
6238 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6239
6240         * process-unix.c (unix_open_network_stream): If connect() fails
6241         invalidate file descriptor after closing it.
6242
6243 2001-03-08  Mike Alexander  <mta@arbortext.com>
6244
6245         * event-msw.c (mswindows_need_event_in_modal_loop):
6246         Don't dispatch a message if we didn't get one.
6247         (mswindows_need_event):
6248         Terminate the correct process when one exits instead of the first
6249         one on Vprocess_list and look for process termination when in
6250         mswindows_protect_modal_loop.
6251
6252 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
6253
6254         * XEmacs 21.4.1 "Copyleft" is released.
6255
6256 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6257
6258         * input-method-motif.c (XIM_delete_frame): New callback.
6259         (XIM_init_frame): Register it.
6260
6261 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6262
6263         * XEmacs 21.4.0 "Solid Vapor" is released.
6264
6265 2001-04-15  Ben Wing  <ben@xemacs.org>
6266
6267         * cmdloop.c (call_command_loop):
6268         Fix braino in bit-rotting code.
6269         
6270 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
6271
6272         * extents.c (Fset_extent_endpoints): Force creation of extent info
6273         in buffer_or_string.
6274
6275         * extents.c (process_extents_for_insertion_mapper): Correctly
6276         check for open-open zero-length extents.
6277
6278 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6279
6280         * lisp.h: New typedefs Memory_count, Element_count.
6281         * regex.c:
6282         * regex.h:
6283         Sign-compare warning elimination: several unsigned -> signed.
6284         Based on work by Ben Wing <ben@xemacs.org>.
6285
6286 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
6287
6288         * XEmacs 21.2.47 "Zephir" is released.
6289
6290 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
6291
6292         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
6293
6294 2001-04-03  Mike Sperber <mike@xemacs.org>
6295
6296         * search.c: Revert previous patch due because of release.
6297
6298 2001-03-30  Ben Wing  <ben@xemacs.org>
6299
6300         * s\cygwin32.h:
6301         Add missing killpg prototype.
6302
6303         * elhash.c:
6304         Add a comment about fixing problems when a new entry is added
6305         while mapping.
6306
6307         * frame-msw.c (mswindows_init_frame_1):
6308         Fix compile warnings.
6309
6310         * menubar.c (vars_of_menubar):
6311         Provide `menu-accelerator-support' to indicate that we properly
6312         support %_ in menu specifications, so that package code can
6313         conditionalize on this (and remove %_ from menu specifications
6314         on older versions).
6315
6316         * event-msw.c:
6317         * scrollbar-msw.c:
6318         * scrollbar-msw.c (can_scroll):
6319         * scrollbar-msw.h:
6320         Fix handling of mouse wheel under Windows to follow standards --
6321         now scrolls window under pointer, not selected window.
6322
6323 2001-03-31  Mike Sperber <mike@xemacs.org>
6324
6325         * search.c (Freplace_match): Support FSF-style specification of
6326         match subexpression when applied to a buffer.
6327
6328 2001-03-15  Martin Buchholz  <martin@xemacs.org>
6329
6330         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
6331         function to modify KEYMAP, so map over a copy of the hash table.
6332
6333 2001-03-21  Martin Buchholz <martin@xemacs.org>
6334
6335         * XEmacs 21.2.46 "Urania" is released.
6336
6337 2001-03-20  Dan Holmsand  <dan@eyebee.com>
6338
6339         * realpath.c (xrealpath): Make file-truename work with symlinks to
6340         /cygdrive paths on cygwin. Always lowercase drive-letters on
6341         native windows.
6342         (cygwin_readlink): Don't try to find canonical filename unless
6343         file exists.
6344
6345 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
6346
6347         * ChangeLog: Log GTK merge.
6348
6349         * dumper.c:
6350         * select-x.c:
6351         * specifier.c:
6352         * symeval.h:
6353         Revert gratuitous whitespace changes from GTK merge.
6354
6355         * emacs.c: Document end of complex #ifdef @ l. 1495.
6356
6357
6358 2001-03-12  Andy Piper  <andy@xemacs.org>
6359
6360         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
6361         have to do likewise.
6362
6363 2001-03-12  Andy Piper  <andy@xemacs.org>
6364
6365         * sysdep.c: we only support mingw now.
6366
6367 2001-03-09  Andy Piper  <andy@xemacs.org>
6368
6369         * unexcw.c (copy_executable_and_dump_data_section): making approx
6370         overrun a warning only.
6371
6372 2001-03-10  William M. Perry  <wmperry@aventail.com>
6373
6374         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
6375         satisfy Stephen's identical-after-cpp plea.
6376
6377 2001-03-02  Ben Wing  <ben@xemacs.org>
6378
6379         * cmds.c:
6380         * cmds.c (Fforward_char):
6381         * syntax.c:
6382         * window.c:
6383
6384         Augment documentation of the most common motion commands to make
6385         note of the shifted-motion support.
6386         
6387 2001-03-02  Ben Wing  <ben@xemacs.org>
6388
6389         * nt.c (mswindows_fstat):
6390         * nt.c (mswindows_stat):
6391         * search.c (boyer_moore):
6392         Fix compile warnings under Windows.
6393         
6394         * sysdep.c (sys_readdir):
6395         Fix buggy filename-conversion code under Mule.
6396
6397 2001-03-09  William M. Perry  <wmperry@aventail.com>
6398
6399         * Makefile.in.in:
6400         * config.h.in:
6401         * console.c:
6402         * console.h:
6403         * device.c:
6404         * device.h:
6405         * dragdrop.c:
6406         * emacs.c:
6407         * event-stream.c:
6408         * events.c:
6409         * events.h:
6410         * faces.c:
6411         * frame.h:
6412         * general-slots.h:
6413         * glyphs.c:
6414         * gutter.c:
6415         * inline.c:
6416         * lisp.h:
6417         * lrecord.h:
6418         * make-src-depend:
6419         * redisplay-output.c:
6420         * redisplay.c:
6421         * symsinit.h:
6422         * sysfile.h:
6423         * toolbar.c:
6424         * window.c:
6425         The Great GTK Merge.
6426
6427         * ChangeLog.GTK:
6428         * console-gtk.c:
6429         * console-gtk.h:
6430         * device-gtk.c:
6431         * emacs-marshals.c:
6432         * emacs-widget-accessors.c:
6433         * event-gtk.c:
6434         * frame-gtk.c:
6435         * gccache-gtk.c:
6436         * gccache-gtk.h:
6437         * glade.c:
6438         * glyphs-gtk.c:
6439         * glyphs-gtk.h:
6440         * gtk-glue.c:
6441         * gtk-xemacs.c:
6442         * gtk-xemacs.h:
6443         * gui-gtk.c:
6444         * gui-gtk.h:
6445         * menubar-gtk.c:
6446         * native-gtk-toolbar.c:
6447         * objects-gtk.c:
6448         * objects-gtk.h:
6449         * redisplay-gtk.c:
6450         * scrollbar-gtk.c:
6451         * scrollbar-gtk.h:
6452         * select-gtk.c:
6453         * toolbar-gtk.c:
6454         * ui-byhand.c:
6455         * ui-gtk.c:
6456         * ui-gtk.h:
6457         The Great GTK Merge: new files.
6458
6459 2001-02-26  Ben Wing  <ben@xemacs.org>
6460
6461         Reapplied Lstream change.
6462
6463 2001-02-26  Ben Wing  <ben@xemacs.org>
6464
6465         Undid the last change, since it is more controversial than I
6466         thought.  It should be back in at some point soon.
6467         
6468 2001-02-25  Ben Wing  <ben@xemacs.org>
6469
6470         * buffer.c:
6471         * callproc.c (Fold_call_process_internal):
6472         * event-msw.c (ntpipe_slurp_reader):
6473         * event-msw.c (ntpipe_shove_writer):
6474         * event-msw.c (winsock_reader):
6475         * event-msw.c (winsock_writer):
6476         * file-coding.c:
6477         * file-coding.c (detect_eol_type):
6478         * file-coding.c (detect_coding_type):
6479         * file-coding.c (determine_real_coding_system):
6480         * file-coding.c (Fdetect_coding_region):
6481         * file-coding.c (decoding_reader):
6482         * file-coding.c (decoding_writer):
6483         * file-coding.c (mule_decode):
6484         * file-coding.c (Fdecode_coding_region):
6485         * file-coding.c (encoding_reader):
6486         * file-coding.c (encoding_writer):
6487         * file-coding.c (mule_encode):
6488         * file-coding.c (Fencode_coding_region):
6489         * file-coding.c (detect_coding_sjis):
6490         * file-coding.c (decode_coding_sjis):
6491         * file-coding.c (encode_coding_sjis):
6492         * file-coding.c (detect_coding_big5):
6493         * file-coding.c (decode_coding_big5):
6494         * file-coding.c (encode_coding_big5):
6495         * file-coding.c (detect_coding_ucs4):
6496         * file-coding.c (decode_coding_ucs4):
6497         * file-coding.c (encode_coding_ucs4):
6498         * file-coding.c (detect_coding_utf8):
6499         * file-coding.c (decode_coding_utf8):
6500         * file-coding.c (encode_coding_utf8):
6501         * file-coding.c (detect_coding_iso2022):
6502         * file-coding.c (decode_coding_iso2022):
6503         * file-coding.c (encode_coding_iso2022):
6504         * file-coding.c (decode_coding_no_conversion):
6505         * file-coding.c (encode_coding_no_conversion):
6506         * glyphs-x.c (write_lisp_string_to_temp_file):
6507         * gpmevent.c (tty_get_foreign_selection):
6508         * lisp.h:
6509         * lstream.c:
6510         * lstream.c (Lstream_flush_out):
6511         * lstream.c (Lstream_adding):
6512         * lstream.c (Lstream_write_1):
6513         * lstream.c (Lstream_write):
6514         * lstream.c (Lstream_raw_read):
6515         * lstream.c (Lstream_read_more):
6516         * lstream.c (Lstream_read):
6517         * lstream.c (Lstream_unread):
6518         * lstream.c (Lstream_fputc):
6519         * lstream.c (stdio_reader):
6520         * lstream.c (stdio_writer):
6521         * lstream.c (filedesc_reader):
6522         * lstream.c (filedesc_writer):
6523         * lstream.c (lisp_string_reader):
6524         * lstream.c (struct fixed_buffer_stream):
6525         * lstream.c (make_fixed_buffer_input_stream):
6526         * lstream.c (make_fixed_buffer_output_stream):
6527         * lstream.c (fixed_buffer_reader):
6528         * lstream.c (fixed_buffer_writer):
6529         * lstream.c (struct resizing_buffer_stream):
6530         * lstream.c (resizing_buffer_writer):
6531         * lstream.c (dynarr_writer):
6532         * lstream.c (lisp_buffer_reader):
6533         * lstream.c (lisp_buffer_writer):
6534         * lstream.h:
6535         * lstream.h (lstream_implementation):
6536         * lstream.h (struct lstream):
6537         * md5.c (Fmd5):
6538         * process-nt.c (nt_send_process):
6539         * process-unix.c (unix_send_process):
6540         
6541         Correct Lstream lossage due to mixing of signed and unsigned
6542         quantities.  All Lstream uses of size_t and ssize_t are now a
6543         single signed data type Lstream_data_count.  This fixes problems
6544         under Windows with sending large quantities of data to a process,
6545         and may well fix other subtle bugs.
6546
6547 2001-02-23  Martin Buchholz <martin@xemacs.org>
6548
6549         * XEmacs 21.2.45 "Thelxepeia" is released.
6550
6551 2001-02-21  Martin Buchholz  <martin@xemacs.org>
6552
6553         * lisp-union.h (XSETINT): 
6554         (XSETCHAR):
6555         (XSETOBJ): 
6556         Reverse previous change of 2001-02-06.
6557
6558 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
6559
6560         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
6561         buffers.
6562         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
6563         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
6564         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
6565         * regex.c (POS_AS_IN_BUFFER): removed
6566         * regex.c (re_search_2):
6567         * regex.c (re_match_2):
6568         Don't use an offset of 1 when calculating buffer positions, since
6569         `BI_BUF_BEGV' does it already.
6570
6571 2001-02-18  Wim Dumon  <wim@easics.be>
6572
6573         * insdel.c (prepare_to_modify_buffer): Also check for
6574         supersession when clash-detection is enabled. 
6575
6576 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
6577
6578         * regex.c (re_match_2_internal):
6579         Convert temp characters from 'const unsigned char' to 're_char'.
6580         Fix crashing bug with extended characters under mule.
6581         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
6582         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
6583         font-lock, pdump, and new syntax-table code.
6584         * syntax.c (find_start_of_comment):
6585         (find_end_of_comment):
6586         (forward-comment):
6587         Fix crashing bugs involving moving beyond end of buffer.
6588         * syntax.c (find_start_of_comment):
6589         Fixed logic to allow proper detection of cases where the same
6590         character is used to end both a two-char comment start and a
6591         two-char comment end sequence. Fixes `(forward-comment -1)'.
6592         * syntax.c (find_start_of_comment):
6593         Return position just past last comment-end character for all cases
6594         (previously was only done for two-char comment-end sequences).
6595         * syntax.c (forward-comment):
6596         Take value returned from `find_end_of_comment', rather than
6597         incrementing it.
6598         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
6599         Properly deal with BUFFERP (syntax_cache.object)
6600
6601 2001-02-17  Martin Buchholz  <martin@xemacs.org>
6602
6603         * alloc.c (Fgarbage_collect): 
6604         * alloc.c (make_bit_vector_from_byte_vector):
6605         -Wsign-compare-correctness.
6606
6607 2001-02-16  Martin Buchholz  <martin@xemacs.org>
6608
6609         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
6610         (XSETCHAR): Likewise.
6611         (XSETOBJ): Likewise.
6612
6613 2001-02-15  Martin Buchholz  <martin@xemacs.org>
6614
6615         * mule-canna.c (canna-func-delete_previous): 
6616         Rename to canna-func-delete-previous.
6617
6618 2001-02-14  Martin Buchholz  <martin@xemacs.org>
6619
6620         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
6621
6622 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
6623
6624         * font-lock.c (find_context): Fix C++ compile errors introduced by
6625         recent patch
6626
6627 2001-02-13  Martin Buchholz  <martin@xemacs.org>
6628
6629         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
6630         pragma, but earlier ones barf on the same pragma.
6631
6632 2001-02-06  Mike Sperber <mike@xemacs.org>
6633
6634         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
6635         `configure-mule-lisp-directory'.
6636
6637 2001-02-12  Martin Buchholz  <martin@xemacs.org>
6638
6639         Make sure dump-id.c is compiled in the same way as other .c's.
6640         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
6641         * dump-id.h: Remove.
6642         * emacs.c: Move dump-id.h into dumper.h.
6643         * dumper.h: Move dump-id.h into dumper.h.
6644         * Makefile.in.in:
6645         Use standard .c.o rule for building dump-id.o.
6646         Remove preprocessor flags from link command.
6647         Add dump-id.o to ${otherobjs} if PDUMP.
6648
6649 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
6650
6651         Port FSF 20.7 syntax table improvements.
6652         * syntax.c.
6653         * syntax.h.
6654
6655         Fixups for new syntax table stuff.
6656         * dired.c: Include syntax.c.
6657         (Fdirectory_files): Initialize regex_match_object and
6658         regex_emacs_buffer.
6659         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
6660         and Fget_char_property.
6661
6662         Use ported FSF 20.7 syntax table improvements.
6663         * font-lock.c.
6664         * regex.c.
6665         * search.c.
6666         
6667 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6668
6669         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
6670         Unixware's enum boolean from sys/types.h.
6671
6672 2001-02-10  Martin Buchholz  <martin@xemacs.org>
6673
6674         Fix support for building with latest Purify.
6675         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
6676         (PURIFY_FLAGS): Likewise.
6677
6678 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6679
6680         * fileio.c (lisp_string_set_file_times): New.
6681         * fileio.c (Fcopy_file): Use it.
6682         Fixes bug:
6683         (copy-file filename non-ascii-filename t t)
6684         ==> No such file or directory, non-ascii-filename
6685
6686 2001-02-10  Martin Buchholz  <martin@xemacs.org>
6687
6688         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
6689         USHRT_MAX seems clearer than ~0 anyways.
6690
6691 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6692
6693         dumper improvements.  Inspired by Olivier.
6694         * dumper.c (pdump_max_align): New.
6695         * dumper.c (pdump_add_entry): Use pdump_max_align.
6696         * dumper.c (pdump_get_entry_list): Likewise.
6697         * dumper.c (pdump_scan_by_alignment): Likewise.
6698         Don't iterate through unnecessary alignments.
6699         * dumper.c (pdump_file_get): No need to align result of malloc().
6700         * dumper.c (pdump_mallocadr): Remove.  
6701         The result of malloc() is guaranteed to be maximally aligned.
6702         * dumper.c: s/elmt/elt/g;
6703         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
6704         * dumper.c (pdump_alert_undump_object): Likewise.
6705         * dumper.c (pdump_align_table): 
6706         Don't support alignments > 64.
6707         Store ALIGNOF's, not shift counts, in table.
6708
6709 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6710
6711         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
6712         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
6713         * systime.h: Use HAVE_UTIME.
6714         * sysdep.c (struct utimbuf): Remove.
6715         * sysdep.c (set_file_times): Prefer utime() to utimes().
6716         * config.h.in (HAVE_UTIME): New.
6717         * config.h.in (HAVE_UTIME_H): Remove.
6718         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
6719
6720 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6721
6722         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
6723
6724 2001-02-08  Martin Buchholz  <martin@xemacs.org>
6725
6726         * s/irix6-0.h: Use the standard system memmove, not bcopy.
6727
6728 2001-02-08  Martin Buchholz <martin@xemacs.org>
6729
6730         * XEmacs 21.2.44 "Thalia" is released.
6731
6732 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6733
6734         Fixes crashes in kill-emacs on some systems.
6735         * process-unix.c (unix_kill_child_process):
6736         It's OK for kill() to fail with ESRCH.
6737
6738 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6739
6740         Contortions to make .gdbinit tricks work on most systems.
6741         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
6742         * alloc.c (dbg_valmask): Make non-const.
6743         * alloc.c (dbg_typemask): Make non-const.
6744         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
6745         * alloc.c (dbg_valbits): Make non-const.
6746         * alloc.c (dbg_gctypebits): Make non-const.
6747         * .gdbinit (decode_object): Make it work with AIX cc.
6748
6749 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6750
6751         * elhash.c (make_general_lisp_hash_table):
6752         Use simpler and more efficient calloc to clear entries.
6753
6754 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6755
6756         * window.c (window_scroll): Work around an AIX C compiler bug.
6757         Fixes 'scroll-up' does nothing problem with xlC.
6758
6759 2001-02-05  Martin Buchholz  <martin@xemacs.org>
6760
6761         * .gdbinit: Remove obsolete comment.
6762
6763 2001-01-31  Mike Alexander  <mta@arbortext.com>
6764
6765         * select.c (Fown_selection_internal): Set owned_p for device
6766         method correctly.
6767
6768 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6769
6770         Port to g++ 2.97.
6771         "not" cannot be used as a macro name as it is an operator in C++
6772         * config.h.in: Stop #defining `not'.
6773         * chartab.c (check_category_char): not ==> not_p
6774         * chartab.h: Likewise.
6775         * regex.c (re_match_2_internal): Likewise.
6776
6777 2001-02-02  Martin Buchholz  <martin@xemacs.org>
6778
6779         * lisp-disunion.h: Fix up comments.
6780
6781 2001-01-31  Martin Buchholz  <martin@xemacs.org>
6782
6783         * keymap.c (define_key_check_and_coerce_keysym):
6784         (syms_of_keymap):
6785         Support mouse-6 and mouse-7 bindings in the obvious way.
6786
6787 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6788
6789         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
6790
6791 2001-01-30  Martin Buchholz  <martin@xemacs.org>
6792
6793         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
6794         Previous patch missed DEFVAR_INT_MAGIC.
6795         Make sure future DEFVAR_foo use correct types.
6796         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
6797         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
6798         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
6799         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
6800         * (DEFVAR_INT): Likewise.
6801         * redisplay.c (vertical_clip): Should be of type Fixnum.
6802         * redisplay.c (horizontal_clip): Likewise.
6803         * lisp.h (dump_add_opaque_int): New.
6804         (dump_add_opaque_fixnum): New.
6805
6806 2001-01-29  Andy Piper  <andy@xemacs.org>
6807
6808         * glyphs-widget.c (check_valid_int_or_function): allow symbols
6809         since they can be eval'ed
6810
6811 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6812
6813         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
6814         Oops, XEmacs redefines `class'.  Use `typename' instead.
6815
6816 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6817
6818         * dumper.c: Fix C++ compile errors.
6819
6820 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6821
6822         * tparam.c: Use correct prototypes.
6823
6824 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6825
6826         * sysproc.h: #include util.h for NetBSD's openpty.
6827
6828 2001-01-27  Martin Buchholz  <martin@xemacs.org>
6829
6830         More 64-bit correctness.
6831         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
6832         Use a typedef `fixnum' for the type used for DEFVAR_INT.
6833         Fix up comments.
6834         This finally finishes the 64-bit SGI port.
6835         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
6836         * symbols.c: Fix up comments and type casts.
6837         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
6838         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
6839         * symeval.h (Fixnum): New type.
6840         * symeval.h (symbol_value_type): Fix up comment.
6841
6842         * commands.h:
6843         * nt.c:
6844         * emacs.c:
6845         * data.c:
6846         * redisplay.c:
6847         * abbrev.c:
6848         * dired-msw.c:
6849         * event-Xt.c:
6850         * eldap.c:
6851         * window.c:
6852         * sound.c:
6853         * event-stream.c:
6854         * eval.c:
6855         * buffer.c:
6856         * mule-canna.c: A million DEFVAR_INTs here...
6857         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
6858         * extents.c:
6859         * cmdloop.c:
6860         * lisp.h:
6861         * select-x.c:
6862         * console-x.h:
6863         * event-msw.c:
6864         * mule-wnnfns.c:
6865         * hpplay.c:
6866         * ralloc.c:
6867         * alloc.c:
6868         * keymap.c:
6869         * profile.c:
6870         s/int/Fixnum/g in DEFVAR_INT declarations.
6871
6872 2001-01-26  Martin Buchholz  <martin@xemacs.org>
6873
6874         Port pdump to SGI alignment-sensitive environment.
6875         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
6876         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
6877         properly aligned.
6878         Define and use aligned reading and writing macros.
6879         Use buffered stdio instead of posix i/o for faster dumping.
6880         Eliminate kludgy 256 byte space for header.
6881         Read and write from dump file using structs for alignment safety.
6882         * dumper.c (pdump_align_stream): New.
6883         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
6884         * dumper.c (PDUMP_READ_ALIGNED): New.
6885         * dumper.c (PDUMP_WRITE_ALIGNED): New.
6886         * dumper.c (pdump_static_Lisp_Object): New struct.
6887         * dumper.c (pdump_static_pointer): New struct.
6888         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
6889         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
6890         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
6891         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
6892
6893         * dumper.c (pdump_backtrace):
6894         * dumper.c (pdump_get_indirect_count):
6895         * dumper.c (pdump_register_object):
6896         * dumper.c (pdump_register_struct):
6897         * dumper.c (pdump_reloc_one):
6898         * dumper.c (pdump_scan_by_alignment):
6899         * dumper.c (pdump_dump_from_root_struct_ptrs):
6900         * dumper.c (pdump_dump_opaques):
6901         * dumper.c (pdump_dump_rtables):
6902         * dumper.c (pdump_dump_from_root_objects):
6903         * dumper.c (pdump):
6904         * dumper.c (pdump_load_finish):
6905         Use aligned reading and writing.
6906
6907         * dumper.c (pdump_free): Make static.
6908         * dumper.c (pdump_hFile): Likewise.
6909         * dumper.c (pdump_hMap): Likewise.
6910
6911 2001-01-26  Martin Buchholz <martin@xemacs.org>
6912
6913         * XEmacs 21.2.43 "Terspichore" is released.
6914
6915 2001-01-25  Martin Buchholz  <martin@xemacs.org>
6916
6917         Type fiddling for window_config.saved_windows_count
6918         * window.c (struct window_config): 
6919         Make saved_windows_count member unsigned.
6920         * window.c (sizeof_window_config_for_n_windows): 
6921         Make parameter unsigned.
6922         * window.c (mark_window_config):
6923         * window.c (window_config_equal):
6924         * window.c (free_window_configuration):
6925         * window.c (Fset_window_configuration):
6926         * window.c (count_windows):
6927         * window.c (Fcurrent_window_configuration):
6928         * window.c (reinit_vars_of_window):
6929         Update all callers and users.
6930
6931 2001-01-25  Martin Buchholz  <martin@xemacs.org>
6932
6933         Alignment correctness for flexible arrays.
6934         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
6935         Make alignment-correct. Add interesting comments.
6936         * alloc.c (size_vector):
6937         * alloc.c (make_vector_internal):
6938         * alloc.c (make_bit_vector_internal):
6939         * alloc.c (sweep_bit_vectors_1):
6940         * fns.c (size_bit_vector):
6941         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
6942         * window.c (sizeof_window_config_for_n_windows): 
6943         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
6944
6945 2001-01-24  Martin Buchholz  <martin@xemacs.org>
6946
6947         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
6948
6949 2001-01-23  Andy Piper  <andy@xemacs.org>
6950
6951         * select.c (Fown_selection_internal): pass owned_p
6952
6953         * select-msw.c (mswindows_own_selection): New Signature.
6954
6955         * console.h (struct console_methods): add owned_p to
6956         _own_selection.
6957
6958         * select-x.c (x_own_selection): pass owned_p
6959         (hack_motif_clipboard_selection): use owned_p
6960         (vars_of_select_x): new variable -
6961         x_selection_strict_motif_ownership.
6962
6963 2001-01-23  Martin Buchholz  <martin@xemacs.org>
6964
6965         * specifier.h (specifier_data_offset): Remove pointless parens.
6966         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
6967
6968 2001-01-24  Martin Buchholz  <martin@xemacs.org>
6969
6970         Make Lisp_Object sizeof methods be alignment-correct.
6971         pdump must restore objects to the same alignment as the C compiler
6972         assumes.  It really matters on SGIs.
6973         * lstream.c (aligned_sizeof_lstream): New.
6974         (sizeof_lstream): Use aligned_sizeof_lstream.
6975         (Lstream_new): Likewise.
6976         * opaque.c (aligned_sizeof_opaque): New.
6977         (sizeof_opaque): Use aligned_sizeof_opaque.
6978         (make_opaque): Likewise.
6979         * specifier.c (aligned_sizeof_specifier): New.
6980         (sizeof_specifier): Use aligned_sizeof_specifier.
6981         (make_specifier_internal): Likewise.
6982
6983 2001-01-23  Martin Buchholz  <martin@xemacs.org>
6984
6985         * lstream.h (struct lstream): Use max_align_t for trailing data.
6986         * specifier.h (struct Lisp_Specifier): Likewise.
6987
6988 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6989
6990         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
6991         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
6992         (CCL_SUSPEND): Likewise.
6993         (CCL_INVALID_CMD): Likewise.
6994         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
6995         (ccl_driver): Likewise.
6996         (CCL_WRITE_CHAR): Macro hygiene.
6997         (CCL_WRITE_STRING): Macro hygiene.
6998
6999 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7000
7001         Port "portable" dumper to SunOS 4 and HP-UX.
7002         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
7003         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
7004         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
7005
7006 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7007
7008         * lisp.h (ALIGNOF): A better definition for C++.
7009
7010 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7011
7012         Macro hygiene.
7013         Fix printf warnings: int format, long int arg.
7014         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
7015         (PUSH_FAILURE_POINT): Use correct printf formats.
7016         (POP_FAILURE_POINT): Use correct printf formats.  
7017         Use do {...} while (0)
7018
7019 2001-01-20  Martin Buchholz <martin@xemacs.org>
7020
7021         * XEmacs 21.2.42 "Poseidon" is released.
7022
7023 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7024
7025         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
7026
7027 2001-01-19  Martin Buchholz  <martin@xemacs.org>
7028
7029         De-kludgify FIXED_TYPE free list frobbing.
7030         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
7031         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
7032         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
7033         * alloc.c (Lisp_Free): New pseudo lisp object definition.
7034         * alloc.c (LRECORD_FREE_P): New.
7035         * alloc.c (MARK_LRECORD_AS_FREE): New.
7036         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
7037         * alloc.c (STRUCT_FREE_P): Deleted.
7038         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
7039         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
7040         * alloc.c (STRING_CHARS_FREE_P): New.
7041         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
7042         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
7043         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
7044         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
7045         * alloc.c (resize_string): Use new definitions.
7046         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
7047         * alloc.c (verify_string_chars_integrity): Use new definitions.
7048         * alloc.c (compact_string_chars): Use new definitions.
7049         * alloc.c: Update monster comments.
7050         * lrecord.h (lrecord_type): Add some new lrecord types for
7051         alloc.c's use.
7052
7053 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7054
7055         Improve alignment hackery.
7056         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
7057         (max_align_t): Moved from opaque.h - general purpose.
7058         (ALIGN_PTR): Use size_t, not long.
7059         * opaque.h (max_align_t): Move to lisp.h.
7060
7061 2001-01-18  Norbert Koch  <nk@LF.net>
7062
7063         * gui.h: Fix and add prototypes to fix build problems.
7064
7065 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7066
7067         temacs is going away, so `dump-temacs' is now a bad name.
7068         * .dbxrc (dump-temacs): Rename to `dmp'.
7069         * .gdbinit (dump-temacs): Rename to `dmp'.
7070
7071 2001-01-17  Andy Piper  <andy@xemacs.org>
7072
7073         * glyphs.c (print_image_instance): comment to make martin happy.
7074
7075         * glyphs-x.c (x_redisplay_widget): update faces after a frame
7076         change.
7077
7078         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
7079         activation.
7080         (mswindows_tab_control_redisplay): warning suppression.
7081
7082         * glyphs-widget.c (widget_update): re-write to cope with updated
7083         items.
7084         (widget_instantiate): use new gui_item functions.
7085         (tab_control_update): deleted.
7086         (progress_gauge_update): deleted.
7087         (image_instantiator_progress_guage): take out update reference.
7088         (image_instantiator_tree_view): ditto.
7089         (image_instantiator_tab_control): ditto.
7090
7091         * gui.c (widget_gui_parse_item_keywords): new function. Do things
7092         Right the new way.
7093         (gui_item_add_keyval_pair): re-write to cope with descriptors and
7094         return whether anything was changed.
7095         (update_gui_item_keywords): as it sounds.
7096
7097         * gui.h: declare widget_gui_parse_item_keywords.
7098
7099         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
7100         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
7101
7102 2001-01-17  Martin Buchholz <martin@xemacs.org>
7103
7104         * XEmacs 21.2.41 "Polyhymnia" is released.
7105
7106 2001-01-16  Didier Verna  <didier@xemacs.org>
7107
7108         * glyphs.c (image_instantiate): don't use fallbacks when
7109         instantiating a face's background pixmap by inheritance.
7110
7111 2001-01-14  Mike Sperber <mike@xemacs.org>
7112
7113         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
7114         Conditionalize accordingly.
7115
7116 2001-01-16  Martin Buchholz  <martin@xemacs.org>
7117
7118         * dumper.c (pdump_file_get): Fix a compiler warning.
7119
7120 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7121
7122         Make Purify happy when pdumping.
7123         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
7124         iniitalizing all bits of new lisp object memory.
7125         * symbols.c (Fmake_local_variable): Likewise.
7126         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
7127         * symbols.c (Fdefvaralias): Likewise.
7128         * mule-charset.c (vars_of_mule_charset): Likewise.
7129
7130 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7131         Add the `-nd' flag when running pre-dump operations under the debugger.
7132         * .dbxrc (run-temacs): Add `-nd'.
7133         * .dbxrc (update-elc): Likewise.
7134         * .dbxrc (dump-temacs): Likewise.
7135         * .gdbinit (run-temacs): Likewise.
7136         * .gdbinit (check-temacs): Likewise.
7137         * .gdbinit (update-elc): Likewise.
7138         * .gdbinit (dump-temacs): Likewise.
7139
7140 2001-01-14  Martin Buchholz  <martin@xemacs.org>
7141
7142         Allow building 64-bit executables on AIX with GNU malloc, e.g.
7143         export OBJECT_MODE=64
7144         configure --pdump --use-union-type=no
7145         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
7146         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
7147
7148         * miscplay.c (sndcnv8U_2mono):
7149         Avoid two uses of `++' in the same expression.
7150         Suppresses a GCC warning.
7151
7152 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7153
7154         Make sure future compilers don't miscompile alloc.c.
7155         * alloc.c:
7156         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
7157         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
7158
7159 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7160
7161         * dumper.c: A little post-pdump-rename comment fixup.
7162
7163 2001-01-09  Jerry James  <james@eecs.ku.edu>
7164
7165         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
7166
7167 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7168
7169         * *.[ch]: Globally rename symbols using the following `pdump-rename'
7170         script:
7171         #!/bin/sh
7172         replace_symbol () {
7173           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
7174         }
7175
7176         replace_symbol pdump_wire_lists pdump_weak_object_chains
7177         replace_symbol pdump_wire_list dump_add_weak_object_chain
7178
7179         replace_symbol pdump_wires pdump_root_objects
7180         replace_symbol pdump_wire dump_add_root_object
7181
7182         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
7183         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
7184
7185         replace_symbol dumpstructinfos pdump_root_struct_ptrs
7186         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
7187         replace_symbol dumpstructinfo pdump_root_struct_ptr
7188         replace_symbol dumpstruct dump_add_root_struct_ptr
7189
7190         replace_symbol dumpopaque dump_add_opaque
7191         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
7192         replace_symbol dumpopaqueinfos pdump_opaques
7193         replace_symbol dumpopaqueinfo pdump_opaque
7194
7195         replace_symbol nb_structdump nb_root_struct_ptrs
7196         replace_symbol nb_opaquedump nb_opaques
7197
7198         replace_symbol align_table pdump_align_table
7199         replace_symbol dump_header pdump_header
7200
7201         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
7202         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
7203
7204
7205 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7206
7207         * s/aix4.h: Keep the C for AIX compiler from overaggressively
7208         optimizing bytecount_to_charcount().
7209
7210 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7211
7212         * config.h.in:
7213         (HAVE_DLFCN_H): Removed.
7214         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
7215
7216 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7217
7218         Portable dumper maintainability improvements.
7219         * alloc.c (staticpro):
7220         * alloc.c (staticpro_nodump):
7221         * alloc.c (garbage_collect_1):
7222         * alloc.c (reinit_alloc_once_early):
7223         * alloc.c (init_alloc_once_early):
7224         * alloc.c: Move dumper functions to alloc.c.
7225         * dumper.c (pdump_backtrace):
7226         * dumper.c (pdump_dump_structs):
7227         * dumper.c (pdump_dump_opaques):
7228         * dumper.c (pdump_dump_rtables):
7229         * dumper.c (pdump_dump_wired):
7230         * dumper.c (pdump):
7231         * dumper.c (pdump_load_check):
7232         * dumper.c (pdump_load_finish):
7233         * dumper.c (pdump_file_unmap):
7234         * dumper.c (pdump_file_get):
7235         * dumper.c (pdump_resource_free):
7236         * dumper.c (pdump_resource_get):
7237         * dumper.c (pdump_file_free):
7238         * dumper.c (pdump_file_try):
7239         * dumper.c (pdump_load):
7240         Remove fixed size limits on staticpro(), staticpro_nodump(),
7241         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
7242         Remove custom code for dumping lrecord_implementations_table - use
7243         dumpopaque instead.
7244         Remove (most of the) custom code for dumping staticpros - dump it
7245         like any other dynarr.
7246
7247         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
7248         * dumper.c: Moved functions from alloc.c.
7249         * alloc.c (dumpstruct): Moved to dumper.c.
7250         * alloc.c (dumpopaque): Likewise.
7251         * alloc.c (pdump_wire): Likewise.
7252         * alloc.c (pdump_wire_list): Likewise.
7253
7254         * lisp.h (Dynarr_sizeof): New.
7255         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
7256         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
7257         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
7258
7259         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
7260         * lisp.h (dumpopaque): ditto.
7261         * lisp.h (pdump_wire): ditto.
7262         * lisp.h (pdump_wire_list): ditto.
7263
7264 2001-01-09  Martin Buchholz  <martin@xemacs.org>
7265
7266         * make-src-depend (PrintPatternDeps):
7267         Use `sort' to make output independent of perl version.
7268
7269 2001-01-08  Martin Buchholz  <martin@xemacs.org>
7270
7271         Port to Netbsd 1.5.
7272         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
7273         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
7274
7275 2001-01-03  Didier Verna  <didier@xemacs.org>
7276
7277         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
7278         that `focus_frame' is alive before thinking of calling
7279         `redisplay_redraw_cursor' on it.
7280
7281 2001-01-08  Martin Buchholz <martin@xemacs.org>
7282
7283         * XEmacs 21.2.40 is released.
7284
7285 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7286
7287         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
7288
7289 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7290
7291         * alloc.c (dbg_valmask): Make const.
7292         * alloc.c (dbg_typemask): Make const.
7293         * alloc.c (dbg_USE_UNION_TYPE): Make const.
7294         * alloc.c (dbg_valbits): Make const.
7295         * alloc.c (dbg_gctypebits): Make const.
7296
7297 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
7298
7299         * redisplay-x.c (x_bevel_area):
7300         redisplay.h (struct rune):
7301         Typo fixes in comments.
7302
7303 2001-01-05  Andy Piper  <andy@xemacs.org>
7304
7305         * glyphs-x.c (x_redisplay_widget): use size changed for offset
7306         adjustment.
7307
7308         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
7309
7310 2001-01-05  Martin Buchholz  <martin@xemacs.org>
7311
7312         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
7313
7314         * mule-ccl.c (stack_idx_of_map_multiple):
7315         Non const global data must not be initialized!
7316         Found by MIYASHITA Hisashi.
7317
7318 2001-01-02  Andy Piper  <andy@xemacs.org>
7319
7320         * frame.c (change_frame_size): make sure frame size is always
7321         marked as changed.
7322
7323         * glyphs.c (image_instance_layout): minor code reuse.
7324
7325         * window.c (Fcurrent_window_configuration): revert previous
7326         change.
7327
7328 2001-01-02  Martin Buchholz  <martin@xemacs.org>
7329
7330         * glyphs.h:
7331         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
7332
7333 2000-12-31  Andy Piper  <andy@xemacs.org>
7334
7335         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
7336         when widget gets unmapped.
7337
7338         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
7339         function. Make sure widgets losing focus don't just drop it.
7340         (handle_focus_event_1): record the widget with focus.
7341
7342 2000-12-31  Andy Piper  <andy@xemacs.org>
7343
7344         * window.c (allocate_window): use
7345         make_image_instance_cache_hash_table.
7346         (make_dummy_parent): ditto.
7347         (Fset_window_configuration): ditto.
7348
7349         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
7350
7351         * glyphs.c (process_image_string_instantiator): use
7352         INSTANTIATOR_TYPE.
7353         (get_image_instantiator_governing_domain): ditto.
7354         (normalize_image_instantiator): ditto.
7355         (instantiate_image_instantiator): ditto.
7356         (make_image_instance_1): ditto.
7357         (image_instantiate): ditto. Key on glyph *and* instantiator type.
7358         (instantiator_eq_equal): new function for use with instance hash
7359         tables.
7360         (instantiator_eq_hash): ditto.
7361         (make_image_instance_cache_hash_table): create a suitable hash
7362         table for storing image instances.
7363
7364         * elhash.h (hash_table_weakness): new internal weakness type
7365         HASH_TABLE_KEY_CAR_VALUE_WEAK.
7366         declare new functions.
7367
7368         * elhash.c (finish_marking_weak_hash_tables): introduce yet
7369         another weakness type for glyphs.
7370         (make_standard_lisp_hash_table): new function split out from
7371         make_general_lisp_hash_table.
7372         (make_lisp_hash_table): call make_standard_lisp_hash_table.
7373         (hash_table_instantiate): ditto.
7374         (Fmake_hash_table): ditto.
7375
7376 2000-12-31  Martin Buchholz <martin@xemacs.org>
7377
7378         * XEmacs 21.2.39 is released.
7379
7380 2000-12-29  Andy Piper  <andy@xemacs.org>
7381
7382         * menubar.c (menubar_visible_p_changed): signal the frame changed.
7383
7384         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
7385         the frame has changed so that we pick up geometry changes such as
7386         menubar visibility.
7387
7388 2000-12-28  Andy Piper  <andy@xemacs.org>
7389
7390         * lastfile.c (my_ebss): make a char array so we can pad the
7391         bss. Fixes cygwin unexec.
7392
7393         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
7394
7395 2000-12-26  Andy Piper  <andy@xemacs.org>
7396
7397         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
7398         comments and try and be more precise about a non-/SIGIO world.
7399         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
7400         SIGIO.
7401
7402         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
7403         we don't normalize to zero width or height.
7404
7405 2000-12-24  Andy Piper  <andy@xemacs.org>
7406
7407         * Makefile.in.in (ldflags): add -mwindows when appropriate.
7408
7409 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
7410
7411         * s/sco5.h: SCO 5 has pty support.
7412
7413 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
7414
7415         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
7416         input-method-xlib.c contains whole contents of input-method-xfs.c,
7417         so we can use input-method-xlib.c's code for USE_XFONTSET
7418         using #ifdefs.
7419         * input-method-xfs.c: removed.
7420
7421 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
7422
7423         * file-coding.h (enum coding_category_type): reorder enumerators to
7424         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
7425         (now one greater than largest real coding_category_type enumerator).
7426         * file-coding.c (coding_category_symbol, coding_category_by_priority,
7427         coding_category_system, fcd_descriptihon_1, decode_coding_category,
7428         Fcoding_category_list, Fset_coding_priority_list,
7429         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
7430         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
7431
7432 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
7433
7434         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
7435         * redisplay-output.c (redisplay_output_window): Clear top of window
7436         when face is changed.
7437         * redisplay-x.c (x_redraw_exposed_window): Call
7438         redisplay_clear_top_of_window.
7439         * redisplay.h: Publish redisplay_clear_top_of_window.
7440
7441 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
7442
7443         * buffer.c (Fkill_buffer): Map over all devices.
7444         * window.c (window_loop): Remove UNSHOW_BUFFER code.
7445         (list_windows): New function.
7446         (list_all_windows): Ditto.
7447         (Freplace_buffer_in_windows): Use them.
7448
7449 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
7450
7451         * database.c (berkdb_subtype): Recognize new subtype `queue'.
7452         (Fopen_database): Use `db_create' instead of `db_open'.
7453         (syms_of_database): Initialize Qqueue.
7454
7455 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
7456
7457         * buffer.c (common_init_complex_vars_of_buffer): Initialize
7458         buffer_local_face_property.
7459         * buffer.h (struct buffer): New member buffer_local_face_property.
7460         * window.c (Fset_window_buffer):  Mark window's face as changed
7461         when buffer has buffer local face.
7462         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
7463         * objects.c (color_after_change): Set buffer_local_face_property
7464         when locale of face specifier is buffer.
7465         * objects.c (font_after_change): Ditto.
7466         * objects.c (face_boolean_after_change): Ditto.
7467         * glyphs.c (image_after_change): Ditto.
7468
7469 2000-12-09  Dan Holmsand  <dan@eyebee.com>
7470
7471         * nt.c (mswindows_fstat): Report file permissions, volume serial
7472         number, etc. Code adapted from FSF Emacs 20.7.
7473
7474 2000-12-09  Dan Holmsand  <dan@eyebee.com>
7475
7476         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
7477         of stat when we don't have symbolic links, to make sure
7478         mswindows_stat is called on mswindows.
7479
7480 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
7481
7482         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
7483
7484 2000-12-12  Martin Buchholz  <martin@xemacs.org>
7485
7486         * doprnt.c (emacs_doprnt_1): More printing fixes.
7487         Make printing of numbers compatible with libc and FSF Emacs.
7488         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
7489         Use the system printf to do most of the hard work of formatting,
7490         instead of doprnt_1().
7491         Calculate memory to allocate for format string.
7492         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
7493         (doprnt_1): Cleaner code and documentation.
7494
7495 2000-12-01  Jerry James  <james@eecs.ukans.edu>
7496
7497         * Makefile.in.in: Use the loop variable to install headers.
7498
7499 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7500
7501         * window.c (Fsplit_window): Don't invalidate face cache.
7502
7503 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7504
7505         * minibuf.c (Fall_completions): Undo the previous change
7506         which removed checking elements start with space.
7507
7508 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
7509
7510         * mule-canna.c: Didier suppression.
7511
7512 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
7513
7514         * mule-canna.c: rename static unsigned char buf[] to key_buffer
7515         (warning suppression).  Add English comment translations.
7516
7517 2000-12-05  Martin Buchholz  <martin@xemacs.org>
7518
7519         * unexelfsgi.c (unexec): Better test for mmap failure.
7520
7521 2000-12-05  Martin Buchholz <martin@xemacs.org>
7522
7523         * XEmacs 21.2.38 is released.
7524
7525 2000-12-05  Martin Buchholz  <martin@xemacs.org>
7526
7527         * redisplay.c (bar-cursor): Make a user variable.
7528
7529         * symsinit.h: Add init_postgresql_from_environment.
7530
7531 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7532
7533         * regex.c: Convert to clean C.
7534
7535 2000-12-05  Dan Holmsand  <dan@eyebee.com>
7536
7537         * realpath.c:
7538         Don't #include sysfile.h. Revert to duplicating PATH_MAX
7539         initialization.
7540         (sys_readlink): renamed to system_readlink to avoid conflict with
7541         the other sys_readlink.
7542
7543 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
7544
7545         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
7546
7547 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
7548
7549         * postgresql.c (init_postgresql_from_environment): new function.
7550         (vars_of_postgresql): Move code initializing Lisp variables out and
7551         into init_postgresql_from_environment.
7552         emacs.c (main_1): Call init_postgresql_from_environment if and only
7553         if running a dumped XEmacs.
7554
7555 2000-08-31  Dan Holmsand  <dan@eyebee.com>
7556
7557         * buffer.c: Make find-file-compare-truenames default to true on
7558         windows.
7559
7560         * realpath.c (win32_abs_start):
7561         (cygwin_readlink):
7562         (win32_readlink): New functions.
7563         (xrealpath): Return really real filenames on windows.
7564
7565         * fileio.c (Ffile_truename): Make file-truename work on windows.
7566
7567 2000-11-29  Didier Verna  <didier@xemacs.org>
7568
7569         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
7570         * faces.c (update_face_cachel_data): use it.
7571         * faces.c (add_face_cachel): use it. Complete background pixmap
7572         frobbing in face cache if `update_face_cachel_data' has not done so.
7573
7574 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
7575
7576         * search.c (string_match_1): Don't set last_thing_searched
7577         when search failed.
7578
7579 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
7580
7581         * buffer.c: Include casetab.h
7582         (common_init_complex_vars_of_buffer): Use new case-table object.
7583         * buffer.h: Include casetab.h
7584         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
7585         (DOWNCASE_TABLE_OF): Ditto.
7586         * bufslots.h: Remove char-tables and add case-table.
7587         * casetab.c: Include casetab.h
7588         (CASE_TABLE_P): Removed.
7589         (mark_case_table): New function.
7590         (allocate_case_table): New function.
7591         (Fcase_table_p): Use new case-table.
7592         (case_table_char): New function.
7593         (Fget_case_table): Ditto.
7594         (Fput_case_table): Ditto.
7595         (Fput_case_table_pair): Ditto.
7596         (Fcopy_case_table): Ditto.
7597         (Fcurrent_case_table): Return case-table.
7598         (Fstandard_case_table): Return case-table.
7599         (Fset_case_table): Fix doc-string.
7600         (set_case_table): Use case-table
7601         (syms_of_casetab): DEFSUBR new functions.
7602         (complex_vars_of_casetab): Set up standard case-table.
7603         * casetab.h: New file.
7604         * editfns.c: Include casetab.h
7605         (Fcompare_buffer_substrings): Use case-table.
7606         * inline.c: Include casetab.h
7607         * lisp.h: Remove bogus extern.
7608         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
7609         * search.c: Include casetab.h
7610         (TRANSLATE_ASCII): Removed.
7611         (TRANSLATE): Unconditionally translate character.
7612         (looking_at_1): Use case-table.
7613         (string_match_1): Ditto.
7614         (fast_string_match): Ditto.
7615         (search_command): Ditto.
7616         (search_buffer): Separate boyer_moore.  Check whether
7617         boyer_moore is possible.
7618         (simple_search): New function.
7619         (boyer_moore): Separated from search_buffer. Translate char.
7620
7621 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7622
7623         * regex.c (RE_TR_ASCII): Removed.
7624         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
7625         (PATFETCH): Call PATFETCH_RAW.
7626         (PATFETCH_RAW): Fetch Emchar.
7627         (PATUNFETCH): Decrement charptr.
7628         (GET_BUFFER_SPACE): Rename b to buf_end.
7629         (BUF_PUSH): Ditto.
7630         (BUF_PUSH_2): Ditto.
7631         (BUF_PUSH_3): Ditto.
7632         (EXTEND_BUFFER): Ditto.
7633         (SET_LIST_BIT): Ditto.
7634         (regex_compile): Ditto.  Translate non ASCII char.
7635         (compile_range): Ditto.
7636         (re_search_2): Ditto.
7637         (re_match_2_internal): Compare Emchar.
7638         (bcmp_translate): Ditto.
7639
7640 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
7641
7642         * lisp.h (basic char/int typedefs):  comment improvement.
7643
7644 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
7645
7646         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
7647         unstomp inhibit_site_lisp.  Improve comments.
7648
7649 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
7650
7651         * mule-charset.c (Fcharset_property):  improve type checking, comments.
7652
7653 2000-11-28  Andy Piper  <andy@xemacs.org>
7654
7655         * redisplay-output.c (redisplay_output_subwindow): make sure we do
7656         clipped display for windows in the gutter also.
7657         (redisplay_display_boxes_in_window_p): change semantics of return
7658         codes to be more intuitive.
7659
7660         * gutter.h: declare display_boxes_in_gutter_p.
7661
7662         * gutter.c (display_boxes_in_gutter_p): new function for
7663         redisplay.
7664
7665 2000-11-22  Andy Piper  <andy@xemacs.org>
7666
7667         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
7668         autodetect domain.
7669
7670 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
7671
7672         * callproc.c (Fold_call_process_internal):
7673         * gpm.c (Freceive_gpm_event):
7674         (tty_get_foreign_selection): Might be just warning supression.
7675         * fileio.c (Fwrite_region_internal):
7676         (Fset_visited_file_modtime):
7677         * keymap.c (event_matches_key_specifier_p):
7678         Initialize GCPROed variable.
7679
7680         * menubar-x.c (command_builder_find_menu_accelerator):
7681         Initialize before use.
7682
7683 2000-11-23  Andy Piper  <andy@xemacs.org>
7684
7685         * unexcw.c (unexec): make the resulting executable executable.
7686
7687 2000-11-21  Martin Buchholz  <martin@xemacs.org>
7688
7689         * doc.c (get_doc_string):
7690         Use size_t, not int, for result of XSTRING_LENGTH.
7691
7692         * cmds.c (Fdelete_char):
7693         * cmds.c (Fpoint_at_eol):
7694         * cmds.c (Fself_insert_command):
7695         Use EMACS_INT, not int, for result of XINT.
7696         Someday, someone will want to insert more than 2**31 identical characters.
7697
7698         * cmds.c (Fdelete_char):
7699         * cmds.c (Fdelete_backward_char):
7700         * syntax.c (Fforward_word):
7701         * syntax.c (Fforward_comment):
7702         Make COUNT argument optional, for consistency with forward-char et al.
7703
7704 2000-11-22  Martin Buchholz  <martin@xemacs.org>
7705
7706         * lisp.h:
7707         * print.c (long_to_string):
7708         Return a useful value: the pointer at end of data written.
7709
7710         * doprnt.c:
7711         Use `static const char * const' for constant strings.
7712         (union printf_arg): Delete `i', `ui' members.
7713         (get_doprnt_args):
7714         (emacs_doprnt_1):
7715         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
7716         Do all printf-ing via the `l' specifier.
7717         Use EMACS_INT instead of int.
7718         Optimize.
7719
7720 2000-11-20  Didier Verna  <didier@xemacs.org>
7721
7722         * faces.c (update_face_cachel_data): don't frob the background
7723         pixmap when the window is being created. The face is needed but
7724         does not exist yet.
7725
7726 2000-11-20  Andy Piper  <andy@xemacs.org>
7727
7728         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
7729         messing with a debug environment.
7730
7731 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7732
7733         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
7734
7735 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7736
7737         * casetab.c (Fcase_table_p): Fix compile error and crash.
7738
7739 2000-11-18  Philip Aston  <philipa@mail.com>
7740
7741         * s/cygwin32.h: Cygwin has SVR4-like pty support.
7742
7743 2000-11-18  Martin Buchholz  <martin@xemacs.org>
7744
7745         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
7746         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
7747
7748 2000-11-17  Martin Buchholz  <martin@xemacs.org>
7749
7750         * config.h.in: Define HAVE_ELF_H if elf.h exists.
7751         * unexelf.c: Use HAVE_ELF_H.
7752         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
7753         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
7754         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
7755         Greg Harrington <greg_harrington@hotmail.com> provided a machine
7756         for testing.
7757         So this is an unexelfsgi.c from a different line of development.
7758
7759 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7760
7761         * regex.c (RE_TR_ASCII): New function.
7762         (RE_TRANSLATE): Call it.
7763
7764 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7765
7766         * buffer.h (TRT_TABLE_OF): Remove assert.
7767         (IN_TRT_TABLE_DOMAIN): Removed.
7768
7769 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7770
7771         * free-hook.c (log_gcpro):
7772         (show_gcprohist): Add support for GCPRO5.
7773
7774 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
7775
7776         * emacs.c (main_1): Improve -sd error message when --pdump=no.
7777
7778 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
7779
7780         * symeval.h: Declare flush_all_buffer_local_cache.
7781
7782         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
7783         (flush_buffer_local_cache): Added.
7784         (flush_all_buffer_local_cache): Added.
7785
7786         * lrecord.h: Remove unused XD_LO_RESET_NIL.
7787
7788         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
7789         (pdump_dump_data): Ditto.
7790         (pdump_reloc_one): Ditto.
7791         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
7792         before dumping.
7793
7794
7795 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7796
7797         * buffer.c: Remove if 0'ed entry.
7798         * buffer.h: Rewrite TRT to use char-table.
7799         * bufslots.h: Remove mirror tables.
7800         * casetab.c: Remove mirror tables.
7801         (CASE_TABLE_P): New macro.
7802         (Fcase_table_p): Element of a case table is string or char-table.
7803         (make_mirror_trt_table): Removed.
7804         (set_case_table): Setup char-table from strings for backward
7805         compatibility.
7806         * dired.c (Fdirectory_files):
7807         * dired-msw.c: (mswindows_get_files):
7808         * lisp.h: Change prototype of re_pattern_buffer.
7809         * regex.c: (RE_TRANSLATE): New macro.
7810         (TRANSLATE_P): Ditto.
7811         Change translate to type RE_TRANSLATE_TYPE.
7812         * regex.h: Define RE_TRANSLATE_TYPE
7813         * search.c (TRANSLATE): New macro.
7814         (TRANSLATE_ASCII): New macro.
7815         Translate table is changed to Lisp_Object.
7816         (signal_failure): Inhibit return.
7817
7818 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7819
7820         * device-msw.c:
7821         * eldap.c:
7822         * event-Xt.c:
7823         * event-stream.c:
7824         * print.c:
7825         Do UNGCPRO before return.
7826
7827 2000-11-14  Martin Buchholz <martin@xemacs.org>
7828
7829         * XEmacs 21.2.37 is released.
7830
7831 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
7832
7833         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
7834         Add comments about discarded return value.
7835
7836 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
7837
7838         * callint.c:
7839         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
7840
7841 2000-10-27  Andy Piper  <andy@xemacs.org>
7842
7843         * gutter.c (Fset_default_gutter_position): default left and right
7844         gutters to visible.
7845         (calculate_gutter_size): calculate resonable heuristic for left
7846         and right gutter sizes.
7847         (specifier_vars_of_gutter): change left and right gutter sizes to
7848         autodetect.
7849         (calculate_gutter_size_from_display_lines): new function.
7850         (output_gutter): check for resizing on left and right gutters.
7851         (clear_gutter): don't special case top and left gutters.
7852         (specifier_vars_of_gutter): use new signature for
7853         set_specifier_caching.
7854
7855         * glyphs-x.c (x_redisplay_widget): spelling fix.
7856         * glyphs.c (specifier_vars_of_glyphs):
7857         * menubar.c (specifier_vars_of_menubar):
7858         * redisplay.c (specifier_vars_of_redisplay):
7859         * toolbar.c (specifier_vars_of_toolbar):
7860         * window.c (specifier_vars_of_window):
7861         * scrollbar.c (specifier_vars_of_scrollbar):
7862         (complex_vars_of_scrollbar): use new signature for
7863         set_specifier_caching.
7864
7865         * specifier.c (set_specifier_caching): include recompute flag.
7866         (recompute_one_cached_specifier_in_window): always recompute if
7867         flag set.
7868         (recompute_one_cached_specifier_in_frame): ditto.
7869
7870         * specifier.h (struct specifier_caching): add recompute flag.
7871
7872 2000-10-24  Andy Piper  <andy@xemacs.org>
7873
7874         * unexcw.c (copy_executable_and_dump_data_section): add new
7875         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
7876         5.0 happy.
7877
7878 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7879
7880         * console-x.h (x_device): New member modifier_release_time.
7881         * event-Xt.c (x_handle_sticky_modifiers):
7882         Bound interval modifier keys are sticky.
7883         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
7884         * events.h: extern it.
7885
7886 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7887
7888         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
7889
7890 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7891
7892         * event-stream.c (execute_command_event): Preserve current_events
7893         and the like when event is misc-user-event.
7894         Inhibit quit during the call to maybe_echo_keys.
7895
7896 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
7897
7898         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
7899         symlink when buffer is killed.
7900         (inhibit_clash_detection): New variable.
7901
7902 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
7903
7904         * console.c (Fset_input_method): Trigger redisplay on tty.
7905
7906 2000-11-07  Martin Buchholz  <martin@xemacs.org>
7907
7908         * process.c (Fprocess_status): Revert to previous behavior:
7909         (process-status "nosuchprocess") ==> nil
7910
7911 2000-11-06  Martin Buchholz  <martin@xemacs.org>
7912
7913         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
7914         Work around another GCC 2.95.2 optimizer bug.
7915
7916 2000-11-02  Martin Buchholz  <martin@xemacs.org>
7917
7918         * process.c (Fget_process): Use LIST_LOOP_2.
7919         (kill_buffer_processes): Use LIST_LOOP_2.
7920
7921         * minibuf.c (Fall_completions):
7922         Delete old non-functional code for FSF fourth argument.
7923
7924         * frame.c (frame_matches_frame_spec):
7925         Renamed from `frame_matches_frametype'.  Update all callers.
7926         (device_matches_device_spec):
7927         Renamed from 'device_matches_console_spec'.  Update all callers.
7928
7929         * doc.c (Fsubstitute_command_keys):
7930         Remove buffer overflow crash.  Small code cleanups.
7931
7932         * casetab.c (check_case_table): Simpler code.
7933
7934         * window.c (Freplace_buffer_in_windows):
7935         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
7936         (and similar implementation) as Fdelete_windows_on.
7937         Update all callers.
7938
7939         * alloc.c (Fmake_list):
7940         * alloc.c (make_vector):
7941         * alloc.c (Fmake_vector):
7942         * alloc.c (make_bit_vector):
7943         * alloc.c (Fmake_bit_vector):
7944         * alloc.c (Fbit_vector):
7945         * alloc.c (Fmake_string):
7946         * alloc.c (Fpurecopy):
7947         * alloc.c (Fmemory_limit):
7948         * buffer.c:
7949         * buffer.c (Fget_buffer):
7950         * buffer.c (Fkill_buffer):
7951         * buffer.c (complex_vars_of_buffer):
7952         * bytecode.c (Fcompiled_function_stack_depth):
7953         * callint.c (Fprefix_numeric_value):
7954         * event-stream.c:
7955         * event-stream.c (Fread_key_sequence):
7956         * casetab.c:
7957         * casetab.c (Fcase_table_p):
7958         * casetab.c (check_case_table):
7959         * casetab.c (Fset_case_table):
7960         * casetab.c (Fset_standard_case_table):
7961         * chartab.c:
7962         * chartab.c (Fchar_table_type):
7963         * chartab.c (Freset_char_table):
7964         * chartab.c (Fget_char_table):
7965         * chartab.c (Fget_range_char_table):
7966         * chartab.c (Fput_char_table):
7967         * chartab.c (Fmap_char_table):
7968         * chartab.c (Fcategory_table_p):
7969         * chartab.c (Fcheck_category_at):
7970         * chartab.c (Fchar_in_category_p):
7971         * chartab.c (Fcategory_table):
7972         * chartab.c (Fcopy_category_table):
7973         * chartab.c (Fset_category_table):
7974         * chartab.c (Fcategory_designator_p):
7975         * chartab.c (Fcategory_table_value_p):
7976         * cmds.c (Fdelete_char):
7977         * cmds.c (Fdelete_backward_char):
7978         * cmds.c (Fself_insert_command):
7979         * cmds.c (Fself_insert_internal):
7980         * console.c (Fvalid_console_type_p):
7981         * console.c (Fcdfw_console):
7982         * console.c (Fconsole_type):
7983         * console.c (Fconsole_name):
7984         * console.c (Fconsole_device_list):
7985         * console.c (Fconsole_on_window_system_p):
7986         * data.c:
7987         * data.c (Feq):
7988         * data.c (Fold_eq):
7989         * data.c (Fsubr_interactive):
7990         * data.c (Fchar_to_int):
7991         * data.c (Fint_to_char):
7992         * data.c (Fsetcar):
7993         * data.c (Fsetcdr):
7994         * data.c (Fnumber_to_string):
7995         * data.c (Fstring_to_number):
7996         * data.c (Frem):
7997         * database.c (mark_database):
7998         * database.c (finalize_database):
7999         * database.c (Fdatabase_live_p):
8000         * database.c (Fdatabasep):
8001         * device-x.c (Fx_get_resource):
8002         * device.c (Fdfw_device):
8003         * dired.c:
8004         * dired.c (Ffile_name_completion):
8005         * dired.c (Ffile_name_all_completions):
8006         * dired.c (Fuser_name_completion):
8007         * dired.c (Fuser_name_completion_1):
8008         * dired.c (Fuser_name_all_completions):
8009         * doc.c (Fdocumentation):
8010         * doc.c (Fdocumentation_property):
8011         * doc.c (Fsubstitute_command_keys):
8012         * editfns.c:
8013         * editfns.c (Fchar_to_string):
8014         * editfns.c (Fstring_to_char):
8015         * editfns.c (Ftemp_directory):
8016         * editfns.c (Finsert_char):
8017         * editfns.c (Fbuffer_substring_no_properties):
8018         * editfns.c (Fnarrow_to_region):
8019         * editfns.c (Fchar_equal):
8020         * editfns.c (Fchar_Equal):
8021         * editfns.c (Ftranspose_regions):
8022         * emacs.c (Fdump_emacs):
8023         * eval.c (Fthrow):
8024         * eval.c (Fcommand_execute):
8025         * eval.c (Fautoload):
8026         * eval.c (Fbacktrace):
8027         * eval.c (Fbacktrace_frame):
8028         * events.c:
8029         * events.c (Fcopy_event):
8030         * events.c (Fcharacter_to_event):
8031         * events.c (Fevent_button):
8032         * events.c (Fevent_process):
8033         * extents.c:
8034         * extents.c (Fnext_extent_change):
8035         * extents.c (Fextent_property):
8036         * faces.c (Ffacep):
8037         * faces.c (Fmake_face):
8038         * file-coding.c:
8039         * file-coding.c (Fencode_shift_jis_char):
8040         * file-coding.c (Fencode_big5_char):
8041         * fileio.c (Ffile_name_directory):
8042         * fileio.c (Ffile_name_nondirectory):
8043         * fileio.c (Ffile_name_as_directory):
8044         * fileio.c (Fdirectory_file_name):
8045         * fileio.c (Ffile_truename):
8046         * fileio.c (Fsubstitute_in_file_name):
8047         * fileio.c (Ffile_modes):
8048         * fileio.c (Fset_file_modes):
8049         * fileio.c (Fset_default_file_modes):
8050         * fileio.c (Fverify_visited_file_modtime):
8051         * floatfns.c (Facos):
8052         * floatfns.c (Fasin):
8053         * floatfns.c (Fatan):
8054         * floatfns.c (Fcos):
8055         * floatfns.c (Fsin):
8056         * floatfns.c (Ftan):
8057         * floatfns.c (Fbessel_j0):
8058         * floatfns.c (Fbessel_j1):
8059         * floatfns.c (Fbessel_jn):
8060         * floatfns.c (Fbessel_y0):
8061         * floatfns.c (Fbessel_y1):
8062         * floatfns.c (Fbessel_yn):
8063         * floatfns.c (Ferf):
8064         * floatfns.c (Ferfc):
8065         * floatfns.c (Flog_gamma):
8066         * floatfns.c (Fexp):
8067         * floatfns.c (Fexpt):
8068         * floatfns.c (Flog):
8069         * floatfns.c (Flog10):
8070         * floatfns.c (Fsqrt):
8071         * floatfns.c (Fcube_root):
8072         * floatfns.c (Facosh):
8073         * floatfns.c (Fasinh):
8074         * floatfns.c (Fatanh):
8075         * floatfns.c (Fcosh):
8076         * floatfns.c (Fsinh):
8077         * floatfns.c (Ftanh):
8078         * floatfns.c (Fabs):
8079         * floatfns.c (Ffloat):
8080         * floatfns.c (Flogb):
8081         * floatfns.c (Fceiling):
8082         * floatfns.c (Ffloor):
8083         * floatfns.c (Fround):
8084         * floatfns.c (Ftruncate):
8085         * floatfns.c (Ffceiling):
8086         * floatfns.c (Fffloor):
8087         * floatfns.c (Ffround):
8088         * floatfns.c (Fftruncate):
8089         * fns.c (Fstring_equal):
8090         * fns.c (Fstring_lessp):
8091         * fns.c (concat2):
8092         * fns.c (concat3):
8093         * fns.c (vconcat2):
8094         * fns.c (vconcat3):
8095         * fns.c (Fsubstring):
8096         * fns.c (Fassoc):
8097         * fns.c (Fold_assoc):
8098         * fns.c (assoc_no_quit):
8099         * fns.c (Fassq):
8100         * fns.c (Fold_assq):
8101         * fns.c (assq_no_quit):
8102         * fns.c (Frassoc):
8103         * fns.c (Fold_rassoc):
8104         * fns.c (Frassq):
8105         * fns.c (Fold_rassq):
8106         * fns.c (rassq_no_quit):
8107         * fns.c (Fremassoc):
8108         * fns.c (remassoc_no_quit):
8109         * fns.c (Fremassq):
8110         * fns.c (remassq_no_quit):
8111         * fns.c (Fremrassoc):
8112         * fns.c (Fremrassq):
8113         * fns.c (remrassq_no_quit):
8114         * fns.c (Fsort):
8115         * fns.c (Fplist_get):
8116         * fns.c (Fplist_put):
8117         * fns.c (Fplist_remprop):
8118         * fns.c (Fplist_member):
8119         * fns.c (Flax_plist_get):
8120         * fns.c (Flax_plist_put):
8121         * fns.c (Flax_plist_remprop):
8122         * fns.c (Flax_plist_member):
8123         * fns.c (Fequal):
8124         * fns.c (Fold_equal):
8125         * fns.c (Frequire):
8126         * fns.c (Fbase64_encode_region):
8127         * fns.c (Fbase64_encode_string):
8128         * fns.c (Fbase64_decode_region):
8129         * frame.c:
8130         * frame.c (frame_matches_frame_spec):
8131         * frame.c (device_matches_device_spec):
8132         * frame.c (next_frame):
8133         * frame.c (previous_frame):
8134         * frame.c (Fnext_frame):
8135         * frame.c (Fprevious_frame):
8136         * frame.c (Fframe_property):
8137         * frame.c (Fset_frame_height):
8138         * frame.c (Fset_frame_size):
8139         * frame.h:
8140         * glyphs.c:
8141         * glyphs.c (if):
8142         * glyphs.c (decode_error_behavior_flag):
8143         * glyphs.c (Fmake_image_instance):
8144         * indent.c (Findent_to):
8145         * intl.c (Fignore_defer_gettext):
8146         * keymap.c (Fkeymapp):
8147         * keymap.c (Flookup_key):
8148         * lread.c:
8149         * lread.c (Fload_internal):
8150         * lread.c (Feval_buffer):
8151         * lread.c (Feval_region):
8152         * macros.c (Fexecute_kbd_macro):
8153         * marker.c (set_marker_internal):
8154         * marker.c (Fset_marker):
8155         * marker.c (set_marker_restricted):
8156         * marker.c (Fcopy_marker):
8157         * marker.c (noseeum_copy_marker):
8158         * menubar.c:
8159         * menubar.c (Fpopup_menu):
8160         * minibuf.c:
8161         * mule-charset.c (Fcharset_name):
8162         * mule-charset.c (Fchar_charset):
8163         * mule-charset.c (Fchar_octet):
8164         * mule-charset.c (Fsplit_char):
8165         * mule-wnnfns.c (Fwnn_open):
8166         * mule-wnnfns.c (Fwnn_dict_comment):
8167         * mule-wnnfns.c (Fwnn_quit_henkan):
8168         * mule-wnnfns.c (Fwnn_word_toroku):
8169         * mule-wnnfns.c (Fwnn_word_sakujo):
8170         * mule-wnnfns.c (Fwnn_word_use):
8171         * mule-wnnfns.c (Fwnn_hindo_set):
8172         * objects.c:
8173         * objects.c (Fmake_color_instance):
8174         * objects.c (Fmake_font_instance):
8175         * print.c (Fwrite_char):
8176         * process.c:
8177         * process.c (mark_process):
8178         * process.c (print_process):
8179         * process.c (get_process_from_usid):
8180         * process.c (Fprocessp):
8181         * process.c (Fprocess_live_p):
8182         * process.c (Fget_process):
8183         * process.c (Fget_buffer_process):
8184         * process.c (get_process):
8185         * process.c (Fprocess_id):
8186         * process.c (Fprocess_name):
8187         * process.c (Fprocess_command):
8188         * process.c (init_process_io_handles):
8189         * process.c (start_process_unwind):
8190         * process.c (Fstart_process_internal):
8191         * process.c (Fopen_multicast_group_internal):
8192         * process.c (Fset_process_window_size):
8193         * process.c (read_process_output):
8194         * process.c (send_process):
8195         * process.c (Fprocess_tty_name):
8196         * process.c (Fset_process_buffer):
8197         * process.c (Fprocess_buffer):
8198         * process.c (Fprocess_mark):
8199         * process.c (set_process_filter):
8200         * process.c (Fset_process_filter):
8201         * process.c (Fprocess_filter):
8202         * process.c (Fprocess_send_region):
8203         * process.c (Fprocess_send_string):
8204         * process.c (exec_sentinel):
8205         * process.c (Fset_process_sentinel):
8206         * process.c (Fprocess_sentinel):
8207         * process.c (status_notify):
8208         * process.c (Fprocess_status):
8209         * process.c (Fprocess_exit_status):
8210         * process.c (process_send_signal):
8211         * process.c (Fprocess_send_eof):
8212         * process.c (deactivate_process):
8213         * process.c (remove_process):
8214         * process.c (Fdelete_process):
8215         * process.c (kill_buffer_processes):
8216         * process.c (Fprocess_kill_without_query):
8217         * process.c (Fprocess_kill_without_query_p):
8218         * rangetab.c:
8219         * rangetab.c (Fget_range_table):
8220         * rangetab.c (Fput_range_table):
8221         * rangetab.c (Fremove_range_table):
8222         * rangetab.c (Fclear_range_table):
8223         * search.c:
8224         * search.c (Fskip_chars_forward):
8225         * search.c (Fskip_chars_backward):
8226         * search.c (Fskip_syntax_forward):
8227         * search.c (Fskip_syntax_backward):
8228         * search.c (search_command):
8229         * search.c (Freplace_match):
8230         * search.c (Fregexp_quote):
8231         * select.c (Fown_selection_internal):
8232         * select.c (Fselection_owner_p):
8233         * select.c (Fselection_exists_p):
8234         * select.c (Fget_selection_internal):
8235         * specifier.c:
8236         * symbols.c:
8237         * symbols.c (Fintern):
8238         * symbols.c (Fintern_soft):
8239         * symbols.c (Funintern):
8240         * symbols.c (Fapropos_internal):
8241         * symbols.c (Fset_default):
8242         * syntax.c:
8243         * syntax.c (Fsyntax_table_p):
8244         * syntax.c (Fcopy_syntax_table):
8245         * syntax.c (Fset_syntax_table):
8246         * syntax.c (Fchar_syntax):
8247         * syntax.c (syntax_match):
8248         * syntax.c (Fmatching_paren):
8249         * syntax.c (Fforward_word):
8250         * syntax.c (scan_lists):
8251         * syntax.c (Fscan_lists):
8252         * syntax.c (Fscan_sexps):
8253         * syntax.c (Fparse_partial_sexp):
8254         * toolbar.c (Fcheck_toolbar_button_syntax):
8255         * tooltalk.doc:
8256         * window.c:
8257         * window.c (Fwindowp):
8258         * window.c (Fwindow_live_p):
8259         * window.c (Fwindow_point):
8260         * window.c (Fdelete_window):
8261         * window.c (Fnext_window):
8262         * window.c (Fprevious_window):
8263         * window.c (Fother_window):
8264         * window.c (window_loop):
8265         * window.c (Fget_lru_window):
8266         * window.c (Fsplit_window):
8267         * window.c (Fenlarge_window):
8268         * window.c (Fenlarge_window_pixels):
8269         * window.c (Fshrink_window):
8270         * window.c (Fshrink_window_pixels):
8271         * window.c (change_window_height):
8272         * window.c (Fwindow_configuration_p):
8273         * window.c (Fcurrent_window_configuration):
8274         * window.h:
8275         * casefiddle.c (casify_object):
8276         * casefiddle.c (Fupcase):
8277         * casefiddle.c (Fdowncase):
8278         * casefiddle.c (Fcapitalize):
8279         * casefiddle.c (Fupcase_initials):
8280         * casefiddle.c (casify_region_internal):
8281         * casefiddle.c (casify_region):
8282         * casefiddle.c (Fupcase_region):
8283         * casefiddle.c (Fdowncase_region):
8284         * casefiddle.c (Fcapitalize_region):
8285         * casefiddle.c (Fupcase_initials_region):
8286         * casefiddle.c (Fupcase_word):
8287         * casefiddle.c (Fdowncase_word):
8288         * casefiddle.c (Fcapitalize_word):
8289         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
8290         Replace 0 with '\0' when working with bytes.
8291         Replace initial "(" with "\(" in docstrings.
8292
8293 2000-11-01  Martin Buchholz  <martin@xemacs.org>
8294
8295         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
8296
8297         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
8298
8299 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8300
8301         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
8302
8303 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8304
8305         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
8306         correctly.
8307
8308 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8309
8310         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
8311         (inhibit_auto_save_session): New variable.
8312         (vars_of_fileio): Declare and initialize them.
8313         * fileio.c (Fdo_auto_save): Don't create session file if
8314         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
8315
8316 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8317
8318         * sgiplay.c (play_internal): C++ compilability.
8319         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
8320         * callproc.c (Fold_call_process_internal):
8321         Remove unused vars `env', `first'.
8322         * scrollbar.c (update_scrollbar_instance):
8323         #### unused var `current_window'.
8324         * redisplay-tty.c: Put currently unused vars insert_mode_on,
8325         etc. within #ifdef NOT_YET.
8326         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
8327         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
8328         * specifier.c (specifier_instance):
8329         #### unused var `tag'.
8330         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
8331
8332 2000-10-27  Martin Buchholz  <martin@xemacs.org>
8333
8334         * fns.c (Fbutlast):
8335         * fns.c (list_sort):
8336         * fns.c (Ffillarray):
8337         * fns.c (bytecode_nconc2):
8338         * fns.c (Fnconc):
8339         * fns.c (mapcar1):
8340         * fns.c (Fmapconcat):
8341         Be pedantically 64-bit correct.  For the time when someone will
8342         want to have a list with length > 2**32.
8343
8344         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
8345         Work around MIPSpro compiler bug.
8346
8347         * process-unix.c (unix_kill_child_process): Add snarky comment.
8348         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
8349
8350         * config.h.in: Oops, _getpt ==> _getpty
8351
8352 2000-10-26  Martin Buchholz  <martin@xemacs.org>
8353
8354         * config.h.in:
8355         * regex.c:
8356         Use void*, not char*, as return type of alloca().
8357
8358         * alloc.c (free_marker): Side effect inside assert expression!
8359
8360 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
8361
8362         * mule-charset.c (Fset_charset_ccl_program): To check
8363         if the given ccl program is valid, use setup_ccl_program()
8364         instead of CHECK_VECTOR().
8365         (Fmake_charset): Likewise.
8366
8367 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
8368
8369         * faces.c (get_extent_fragment_face_cache_index):
8370         Fix cachel.merged_faces memory leak.
8371
8372 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
8373
8374         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
8375         Reset MSB of octets obtained by DECODE_SJIS
8376         because of the incompatibility with Emacs.
8377         (ccl_driver)<CCL_ENCODE_SJIS>:
8378         Set MSB of octets before passing them to
8379         ENCODE_SJIS because of the incompatibility
8380         with Emacs.
8381
8382 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
8383
8384         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
8385         (DECLARE_LRECORD): Undo the last change.
8386         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
8387
8388 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
8389
8390         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
8391         the implementation to lrecord_implementations_table.
8392
8393 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
8394
8395         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
8396         initial value of `lrecord_type_##c_name' and
8397         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
8398         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
8399         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
8400         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
8401         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
8402
8403 2000-10-17  Martin Buchholz  <martin@xemacs.org>
8404
8405         * miscplay.c (sndcnv8S_2mono):
8406         (sndcnv2monounsigned):
8407         (sndcnvULaw_2linear):
8408         (sndcnv16swap):
8409         Remove implementation-defined behavior.
8410
8411 2000-10-12  Martin Buchholz  <martin@xemacs.org>
8412
8413         * input-method-xlib.c: Warning suppression.
8414
8415 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
8416
8417         * mule-ccl.c: Sync up with Emacs 21.0.90.
8418         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
8419         Do nothing.
8420         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
8421         Likewise.
8422         (ccl_driver[WriteMultibyteChar2]): Bug fix.
8423         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
8424         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
8425         leading char belongs to official 2-dimensional charset.
8426         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
8427         write the given character as is.  Otherwise,
8428         if it is a multibyte char, convert it by
8429         non_ascii_set_charptr_emchar, then write it.
8430         (CCL_WRITE_STRING): Likewise.
8431         (ccl_get_compiled_code): New function.
8432         (setup_ccl_program): When ccl_prog is invalid,
8433         return -1.
8434         (Fregister_code_conversion_map): New function.
8435         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
8436
8437         * mule-ccl.h: Sync up with Emacs 21.0.90.
8438         (Fregister_ccl_program): export it.
8439
8440         * redisplay-msw.c (separate_textual_runs):
8441         If ccl program is not valid, don't do ccl conversion.
8442
8443         * redisplay-x.c (separate_textual_runs): Ditto.
8444
8445         * file-coding.c (Fmake_coding_system):
8446         When type is ccl and value is vector, register it
8447         with a proper symbol.  And checks whether the
8448         given ccl program is valid.
8449         (mule_decode): When calling ccl_driver, if src indicates
8450         NULL pointer, set an empty string instead.
8451         (mule_encode): Likewise.
8452
8453 2000-10-11  Martin Buchholz  <martin@xemacs.org>
8454
8455         The following large batch of changes gets us back to a state of
8456         C++ compilability.  Extbyte is now a char, which means that
8457         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
8458
8459         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
8460
8461         * sound.c (Fplay_sound): Type correctness.
8462
8463         * select-x.c (hack_motif_clipboard_selection): Type correctness.
8464         (x_get_window_property): Type correctness.
8465         (receive_incremental_selection): unsigned char ==> Extbyte
8466         (selection_data_to_lisp_data): unsigned char ==> Extbyte
8467         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
8468         (Fx_store_cutbuffer_internal): Type correctness.
8469
8470         * process-unix.c (try_to_initialize_subtty): Type correctness.
8471
8472         * objects-x.c (x_print_color_instance): Type correctness.
8473         (x_print_font_instance): Type correctness.
8474         (x_list_fonts): SExtbyte ==> Extbyte.
8475         (valid_x_font_name_p): SExtbyte ==> Extbyte.
8476         (x_find_charset_font): SExtbyte ==> Extbyte.
8477         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
8478         (truename_via_XListFonts): SExtbyte ==> Extbyte.
8479         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
8480         Use bufbyte_strcmp.
8481
8482         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
8483         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
8484         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
8485         (BYTE_C0_P): Use bit ops for char-signedness safety.
8486         (BYTE_C1_P): Use bit ops for char-signedness safety.
8487         (CHARSET_BY_LEADING_BYTE):
8488         (CHARSET_BY_ATTRIBUTES):
8489         Always use inline function.
8490         Use type_checking_assert.
8491         Hide chlook.
8492
8493         * mule-charset.c (non_ascii_charptr_copy_char):
8494         Modify to work with both ASCII and non-ASCII characters.
8495         Improve docs and variable names.
8496         Replace over-clever fall-through switch with a simple loop.
8497         (Lstream_get_emchar_1):
8498         Replace over-clever fall-through switch with a simple loop.
8499
8500         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8501         Warning suppression.
8502
8503         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
8504         the return value of Lstream_getc, which could be EOF as well.
8505
8506         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
8507
8508         * lisp.h: Make Extbyte a char, not unsigned char, so that external
8509         APIs can be used on Extbytes without casts.  Risky!
8510         (SExtbyte): Remove.
8511         (UExtbyte): Remove.
8512
8513         * input-method-xlib.c (XIM_init_device):
8514         Use Xlib.h instead of IntrinsicP.h.
8515         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
8516         which will break in X11R7.
8517         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
8518         to call XRegisterIMInstantiateCallback with correct types.
8519
8520         * gui-x.c (button_item_to_widget_value): Type correctness.
8521
8522         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
8523
8524         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
8525         (xbm_instantiate_1): Type correctness.
8526         (BUILD_GLYPH_INST):  Type correctness.
8527
8528         * fileio.c (Fsubstitute_in_file_name): Type correctness.
8529
8530         * file-coding.c:
8531         (decode_coding_sjis):
8532         (decode_coding_big5):
8533         (decode_coding_ucs4):
8534         (decode_coding_utf8):
8535         (decode_coding_iso2022):
8536         (decode_coding_no_conversion):
8537         Make all decoding functions take an Extbyte * arg.
8538         (encode_coding_sjis):
8539         (encode_coding_big5):
8540         (encode_coding_ucs4):
8541         (encode_coding_utf8):
8542         (encode_coding_iso2022):
8543         (encode_coding_no_conversion):
8544         Make all encoding functions take a Bufbyte * arg.
8545         Use size_t instead of unsigned int for memory sizes.
8546         Only cast to unsigned char whenever dereferencing Extbyte *.
8547
8548         * doc.c (unparesseuxify_doc_string): Type correctness.
8549
8550         * console-x.c (split_up_display_spec):
8551         Rewrite without using details of internal string representation.
8552         (x_semi_canonicalize_device_connection): Type correctness.
8553
8554         * config.h.in:
8555         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
8556         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
8557         (HAVE_XFREE386): Removed.
8558
8559         * buffer.h (DEC_CHARPTR): `const' correctness.
8560         (bufbyte_strcmp): New.
8561         (bufbyte_memcmp): New.
8562
8563         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
8564
8565         * buffer.h (XCHAR_OR_CHAR_INT):
8566         Always use inline function.
8567         Remove redundant type checking assert() - XINT will abort quite nicely.
8568
8569 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
8570
8571         * search.c (Freplace_match): Set newtext to an empty string.
8572
8573 2000-10-10  Martin Buchholz  <martin@xemacs.org>
8574
8575         * s/decosf1-3.h: Remove #include of stropts.h
8576         * s/ptx.h: Remove #include of stropts.h
8577         * s/usg5-4.h: Remove #include of stropts.h
8578         * sysproc.h:
8579         * config.h.in:
8580         Use stropts.h, not sys/stropts.h.
8581         Use strtio.h, not sys/strtio.h.
8582
8583 2000-10-04  Martin Buchholz <martin@xemacs.org>
8584
8585         * XEmacs 21.2.36 is released.
8586
8587 2000-09-21  Andy Piper  <andy@xemacs.org>
8588
8589         * glyphs-x.c (x_redisplay_widget): make sure non-structural
8590         changes still involve copying the widget tree.
8591         (update_widget_face): make sure a change is register in the widget
8592         tree. Call update_tab_widget_face appropriately.
8593         (update_tab_widget_face): ditto.
8594         (x_tab_control_redisplay): make sure non-structural changes still
8595         involve copying the widget tree.
8596
8597 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
8598
8599         * lread.c (locate_file): Check the path element is non-nil.
8600
8601 2000-10-02  Martin Buchholz  <martin@xemacs.org>
8602
8603         * lisp.h: Warning suppression for SCO compilers.
8604
8605         * redisplay-tty.c (reset_tty_modes): Fix crash.
8606         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
8607
8608 2000-09-27  Martin Buchholz  <martin@xemacs.org>
8609
8610         Big signal/process handling overhaul.  Bugs fixed:
8611         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
8612         M-x comint-kill-subjob should work for both values nil and t of
8613         process-connection-type. It was broken on most platforms.
8614         Testing on Irix and Cygwin still needed.  Other plaforms tested.
8615         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
8616         * process-unix.c: Signal/Process handling overhaul.
8617         (pty_name): make 64 bytes, as `expect' does, for paranoia.
8618         (allocate_pty): Use all available modern methods of allocating
8619         ptys, falling back to old style BSD allocation as a last resort.
8620         Use allegedly more secure Unix98 pty allocation by default.
8621         (allocate_pty_the_old_fashioned_way): New. the last resort.
8622         (unix_create_process): Push ptem, ldterm, ttcompat where
8623         available.  Autoconfiscate.
8624         (try_to_initialize_subtty): New.
8625         (unix_kill_child_process): Proper signal handling for ptys on most
8626         platforms, using special knowledge of AIX, BSD, etc...
8627         (unix_create_process): Always disconnect_controlling_terminal() for
8628         subprocesses, whether using ptys or not.
8629         * process.h: Remove old getpt-dependent PTY code.
8630         * process.c (Fprocess_send_signal): New, obvious generic function.
8631         (decode_signal): New.
8632         (Finterrupt_process):
8633         (Fkill_process):
8634         (Fquit_process):
8635         (Fstop_process):
8636         (Fcontinue_process):
8637         (Fsignal_process): Use decode_signal.
8638         (process_send_signal):
8639         Many docstring corrections.
8640         Allow any signal to be sent to a process object.
8641         * config.h.in: Add symbols for big signal/process overhaul.
8642         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
8643         * sysproc.h: Include process-related headers, where available:
8644         sys/stropts.h sys/strtio.h pty.h libutil.h
8645         * s/irix4-0.h:
8646         * s/irix5-0.h:
8647         * s/cygwin32.h:
8648         * s/gnu.h:
8649         * s/linux.h:
8650         * s/hpux.h:
8651         * s/aix3-1.h:
8652         Remove old S&M pty stuff.
8653         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
8654         * systty.h: Simplify cpp hackery, improve comments.
8655         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
8656
8657         * editfns.c (Fformat_time_string):
8658         Be a little more paranoid with the return value of ctime.
8659
8660         * fileio.c (check_executable):
8661         (check_writable):
8662         Use symbolic constants X_OK, W_OK.
8663
8664         * console-x.c (split_up_display_spec): Fix a warning.
8665
8666 2000-10-02  Martin Buchholz  <martin@xemacs.org>
8667
8668         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
8669         * ntproc.c (sys_spawnve): make_string ==> build_string
8670         Small clarity improvements.
8671
8672 2000-09-30  Martin Buchholz  <martin@xemacs.org>
8673
8674         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
8675
8676         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
8677
8678         * config.h.in (HAVE_STRCASECMP): Remove.
8679
8680 2000-09-29  Martin Buchholz  <martin@xemacs.org>
8681
8682         * redisplay-output.c (redisplay_output_pixmap):
8683         Cleaner and possibly more 64-bit correct code.
8684
8685 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
8686
8687         * dumper.c (pdump_load_finish): move restoration of
8688         `noninteractive1' to emacs.c (main_1).
8689         * emacs.c (main_1): protect LISP-visible command-line flags
8690         from pdump_load().
8691
8692 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
8693
8694         * Makefile.in.in (versionclean):  Use EXE_TARGET and
8695         DUMP_TARGET instead of literal program names.
8696
8697 2000-09-20  Martin Buchholz  <martin@xemacs.org>
8698
8699         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
8700
8701 2000-09-19  Martin Buchholz  <martin@xemacs.org>
8702
8703         * *: Spelling mega-patch
8704
8705 2000-09-19  Martin Buchholz  <martin@xemacs.org>
8706
8707         * fns.c (bad_bad_turtle):
8708         Delete "Eek!" comment, since we fixed the bug to which it refers.
8709
8710 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8711
8712         * alloca.c: Replace REGISTER with register.
8713
8714 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
8715
8716         * file-coding.c (ucs_to_char): Use countof.
8717
8718 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8719
8720         * file-coding.c: (ucs_to_char):
8721         (complex_vars_of_file_coding):
8722         Use countof instead of sizeof.
8723         Use CHECK_NATNUM instead of CHECK_INT.
8724
8725         * sysdep.c (strcasecmp): Remove.
8726         * device-x.c (ascii_strcasecmp): New.
8727         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
8728         Avoid using non-standard non-portable strcasecmp.
8729
8730 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8731
8732         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
8733         * font-lock.c: remove reference to emacsfns.h.
8734         * search.c: small doc improvement.
8735         * event-Xt.c: correct file names in comments.
8736         * console-x.h Correct file names in comments.
8737         * frame.c: Correct file names in comments.
8738         * event-stream.c: remove Energize from comments.
8739
8740 2000-09-15  Martin Buchholz  <martin@xemacs.org>
8741
8742         * symeval.h (DEFERROR_STANDARD):
8743         (DEFERROR):
8744         (DEFSYMBOL):
8745         (DEFSYMBOL_NO_DUMP):
8746         (DEFSYMBOL_MULTIWORD_PREDICATE):
8747         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
8748         (DEFKEYWORD):
8749         The construct &##name is not sensible C.
8750         Fixes compilation errors with Unixware native compiler.
8751
8752 2000-09-14  Martin Buchholz  <martin@xemacs.org>
8753
8754         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
8755         (next_frame_internal): Removed.  We now just have next_frame.
8756         (next_frame):
8757         Write a simpler and cleaner one-pass algorithm.
8758         Remove called_from_delete_device arg and #ifdefed-out code.
8759         (previous_frame):
8760         Renamed from prev_frame.  Update callers.
8761         Cleaned up to have an analogous implementation to next_frame.
8762         (other_visible_frames_internal): Remove the
8763         called_from_delete_device bogus arg, and hence, remove this
8764         function.  Just use other_visible_frames().
8765
8766         * window.c (Fnext_window):
8767         Prettify docstring.
8768         Since next_frame() is guaranteed to return a frame, remove check
8769         for nil inserted in previous patch.
8770         (Fprevious_window):
8771         Prettify docstring.
8772         Make code look more like Fnext_window.
8773         (window_loop):
8774         Respect the `console' arg when iterating through windows.
8775         Fixes bug: (get-buffer-window buffer t device) not respecting
8776         the `device' arg.
8777         This function needs more work, as others have pointed out.
8778
8779         * frame.h: Rename prev_frame to previous_frame.
8780         device_matches_console_spec no longer takes a `frame' arg.
8781
8782         * s/gnu.h:
8783         * s/linux.h:
8784         * s/hpux.h:
8785         Use EMACS_BLOCK_SIGNAL instead of sigblock.
8786         From "Golubev I. N." <gin@mo.msk.ru>.
8787
8788         * make-src-depend: Fix typo.
8789
8790 2000-09-13  Martin Buchholz  <martin@xemacs.org>
8791
8792         * window.c (Fnext_window):
8793         next_frame() might return nil, not a frame.
8794         Fixes this crash:
8795         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8796
8797         * frame.c (next_frame_internal):
8798         We've passed a frame if we've passed its device.
8799         Fixes this crash:
8800         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8801 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
8802
8803 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8804
8805         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8806         Allow option to suppress accelerators in menu/dialog items.
8807         (populate_or_checksum_helper): Pass dialog title through above.
8808
8809 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8810
8811         * event-msw.c (mswindows_key_to_emacs_keysym):
8812         Add "pause" key, fix "menu" key.
8813
8814 2000-09-09  Martin Buchholz  <martin@xemacs.org>
8815
8816         * eval.c (reinit_vars_of_eval):
8817         Increase max_lisp_eval_depth to 1000,
8818         required for thai-xtis.el to byte-compile under some circumstances.
8819
8820 2000-09-04  Martin Buchholz  <martin@xemacs.org>
8821
8822         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
8823         From Kenichi Handa.
8824
8825 2000-09-01  Martin Buchholz  <martin@xemacs.org>
8826
8827         * make-src-depend: Make the generated Makefiles smaller.
8828
8829         * s/hpux.h (SETUP_SLAVE_PTY):
8830         Provide a %d in the format string for the errno argument.
8831
8832         * editfns.c (Ftemp_directory):
8833         Warning fix.
8834         Avoid buffer overrun on very long file name.
8835
8836         * input-method-xlib.c (XIM_init_device):
8837         6th parameter of XRegisterIMInstantiateCallback has different
8838         pointer types on different OSes, so simply cast to (void *).
8839
8840         * unexhp9k800.c: Warning fixes.  Fiddly changes.
8841
8842         * sysdll.c (dll_open):
8843         shl_load will hang hard if passed a NULL filename.
8844         Simply return NULL for compatibility with dlopen.
8845         * sysdll.c: Conform to XEmacs coding standards.
8846
8847         * sysdep.c (get_pty_max_bytes):
8848         Support pty input lines longer than 512 bytes on HP-UX 10.20.
8849
8850 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8851
8852         * tooltalk.c: Add #include <syssignal.h>
8853
8854 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
8855
8856         * s/hpux.h: Don't use undefined function sigunblock().
8857
8858 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8859
8860         * config.h.in: Add HAVE_BALLOON_HELP.
8861         * emacs.c: Use HAVE_BALLOON_HELP.
8862         * Makefile.in.in (x_objs):
8863         Make Balloon Help conditional on finding shape.h.
8864
8865 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
8866
8867         * syntax.c (regex_emacs_buffer_p): New variable.
8868         * syntax.h (regex_emacs_buffer_p): extern.
8869         * search.c (looking_at_1):
8870         (string_match_1):
8871         (fast_string_match):
8872         (search_buffer): Set regex_emacs_buffer_p.
8873         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
8874         when before_dot, at_dot, after_dot.
8875
8876 2000-08-23  Andy Piper  <andy@xemacs.org>
8877
8878         * gui-x.c (popup_selection_callback): Only set action_occurred
8879         when we really have an image instance.
8880         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8881
8882 2000-08-23  Andy Piper  <andy@xemacs.org>
8883
8884         * gui-msw.c (mswindows_handle_gui_wm_command): set
8885         action_occurred.
8886         * gui-x.c (popup_selection_callback): ditto.
8887
8888         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
8889         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
8890         (struct Lisp_Image_Instance): add action_occurred flag.
8891
8892         * glyphs.c (redisplay_subwindow): use action_occurred flag.
8893         (image_instance_changed): ditto.
8894         (reset_frame_subwindow_instance_cache): only unmap windows - do
8895         not remove them from the cache also.
8896
8897         * glyphs-widget.c (tab_control_update): better debug.
8898         (progress_gauge_update): ditto.
8899         (layout_update): ditto.
8900         (layout_instantiate): ditto.
8901         (tab_control_order_only_changed): cope with null pending items.
8902
8903         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
8904         debug. Force selection of an item when an action occurred. Cope
8905         with null pending_items.
8906         (mswindows_progress_gauge_redisplay): better debug.
8907         * glyphs-x.c (x_tab_control_redisplay): ditto.
8908
8909         * redisplay.c (redisplay_frame): reset the frame cache if the
8910         frame is garbaged.
8911
8912         * window.c (Fset_window_configuration): potentially re-enable
8913         frame cache reset.
8914         (window_unmap_subwindows): need to finalize instances here since
8915         it is only used in mark_window_as_deleted.
8916
8917 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
8918
8919         * nas.c (SndOpenDataForReading):
8920         nas.c (WaveOpenDataForReading):
8921         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
8922         Somehow escaped from the 2000-08-14 patch.
8923
8924 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
8925
8926         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
8927         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
8928
8929 2000-08-21  Andy Piper  <andy@xemacs.org>
8930
8931         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
8932         window if it is not already displayed.
8933
8934         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
8935         it is not already displayed.
8936
8937         * window.c (Fset_window_configuration): don't reset the frame
8938         cache.
8939
8940         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
8941         instances from the frame cache if we are actually finalizing them.
8942         (reset_frame_subwindow_instance_cache): reset frame cache only
8943         after unmapping everything.
8944         (map_subwindow): set displayed flag after mapping.
8945
8946 2000-08-21  Martin Buchholz  <martin@xemacs.org>
8947
8948         * data.c (indirect_function):
8949         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
8950
8951         * eval.c (function_argcount):
8952         Use original function when signaling errors.
8953
8954 2000-08-18  Andy Piper  <andy@xemacs.org>
8955
8956         * frame.c (delete_frame_internal): use new
8957         free_frame_subwindow_instances name.
8958
8959         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
8960         (add_tab_item): make return type correct.
8961         (mswindows_tab_control_instantiate): assert index of tab.
8962         (mswindows_tab_control_redisplay): Re-code to use
8963         gui_item_equal_sans_selected and gui_item_list_find_selected.
8964
8965         * glyphs-widget.c (tab_control_update): Correct comment.
8966
8967         * window.c (window_unmap_subwindows): use new
8968         unmap_subwindow_instance_cache_mapper.
8969         (window_unmap_subwindows_cache_mapper): deleted.
8970         (Fset_window_configuration): comparisons should now be with
8971         EQ. Preserve the subwindow instance cache across configuration
8972         changes.
8973         (allocate_window): ditto.
8974         (make_dummy_parent): ditto.
8975
8976         * glyphs.c (free_frame_subwindow_instances): rename from
8977         free_frame_subwindow_instance_cache. finalize all instances rather
8978         than just those in the display cache.
8979         (finalize_all_subwindow_instances): walk windows unmapping and
8980         finalizing subwindows.
8981         (unmap_subwindow_instance_cache_mapper): moved from
8982         window.c. Allow finalization as well as unmapping.
8983
8984         * gui.c (gui_item_list_find_selected): new function.
8985
8986         * gui.h (gui_item_list_find_selected): declare.
8987
8988         * glyphs-x.c (x_tab_control_redisplay): pick tab
8989         explicitly. Re-code to use gui_item_equal_sans_selected and
8990         gui_item_list_find_selected.
8991
8992         * glyphs-x.h: add lwlib-utils.h
8993
8994         * buffer.c (Frecord_buffer): undo previous change.
8995
8996 2000-08-09  Vin Shelton  <acs@xemacs.org>
8997
8998         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
8999         possible.  Create temporary files more securely.  The patch was
9000         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
9001         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
9002         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
9003         for details.
9004
9005 2000-08-07  Ben Wing  <ben@xemacs.org>
9006
9007         * getloadavg.c: remove duplicate (and windows-breaking)
9008         includes of fcntl.h and sys/file.h.
9009
9010         * nt.c: remove duplicate getloadavg() definition.
9011
9012         * sysdll.h (Qdll_filename_encoding): add missing stand-in
9013         encodings.
9014
9015 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9016
9017         * eval.c (function_argcount): If function needs to be autoloaded
9018         actually use the loaded definition.
9019         GCPRO function.
9020
9021 2000-08-05  Ben Wing  <ben@xemacs.org>
9022
9023         * getloadavg.c: add prototype for getloadavg().  remove
9024         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
9025         of the code).  remove duplicate header includes.
9026
9027         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
9028
9029         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
9030         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
9031         useful load average.
9032
9033         * alloc.c (reinit_alloc_once_early): removed references to
9034         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
9035         the lisp vars are the only things referencing the malloc_sbrk_*
9036         vars, and they were already if 0'd out.  these vars only exist
9037         in the older malloc.c, which is basically unused, and they're
9038         only for informational purposes.
9039
9040         * m\*.h: removed useless VIRT_ADDR_VARIES.
9041
9042         * m\powerpc.h: removed stray NO_ARG_ARRAY.
9043
9044 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9045
9046         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
9047         color if the image is a mono pixmap.
9048
9049 2000-07-30  Ben Wing  <ben@xemacs.org>
9050
9051         * Makefile.in.in (release):
9052         Remove stray @.
9053
9054         * buffer.c (directory_is_current_directory):
9055         * dired-msw.c (mswindows_get_files):
9056         * dired.c:
9057         * dired.c (Fdirectory_files):
9058         * dired.c (file_name_completion_stat):
9059         * dired.c (Ffile_attributes):
9060         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
9061         preprocessor tricks, to avoid problems on some machines
9062         (e.g. SCO).
9063
9064         * callproc.c (egetenv): GC docs.
9065
9066         * console-msw.h:
9067         * console-msw.h (struct mswindows_dialog_id):
9068         * lrecord.h (lrecord_type):
9069         New object for use with MSW dialogs.
9070
9071         * console.h (struct console_methods):
9072         New enable/disable frame methods, for proper modal dialogs.
9073
9074         * device-msw.c (msprinter_default_printer): Fix to follow
9075         proper Mule conventions.
9076
9077         * device-msw.c:
9078         * device-msw.c (signal_open_printer_error):
9079         * device-msw.c (msprinter_init_device):
9080         * device-msw.c (ensure_not_printing):
9081         * device-msw.c (plist_get_margin):
9082         * device-msw.c (Fmsprinter_select_settings):
9083         * device-msw.c (finalize_devmode):
9084         * device-msw.c (Fmsprinter_settings_despecialize):
9085         * device-msw.c (signal_enum_priner_error):
9086         * extents.c (decode_extent):
9087         * extents.c (decode_map_extents_flags):
9088         * extents.c (decode_extent_at_flag):
9089         * extents.c (Fextent_at):
9090         * extents.c (Fextents_at):
9091         * extents.c (symbol_to_glyph_layout):
9092         [[[[2]]]] Use structured errors.
9093
9094         * dialog-msw.c:
9095         * dialog-msw.c (mswindows_is_dialog_msg):
9096         * dialog-msw.c (mark_mswindows_dialog_id):
9097         * dialog-msw.c (dialog_proc):
9098         * dialog-msw.c (handle_question_dialog_box):
9099         * dialog-msw.c (syms_of_dialog_mswindows):
9100         Define new object to clean up marking; use it as a dialog identifier.
9101         Call new delete-dialog-box-hook.
9102
9103         * dialog-x.c (dbox_selection_callback):
9104         * dialog-x.c (dbox_descriptor_to_widget_value):
9105         * dialog-x.c (x_make_dialog_box_internal):
9106         Call new delete-dialog-box-hook.
9107         Return an id.
9108
9109         * dialog.c:
9110         * dialog.c (syms_of_dialog):
9111         * dialog.c (vars_of_dialog):
9112         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
9113
9114         * eval.c:
9115         * eval.c (signal_call_debugger):
9116         when noninteractive, output stack traces on the console instead
9117         of in a (never-seen) buffer.
9118
9119         * eval.c (signal_type_error):
9120         * eval.c (invalid_argument_2):
9121         * lisp.h:
9122         new funs for use w/structured errors.
9123
9124         * event-Xt.c:
9125         * event-Xt.c (x_to_emacs_keysym):
9126         * event-Xt.c (describe_event):
9127         * event-Xt.c (emacs_Xt_event_handler):
9128         * event-Xt.c (vars_of_event_Xt):
9129         * event-msw.c:
9130         * event-msw.c (mswindows_wnd_proc):
9131         * event-msw.c (vars_of_event_mswindows):
9132         rename {x,mswindows}-debug-events to debug-{}-events for
9133         consistency with other debug-foo variables.
9134
9135         * event-stream.c:
9136         document next-event more clearly.
9137
9138         * fileio.c (Ffile_name_directory):
9139         * fileio.c (Ffile_name_nondirectory):
9140         * fileio.c (Funhandled_file_name_directory):
9141         * fileio.c (file_name_as_directory):
9142         * fileio.c (Ffile_name_as_directory):
9143         * fileio.c (directory_file_name):
9144         * fileio.c (Fdirectory_file_name):
9145         * fileio.c (Fmake_temp_name):
9146         * fileio.c (Ffile_truename):
9147         * fileio.c (Fsubstitute_in_file_name):
9148         * fileio.c (expand_and_dir_to_file):
9149         * fileio.c (barf_or_query_if_file_exists):
9150         * fileio.c (check_executable):
9151         * fileio.c (Ffile_exists_p):
9152         * fileio.c (Ffile_writable_p):
9153         * fileio.c (Ffile_directory_p):
9154         * fileio.c (Ffile_regular_p):
9155         * fileio.c (Ffile_modes):
9156         * fileio.c (Ffile_newer_than_file_p):
9157         * fileio.c (Fverify_visited_file_modtime):
9158         * fileio.c (Fset_visited_file_modtime):
9159         * fileio.c (auto_save_1):
9160         (1). (2).
9161         fix up gcpro's.
9162
9163         * frame-msw.c:
9164         * frame-msw.c (mswindows_init_frame_1):
9165         * frame-msw.c (mswindows_enable_frame):
9166         * frame-msw.c (error_frame_unsizable):
9167         * frame-msw.c (msprinter_init_frame_1):
9168         * frame-msw.c (msprinter_init_frame_3):
9169         * frame-msw.c (console_type_create_frame_mswindows):
9170         (2).
9171         implement new enable/disable frame methods.
9172
9173         * frame-x.c:
9174         * frame-x.c (x_enable_frame):
9175         * frame-x.c (console_type_create_frame_x):
9176         implement new enable/disable frame methods.
9177
9178         * frame.c:
9179         * frame.c (Fdisable_frame):
9180         * frame.c (syms_of_frame):
9181         * frame.h (struct frame):
9182         implement new enable/disable frame methods/functions.
9183
9184         * general-slots.h:
9185         add initial-focus.
9186
9187         * glyphs-msw.c (mswindows_widget_instantiate):
9188         comment that initial-focus should be implemented.
9189
9190         * glyphs-widget.c:
9191         * glyphs-widget.c (check_valid_instantiator):
9192         * glyphs-widget.c (check_valid_orientation):
9193         * glyphs-widget.c (check_valid_tab_orientation):
9194         * glyphs-widget.c (check_valid_justification):
9195         * glyphs-widget.c (check_valid_border):
9196         * glyphs-widget.c (check_valid_callback):
9197         * glyphs-widget.c (check_valid_int_or_function):
9198         * glyphs-widget.c (check_valid_string_or_vector):
9199         * glyphs-widget.c (check_valid_item_list_1):
9200         * glyphs-widget.c (widget_validate):
9201         * glyphs-widget.c (combo_box_validate):
9202         * glyphs-widget.c (widget_instantiate):
9203         * glyphs-widget.c (syms_of_glyphs_widget):
9204         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
9205         * glyphs-widget.c (image_instantiator_combo_box):
9206         * glyphs-widget.c (image_instantiator_scrollbar):
9207         * glyphs-widget.c (image_instantiator_tab_control):
9208         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
9209         (2).
9210         support (unimplemented) keyword initial-focus.
9211         reindent long macros.
9212
9213         * glyphs-x.c (x_redisplay_widget):
9214         * glyphs-x.c (x_button_instantiate):
9215         * glyphs-x.c (x_button_redisplay):
9216         * glyphs-x.c (x_progress_gauge_instantiate):
9217         * glyphs-x.c (x_edit_field_instantiate):
9218         * glyphs-x.c (x_combo_box_instantiate):
9219         * glyphs-x.c (x_tab_control_instantiate):
9220         * glyphs-x.c (x_label_instantiate):
9221         * gui-x.c:
9222         * gui-x.c (button_item_to_widget_value):
9223         * gui-x.c (gui_items_to_widget_values_1):
9224         * gui-x.c (gui_item_children_to_widget_values):
9225         * gui-x.c (gui_items_to_widget_values):
9226         * gui-x.h:
9227         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9228         add new flag to gui-parsing routines to indicate whether
9229         accelerator specs should be supported.
9230
9231         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
9232
9233         * glyphs.h (struct Lisp_Image_Instance):
9234         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
9235         add initial-focus flag.
9236
9237         * gui.c:
9238         * gui.c (syms_of_gui):
9239         * gui.c (vars_of_gui):
9240         clean up menu-no-selection-hook.
9241
9242         * gui.h:
9243         support delete-dialog-box-hook.
9244
9245         * lread.c (Fload_internal):
9246         * lread.c (locate_file_in_directory_mapper):
9247         (1).
9248
9249         * lrecord.h:
9250         * lrecord.h (struct toolbar_button):
9251         * lrecord.h (syms_of_toolbar):
9252         document how to create a new object.
9253
9254         * menubar-msw.c (mswindows_char_is_accelerator):
9255         may be called on frames w/o menus.
9256
9257         * menubar.c (vars_of_menubar):
9258         clean up :filter docs.
9259
9260         * nt.c (readdir):
9261         * ntproc.c:
9262         (1).
9263
9264         * process-nt.c:
9265         * process-nt.c (validate_signal_number):
9266         * process-nt.c (signal_cannot_launch):
9267         * process-nt.c (nt_create_process):
9268         * process-nt.c (nt_send_process):
9269         * process-nt.c (nt_kill_child_process):
9270         * process-nt.c (nt_open_network_stream):
9271         * process-nt.c (syms_of_process_nt):
9272         (2).
9273         delete quote-handling.  call new lisp code that does it better.
9274
9275         * process-unix.c (connect_to_file_descriptor):
9276         * process-unix.c (allocate_pty):
9277         * process-unix.c (unix_send_process):
9278         * process-unix.c (unix_kill_child_process):
9279         * process-unix.c (unix_open_network_stream):
9280         * process-unix.c (unix_open_multicast_group):
9281         (1). (2).
9282
9283         * process.c:
9284         * process.c (Fstart_process_internal):
9285         (2).  need to canonicalize process path even if absolute.
9286
9287         * select-msw.c (symbol_to_ms_cf):
9288         * select-msw.c (ms_cf_to_symbol):
9289         * select-msw.c (cf_is_autofreed):
9290         * select-msw.c (mswindows_destroy_selection):
9291         * select.c:
9292         * select.c (syms_of_select):
9293         * select.h:
9294         support dibv5, fix bugs. (from Mike Alexander)
9295
9296         * select.c (Fget_selection_internal):
9297         * select.c (select_convert_out):
9298
9299         * sysdep.c:
9300         * sysdep.c (xemacs_stat):
9301         renamed.
9302
9303         * sysdep.c (mkdir):
9304         * sysdep.c (rmdir):
9305         but keep original stat() here because we provide encapsulation
9306         around these funs.
9307
9308         * sysfile.h:
9309         * sysfile.h (fstat):
9310         remove stat garbage.
9311
9312         * syswindows.h:
9313         fix X/MSW conflict.
9314         don't include tchar.h.  it's inappropriate because it makes
9315         compile-time distinctions when we want runtime distinctions.
9316         (we provide our own tchar replacements)
9317
9318         * toolbar.c:
9319         use default object printer for toolbar-button.
9320
9321         * unexcw.c:
9322         make sure we don't encapsulate.
9323
9324         * window.c (vars_of_window):
9325         emphasize that temp-buffer-show-hook is obsolete.
9326
9327 2000-08-05  Martin Buchholz  <martin@xemacs.org>
9328
9329         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
9330         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
9331
9332         * events.c (Fevent_timestamp_lessp):
9333         Not 64-bit clean.  Use EMACS_INT, not int.
9334
9335 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
9336
9337         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
9338         unsigned int and changed the last enum to
9339         lrecord_type_last_built_in_type.
9340         (lrecord_implementations_table): changed prototype to know how
9341         long the array is supposed to be.
9342         (lrecord_type_count): new unsigned int to keep track of the
9343         current number of lisp lrecord types.
9344         (DEFINE_EXTERNAL_LRECORD):
9345         (DECLARE_EXTERNAL_LRECORD): Added these two for external
9346         dynamic-modules to declare new lisp types. They are the same
9347         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
9348         int for each new type, and increment lrecord_type_count by 1.
9349
9350         * alloc.c (lrecord_implementations_table): Changed to reference
9351         lrecord_type_last_built_in_type for the size of the array.
9352         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
9353
9354 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9355
9356         * glyphs.h (check_valid_item_list): Renamed from
9357         check_valid_item_list_1.
9358
9359 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
9360
9361         * select.c (Qselect_coerce): New.
9362         * select.c (Vselection_coercion_alist): New.
9363         * select.c (syms_of_select): Declare.
9364         * select.c (get-selection-internal): Use it.
9365         Use the new select-coerce functionality.
9366
9367         * select.c (select_coerce): New.
9368         * select.h (select_coerce): Declare.
9369         New function to coerce one type of data into another.
9370
9371 2000-08-03  Martin Buchholz  <martin@xemacs.org>
9372
9373         * callproc.c (Fcall_process_internal):
9374         (Fcall_process_internal):
9375         * process-unix.c (unix_create_process):
9376         Save and restore the value of errno, so that error messages are accurate.
9377
9378 2000-08-01  Martin Buchholz  <martin@xemacs.org>
9379
9380         * elhash.c (print_hash_table):
9381         Fix printing of hash tables to also use `key-and-value' instead of `t'.
9382         Prettify docstrings and indentation.
9383
9384 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
9385
9386         * window.c (Fwindow_pixel_edges): Subtract frame border and
9387         gutter size.
9388
9389 2000-07-31  Andy Piper  <andy@xemacs.org>
9390
9391         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
9392         will acknowledge the change.
9393
9394         * glyphs.h: declare tab_control_order_only_changed.
9395
9396         * glyphs-x.c (x_tab_control_redisplay): use
9397         tab_control_order_only_changed.
9398
9399         * glyphs-widget.c (tab_control_order_only_changed): new function.
9400
9401         * glyphs-msw.c (mswindows_tab_control_redisplay): use
9402         tab_control_order_only_changed.
9403
9404         * gui.c (gui_item_equal_sans_selected): new function.
9405         (gui_item_equal): use it.
9406
9407         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
9408         :properties in favor of :items..
9409
9410         * glyphs-widget.c (check_valid_item_list): rename from
9411         check_valid_item_list_1.
9412         (check_valid_item_list_1): renamed.
9413         (combo_box_validate): deprecate :properties in favor of :items.
9414         (widget_instantiate): ditto.
9415         (tab_control_update): ditto.
9416         (image_instantiator_combo_box): ditto.
9417         (image_instantiator_tree_view): ditto.
9418         (image_instantiator_tab_control): ditto.
9419         (layout_post_instantiate): remove dead code.
9420
9421         * print.c (debug_print_no_newline): only write to debugger if in
9422         WIN32_NATIVE.
9423
9424         * elhash.c (Fmake_hash_table): update doc string.
9425
9426         * event-msw.c (mswindows_wnd_proc): don't allow processing of
9427         messages whilst in GC. This at least stops XEmacs crashing but has
9428         the potential for wierd behaviour.
9429
9430 2000-07-31  Martin Buchholz  <martin@xemacs.org>
9431
9432         * config.h.in:
9433         Make existence of s&m files optional.
9434
9435         * s/bsd386.h: Remove HAVE_GETLOADAVG.
9436         * s/freebsd.h: Remove HAVE_GETLOADAVG.
9437         * s/gnu.h: Remove HAVE_GETLOADAVG.
9438         * s/netbsd.h: Remove HAVE_GETLOADAVG.
9439         * s/sol2.h: Remove HAVE_GETLOADAVG.
9440         * lisp.h: Remove getloadavg() declaration.
9441         * fns.c:
9442         Include <sys/loadavg.h> if available.
9443         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
9444         * config.h.in:  Group together getloadavg()-related macros.
9445         Use only configure-time tests to detect getloadavg().
9446
9447 2000-07-30  Martin Buchholz  <martin@xemacs.org>
9448
9449         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
9450
9451 2000-07-25  Andy Piper  <andy@xemacs.org>
9452
9453         * syswindows.h: add tchar.h for native builds.
9454
9455         * frame.c (syms_of_frame): remove set-glyph-image.
9456
9457         * general-slots.h: add Qset_glyph_image.
9458
9459         * glyphs-widget.c (layout_update): add domain arg to
9460         set-glyph-image.
9461         (syms_of_glyphs_widget): remove set-glyph-image.
9462
9463 2000-07-23  Ben Wing  <ben@xemacs.org>
9464
9465         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
9466         Vpopup_frame_list.
9467
9468 2000-07-22  Andy Piper  <andy@xemacs.org>
9469
9470         * symsinit.h: add syms_of_win32().
9471
9472         * gui-msw.c (syms_of_gui_mswindows): remove
9473         Fmswindows_shell_execute.
9474         (Fmswindows_shell_execute): moved to win32.c.
9475
9476         * emacs.c (main_1): add syms_of_win32 ().
9477
9478         * win32.c (init_potentially_nonexistent_functions): rewrite in
9479         compiler-friendly terms.
9480         (Fmswindows_shell_execute): move here from gui-msw.c.
9481         (syms_of_win32): new.
9482
9483         * device-msw.c (Fmswindows_printer_list): clean up args to
9484         EnumPrinters.
9485         Don't include tchar under cygwin or mingw.
9486         (msprinter_default_printer): make cygwin-friendly.
9487
9488 2000-07-21  Andy Piper  <andy@xemacs.org>
9489
9490         * glyphs-widget.c (image_instantiator_tree_view): use tab
9491         control's update function.
9492         (layout_property): new function. Retrieve items.
9493
9494         * glyphs-msw.c (mswindows_tree_view_redisplay): new
9495         function. Re-populate the tree view from the pending items.
9496
9497         * glyphs.c (instantiate_image_instantiator): Make sure the domain
9498         is designated the parent if the domain is an image instance. This
9499         is needed so that dirtiness can be cascade up the hierarchy and
9500         thus for layout children to be redisplayed correctly.
9501         (allocate_image_instance): rename glyph -> parent.
9502
9503         * redisplay.h: change redisplay_output_layout signature.
9504
9505         * redisplay-msw.c (mswindows_output_display_block): use domain
9506         arg.
9507
9508         * redisplay-x.c (x_output_display_block): use domain arg.
9509
9510 2000-07-10  Andy Piper  <andy@xemacs.org>
9511
9512         * window.c (Fset_window_configuration): add comment.
9513
9514         * redisplay-output.c (compare_runes):
9515         (redisplay_output_subwindow): redisplay rather than update subwindow.
9516         (redisplay_output_layout): ditto.
9517
9518         * redisplay-msw.c (mswindows_frame_output_end):
9519         (mswindows_frame_output_end): make defer window pos optional.
9520
9521         * lisp.h: add Flast.
9522
9523         * glyphs.h (struct image_instantiator_methods): add dest_mask top
9524         normalize method. Change update method to be for changed
9525         instantiators. Add redisplay method. Change signature of layout
9526         method.
9527         (struct Lisp_Image_Instance): add instantiator.
9528         (IMAGE_INSTANCE_INSTANTIATOR): new.
9529         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
9530         (XIMAGE_INSTANCE_INSTANTIATOR): new.
9531         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
9532
9533         * glyphs.c:
9534         (find_instantiator_differences): new function.
9535         (Fset_instantiator_property): new convenience function.
9536         (check_image_instance_structure): strictly check for vector
9537         instantiators.
9538         (normalize_image_instantiator): make non-static.
9539         (instantiate_image_instantiator): pass on dest_mask and use new
9540         signatures for image_instance_layout and friends.
9541         (mark_image_instance): mark the instantiator. Mark the subwindow
9542         face not the widget face.
9543         (image_instance_equal): add instantiator.
9544         (image_instance_hash): ditto.
9545         (allocate_image_instance): ditto.
9546         (Fset_image_instance_property): removed.
9547         (Fimage_instance_file_name): ditto.
9548         (Fcolorize_image_instance): ditto.
9549         (image_instance_layout): add offsets to be set.
9550         (update_image_instance): new function. update an image instance
9551         from its changed instantiator.
9552         (inherit_normalize): add dest_mask.
9553         (xbm_normalize): ditto.
9554         (xface_normalize): ditto.
9555         (xpm_normalize): ditto.
9556         (text_update): set_property -> update.
9557         (image_instantiate): use the glyph identity as a hash key, not the
9558         instantiator.
9559         (glyph_width): use new image_instance_layout signature.
9560         (glyph_ascent): ditto.
9561         (glyph_descent): ditto.
9562         (glyph_height): ditto.
9563         (glyph_query_geometry): ressurrect.
9564         (glyph_layout): ditto.
9565         (redisplay_subwindow): update -> redisplay.
9566         (syms_of_glyphs): add Fset_instantiator_property.
9567         (image_instantiator_format_create): set_property -> update.
9568
9569         * glyphs-x.c:
9570         (autodetect_normalize): add dest_maks to signature.
9571         (x_redisplay_subwindow): update -> redisplay.
9572         (x_redisplay_widget): ditto.
9573         (x_button_redisplay): ditto.
9574         (x_progress_gauge_redisplay): ditto.
9575         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
9576         stacking order.
9577         (console_type_create_glyphs_x): update -> redisplay.
9578         (image_instantiator_format_create_glyphs_x): ditto.
9579
9580         * glyphs-widget.c:
9581         (check_valid_instantiator): disallow glyphs in the instantiator,
9582         they must now be vectors.
9583         (check_valid_instantiator_list): ditto.
9584         (glyph_instantiator_to_glyph): use internal symbol rather than
9585         intern.
9586         (widget_update): renamed from widget_set_property. Call cascaded
9587         update methods.
9588         (redisplay_widget): renamed from update_widget.
9589         (widget_layout): image_instance_layout now takes position as well
9590         as size.
9591         (widget_normalize): ditto.
9592         (widget_instantiate): ditto.
9593         (tab_control_query_geometry) ditto.:
9594         (tab_control_update): renamed from tab_control_set_property.
9595         (progress_gauge_update): set_property -> update.
9596         (layout_normalize): rewrite so that child instantiators are
9597         normalized also.
9598         (layout_update): new function. Create glyphs from the normalized
9599         children and cope with any other layout keywords. We do not
9600         instantiate children here that will be take care of by
9601         redisplay_output_layout.
9602         (layout_instantiate): call layout_update and not much else.
9603         (layout_post_instantiate): not sure whether this is needed
9604         anymore.
9605         (layout_query_geometry): query glyph geometry rather than
9606         image_instance geometry.
9607         (layout_layout): set offsets from pass in parameters. Use glyph
9608         geometry and layout functions rather than image instance ones.
9609         (native_layout_layout): ditto.
9610         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
9611         (image_instantiator_widget): set_property -> update.
9612         (image_instantiator_buttons): ditto.
9613         (image_instantiator_progress_guage): ditto.
9614         (image_instantiator_tab_control): ditto.
9615         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
9616         (image_instantiator_layout): add update method.
9617
9618         * glyphs-msw.c (bmp_normalize):
9619         (mswindows_resource_normalize): add dest_mask so that it can be
9620         proprogated by layout_normalize.
9621         (begin_defer_window_pos): make optional because it may not be the
9622         right thing to do and it introduces differences with X.
9623         (mswindows_unmap_subwindow): ditto.
9624         (mswindows_map_subwindow): ditto.
9625         (mswindows_redisplay_subwindow): renamed from
9626         mswindows_update_subwindow.
9627         (mswindows_redisplay_widget): ditto.
9628         (mswindows_button_redisplay): renamed from
9629         mswindows_button_update. Update is now what the instantiation
9630         function does for a changed instantiator.
9631         (mswindows_progress_gauge_instantiate): set the progress value
9632         here if appropriate.
9633         (mswindows_tab_control_redisplay): cope with re-ordering of the
9634         members of the tab widget by simply selecting the new top
9635         widget. This makes things appear ok if you click on a tab.
9636         (mswindows_combo_box_instantiate): image_instance_layout now takes
9637         position as well as size.
9638         (mswindows_progress_gauge_redisplay): renamed from
9639         mswindows_progress_gauge_update.
9640         (console_type_create_glyphs_mswindows): fix update -> redisplay.
9641         (image_instantiator_format_create_glyphs_mswindows): ditto.
9642
9643         * glyphs-eimage.c (jpeg_normalize):
9644         (gif_normalize):
9645         (png_normalize):
9646         (tiff_normalize): add dest_mask so that it can be proprogated by
9647         layout_normalize.
9648
9649         * elhash.c:
9650         (print_hash_table):
9651         (hash_table_weakness_validate):
9652         (decode_hash_table_weakness):
9653         (Fhash_table_weakness):
9654         (Fhash_table_type):
9655         (syms_of_elhash): use Ben's naming scheme for hashtable types..
9656
9657         * console.h (struct console_methods): move update_* to
9658         redisplay_*.
9659
9660 2000-07-20  Ben Wing  <ben@xemacs.org>
9661
9662         * *.[ch] (XSETOBJ): remove unused middle argument.
9663         lisp-disunion.h: correct wrap_object() to one argument.
9664
9665 2000-07-15  Ben Wing  <ben@xemacs.org>
9666
9667         * s/cygwin32.h:
9668         * s/cygwin32.h (CYGWIN_CONV_PATH):
9669         Add missing logb prototype for v1.1.
9670         Use post-b20 names and alias to pre-b20 names when pre-b20.
9671
9672         * s/windowsnt.h: [5].
9673
9674 2000-07-15  Ben Wing  <ben@xemacs.org>
9675
9676         * Makefile.in.in (x_objs):
9677         * Makefile.in.in (sheap_objs):
9678         * Makefile.in.in (objs):
9679         added win32.o, cosmetic cleanups.
9680
9681         * alloc.c (Fmake_byte_code):
9682         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
9683         etc. macros which declare their own args now.
9684
9685         * alloc.c (syms_of_alloc):
9686         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
9687
9688         * buffer.c:
9689         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
9690
9691         * buffer.c (Fget_file_buffer):
9692         Fixed GCPRO problem.
9693
9694         * buffer.c (get_truename_buffer):
9695         Fixed comment about GC checking.
9696
9697         * buffer.c (syms_of_buffer):
9698         Undeclared those dedicated frame funs.
9699         [2].
9700
9701         * buffer.h:
9702         Define convenience macros for internal/external conversions.
9703         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
9704         and Qenvironment_variable_encoding for cleaner code.
9705
9706         * bufslots.h:
9707         Remove dedicated-frame; in lisp.
9708
9709         * bytecode.c (funcall_compiled_function):
9710         [1].
9711
9712         * bytecode.c (syms_of_bytecode):
9713         [2].
9714
9715         * console-msw.c:
9716         * console-msw.c (mswindows_show_console): Rewrote.
9717
9718         * console-msw.c (Fmswindows_debugging_output): New.
9719         Sends to OutputDebugString (special MSWin debugger interface).
9720
9721         * console-msw.c (Fmswindows_message_box):
9722         Fixed stupid bugs so it works when called from kill-emacs.
9723
9724         * console-msw.c (syms_of_console_mswindows):
9725         Declare Fmswindows_debugging_output.
9726
9727         * console-msw.h:
9728         New MSWin prototypes.
9729
9730         * console-msw.h (struct mswindows_frame):
9731         New entry last-click-mods for improved button-modifier support.
9732
9733         * console-msw.h (FRAME_MSWINDOWS_POPUP):
9734         New struct entry `popup' with corresponding accessor.
9735
9736         * console-x.c:
9737         * console-x.c (split_up_display_spec):
9738         * console-x.c (get_display_arg_connection):
9739         * console-x.c (x_semi_canonicalize_console_connection):
9740         * console-x.c (x_canonicalize_device_connection):
9741         [[[6]]]: Change char to more specific type.
9742         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
9743
9744         * console-x.c (x_semi_canonicalize_console_connection):
9745         * console-x.c (x_canonicalize_device_connection):
9746         [[[9]]]: Fix up error signalling to use new structured error system.
9747
9748         * console-x.h:
9749         [[[4]]]: Define codesys aliases:
9750         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
9751         Qx_color_name_encoding, Qx_display_name_encoding.
9752
9753         * console.h (struct console_methods):
9754         New method make_dialog_box_internal supersedes older
9755         popup_dialog_box method.
9756
9757         * data.c:
9758         Define many new errors, part of new structured errors.
9759
9760         * data.c (init_errors_once_early):
9761         * data.c (syms_of_data):
9762         [2].
9763
9764         * device-msw.c (mswindows_init_device):
9765         [[[5]]]: Cleanup to support NT 3.51.
9766
9767         * device-msw.c (decode_devmode): Cleanup.
9768
9769         * device-msw.c (mswindows_handle_print_setup_dialog_box):
9770         * device-msw.c (mswindows_handle_print_dialog_box):
9771         * device-msw.c (mswindows_handle_page_setup_dialog_box):
9772         * device-msw.c (syms_of_device_mswindows):
9773         Delete the dialog box primitives recently introduced by Kirill and
9774         instead interface to general dialog box interface.
9775
9776         * device-x.c:
9777         * device-x.c (compute_x_app_name):
9778         * device-x.c (x_init_device):
9779         * device-x.c (Fx_valid_keysym_name_p):
9780         * device-x.c (Fx_set_font_path):
9781         [6].
9782         [7].
9783
9784         * device.h (wrap_device): New.
9785         First of its kind; meant to replace XSETDEVICE.
9786
9787         * dialog-msw.c: Many file-dialog symbols.
9788
9789         * dialog-msw.c (mswindows_register_popup_frame): New.
9790         * dialog-msw.c (mswindows_is_dialog_msg): New.
9791         For supporting kbd traversal in dialog boxes.
9792
9793         * dialog-msw.c (dialog_proc):
9794         Support hitting ESC in dialogs.
9795
9796         * dialog-msw.c (struct):
9797         Common dialog box errors.
9798
9799         * dialog-msw.c (handle_file_dialog_box): New.
9800         Add file dialog code.
9801
9802         * dialog-msw.c (handle_question_dialog_box):
9803         Redo existing code to support new question dialog syntax.
9804
9805         * dialog-msw.c (console_type_create_dialog_mswindows):
9806         We support new dialog console method.
9807
9808         * dialog-msw.c (syms_of_dialog_mswindows):
9809         * dialog-msw.c (vars_of_dialog_mswindows):
9810         New file dialog symbols, vars.
9811
9812         * dialog-x.c:
9813         * dialog-x.c (maybe_run_dbox_text_callback):
9814         * dialog-x.c (dbox_descriptor_to_widget_value):
9815         * dialog-x.c (x_make_dialog_box_internal):
9816         * dialog-x.c (console_type_create_dialog_x):
9817         Mule-ize entire file.
9818         Redo to support question dialog syntax.
9819         [6].
9820
9821         * dialog.c:
9822         * dialog.c (Fmake_dialog_box_internal):
9823         * dialog.c (syms_of_dialog):
9824         Kill old popup-dialog-box, replace with new primitive.
9825         Just call device method or signal error.
9826
9827         * eldap.c (Fldap_open):
9828         * eldap.c (Fldap_search_basic):
9829         * eldap.c (Fldap_add):
9830         * eldap.c (Fldap_modify):
9831         [1].
9832         [7].
9833
9834         * emacs.c:
9835         * emacs.c (make_arg_list_1):
9836         * emacs.c (make_arg_list):
9837         Mule-ize call to dll_init().
9838         [6].
9839         [8].
9840
9841         * emacs.c (make_argc_argv):
9842         * emacs.c (free_argc_argv):
9843         * emacs.c (init_cmdargs):
9844         * emacs.c (main_1):
9845         * emacs.c (Fkill_emacs):
9846         * emacs.c (Fdump_emacs):
9847         Update comments about what can be used in syms_* etc.
9848         Call init_win32() when necessary.
9849         Fix up MS Win dialog box in kill-buffer to actually work right.
9850         [7].
9851
9852         * eval.c:
9853         * eval.c (For):
9854         * eval.c (Fand):
9855         * eval.c (Fprogn):
9856         * eval.c (Fprog1):
9857         * eval.c (Fprog2):
9858         * eval.c (FletX):
9859         * eval.c (Flet):
9860         * eval.c (condition_case_3):
9861         * eval.c (Feval):
9862         * eval.c (function_argcount):
9863         * eval.c (funcall_lambda):
9864         [1].
9865
9866         * eval.c (type_error): New.
9867         * eval.c (maybe_type_error): New.
9868         * eval.c (continuable_type_error): New.
9869         * eval.c (maybe_continuable_type_error): New.
9870         * eval.c (type_error_with_frob): New.
9871         * eval.c (maybe_type_error_with_frob): New.
9872         * eval.c (continuable_type_error_with_frob): New.
9873         * eval.c (maybe_continuable_type_error_with_frob): New.
9874         New functions for use with structured errors.
9875
9876         * event-Xt.c:
9877         * event-Xt.c (x_event_to_emacs_event):
9878         Buttons are now modifiers too.
9879
9880         * event-Xt.c (emacs_Xt_current_event_timestamp):
9881         Implement new event method.
9882         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
9883
9884         * event-msw.c:
9885         * event-msw.c (ntpipe_shove_writer): [5].
9886         * event-msw.c (mswindows_enqueue_mouse_button_event):
9887         * event-msw.c (mswindows_drain_windows_queue):
9888         * event-msw.c (mswindows_wnd_proc): [7].
9889         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
9890         * event-msw.c (mswindows_modifier_state):
9891         Throughout: support new button modifiers.
9892
9893         * event-msw.c (emacs_mswindows_current_event_timestamp):
9894         Implement new event method.
9895         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
9896
9897         * event-stream.c:
9898         * event-stream.c (event_stream_current_event_timestamp): New.
9899         * event-stream.c (maybe_kbd_translate): New functionality.
9900         * event-stream.c (vars_of_event_stream):
9901         Document new kbd-translate-table functionality.
9902
9903         * event-stream.c (Fcurrent_event_timestamp): New.
9904         New primitive for use in fabricated events.
9905         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
9906
9907         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
9908
9909         * events.c:
9910         * events.c (Fmake_event):
9911         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
9912         [1].
9913         [9].
9914
9915         * events.c (format_event_object): fix gcc warnings.
9916
9917         * events.c (Fevent_timestamp): Document new primitives.
9918
9919         * events.c (TIMESTAMP_HALFSPACE): New.
9920
9921         * events.c (Fevent_timestamp_lessp): New.  New primitive for
9922         comparing timestamps correctly (half-space algorithm).
9923
9924         * events.c (Fevent_modifier_bits): Doc fix.
9925
9926         * events.c (Fevent_modifiers): Major doc addition.
9927         * events.c (event_x_y_pixel_internal): Typo fix.
9928         * events.c (syms_of_events): Declare new primitives.
9929
9930         * events.h:
9931         Update long comment for button modifiers, timestamps.
9932
9933         * events.h (struct event_stream):
9934         New current_event_timestamp method.
9935
9936         * extents.c:
9937         * extents.c (extent_in_region_p):
9938         * extents.c (decode_extent):
9939         * extents.c (Fset_extent_parent):
9940         * extents.c (decode_map_extents_flags):
9941         Fix gcc warnings.
9942         [9].
9943
9944         * extents.c (struct extent_at_arg):
9945         * extents.c (decode_extent_at_flag):
9946         * extents.c (extent_at_mapper):
9947         * extents.c (extent_at_bytind):
9948         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
9949         * extents.c (Fextents_at): New primitive. [9].
9950         * extents.c (symbol_to_glyph_layout): [9].
9951         Support new primitive `extents-at'.
9952
9953
9954         * extents.c (get_text_property_bytind):
9955         extent_at_bytind has another arg.
9956         [9].
9957
9958         * extents.c (syms_of_extents): New primitive.
9959
9960         * file-coding.c (Fmake_coding_system): [1].
9961         * file-coding.c (subsidiary_coding_system): fix gcc warning
9962         * file-coding.c (syms_of_file_coding): [2].
9963
9964         * fileio.c (Fexpand_file_name):
9965         * fileio.c (Fsysnetunam):
9966         * fileio.c (Ffile_exists_p):
9967         * fileio.c (Ffile_executable_p):
9968         * fileio.c (Fverify_visited_file_modtime):
9969         Clean up GCPROing.
9970
9971         * fileio.c (syms_of_fileio): [2].
9972
9973         * filelock.c (lock_file_1):
9974         * filelock.c (current_lock_owner):
9975         * filelock.c (lock_if_free):
9976         * filelock.c (lock_file):
9977         * filelock.c (unlock_file):
9978         Clean up GCPROing.
9979
9980         * fns.c (concat): Fix gcc warning.
9981
9982         * fns.c (Fmember):
9983         * fns.c (Fold_member):
9984         * fns.c (Fmemq):
9985         * fns.c (Fold_memq):
9986         * fns.c (memq_no_quit):
9987         * fns.c (Fassoc):
9988         * fns.c (Fold_assoc):
9989         * fns.c (Fassq):
9990         * fns.c (Fold_assq):
9991         * fns.c (assq_no_quit):
9992         * fns.c (Frassoc):
9993         * fns.c (Fold_rassoc):
9994         * fns.c (Frassq):
9995         * fns.c (Fold_rassq):
9996         * fns.c (rassq_no_quit):
9997         * fns.c (Fdelete):
9998         * fns.c (Fold_delete):
9999         * fns.c (Fdelq):
10000         * fns.c (Fold_delq):
10001         * fns.c (delq_no_quit):
10002         * fns.c (Fremassoc):
10003         * fns.c (Fremassq):
10004         * fns.c (remassq_no_quit):
10005         * fns.c (Fremrassoc):
10006         * fns.c (Fremrassq):
10007         * fns.c (remrassq_no_quit):
10008         * fns.c (Freverse):
10009         * fns.c (mapcar1):
10010         [1].
10011
10012         * frame-msw.c (mswindows_init_frame_1):
10013         * frame-msw.c (mswindows_delete_frame):
10014         Register popups with dialog code so keyboard traversing works.
10015
10016         * frame-tty.c (tty_raise_frame_no_select): [1].
10017
10018         * frame-x.c:
10019         * frame-x.c (x_set_frame_text_value):
10020         * frame-x.c (x_set_frame_properties):
10021         * frame-x.c (x_create_widgets):
10022         [7].
10023
10024         * frame.c:
10025         * frame.c (Fmouse_pixel_position): Minor doc fixes.
10026
10027         * frame.h (wrap_frame): New.
10028         Macro like wrap_device.
10029
10030         * general.c:
10031         * general.c (SYMBOL):
10032         * general.c (syms_of_general):
10033         Major reorg.  This is now just a wrapper and symbols themselves
10034         are listed in general-slots.h.
10035
10036         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
10037         * glyphs-msw.c (mswindows_resource_instantiate): [5].
10038
10039         * glyphs-msw.c (mswindows_native_layout_instantiate):
10040         Add DS_CONTROL so keyboard traversal will work.
10041
10042         * glyphs-widget.c:
10043         * glyphs-widget.c (syms_of_glyphs_widget):
10044         Move some symbols to general-slots.h.
10045
10046         * glyphs-x.c:
10047         * glyphs-x.c (xbm_instantiate_1):
10048         * glyphs-x.c (x_xbm_instantiate):
10049         * glyphs-x.c (x_xface_instantiate):
10050         * glyphs-x.c (autodetect_instantiate):
10051         * glyphs-x.c (cursor_font_instantiate):
10052         * glyphs-x.c (x_update_widget):
10053         * glyphs-x.c (x_widget_instantiate):
10054         * glyphs.c (bitmap_to_lisp_data):
10055         * glyphs.c (pixmap_to_lisp_data):
10056         [7].
10057
10058         * glyphs.c (syms_of_glyphs):
10059         [2].
10060
10061         * gui-x.c:
10062         * gui-x.c (print_widget_value):
10063         * gui-x.c (menu_separator_style_and_to_external):
10064         * gui-x.c (add_accel_and_to_external):
10065         * gui-x.c (button_item_to_widget_value):
10066         * gui-x.c (gui_items_to_widget_values_1):
10067         * gui-x.c (gui_items_to_widget_values):
10068         * gui-x.c (syms_of_gui_x):
10069         * gui-x.c (vars_of_gui_x):
10070         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
10071         [9].
10072
10073         * gui-x.h:
10074         Muleize, prototype changes matching gui-x.c.
10075
10076         * gui.c:
10077         * gui.c (separator_string_p):
10078         * gui.c (gui_item_add_keyval_pair):
10079         * gui.c (make_gui_item_from_keywords_internal):
10080         * gui.c (signal_too_long_error):
10081         * gui.c (parse_gui_item_tree_item):
10082         * gui.c (syms_of_gui):
10083         * gui.c (vars_of_gui):
10084         * gui.h:
10085         menu-no-selection-hook moved here (used by MSWin).
10086         Move some symbols to general-slots.h.
10087         [6].
10088         [9].
10089
10090         * insdel.c (get_buffer_pos_char):
10091         * insdel.c (get_buffer_range_char):
10092         Add GC comments.
10093
10094         * keymap.c (keymap_lookup_directly):
10095         * keymap.c (keymap_store):
10096         * keymap.c (ensure_meta_prefix_char_keymapp):
10097         * keymap.c (describe_map):
10098         * keymap.h:
10099         Support new button modifiers.
10100
10101         * lisp-disunion.h (wrap_object):
10102         * lisp-disunion.h (XSETOBJ):
10103         Rename make_obj to wrap_object.
10104
10105         * lisp-union.h:
10106         * lisp-union.h (make_int):
10107         * lisp-union.h (make_char):
10108         Support wrap_object.
10109
10110         * lisp.h:
10111         * lisp.h (LIST_LOOP):
10112         * lisp.h (EXTERNAL_LIST_LOOP):
10113         * lisp.h (LIST_LOOP_2):
10114         * lisp.h (EXTERNAL_LIST_LOOP_1):
10115         * lisp.h (EXTERNAL_LIST_LOOP_2):
10116         * lisp.h (EXTERNAL_LIST_LOOP_3):
10117         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
10118         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10119         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
10120         * lisp.h (EXTERNAL_ALIST_LOOP_5):
10121         * lisp.h (EXTERNAL_ALIST_LOOP_6):
10122         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
10123         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
10124         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
10125         * lisp.h (struct Lisp_Symbol):
10126         * lisp.h (maybe_continuable_error_with_frob):
10127         Fix up section comments.
10128         Add new types for char to indicate usage.
10129         Delete symbols auto-generated from general-slots.h.
10130         Add prototypes for structured error functions.
10131         Add long comments describing looping macros and change interface
10132         so that lvalues are automatically declared.
10133         Add NO_DECLARE macro in case callers want to declare lvalues
10134         themselves.
10135
10136         * lread.c (read_syntax_error):
10137         * lread.c (continuable_read_syntax_error):
10138         * lread.c (read_structure):
10139         * lread.c (sequence_reader):
10140         * lread.c (read_list_conser):
10141         * lread.c (read_compiled_function):
10142         Rename syntax_error and continuable_syntax_error to avoid clash
10143         with same-named structured error functions.
10144
10145         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10146         * menubar-msw.c (populate_menu_add_item):
10147         * menubar-msw.c (populate_or_checksum_helper):
10148         [5].
10149         [9].
10150
10151         * menubar-x.c:
10152         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10153         Mule-ize whole file.
10154
10155         * menubar.c (Fnormalize_menu_item_name): Add optimization.
10156
10157         * mule-charset.c (Fmake_charset):
10158         * mule-wnnfns.c (Fwnn_set_param):
10159         [1].
10160
10161         * ntproc.c (create_child):
10162         * ntproc.c (Fwin32_set_current_locale):
10163         Add comments portending doom.
10164
10165         * objects-msw.c:
10166         * objects-msw.c (old_font_enum_callback_2):
10167         * objects-msw.c (font_enum_callback_1):
10168         * objects-msw.c (mswindows_enumerate_fonts):
10169         [5].
10170
10171         * objects-x.c:
10172         * objects-x.c (allocate_nearest_color):
10173         * objects-x.c (x_parse_nearest_color):
10174         * objects-x.c (x_initialize_color_instance):
10175         * objects-x.c (x_print_color_instance):
10176         * objects-x.c (x_finalize_color_instance):
10177         * objects-x.c (x_valid_color_name_p):
10178         * objects-x.c (x_initialize_font_instance):
10179         * objects-x.c (x_print_font_instance):
10180         * objects-x.c (valid_x_font_name_p):
10181         * objects-x.c (truename_via_FONT_prop):
10182         * objects-x.c (truename_via_random_props):
10183         * objects-x.c (truename_via_XListFonts):
10184         * objects-x.c (x_font_truename):
10185         * objects-x.c (x_font_instance_truename):
10186         * objects-x.c (x_font_instance_properties):
10187         * objects-x.c (x_list_fonts):
10188         * objects-x.c (x_find_charset_font):
10189         Mule-ize entire file.
10190         [7].
10191
10192         * objects-x.h:
10193         Mule-verify.
10194
10195         * print.c:
10196         * print.c (std_handle_out_external):
10197         * print.c (debug_print_no_newline):
10198         * print.c (syms_of_print):
10199         Output to all debugger kinds in debug-print.
10200         Fix console-output code under MSWin to actually work.
10201
10202         * process-nt.c (send_signal):
10203         * process-nt.c (nt_create_process):
10204         Use newer Unicode macros.
10205
10206         * process-unix.c (unix_create_process):
10207         * process-unix.c (unix_canonicalize_host_name):
10208         * process-unix.c (unix_open_network_stream):
10209         [7].
10210
10211         * scrollbar-x.c:
10212         Mule-verify.
10213
10214         * search.c (syms_of_search):
10215         [2].
10216
10217         * select-msw.c (mswindows_destroy_selection):
10218         Use LIST_LOOP_2.
10219
10220         * select-x.c (symbol_to_x_atom):
10221         [7].
10222
10223         * select.c (syms_of_select):
10224         [2].
10225
10226         * sound.c (Fplay_sound_file):
10227         [7].
10228
10229         * specifier.c:
10230         * specifier.c (decode_specifier_type):
10231         * specifier.c (Fvalid_specifier_locale_type_p):
10232         * specifier.c (check_valid_locale_or_locale_type):
10233         * specifier.c (decode_locale):
10234         * specifier.c (decode_locale_type):
10235         * specifier.c (decode_locale_list):
10236         * specifier.c (check_valid_domain):
10237         * specifier.c (decode_specifier_tag_set):
10238         * specifier.c (Fcanonicalize_tag_set):
10239         * specifier.c (Fdefine_specifier_tag):
10240         * specifier.c (Fspecifier_tag_predicate):
10241         * specifier.c (check_valid_inst_list):
10242         * specifier.c (check_valid_spec_list):
10243         * specifier.c (decode_how_to_add_specification):
10244         * specifier.c (check_modifiable_specifier):
10245         * specifier.c (specifier_add_spec):
10246         * specifier.c (boolean_validate):
10247         * specifier.c (display_table_validate):
10248         [9].
10249
10250         * specifier.c (syms_of_specifier):
10251         Move some symbols to general-slots.h.
10252         [2].
10253
10254         * symbols.c:
10255         * symbols.c (Fmapatoms):
10256         * symbols.c (Fapropos_internal):
10257         Add GCPROs.
10258
10259         * symbols.c (set_default_buffer_slot_variable):
10260         * symbols.c (set_default_console_slot_variable):
10261         [1].
10262
10263         * symbols.c (defsymbol_massage_name_1):
10264         * symbols.c (defkeyword_massage_name):
10265         * symbols.c (deferror_1):
10266         * symbols.c (deferror):
10267         * symbols.c (deferror_massage_name_and_message):
10268         * symeval.h:
10269         * symeval.h (DEFSYMBOL):
10270         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
10271
10272         * symbols.c (syms_of_symbols):
10273         [2].
10274
10275         * symsinit.h:
10276         * symsinit.h (init_win32): New.
10277         Also new is syms_of_dialog_mswindows.
10278
10279         * syswindows.h:
10280         Add new Unicode macros, missing Cygwin wide-char functions,
10281         convenience conversion macros for Qmswindows_tstr, macros for
10282         encapsulating required MSWin <-> Cygwin filename conversions,
10283         prototype for dynamically-extracted (not in NT 3.51) functions.
10284
10285         * toolbar-x.c:
10286         Mule-verify.
10287
10288         * tooltalk.c (Fadd_tooltalk_message_arg):
10289         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
10290         * tooltalk.c (Fadd_tooltalk_pattern_arg):
10291         [7].
10292
10293         * tooltalk.c (syms_of_tooltalk):
10294         [2].
10295
10296         * unexnt.c:
10297         * unexnt.c (unexec):
10298         Fix up headers, declaration of unexec() to be more standard.
10299
10300 2000-07-20  Martin Buchholz  <martin@xemacs.org>
10301
10302         * offix.h: Revert change to guard macros - they're used in offix.c!
10303
10304 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10305
10306         * lisp.h: Defsubred Fdelete.
10307
10308         * console-msw.h:  (msprinter_default_printer): Added.
10309
10310         * console-msw.c (msprinter_canonicalize_console_connection):
10311         (msprinter_canonicalize_device_connection): Added.
10312
10313         * device-msw.c (msprinter_default_printer):
10314         (Fmswingows_get_default_printer):
10315         (signal_enum_priner_error):
10316         (Fmswingows_printer_list): Added.
10317
10318 2000-07-19  Martin Buchholz <martin@xemacs.org>
10319
10320         * XEmacs 21.2.35 is released.
10321
10322 2000-07-19  Martin Buchholz  <martin@xemacs.org>
10323
10324         * select-x.c (x_handle_selection_request):
10325         Text selected in xemacs and pasted into xterm failed to appear.
10326         Spelling fixes and cosmetic changes.
10327
10328 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10329
10330         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
10331         XEmacs frame (fix for doubling chars in dialog boxes).
10332
10333 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10334
10335         * select.c (select_convert_in, select_convert_out):
10336         Don't call intern() every time.
10337
10338         * select.c (Qselect_convert_in, Qselect_convert_out): New.
10339         * select.c (vars_of_select): Initialise them.
10340
10341 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10342
10343         * select.c (selection-coercible-types): New.
10344
10345         * select.c (own-selection-internal):
10346         * select.c (get-selection-internal):
10347         MULE bug fix - these should default to COMPOUND_TEXT and not
10348         STRING for MULE. I think.
10349
10350         * select.c (select_convert_out): Use selection-coercible-types
10351         to find types that we can attempt to perform coercions on.
10352
10353 2000-07-18  Martin Buchholz  <martin@xemacs.org>
10354
10355         * mule-wnnfns.c:
10356         * mule-canna.c:
10357         Add coding: cookie to identify encoding.
10358
10359         * mule-canna.c (CANNA_mode_keys): make static.
10360         Use proper prototypes, even for functions of no arguments.
10361         Remove external prototype for Fding().
10362
10363         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
10364
10365         * select.c (syms_of_select): Add missing DEFSUBR.
10366
10367 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10368
10369         * select.c (get_selection_internal, own_selection_internal):
10370         Make the type default to STRING, rather than placing a nil type
10371         into Vselection_alist.
10372
10373 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10374
10375         * gpmevent.c (tty_selection_exists_p):
10376         * gpmevent.c (tty_own_selection):
10377         Updated parameter lists.
10378
10379 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
10380
10381         * select.h (selection-alist): Removed declaration.
10382
10383         * select.h (get_local_selection):
10384         * select.c (get_local_selection):
10385         Made static.
10386
10387         * select.h (convert_selection): Removed declaration.
10388         * select.c (convert_selection): Removed.
10389         This function belongs in Lisp.
10390
10391         * select.h (select_convert_in): Declare.
10392         * select.h (select_convert_out): Declare.
10393         * select.c (select_convert_in): New.
10394         * select.c (select_convert_out): New.
10395         New conversion functions for other files to call.
10396
10397         * select.h (select_notify_buffer_kill): Declare.
10398         * select.c (select_notify_buffer_kill): New.
10399         New functions that get called from kill-buffer.
10400
10401         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
10402         X-specific lisp code.
10403
10404         * select.h: Declare some of the lisp-visible functions for
10405         external use.
10406
10407         * select.c (clean_local_selection_data): Removed. This was
10408         a disgusting function, and previously should have been in
10409         select-x.c in any case. The functionality is now provided
10410         in select-convert-from-integer (select.el).
10411
10412         * select.c (available-selection-types): Fixed stupidity where
10413         INTEGER and ATOM got added twice. Also add STRING when we see an
10414         extent.
10415
10416         * select.c (get-selection-internal): Removed symbol stripping. No
10417         longer causes conversion when data comes from the internal cache.
10418
10419         * select.c (syms_of_select): Added new functions.
10420
10421         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
10422         error checking - previously this called abort!
10423
10424         * select-x.c (x_own_selection): Changed comment.
10425
10426         * select-x.c (x_handle_selection_request): Use select_convert_out.
10427         Don't mess with selection-alist; it's an internal variable of select.c.
10428
10429         * select-x.c (x_get_foreign_selection): Use select_convert_in.
10430
10431         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
10432         rather than messing with selection-alist.
10433
10434         * select-msw.c (mswindows_get_foreign_selection):
10435         Use TO_INTERNAL_FORMAT rather than hacking.
10436
10437 2000-07-14  Martin Buchholz  <martin@xemacs.org>
10438
10439         * process-unix.c (unix_open_multicast_group):
10440         (unix_open_multicast_group): Remove useless casts.
10441
10442 2000-07-13  Martin Buchholz  <martin@xemacs.org>
10443
10444         * sound.c (Fplay_sound): Fix `unused variable' warning.
10445
10446         * emacs.c (main): Use correct type for _environ on SCO5.
10447
10448 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
10449
10450         * console.h (own_selection_method):
10451         * console.h (selection_exists_p_method):
10452         * console.h (available_selection_types_method): New.
10453         * console.h (register_selection_data_type_method): New.
10454         * console.h (selection_data_type_name): New.
10455
10456         * console-msw.h (mswindows_destroy_selection): Declare it.  New
10457         function & alist to track GlobalAlloc()'d handles that need
10458         releasing when the clipboard data gets replaced or emptied.
10459
10460         * event-msw.c (mswindows_wnd_proc): Call it.
10461
10462         * lisp.h, general.c (Qappend): New symbol representing a
10463         `how-to-add' mode.
10464
10465         * select.c (own-selection-internal):
10466         * select.c (selection-exists-p):
10467         * select.c (available-selection-types): New.
10468         * select.c (register-selection-data-type): New.
10469         * select.c (selection-data-type-name): New.  New functions to deal
10470         with device-specific selection data formats.
10471         * select.c (selection-converter-out-alist): Renamed.
10472         * select.c (selection-converter-in-alist): New.
10473         * select.c (selection-appender-alist): New.  Added new alists.
10474         * select.c (syms_of_select, vars_of_select): Added new symbols &
10475         variables.
10476         * select.c (get_local_selection): Split.
10477         * select.c: Removed spurious type checking - selections may now be
10478         of any type, not just strings.
10479         * select.c (own-selection-internal):
10480
10481         * select.h, select.c (convert_selection): New. Created
10482         convert_selection() function based on get_local_selection().
10483         * select.h, select.c (QCF_*): New symbols representing mswindows
10484         clipboard formats.
10485         * select.h, select.c (Qreplace_all, Qreplace_existing): New
10486         symbols representing `how-to-add' modes.
10487
10488         * select-msw.c (x_sym_p): New.
10489         * select-msw.c (symbol_to_ms_cf): New.
10490         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
10491         symbols & clipboard formats. Can also handle string names.
10492         * select-msw.c (mswindows_own_selection):
10493         * select-msw.c (mswindows_selection_exists_p):
10494         Added `data-type' parameter. Use it.
10495         * select-msw.c (mswindows_available_selection_types): New.
10496         * select-msw.c (mswindows_register_selection_data_type): New.
10497         * select-msw.c (mswindows_selection_data_type_name): New.
10498         * select-msw.c (mswindows_own_selection):
10499         * select-msw.c (mswindows_get_foreign_selection):
10500         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
10501         * select-msw.c (console_create_select_mswindows): Added new methods.
10502         * select-msw.c (mswindows_destroy_selection): New.
10503         * select-msw.c (Vhandle_alist): New list.
10504         * select-msw.c (mswindows_own_selection):
10505
10506         * select-x.c (x_own_selection):
10507         * select-x.c (x_selection_exists_p):
10508         * select-x.c: Added some comments about maybe using new
10509         functionality.
10510         * select-x.c (x_own_selection):
10511
10512         * specifier.c: Remove definition of Qappend (now in general.c)
10513         * specifier.c (syms_of_specifier): Remove Qappend.
10514
10515 2000-07-12  Martin Buchholz  <martin@xemacs.org>
10516
10517         * config.h.in: Add socklen_t.
10518
10519         * s/decosf4-0.h: No special compiler flags needed or desired.
10520         In particular, undefine _BSD for DEC OSF 4.0.
10521
10522 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10523
10524         * redisplay-msw.c (msprinter_frame_output_end): Added.
10525         (console_type_create_redisplay_mswindows): Referred the above.
10526
10527         * frame.c (setup_frame_without_minibuffer): Do not create a
10528         default minibuffer frame on a printer device.
10529
10530         * frame-msw.c (apply_dc_geometry): Added.
10531         (msprinter_start_page):
10532         (msprinter_init_frame_3):
10533         (msprinter_eject_page): Use it.
10534
10535         * console-msw.h (struct msprinter_frame): Added pix_left and top,
10536         and removed residual duplex and orientation properties.
10537
10538 2000-07-11  Martin Buchholz  <martin@xemacs.org>
10539
10540         * eval.c (function_argcount): Work around a DEC CC compiler bug.
10541
10542         * unexalpha.c: Remove system prototypes from C sources!
10543
10544 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
10545
10546         * eval.c: Remove references to M-x edit-options in DEFUNs for
10547         `defvar' and `defconst'.
10548
10549 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10550
10551         * config.h.in: Remove SMART_INCLUDE hackery.
10552
10553         PostgreSQL hacking:
10554         * config.h.in: Don't use SMART_INCLUDE.
10555
10556         * postgresql.h: Include libpq-fe.h here.  Fix typo.
10557         * inline.c: Simply #include "postgresql.h"
10558         * postgresql.c:
10559         - Don't use SMART_INCLUDE
10560         - Use simply "const".
10561         - Use standard doc string conventions.
10562         - Use correct type for result of PQstatus.
10563
10564 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10565
10566         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
10567
10568         C++ compilation changes.
10569         * config.h.in (EXTERN_C): Define.
10570         * config.h.in (not): This is also a C++ keyword.
10571         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
10572         * cm.c: Use EXTERN_C.
10573         * redisplay-tty.c: Use EXTERN_C.
10574         * sysdep.c: Use EXTERN_C.  Remove Gould support.
10575
10576 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10577
10578         * general.c: Remove duplicate definition for Qfunction.
10579
10580 2000-07-08  Ben Wing  <ben@xemacs.org>
10581
10582         * device-msw.c (msprinter_init_device):
10583         * device-msw.c (sync_printer_with_devmode):
10584         * device-msw.c (handle_devmode_changes):
10585         * device-msw.c (print_dialog_worker):
10586         * device-msw.c (Fmsprinter_apply_settings):
10587         * device-msw.c (hash_devmode):
10588         * device-msw.c (Fmsprinter_settings_despecialize):
10589         use Qmswindows_tstr, not Qctext.
10590
10591         * vm-limit.c (check_memory_limits):
10592         avoid infinite loop printing warning messages.
10593
10594 2000-07-05  Craig Lanning  <lanning@scra.org>
10595
10596         * Makefile.in.in: Add support for including the Windows resources
10597         when building with the cygwin and mingw targets.
10598
10599         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
10600         not set or not correct.
10601         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
10602         (init_initial_directory): Don't try to use $PWD on the
10603         WIN32_NATIVE target.
10604
10605         * s\cygwin32.h:
10606         [[Add -mwindows to eliminate console window.]] not required --ben
10607         (HAVE_NATIVE_SOUND): removed; now handled by configure.
10608         (MAIL_USE_POP): removed; now handled by configure.
10609
10610         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
10611         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
10612         (HAVE_NATIVE_SOUND): removed; now handled by configure.
10613         (MAIL_USE_POP): removed; now handled by configure.
10614         (ENCAPSULATE_STAT): from Dan Holmsand, added.
10615         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
10616         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
10617         constant string.
10618         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
10619         up from <winsock.h> via systime.h.
10620         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
10621         (getpagesize): from Dan Holmsand, added.
10622         Added #endif which was left dangling by Ben's mega patch; added
10623         comment to help prevent this in the future.
10624
10625         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
10626
10627 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10628
10629         * console-msw.h (struct mswindows_device): Removed unnecessary
10630         cached device geometry values.
10631         Added update_tick and an accessor macro.
10632         (Lisp_Devmode): Added lrecord declaration.
10633         (struct msprinter_device): Contain devmode as a Lisp object.
10634         Added mswindows_get_selected_frame_hwnd();
10635
10636         * console.h (struct console_methods): Indentation nitpicking.
10637
10638         * device-msw.c (mswindows_init_device): Do not initialize geometry
10639         cache. Initialize update tick.
10640         (mswindows_device_system_metrics): Ask the device for its geometry.
10641         (global_free_2_maybe):
10642         (devmode_to_hglobal):
10643         (handle_printer_changes):
10644         (ensure_not_printing):
10645         (print_dialog_worker):
10646         (Fmsprinter_print_setup_dialog):
10647         (Fmsprinter_print_dialog):
10648         (plist_get_margin):
10649         (plist_set_margin):
10650         (Fmsprinter_page_setup_dialog): Added functions.
10651         (sync_printer_with_devmode):
10652         (handle_devmode_changes):
10653         (Fmsprinter_get_settings):
10654         (Fmsprinter_select_settings):
10655         (Fmsprinter_apply_settings):
10656         (allocate_devmode):
10657         (Fmsprinter_settings_copy):
10658         (Fmsprinter_settings_despecialize):
10659         (print_devmode):
10660         (finalize_devmode):
10661         (equal_devmode):
10662         (hash_devmode): Added functions
10663         (syms_of_device_mswindows): Init devmode lrecord class.
10664
10665         * device.h: Added an exfun for find-device.
10666
10667         * event-msw.c (mswindows_wnd_proc): Do not update the cached
10668         geometry; although, recreate the device compatible DC.
10669
10670         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
10671         (msprinter_init_frame_3):
10672         (msprinter_frame_property):
10673         (msprinter_internal_frame_property_p):
10674         (msprinter_frame_properties):
10675         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
10676         print job properties (will move to device settings).
10677
10678         * lisp.h: Added symbols.
10679
10680         * general.c (syms_of_general): Declared them.
10681
10682         * hash.c (string_hash): Added.
10683
10684         * lrecord.h (lrecord_type): Added devmode lrecord type.
10685
10686 2000-07-02  Mike Sperber <mike@xemacs.org>
10687
10688         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
10689         FreeBSD 4.0.
10690
10691 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
10692
10693         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
10694         integer.
10695
10696 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
10697
10698         * data.c (Fstring_to_number): Don't recognize floating point if
10699         base is not 10.
10700
10701 2000-06-22  Martin Buchholz  <martin@xemacs.org>
10702
10703         * glyphs-widget.c (tab_control_query_geometry):
10704         (widget_query_geometry):
10705         (button_query_geometry):
10706         * glyphs.c (text_query_geometry):
10707         Enforce type correctness.
10708
10709 2000-06-18  Martin Buchholz  <martin@xemacs.org>
10710
10711         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
10712         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
10713
10714 2000-06-17  Martin Buchholz  <martin@xemacs.org>
10715
10716         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
10717         conflicts with gcc's fixincluded version of FOO.h.
10718
10719         * glyphs.h (image_instance_geometry): Remove trailing `,'
10720
10721 2000-06-08  Mike Alexander  <mta@arbortext.com>
10722
10723         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
10724         (shove_thread): Don't write the same output twice
10725         (make_ntpipe_output_stream): Increase priority of shove thread
10726         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
10727         chance to run
10728         (ntpipe_shove_closer): Don't delete the pipe until we're done with
10729         it.
10730
10731 2000-06-12  Ben Wing  <ben@xemacs.org>
10732
10733         * s\mingw32.h (sigset):
10734         * s\windowsnt.h (sigset):
10735         rename msw_ to mswindows_ for consistency with general convention.
10736
10737 2000-06-12  Ben Wing  <ben@xemacs.org>
10738
10739         * console-msw.c:
10740         * console-msw.c (mswindows_get_console_hwnd):
10741         * console-msw.c (mswindows_ensure_console_allocated):
10742         * console-msw.c (mswindows_hide_console):
10743         * console-msw.c (mswindows_show_console):
10744         * console-msw.c (mswindows_ensure_console_buffered):
10745         * console-msw.c (mswindows_output_console_string):
10746         * console-msw.c (mswindows_windows9x_p):
10747         * console-msw.h:
10748         * device-msw.c (mswindows_get_workspace_coords):
10749         * device-msw.c (mswindows_device_system_metrics):
10750         * dialog-msw.c (mswindows_popup_dialog_box):
10751         * event-msw.c (mswindows_wnd_proc):
10752         * frame-msw.c (mswindows_size_frame_internal):
10753         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10754         * menubar-msw.c (displayable_menu_item):
10755         * menubar-msw.c (mswindows_char_is_accelerator):
10756         * nt.c:
10757         * nt.c (mswindows_sigset):
10758         * nt.c (mswindows_sigrelse):
10759         * nt.c (mswindows_sigpause):
10760         * nt.c (mswindows_raise):
10761         * nt.c (timer_proc):
10762         * ntproc.c:
10763         * ntproc.c (find_child_console):
10764         * ntproc.c (sys_kill):
10765         * print.c:
10766         * print.c (std_handle_out_external):
10767         * process-nt.c (find_child_console):
10768         * process-nt.c (send_signal_the_95_way):
10769         * process-nt.c (ensure_console_window_exists):
10770         * process-nt.c (nt_create_process):
10771         * syssignal.h:
10772         rename msw_ to mswindows_ for consistency with general convention.
10773
10774         * emacs.c:
10775         * dumper.c:
10776         include nt.h, not syswindows.h.
10777
10778         * nt.c (mswindows_fstat):
10779         * nt.c (mswindows_stat):
10780         prefix mswindows_ instead of attempting to directly override the
10781         library functions.  fix declarations.
10782
10783         * nt.h:
10784         include syswindows.h.  move some sysdep.h stuff here.
10785
10786         * ntheap.h:
10787         include syswindows.h, not <windows.h>.
10788
10789         * ntplay.c:
10790         clean up headers.
10791
10792         * sysdep.c:
10793         clean up headers.
10794
10795         * sysdep.c (sys_fstat):
10796         * sysdep.c (sys_stat):
10797         call mswindows versions when appropriate.
10798
10799         * sysdep.h:
10800         move mswin decls to nt.h.
10801
10802         * syswindows.h:
10803         add long comment describing appropriate use of the various windows
10804         headers.
10805
10806 2000-06-11  Ben Wing  <ben@xemacs.org>
10807
10808         * device-x.c: Correct doc string for sixth arg of x-get-resource.
10809
10810 2000-06-10  Ben Wing  <ben@xemacs.org>
10811
10812         * Makefile.in.in (release):
10813         Correction to make sure xemacs.exe always dumped when correct.
10814
10815         * alloca.c:
10816         * balloon_help.c:
10817         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
10818
10819         * buffer.c (set_buffer_internal):
10820         [[[[2]]]]: Remove HAVE_FEP code.
10821
10822         * buffer.c (init_initial_directory):
10823         [3].
10824
10825         * bytecode.c:
10826         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
10827         individual files.
10828
10829         * callproc.c:
10830         * callproc.c (call_process_cleanup):
10831         * callproc.c (Fold_call_process_internal):
10832         * callproc.c (child_setup):
10833         * callproc.c (getenv_internal):
10834         * callproc.c (init_callproc):
10835         * callproc.c (vars_of_callproc):
10836         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
10837         __CYGWIN32__ -> CYGWIN.
10838         DOS_NT -> WIN32_NATIVE.
10839         Remove MSDOS support/references, converting to WIN32_NATIVE
10840           where correct.
10841         __MINGW32__ -> MINGW.
10842         Fix windows.h includes.
10843         Remove bogus HAVE_NTGUI.
10844
10845         * config.h.in:
10846         [2].
10847
10848         * console-msw.c:
10849         mswindows_message_outputted added for use in allowing startup
10850         errors on the console to be seen.
10851
10852         * console-msw.c (msw_ensure_console_allocated):
10853         * console-msw.c (msw_output_console_string):
10854         * console-msw.c (DHEADER):
10855         * console-msw.c (DOPAQUE_DATA):
10856         * console-msw.c (DEVENT):
10857         * console-msw.c (DCONS):
10858         * console-msw.c (DCONSCDR):
10859         * console-msw.c (DSTRING):
10860         * console-msw.c (DVECTOR):
10861         * console-msw.c (DSYMBOL):
10862         * console-msw.c (DSYMNAME):
10863         Fix warnings.
10864
10865         * console-stream.c (stream_init_console):
10866         Fix text/binary problems.
10867
10868         * device-msw.c:
10869         * device-msw.c (mswindows_finish_init_device):
10870         * device-msw.c (mswindows_delete_device):
10871         [1].
10872
10873         * device.c (handle_asynch_device_change):
10874         [3].
10875
10876         * dgif_lib.c:
10877         * dgif_lib.c (DGifOpenFileName):
10878         * dgif_lib.c (DGifOpenFileHandle):
10879         * dgif_lib.c (DGifGetLine):
10880         * dgif_lib.c (DGifGetPixel):
10881         Added config.h/lisp.h, fix up includes.
10882         [1].
10883
10884         * dired-msw.c:
10885         [4].
10886
10887         * dired.c:
10888         * dired.c (file_name_completion):
10889         * dired.c (Ffile_attributes):
10890         * dired.c (syms_of_dired):
10891         [1].
10892
10893         * dumper.c:
10894         * dumper.c (pdump_file_unmap):
10895         * dumper.c (pdump_load):
10896         [1].
10897
10898         * editfns.c:
10899         * editfns.c (Ftemp_directory):
10900         * editfns.c (user_login_name):
10901         * editfns.c (Fuser_real_login_name):
10902         * editfns.c (get_home_directory):
10903         [1].
10904
10905         * elhash.c (finish_marking_weak_hash_tables):
10906         [[[[5]]]]: Fix GCC warnings.
10907
10908         * emacs.c:
10909         * emacs.c (mswindows_handle_hardware_exceptions):
10910         * emacs.c (make_arg_list_1):
10911         * emacs.c (main_1):
10912         * emacs.c (Fkill_emacs):
10913         * emacs.c (Fdump_emacs):
10914         [1].
10915         Fix problems with nested crashes, add long comment.
10916
10917         * event-Xt.c (init_event_Xt_late):
10918         [1].
10919
10920         * event-msw.c:
10921         * event-msw.c (mswindows_dde_callback):
10922         * event-msw.c (mswindows_handle_sticky_modifiers):
10923         * event-msw.c (mswindows_wnd_proc):
10924         [1].
10925         [5].
10926
10927         * events.c (character_to_event):
10928         [1].
10929
10930         * fileio.c:
10931         * fileio.c (Ffile_name_directory):
10932         * fileio.c (Ffile_name_nondirectory):
10933         * fileio.c (directory_file_name):
10934         * fileio.c (Fexpand_file_name):
10935         * fileio.c (Fsubstitute_in_file_name):
10936         * fileio.c (Ffile_name_absolute_p):
10937         * fileio.c (check_executable):
10938         * fileio.c (Ffile_readable_p):
10939         * fileio.c (Ffile_accessible_directory_p):
10940         * fileio.c (Ffile_modes):
10941         * fileio.c (Funix_sync):
10942         * fileio.c (vars_of_fileio):
10943         [1]. [4].
10944
10945         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
10946
10947         Expand getdefdir defn.
10948         Fix bogus rename() comment.
10949
10950         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
10951         to use standard XEmacs include files, e.g. sysfile.h, rather
10952         than system-specific includes.
10953
10954         * fns.c:
10955         * fns.c (Fsubseq):
10956         [5]. [6].
10957
10958         * frame.c (vars_of_frame):
10959         [1].
10960
10961         * getloadavg.c:
10962         * getloadavg.c (getloadavg):
10963         [1]. [6].
10964         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
10965         (We don't use it elsewhere in the code; just add a comment.)
10966
10967         * gif_io.c:
10968         [6].
10969         Add config.h.
10970
10971         * glyphs-msw.c:
10972         * glyphs-msw.c (mswindows_resource_instantiate):
10973         [1].
10974
10975         * glyphs-x.c (x_native_layout_instantiate):
10976         [5].
10977
10978         * gui-msw.c (Fmswindows_shell_execute):
10979         [1].
10980
10981         * insdel.c:
10982         [4].
10983
10984         * lisp.h:
10985         [4]. [5].
10986
10987         * lread.c (locate_file_in_directory_mapper):
10988         [1].
10989
10990         * lstream.c:
10991         [4].
10992
10993         * mem-limits.h:
10994         * mem-limits.h (get_lim_data):
10995         [1].
10996
10997         * menubar-msw.c:
10998         [4].
10999
11000         * ndir.h:
11001         [1].
11002
11003         * nt.c:
11004         * nt.c (getwd):
11005         * nt.c (closedir):
11006         * nt.c (rva_to_section):
11007         * nt.c (mswindows_executable_type):
11008         [1]. [6].
11009         Fix closedir() defn.
11010
11011         * nt.h:
11012         [[[[8]]]]: *_OK defs moved to sysfile.h.
11013
11014         * ntproc.c:
11015         [6]. [7].
11016
11017         * objects-x.c:
11018         [4].
11019
11020         * print.c:
11021         * print.c (std_handle_out_external):
11022         [1]. [4].
11023
11024         * process-nt.c:
11025         * process-nt.c (nt_create_process):
11026         [6].
11027         try to fix process quoting somewhat.
11028
11029         * process-unix.c (unix_create_process):
11030         [1].
11031
11032         * process.c:
11033         * process.c (vars_of_process):
11034         Add Vnull_device.
11035
11036         * process.h:
11037         [1].
11038
11039         * realpath.c:
11040         * realpath.c (xrealpath):
11041         [1].
11042
11043         * redisplay-tty.c (init_tty_for_redisplay):
11044         [3].
11045
11046         * redisplay.c:
11047         [4]. [6].
11048
11049         * scrollbar-msw.c:
11050         [4].
11051
11052         * sheap.c:
11053         * sheap.c (more_static_core):
11054         * sheap.c (report_sheap_usage):
11055         [5]. [6].
11056
11057         * signal.c:
11058         * signal.c (alarm_signal):
11059         [1]. [6].
11060
11061         * sound.c:
11062         [6].
11063
11064         * strftime.c:
11065         * strftime.c (zone_name):
11066         [1]. [5].
11067
11068         * symsinit.h (init_sunpro):
11069         [1].
11070
11071         * syscommctrl.h:
11072         commctrl.h not in Cygwin b20.1.
11073
11074         * sysdep.c:
11075         * sysdep.c (endif):
11076         * sysdep.c (sys_subshell):
11077         * sysdep.c (init_baud_rate):
11078         * sysdep.c (emacs_get_tty):
11079         * sysdep.c (emacs_set_tty):
11080         * sysdep.c (tty_init_sys_modes_on_device):
11081         * sysdep.c (init_system_name):
11082         * sysdep.c (sys_open):
11083         * sysdep.c (interruptible_open):
11084         * sysdep.c (sys_fopen):
11085         * sysdep.c (sys_mkdir):
11086         * sysdep.c (sys_rename):
11087         * sysdep.c (get_process_times_1):
11088         [1]. [6].
11089
11090         * sysdep.h:
11091         [1].
11092
11093         * sysdir.h:
11094         * sysdir.h (DIRENTRY_NONEMPTY):
11095         [1]. [6].
11096
11097         * sysdll.c (dll_init):
11098         * sysdll.h:
11099         [1].
11100
11101         * sysfile.h:
11102         [1]. [6]. [8].
11103         added text/binary defs.
11104
11105         * sysfloat.h:
11106         [1].
11107
11108         * sysproc.h:
11109         * sysproc.h (EDESTADDRREQ):
11110         * sysproc.h (poll_fds_for_input):
11111         [1]. [6].
11112
11113         * syspwd.h:
11114         [6].
11115
11116         * syssignal.h:
11117         [1].
11118
11119         * systime.h:
11120         [1]. [6].
11121
11122         * systty.h:
11123         [1].
11124
11125         * syswindows.h:
11126         [1].
11127         Always define WIN32_LEAN_AND_MEAN.
11128
11129         * unexcw.c (unexec):
11130         [5].
11131
11132         * unexec.c:
11133         * unexec.c (copy_text_and_data):
11134         * unexec.c (adjust_lnnoptrs):
11135         [1].
11136
11137         * unexnt.c:
11138         * unexnt.c (_start):
11139         [1].
11140
11141 2000-06-07  Ben Wing  <ben@xemacs.org>
11142
11143         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
11144         was used only as a model.  We've long since extracted any useful
11145         logic or code out of this. (I just did an exhaustive search.)
11146
11147         * s\msdos.h: Removed.
11148
11149         * s\windows95.h: Removed.
11150
11151 2000-06-10  Ben Wing  <ben@xemacs.org>
11152
11153         * s\cygwin32.h:
11154         [1]. [5].
11155         Don't use extern with fun defs.
11156
11157         * s\mingw32.h:
11158         [1]. [7].
11159         Remove nt\inc include.
11160         Remove getdisk, getdefdir. (The former is unused, the latter
11161         expanded in fileio.h.)
11162
11163         * s\windowsnt.h:
11164         * s\windowsnt.h (WIN32_NATIVE):
11165         * s\windowsnt.h (HAVE_STRCASECMP):
11166         [1]. [7].
11167         Add long comment about preprocessor changes.
11168         Remove getdisk, getdefdir. (The former is unused, the latter
11169         expanded in fileio.h.)
11170
11171 2000-06-10  Ben Wing  <ben@xemacs.org>
11172
11173         * m\arm.h:
11174         * m\delta.h:
11175         * m\intel386.h:
11176         * m\sequent.h:
11177         * m\template.h:
11178         * m\windowsnt.h:
11179         [1].
11180         Remove bogus/unused NO_SOCK_SIGIO.
11181
11182 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
11183
11184         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
11185         not an Emchar.
11186
11187 2000-06-04  Mike Sperber <mike@xemacs.org>
11188
11189         * casetab.c (set_case_table): For `set-standard-case-table',
11190         actually deposit the new case tables where the rest of XEmacs can
11191         see them.
11192
11193 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
11194
11195         * data.c (Faset): Don't cast XCHAR() to unsigned char.
11196
11197 2000-06-05  Ben Wing  <ben@xemacs.org>
11198
11199         * callproc.c (child_setup): Don't do close_load_descs() under
11200         MS Windows.  Put in a comment explaining why.
11201
11202 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
11203
11204         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
11205         Toolkit shell" which breaks `kill-compilation' on Windows NT
11206         native, retaining STDERR handling improvements.
11207
11208 2000-06-01  Andreas Jaeger  <aj@suse.de>
11209
11210         * s/s390.h: Support for S390, based on a patch by Martin
11211         Schwidefsky <schwidefsky@de.ibm.com>.
11212
11213 2000-05-30  Andy Piper  <andy@xemacs.org>
11214
11215         * window.c (allocate_window):
11216         (make_dummy_parent):
11217         (Fset_window_configuration): use new hashtable type.
11218
11219         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
11220         (struct image_instantiator_methods):
11221         (struct Lisp_Image_Instance): make instance geometry signed.
11222
11223         * glyphs.c (instantiate_image_instantiator):
11224         (image_instance_query_geometry):
11225         (image_instance_layout):
11226         (image_instance_layout):
11227         (query_string_geometry):
11228         (text_query_geometry):
11229         (image_instantiate):
11230         (image_instantiate):
11231         (cache_subwindow_instance_in_frame_maybe):
11232         (subwindow_query_geometry): make instance geometry signed.
11233
11234         * glyphs-widget.c (widget_query_geometry):
11235         (widget_layout):
11236         (button_query_geometry):
11237         (tree_view_query_geometry):
11238         (tab_control_query_geometry):
11239         (layout_query_geometry):
11240         (layout_layout):
11241         (native_layout_layout): make instance geometry signed.
11242
11243 2000-05-29  Olivier Galibert  <galibert@pobox.com>
11244
11245         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
11246         constant.
11247
11248         * general.c (syms_of_general): Add Qfull_assoc symbol.
11249
11250         * data.c (finish_marking_weak_lists): Mark full-assoc lists
11251         correctly.
11252         (decode_weak_list_type): Decode full-assoc type.
11253         (encode_weak_list_type): Encode full-assoc type.
11254         (Fmake_weak_list): Update doc string.
11255
11256 2000-05-30  Andy Piper  <andy@xemacs.org>
11257
11258         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
11259
11260         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
11261         (decode_hash_table_weakness): ditto.
11262         (Fhash_table_weakness): ditto.
11263         (Fhash_table_type): ditto.
11264         (finish_marking_weak_hash_tables): ditto.
11265         (hash_table_weakness_validate): ditto.
11266         (syms_of_elhash): ditto.
11267
11268 2000-05-28  Martin Buchholz <martin@xemacs.org>
11269
11270         * XEmacs 21.2.34 is released.
11271
11272 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11273
11274         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
11275         start cache.
11276         (updating_line_start_cache): Gone.
11277         (regenerate_window): Replace resetting of VERTICAL_CLIP by
11278         generic code to force a minimum of 1 line laid out in the
11279         CMOTION_DISP case.
11280
11281 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11282
11283         * glyphs.c (instantiate_image_instantiator): Check for initialized
11284         height & width no longer special cases IMAGE_NOTHING.
11285         (nothing_instantiate): Set height and width of instance.
11286
11287 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11288
11289         * unexelf.c (unexec): Search for ".data" section.
11290         Initialize new_data2_offset from old_data_index.
11291         Remove redundant check for ElfW.
11292
11293 2000-05-23  Andy Piper  <andy@xemacs.org>
11294
11295         * glyphs.c (get_image_instantiator_governing_domain): allow more
11296         specific domains as the governing domain rather than expecting an
11297         exact match. This fixes problems with layouts.
11298
11299 2000-05-22  Andy Piper  <andy@xemacs.org>
11300
11301         * redisplay-output.c (compare_runes): check for non-images
11302
11303         * glyphs.c (set_glyph_dirty_p): ditto.
11304         (update_glyph_cachel_data): ditto.
11305
11306         * glyphs-widget.c (layout_post_instantiate): ditto.
11307         (layout_post_instantiate): ditto.
11308
11309         * event-msw.c (mswindows_wnd_proc): warning removal.
11310
11311 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
11312
11313         * s\mingw32.h: Added #undef for CLASH_DETECTION.
11314
11315         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
11316
11317         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
11318
11319         * nt.c (rva_to_section): mingw32 needs rva_to_section.
11320         (mswindows_executable_type): mingw32 now has enough headers for
11321         this to work.
11322
11323 2000-05-20  Andy Piper  <andy@xemacs.org>
11324
11325         * console-msw.c (mswindows_output_last_error): ; -> ,
11326
11327 2000-05-12  Andy Piper  <andy@xemacs.org>
11328
11329         * console-msw.c (FROB): compare ints with ints.
11330
11331 2000-05-11  Andy Piper  <andy@xemacs.org>
11332
11333         * glyphs-x.c (x_finalize_image_instance): make minimal build
11334         happy.
11335
11336 2000-05-20  Ben Wing  <ben@xemacs.org>
11337
11338         * event-Xt.c:
11339         * event-Xt.c (vars_of_event_Xt):
11340         move modifier-keys-are-sticky to event-stream.c.
11341
11342         * event-msw.c:
11343         * event-msw.c (mswindows_enqueue_mouse_button_event):
11344         * event-msw.c (key_needs_default_processing_p):
11345         * event-msw.c (XEMSW_LCONTROL):
11346         * event-msw.c (mswindows_handle_sticky_modifiers):
11347         * event-msw.c (FROB):
11348         * event-msw.c (clear_sticky_modifiers):
11349         * event-msw.c (output_modifier_keyboard_state):
11350         * event-msw.c (output_alt_keyboard_state):
11351         * event-msw.c (mswindows_wnd_proc):
11352         * event-msw.c (mswindows_modifier_state):
11353         * event-msw.c (emacs_mswindows_handle_magic_event):
11354         implement sticky modifiers.
11355
11356         * event-stream.c:
11357         * event-stream.c (vars_of_event_stream):
11358         move modifier-keys-are-sticky here.
11359
11360         * lisp.h:
11361         add CHECK_FUNCTION.
11362
11363         * rangetab.c:
11364         implement map-range-table.
11365
11366
11367 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
11368
11369         * redisplay-tty.c (reset_tty_modes):
11370         (tty_redisplay_shutdown): Adjust argument type to
11371         tty_frame_output_end.
11372
11373 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
11374
11375         * eval.c (Fbacktrace): Don't output a line with only right
11376         parenthesis.
11377
11378 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
11379
11380         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
11381         (Fpq_reset_poll): Ditto.
11382
11383 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
11384
11385         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
11386
11387 2000-05-16  Ben Wing  <ben@xemacs.org>
11388
11389         * buffer.c:
11390         * buffer.c (dfc_convert_to/from_internal_format):
11391         * buffer.c (reinit_vars_of_buffer):
11392         Fix conversion functions to allow reentrancy.
11393
11394         * console-msw.c:
11395         * console-msw.c (mswindows_output_last_error):
11396         New fun, generally useful -- output a human-readable
11397         version of GetLastError() on the console.
11398
11399         * console-msw.h:
11400         * console-msw.h (struct mswindows_frame):
11401         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
11402
11403         * console-stream.c (stream_output_begin):
11404         * console-stream.c (stream_output_end):
11405         * console-stream.c (stream_output_vertical_divider):
11406         * console-stream.c (stream_clear_region):
11407         * console-stream.c (stream_flash):
11408         * console-stream.c (console_type_create_stream):
11409         Delete blank stream methods, not needed.
11410
11411         * console.h (struct console_methods):
11412         Split begin/end methods into window and frame.
11413
11414         * event-msw.c:
11415         * event-msw.c (mswindows_handle_paint):
11416         * event-msw.c (output_alt_keyboard_state):
11417         * event-msw.c (mswindows_wnd_proc):
11418         * event-msw.c (vars_of_event_mswindows):
11419         Comment about problems with ignored-expose.
11420         Define mswindows-debug-events; not really implemented.
11421
11422         * frame-msw.c (mswindows_init_frame_1):
11423         random cleanups.
11424
11425         * glyphs-msw.c:
11426         * glyphs-msw.c (begin_defer_window_pos):
11427         * glyphs-msw.c (mswindows_unmap_subwindow):
11428         * glyphs-msw.c (mswindows_map_subwindow):
11429         * glyphs-msw.c (mswindows_resize_subwindow):
11430         Use DeferWindowPos to reduce flashing when mapping/unmapping.
11431
11432         * glyphs.c (make_image_instance_1):
11433         Fix crash.
11434
11435         * gutter.c (Fredisplay_gutter_area):
11436         Use new begin/end methods.
11437
11438         * lisp.h (Dynarr_new2):
11439         New creation fun.
11440
11441         * redisplay-msw.c:
11442         * redisplay-msw.c (mswindows_frame_output_begin):
11443         * redisplay-msw.c (mswindows_frame_output_end):
11444         * redisplay-msw.c (console_type_create_redisplay_mswindows):
11445         New begin/end methods -- handle DeferWindowPos.
11446
11447         * redisplay-output.c (redisplay_move_cursor):
11448         * redisplay-output.c (redraw_cursor_in_window):
11449         * redisplay-output.c (redisplay_update_line):
11450         * redisplay-output.c (redisplay_output_window):
11451         New begin/end methods.
11452
11453         * redisplay-tty.c:
11454         * redisplay-tty.c (tty_frame_output_begin):
11455         * redisplay-tty.c (tty_frame_output_end):
11456         * redisplay-tty.c (console_type_create_redisplay_tty):
11457         New begin/end methods.
11458
11459         * redisplay-x.c:
11460         * redisplay-x.c (x_window_output_begin):
11461         * redisplay-x.c (x_window_output_end):
11462         * redisplay-x.c (console_type_create_redisplay_x):
11463         New begin/end methods.
11464
11465         * redisplay.c (redisplay_frame):
11466         * redisplay.c (Fredisplay_echo_area):
11467         New begin/end methods.
11468         use MAYBE_DEVMETH for clear_frame; it may not exist.
11469
11470         * window.h (WINDOW_XFRAME):
11471         WINDOW_XFOO macros -- get locale and decode struct pointer.
11472
11473
11474 2000-05-12  Ben Wing  <ben@xemacs.org>
11475
11476         * emacs.c:
11477         * emacs.c (ensure_no_quitting_from_now_on):
11478         * emacs.c (fatal_error_signal):
11479         * emacs.c (mswindows_handle_hardware_exceptions):
11480         * emacs.c (main):
11481         * emacs.c (Fkill_emacs):
11482         * emacs.c (shut_down_emacs):
11483         * emacs.c (assert_failed):
11484         various improvements in fatal error handling.
11485
11486         * eval.c:
11487         move preparing_for_armageddon to emacs.c.
11488
11489         * lisp.h:
11490         declare fatal_error_in_progress.
11491
11492         * print.c:
11493         * print.c (std_handle_out_external):
11494         * print.c (std_handle_out_va):
11495         * print.c (stderr_out):
11496         * print.c (stdout_out):
11497         use console under mswin when no standard output.
11498         don't do code conversion during fatal error.
11499
11500         * scrollbar.c (Fscrollbar_page_up):
11501         * scrollbar.c (Fscrollbar_page_down):
11502         fix missing else.  reindent.
11503
11504 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
11505
11506         Emergency fix.
11507
11508         * glyphs.h (GLYPH_CACHEL_DESCENT):
11509         (GLYPH_CACHEL_DESCENT):
11510         (GLYPH_CACHEL_DESCENT):
11511         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
11512         used in case these are inline functions.
11513         Use more absurd values to error check.
11514
11515         include window.h for error check functions.
11516
11517 2000-05-11  Ben Wing  <ben@xemacs.org>
11518
11519         * cmdloop.c (Freally_early_error_handler):
11520         Display message box under windows; otherwise, message will disappear
11521         before it can be viewed.
11522
11523         * console-msw.c:
11524         * console-msw.c (Fmswindows_message_box):
11525         * console-msw.c (FROB):
11526         * console-msw.c (syms_of_console_mswindows):
11527         Define new fun `mswindows-message-box'.
11528         #### I will merge this into `popup-dialog-box'; just give me
11529         a bit of time.
11530
11531         * general.c:
11532         * general.c (syms_of_general):
11533         Some new symbols used in `mswindows-message-box'.
11534
11535         * glyphs.c:
11536         * glyphs.c (Fset_image_instance_property):
11537         put warning in this fun.
11538
11539         * glyphs.h:
11540         * glyphs.h (GLYPH_CACHEL_WIDTH):
11541         * glyphs.h (GLYPH_CACHEL_ASCENT):
11542         * glyphs.h (GLYPH_CACHEL):
11543         * glyphs.h (GLYPH_CACHEL_GLYPH):
11544         define error-checking versions to try to catch a bug i've seen --
11545         redisplay gets in an infinite loop because the glyph width of the
11546         continuation glyph is 65535.
11547
11548         * lisp.h:
11549         Extern message-box stuff.
11550
11551         * window.c (allocate_window):
11552         * window.c (make_dummy_parent):
11553         * window.c (Fset_window_configuration):
11554         Use EQUAL not EQ for subwindow caches to make them work a bit
11555         better. (Something is still very broken.)
11556
11557
11558 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
11559
11560         * glyphs.c (image_instantiate): Suppress gcc warnings.
11561         (Fmake_image_instance): Fix doc string.
11562         * specifier.c (Fmake_specifier): Ditto.
11563
11564 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
11565
11566         * paths.h.in (PATH_LOCK): Removed.
11567         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
11568         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
11569
11570 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
11571
11572         * fns.c (Ffeaturep): Update e-mail address in doc-string.
11573         Document (featurep '(and xemacs 21.02)).
11574
11575 2000-05-09  Ben Wing  <ben@xemacs.org>
11576
11577         * buffer.c (complex_vars_of_buffer):
11578         update modeline-format doc.
11579
11580         * device.h:
11581         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
11582
11583         * emacs.c:
11584         timeline of all released versions of Emacs, for use in creating
11585         authorship comments and in synching up.
11586
11587         * glyphs-widget.c (image_instantiator_buttons):
11588         * glyphs-widget.c (image_instantiator_edit_fields):
11589         * glyphs-widget.c (image_instantiator_combo_box):
11590         * glyphs-widget.c (image_instantiator_scrollbar):
11591         * glyphs-widget.c (image_instantiator_progress_guage):
11592         * glyphs-widget.c (image_instantiator_tree_view):
11593         * glyphs-widget.c (image_instantiator_tab_control):
11594         * glyphs-widget.c (image_instantiator_labels):
11595         * glyphs-widget.c (image_instantiator_layout):
11596         * glyphs-widget.c (image_instantiator_native_layout):
11597         rename decode_domain method to governing_domain.
11598
11599         * glyphs.c:
11600         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
11601         * glyphs.c (add_entry_to_device_ii_format_list):
11602         make sure we don't put an entry more than once into the list.
11603         * glyphs.c (check_instance_cache_mapper):
11604         *************************************************************
11605         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
11606         HAVE BEEN GETTING.
11607         *************************************************************
11608         * glyphs.c (get_image_instantiator_governing_domain):
11609         clean up, expand on new concept of governing domain.
11610         * glyphs.c (instantiate_image_instantiator):
11611         * glyphs.c (allocate_image_instance):
11612         use governing_domain instead of cache_domain in naming.
11613         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
11614         * glyphs.c (make_image_instance_1):
11615         * glyphs.c (Fmake_image_instance):
11616         allow for any domain (not just device), and process the
11617         governing domain correctly.  very big doc fix.
11618         * glyphs.c (Fimage_instance_domain):
11619         new primitive, to retrieve the governing domain of an image instance.
11620         * glyphs.c (image_instantiate):
11621         use new governing_domain stuff.  this fixes a crash you could get
11622         by instantiating certain widget glyphs in frame locales. (should
11623         signal an error instead of crashing.)
11624         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
11625         * glyphs.c (Fglyphp): clean up doc.
11626         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
11627         * glyphs.c (syms_of_glyphs):
11628         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
11629         * glyphs.c (image_instantiator_format_create): add some comments about
11630         bogus code.
11631         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
11632         for current-display-table. (Apparently Hrjove implemented in 1998 a
11633         design I wrote up in 1996, but didn't update the doc string.)
11634
11635         * glyphs.h: clean up a doc string.
11636         * glyphs.h (governing_domain):
11637         * glyphs.h (struct image_instantiator_methods):
11638         changes for governing_domain stuff.
11639
11640         * gutter.c:
11641         * gutter.c (Fgutter_specifier_p):
11642         * gutter.c (Fgutter_size_specifier_p):
11643         * gutter.c (Fgutter_visible_specifier_p):
11644         * objects.c:
11645         * objects.c (Fcolor_specifier_p):
11646         * objects.c (Ffont_specifier_p):
11647         * objects.c (Fface_boolean_specifier_p):
11648         doc strings moved to make-*-specifier.
11649
11650         * redisplay.c (add_disp_table_entry_runes_1):
11651         * redisplay.c (generate_fstring_runes):
11652         * redisplay.c (screen):
11653         add random comments and doc strings.
11654
11655         * specifier.c:
11656         * specifier.c (Fmake_specifier):
11657         major overhaul of this doc string.
11658
11659         * specifier.c (Fvalid_specifier_domain_p):
11660         comment about the bogosity of image instances being domains.
11661         * specifier.c (decode_domain):
11662         now non-static, used in glyphs.c.
11663         * specifier.c (specifier_instance):
11664         comment about the bogosity of image instances being domains.
11665         * specifier.c (Fgeneric_specifier_p):
11666         move doc string to make-generic-specifier.
11667         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
11668         rebackslashify.
11669
11670         * specifier.h:
11671         * specifier.h (DOMAIN_FRAME):
11672         * specifier.h (DOMAIN_LIVE_P):
11673         * specifier.h (DOMAIN_XDEVICE):
11674         rebackslashify.
11675         add comments about problems with these macros.
11676         prototype for decode_domain.
11677
11678         * toolbar.c:
11679         * toolbar.c (Ftoolbar_specifier_p):
11680         move doc string to `make-toolbar-specifier'.
11681
11682         * window.c (window_unmap_subwindows_cache_mapper):
11683         *************************************************************
11684         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
11685         HAVE BEEN GETTING.
11686         *************************************************************
11687
11688 2000-05-09  Andy Piper  <andy@xemacs.org>
11689
11690         * glyphs.h: declare reset_frame_subwindow_instance_cache.
11691
11692         * window.c (Fset_window_configuration): reset the frame subwindow
11693         cache and re-initialize the window subwindow caches.
11694
11695         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
11696
11697 2000-05-09  Ben Wing  <ben@xemacs.org>
11698
11699         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
11700         DWORD.
11701
11702 2000-04-26  Mike Woolley  <mike@bulsara.com>
11703
11704         * ntheap.c: Changed recreate_heap to limit the amount reserved
11705         for the heap to that which is actually available. Also now
11706         displays a message box (with some dignostics) in the event that
11707         it still can't start.
11708
11709 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11710
11711         * callproc.c (Fold_call_process_internal): GCPRO path
11712
11713 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
11714
11715         Patch by Bill Perry.
11716
11717         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
11718         back data instead of #ifdef.
11719         (Fscrollbar_page_down): ditto.
11720
11721 2000-05-07  Ben Wing  <ben@xemacs.org>
11722
11723         * buffer.h:
11724         Kludge for defining Qmswindows_tstr.
11725
11726         * nt.c:
11727         * nt.c (open_input_file):
11728         * nt.c (open_output_file):
11729         * nt.c (rva_to_section):
11730         * nt.c (mswindows_executable_type):
11731         Move all memory-mapped-file routines here (some were in unexnt.c,
11732         which is bad because they are used by process-nt.c, and unexnt
11733         won't be around when portable dumping).  Synched the above routines
11734         with FSF 20.6.
11735
11736         * nt.h:
11737         Removed ifdef'd out bogus code.
11738         Fixed some prototypes.
11739
11740         * nt.h (file_data):
11741         * nt.h (OFFSET_TO_RVA):
11742         * nt.h (RVA_TO_OFFSET):
11743         * nt.h (RVA_TO_PTR):
11744         Moved the memory-mapped-file structures, macros and prototypes
11745         here, to parallel nt.c.  ntheap.h should really be removed
11746         entirely, and it's a non-portable-dumper specific file.
11747
11748         * ntheap.h (round_to_next):
11749         Moved the memory-mapped-file structures, macros and prototypes
11750         to nt.h.
11751
11752         * ntproc.c (compare_env):
11753         Moved rva_to_section and mswindows_executable_type to nt.c.
11754         Moved compare_env to process-nt.c.
11755         ntproc.c will die, one day.
11756
11757         * ntproc.c (sys_spawnve):
11758         Account for win32_ -> mswindows_.
11759
11760         * process-nt.c:
11761         * process-nt.c (struct nt_process_data):
11762         * process-nt.c (ensure_console_window_exists):
11763         * process-nt.c (compare_env):
11764         * process-nt.c (nt_create_process):
11765         * process-nt.c (nt_kill_process_by_pid):
11766         * process-nt.c (syms_of_process_nt):
11767         * process-nt.c (vars_of_process_nt):
11768         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
11769         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
11770         changes).  Eliminate our old `nt-quote-process-args' mechanism.
11771         Synch up nt_create_process with FSF 20.6 sys_spawnve.
11772         Move compare_env here from ntproc.c.
11773
11774         * process.c (Fprocess_send_region):
11775         Takes an optional fourth argument, BUFFER, which should fix some
11776         problems with call-process.
11777
11778         * syscommctrl.h:
11779         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
11780
11781         * syswindows.h:
11782         Move ICC_BAR_CLASSES to syscommctrl.h.
11783         Add preliminary macros for MSWindows/Mule.  More to come.
11784
11785         * unexnt.c:
11786         * unexnt.c (unexec):
11787         open_output_file moved to nt.c.
11788
11789
11790 2000-05-05  Andy Piper  <andy@xemacs.org>
11791
11792         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
11793         instance from the frame cache also since GC may catch up too late
11794         to make frame deletion sane.
11795
11796 2000-05-04  Andy Piper  <andy@xemacs.org>
11797
11798         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
11799         (x_finalize_image_instance): ungcpro on deletion.
11800
11801         * glyphs.c (image_instantiator_format_create): give pointers a
11802         query geometry method so that the geometry is at least set.
11803
11804         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
11805         initialize layouts if using widgets.
11806
11807 2000-05-03  Andy Piper  <andy@xemacs.org>
11808
11809         * nt.c: remove bogus reference to sysmmsystem.h
11810
11811         * gui-x.c (popup_selection_callback): fix no selection abort.
11812
11813 2000-05-02  Andy Piper  <andy@xemacs.org>
11814
11815         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
11816         (mswindows_widget_instantiate): ditto.
11817
11818         * glyphs-widget.c (initialize_widget_image_instance): initialize
11819         children correctly.
11820         (widget_instantiate): cope with children and items in the same
11821         instance.
11822
11823         * glyphs.c (mark_image_instance): cope with children as a first
11824         class member.
11825         (image_instance_equal): ditto.
11826         (image_instance_hash): ditto.
11827         (image_instance_changed): ditto.
11828
11829 2000-04-30  Andy Piper  <andy@xemacs.org>
11830
11831         * glyphs.c (subwindow_query_geometry): new function. Return some
11832         defaults.
11833         (subwindow_instantiate): don't assign dimensions if none have been
11834         given.
11835         (image_instantiator_format_create): add subwindow_query_geometry.
11836         (print_image_instance): cope with layouts as widgets.
11837
11838 2000-04-29  Andy Piper  <andy@xemacs.org>
11839
11840         * frame.c (delete_frame_internal): call
11841         free_frame_subwindow_instance_cache so that all subwindows are
11842         finalized before their parent.
11843         (mark_frame): remove subwindow_cachels.
11844         (Fmake_frame): remove subwindow_cachel manipulation.
11845         (allocate_frame_core): subwindow_instance_cache is a weak list.
11846         (delete_frame_internal): set subwindow_instance_cache to nil.
11847
11848         * glyphs-msw.c (mswindows_finalize_image_instance): make double
11849         finalization safe.
11850         (mswindows_finalize_image_instance): use the device
11851         not the domain as the domain may have died already.
11852
11853         * glyphs-x.c (x_finalize_image_instance): ditto.
11854         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
11855         HEIGHT.
11856
11857         * redisplay-output.c (redisplay_unmap_subwindows): update for
11858         subwindow instance cache as a weak list.
11859         (redisplay_unmap_subwindows_maybe): ditto.
11860         (redisplay_unmap_subwindows_except_us): ditto.
11861
11862         * glyphs.c (unmap_subwindow): error checking will check the domain
11863         so don't deal with it here. Don't use cachels anymore.
11864         (map_subwindow): ditto.
11865         (update_subwindow_cachel_data): remove old accessor names.
11866         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
11867         (Fresize_subwindow): don't update cachel.
11868         (mark_subwindow_cachels):
11869         (update_subwindow_cachel_data):
11870         (add_subwindow_cachel):
11871         (get_subwindow_cachel_index):
11872         (update_subwindow_cachel):
11873         (reset_subwindow_cachels):
11874         (mark_subwindow_cachels_as_not_updated): deleted.
11875         (cache_subwindow_instance_in_frame_maybe): new function. Add a
11876         subwindow instance to the frame cache.
11877         (find_matching_subwindow): update for subwindow instance cache as
11878         a weak list.
11879         (update_widget_instances): ditto.
11880         (image_instance_type_to_mask):inlined.
11881         (free_frame_subwindow_instance_cache): new function. finalize all
11882         subwindows that are instantiated.
11883
11884         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
11885         of cachel information.
11886         (IMAGE_INSTANCE_DISPLAY_X):
11887         (IMAGE_INSTANCE_DISPLAY_Y):
11888         (IMAGE_INSTANCE_DISPLAY_WIDTH):
11889         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
11890         (XIMAGE_INSTANCE_DISPLAY_X):
11891         (XIMAGE_INSTANCE_DISPLAY_Y):
11892         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
11893         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
11894         remove subwindow_cachel structure and function references.
11895         (image_instance_type_to_mask): inline from glyphs.c
11896
11897         * redisplay.c (redisplay_frame): remove subwindow_cachel
11898         references.
11899
11900         * frame.h (struct frame): remove subwindow_cachels.
11901         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
11902
11903         * frameslots.h: add subwindow_instance_cache.
11904
11905         * window.c (replace_window): check subwindow cache of replacement.
11906         (window_unmap_subwindows_cache_mapper):
11907         (window_unmap_subwindows): new functions. Unmap all subwindows
11908         cached on this window.
11909         (mark_window_as_deleted): unmap all subwindows.
11910
11911 2000-04-27  Andy Piper  <andy@xemacs.org>
11912
11913         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
11914
11915         * glyphs-widget.c (widget_layout): return something.
11916         (layout_layout): return something. Fail if not initialized.
11917         (layout_query_geometry): ditto.
11918         (image_instantiator_native_layout): new function. Initialized the
11919         native layout type.
11920         (widget_instantiate): don't do layout stuff here.
11921
11922         * glyphs.c (instantiate_image_instantiator): reorded calling or
11923         instantiate and post_instantiate with layout in between.
11924         (image_instance_layout): be more selective about deciding whether
11925         the layout has been done or not.
11926
11927         * glyphs.h (struct image_instantiator_methods): return a value
11928         from layout_method.
11929
11930 2000-04-26  Andy Piper  <andy@xemacs.org>
11931
11932         * glyphs.c (allocate_image_instance): make initial width and
11933         height unspecified. Set initialized to 0.
11934
11935         * syscommctrl.h new file. Encapsulates commctrl.h.
11936
11937         * syswindows.h new file. Encapsulates windows.h.
11938
11939         * ntplay.c: use new syswindows.h and syscommctrl.h header.
11940         * nt.c: ditto.
11941         * console-msw.h: ditto.
11942
11943         * redisplay-tty.c (tty_output_display_block): remove layout references.
11944
11945         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
11946         window handle rather than just the frame.
11947
11948         * glyphs.c (mark_image_instance): remove layout references.
11949         (print_image_instance): ditto.
11950         (image_instance_equal): ditto.
11951         (image_instance_hash): ditto.
11952         (decode_image_instance_type): ditto.
11953         (encode_image_instance_type): ditto.
11954         (image_instantiate): ditto.
11955         (allocate_glyph): ditto.
11956         (Fimage_instance_height): ditto.
11957         (Fimage_instance_width): ditto.
11958         (update_subwindow): ditto.
11959
11960         * redisplay-x.c (x_output_display_block): recode for layouts as
11961         widgets.
11962
11963         * redisplay-output.c (redisplay_output_layout): recode for layouts
11964         as widgets.
11965         (compare_runes): remove layout references.
11966
11967         * redisplay-msw.c (mswindows_output_display_block): recode for
11968         layouts as widgets.
11969
11970         * glyphs-widget.c (image_instantiator_layout): remove
11971         layout_possible_dest_types.
11972         (layout_possible_dest_types): deleted.
11973
11974         * glyphs.h (image_instance_type): remove layout references.
11975         (struct Lisp_Image_Instance): ditto. Add initialized flag.
11976         (IMAGE_INSTANCE_INITIALIZED): new accessor.
11977         (XIMAGE_INSTANCE_INITIALIZED): ditto.
11978
11979 2000-04-25  Andy Piper  <andy@xemacs.org>
11980
11981         * glyphs-widget.c (image_instantiator_buttons):
11982         (image_instantiator_edit_fields):
11983         (image_instantiator_combo_box):
11984         (image_instantiator_scrollbar):
11985         (image_instantiator_progress_guage):
11986         (image_instantiator_tree_view):
11987         (image_instantiator_tab_control):
11988         (image_instantiator_labels):
11989         (image_instantiator_layout): call default post_instantiate method.
11990         (widget_post_instantiate): new function. Simply lays out the
11991         widgets.
11992
11993         * glyphs.h (struct image_instantiator_methods): add
11994         post_instantiate method.
11995
11996         * glyphs.c (instantiate_image_instantiator): add post_instantiate
11997         method calls.
11998
11999 2000-04-23  Andy Piper  <andy@xemacs.org>
12000
12001         * glyphs.h (struct image_instantiator_methods): add
12002         decode_domain_method.
12003         (struct Lisp_Image_Instance): remove subwindow frame - it can be
12004         derived from the domain.
12005         (IMAGE_INSTANCE_FRAME): new accessor.
12006         (XIMAGE_INSTANCE_FRAME): ditto.
12007
12008         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
12009         instead of _SUBWINDOW_FRAME.
12010         (finalize_image_instance): ditto.
12011         (Fimage_instance_foreground): ditto.
12012         (Fimage_instance_background): ditto.
12013         (image_instantiate): ditto.
12014         (update_subwindow_cachel): ditto.
12015         (update_subwindow): ditto.
12016         (unmap_subwindow): ditto.
12017         (map_subwindow): ditto
12018         (subwindow_instantiate): ditto.
12019         * glyphs-msw.c (mswindows_update_widget): ditto.
12020         (mswindows_progress_gauge_instantiate): ditto.
12021         (mswindows_tab_control_update): ditto.
12022         * glyphs-x.c (x_update_widget): ditto.
12023         (x_widget_instantiate): ditto.
12024         (x_tab_control_instantiate): ditto.
12025         (x_tab_control_update): ditto.
12026         * event-msw.c (mswindows_wnd_proc): ditto
12027
12028         * glyphs-widget.c (image_instantiator_layout): use
12029         subwindow_decode_domain.
12030         (image_instantiator_buttons): ditto.
12031         (image_instantiator_edit_fields): ditto.
12032         (image_instantiator_combo_box): ditto.
12033         (image_instantiator_scrollbar): ditto.
12034         (image_instantiator_progress_guage): ditto.
12035         (image_instantiator_tree_view): ditto.
12036         (image_instantiator_tab_control): ditto.
12037         (image_instantiator_labels): ditto.
12038         (image_instantiator_layout): ditto.
12039
12040         * glyphs.c: add instance error checking to many functions.
12041         (instantiate_image_instantiator): decode device from cache_domain.
12042         (image_instantiate): partially rewrite by using
12043         decode_image_instantiator_domain to determine what domain the
12044         instance needs to be cached in.
12045         (decode_image_instantiator_domain): new function. Determine what
12046         domain the image needs to be cached in.
12047         (check_window_subwindow_cache): new error checking function.
12048         (check_instance_cache_mapper): ditto.
12049         (check_image_instance_structure): ditto.
12050         (subwindow_decode_domain): new function. Encodes a window as a
12051         subwindow's cache domain.
12052         (image_instantiator_format_create): use it for text and
12053         subwindows.
12054
12055 2000-04-21  Andy Piper  <andy@xemacs.org>
12056
12057         * glyphs.c (image_instance_device): new function.
12058         (image_instance_frame): new function.
12059         (image_instance_window): new function.
12060         (image_instance_live_p): new function.
12061
12062         * window.c (mark_window_as_deleted): reset the subwindow_instance_
12063         cache to nil.
12064
12065         * glyphs.h (struct Lisp_Image_Instance): device->domain.
12066         (IMAGE_INSTANCE_DOMAIN): new accessor.
12067         (XIMAGE_INSTANCE_DOMAIN): ditto.
12068
12069         * glyphs-x.c (x_finalize_image_instance): device->domain.
12070
12071         * glyphs-msw.c (init_image_instance_geometry): device->domain.
12072         (mswindows_finalize_image_instance): ditto.
12073
12074         * glyphs-eimage.c (jpeg_instantiate): device->domain.
12075         (gif_instantiate): ditto.
12076         (png_instantiate): ditto.
12077         (tiff_instantiate): ditto.
12078
12079         * glyphs.c (instantiate_image_instantiator): use domain rather
12080         than device.
12081         (mark_image_instance): device -> domain.
12082         (print_image_instance): ditto.
12083         (finalize_image_instance): ditto.
12084         (image_instance_equal): ditto.
12085         (allocate_image_instance): ditto.
12086         (Fcolorize_image_instance): ditto.
12087         (query_string_geometry): ditto.
12088         (image_instantiate): ditto
12089         (query_string_font): ditto.
12090         (image_instantiate): ditto.
12091         (update_subwindow): ditto.
12092         (unmap_subwindow): ditto.
12093         (map_subwindow): ditto.
12094         (subwindow_instantiate): ditto.
12095
12096         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
12097         (DOMAIN_FRAME): ditto.
12098         (DOMAIN_WINDOW): ditto.
12099         (DOMAIN_LIVE_P): ditto.
12100         (XDOMAIN_DEVICE): ditto.
12101         (XDOMAIN_FRAME): ditto.
12102         (XDOMAIN_WINDOW): ditto.
12103
12104         * specifier.c (Fvalid_specifier_domain_p): add image instances as
12105         a valid specifier domain.
12106
12107 2000-04-19  Andy Piper  <andy@xemacs.org>
12108
12109         * glyphs-widget.c (syms_of_glyphs_widget): remove
12110         widget-callback-current-channel.
12111         (vars_of_glyphs_widget): ditto.
12112         * glyphs.h: ditto
12113
12114         * gui.c (get_gui_callback): revert to previous behaviour.
12115
12116 2000-04-18  Andy Piper  <andy@xemacs.org>
12117
12118         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
12119         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
12120         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
12121
12122         * glyphs.c (image_instance_equal): add margin_width.
12123         (image_instance_hash): ditto.
12124
12125         * glyphs-widget.c (widget_instantiate): deal with margin-width.
12126         (layout_query_geometry): ditto.
12127         (layout_layout): ditto.
12128         (syms_of_glyphs_widget): add margin-width.
12129         (image_instantiator_layout): allow margin-width.
12130
12131         * glyphs.c (update_widget_instances): make a normal function.
12132         (syms_of_glyphs): remove Qupdate_widget_instances.
12133         * glyphs.h: ditto.
12134
12135         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
12136         so that we don't corrupt ideas about the last event or
12137         command. Remove widget-callback-current-channel fiddling.
12138         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
12139
12140 2000-05-01  Martin Buchholz <martin@xemacs.org>
12141
12142         * XEmacs 21.2.33 is released.
12143
12144 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
12145
12146         * make-src-depend: Allow dots in header file name.
12147
12148 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
12149
12150         * mule-charset.h (struct charset_lookup): Add
12151         next_allocated_1_byte_leading_byte and
12152         next_allocated_2_byte_leading_byte.
12153         * mule-charset.c: Move above two variables so that those values
12154         will be dumped.
12155
12156 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
12157
12158         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
12159         when string length is zero.
12160         (find_charsets_in_emchar_string): Ditto.
12161
12162 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
12163
12164         * lisp.h: extern Qdialog and Qmenubar.
12165
12166         * gui-x.c: added events.h.
12167                 also fixed typo which made the file uncompilable.
12168
12169         * general.c: Added Qmenubar and Qdialog
12170
12171 2000-04-28  Ben Wing  <ben@xemacs.org>
12172
12173         * frame-msw.c (mswindows_init_frame_1):
12174         * frame-msw.c (mswindows_mark_frame):
12175         * event-msw.c (mswindows_enqueue_dispatch_event):
12176         * console-msw.h:
12177         * console-msw.h (struct mswindows_frame):
12178         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
12179         there are now three hash tables for callbacks.
12180         mswindows_enqueue_dispatch_event is no longer static.
12181
12182         * dialog-x.c (maybe_run_dbox_text_callback):
12183         * dialog-x.c (dbox_descriptor_to_widget_value):
12184         switch to new cons3 form for callbacks.
12185
12186         * glyphs-msw.c (mswindows_register_gui_item):
12187         * glyphs-msw.c (mswindows_widget_instantiate):
12188         * glyphs-msw.c (add_tree_item):
12189         * glyphs-msw.c (add_tab_item):
12190         new image instance parameter, so it can be passed to callback-ex.
12191         respect :callback-ex as well as :callback.
12192
12193         * glyphs-widget.c (VALID_GUI_KEYWORDS):
12194         add :callback-ex.
12195
12196         * glyphs.c (print_image_instance):
12197         prettify, e.g. now prints widget type.
12198
12199         * gui-x.h:
12200         certain funs have new image instance parameter.
12201
12202         * gui.c:
12203         * gui.c (get_gui_callback):
12204         * gui.c (gui_item_add_keyval_pair):
12205         * gui.c (gui_item_init):
12206         * gui.c (gui_add_item_keywords_to_plist):
12207         * gui.c (mark_gui_item):
12208         * gui.c (gui_item_hash):
12209         * gui.c (gui_item_equal):
12210         * gui.c (copy_gui_item):
12211         * gui.c (syms_of_gui):
12212         recognize callback-ex in a number of places.
12213         also, fix the annoying "can't get out of yes-no dialog" bug.
12214
12215         * gui.h:
12216         * gui.h (struct Lisp_Gui_Item):
12217         recognize callback-ex in a number of places.
12218
12219         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12220         new parameter in button_item_to_widget_value.
12221
12222         * glyphs-x.c (x_update_widget):
12223         * glyphs-x.c (x_button_instantiate):
12224         * glyphs-x.c (x_button_update):
12225         * glyphs-x.c (x_progress_gauge_instantiate):
12226         * glyphs-x.c (x_edit_field_instantiate):
12227         * glyphs-x.c (x_combo_box_instantiate):
12228         * glyphs-x.c (x_tab_control_instantiate):
12229         * glyphs-x.c (x_label_instantiate):
12230         new image instance parameter in various places.
12231
12232         * event-Xt.c:
12233         * event-Xt.c (enqueue_Xt_dispatch_event):
12234         this fun gets exported.
12235
12236         * gui-msw.c:
12237         * gui-msw.c (mswindows_handle_gui_wm_command):
12238         handle both :callback and :callback-ex, and generate our own
12239         event because it's one of the callback-ex arguments.
12240
12241         * gui-x.c:
12242         * gui-x.c (popup_selection_callback):
12243         handle both :callback and :callback-ex, and generate our own
12244         event because it's one of the callback-ex arguments.
12245         * gui-x.c (button_item_to_widget_value):
12246         * gui-x.c (gui_items_to_widget_values_1):
12247         * gui-x.c (gui_item_children_to_widget_values):
12248         * gui-x.c (gui_items_to_widget_values):
12249         new image instance parameter in various places.
12250
12251         * fns.c (Freplace_list):
12252         fix small typo in doc string.
12253
12254         * lisp.h:
12255         declare enqueue_Xt_dispatch_event.
12256
12257 2000-04-28  Ben Wing  <ben@xemacs.org>
12258
12259         * buffer.c:
12260         * buffer.c (Frecord_buffer):
12261         * buffer.c (syms_of_buffer):
12262         delete record-buffer-hook.
12263
12264         * fns.c:
12265         * fns.c (Freplace_list):
12266         * fns.c (syms_of_fns):
12267         new primitive replace-list.
12268
12269         * frameslots.h:
12270         slot for old buffer-alist.
12271
12272         * lisp.h:
12273         exfun replace-list.
12274
12275         * redisplay.c:
12276         * redisplay.c (redisplay_frame):
12277         * redisplay.c (syms_of_redisplay):
12278         * redisplay.c (vars_of_redisplay):
12279         new hook buffer-list-changed-hook.
12280         call it.
12281
12282 2000-04-27  Ben Wing  <ben@xemacs.org>
12283
12284         * extents.h: extern in_modeline_generation.
12285
12286         * redisplay.c (generate_formatted_string_db): set
12287         in_modeline_generation.
12288
12289         * extents.c (extent_changed_for_redisplay): don't mark redisplay
12290         flags if in modeline generation.  otherwise frame-modified-tick
12291         is ticked far too often.
12292         Declare in_modeline_generation.
12293
12294 2000-04-26  Ben Wing  <ben@xemacs.org>
12295
12296         * emacs.c (vars_of_emacs): document quick-build "error-checking"
12297         option.
12298         (vars_of_emacs): add quick-build as an error-checking option.
12299         A bit kludgy, but there doesn't seem much point in creating
12300         a real var for this.
12301
12302         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
12303
12304 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12305
12306         * redisplay.h (struct display_line): Add a new variable,
12307         line_continuation.
12308
12309         * redisplay.c (create_text_block): Set dl->line_continuation if
12310         the line continues.
12311         (create_string_text_block): Ditto.
12312         (regenerate_window_incrementally): Use line_continuation instead
12313         of searching continuation glyph.
12314         (add_margin_runes): Call add_glyph_rune.
12315         (add_glyph_rune): Handle margin glyph.
12316
12317 2000-04-20  Martin Buchholz  <martin@xemacs.org>
12318
12319         * filelock.c (fill_in_lock_file_name):
12320         ANSIfy.
12321         Check for IS_ANY_SEP instead of '/'.
12322         (lock_file_1):
12323         Avoid generating gratuitous garbage.  Call user_login_name() directly.
12324         Never check errno without first seeing that system call failed.
12325         (unlock_file): Add GCPRO.
12326         (Flock_buffer): Fix docstring.
12327         (Ffile_locked_p): Fix docstring.  Add GCPRO.
12328
12329 2000-04-19  Martin Buchholz  <martin@xemacs.org>
12330
12331         * sysdep.c (get_pty_max_bytes):
12332         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
12333         strings longer than 252 bytes.
12334
12335         * md5.c: Unconditionally include ANSI header <limits.h>
12336
12337         * glyphs-x.c (convert_EImage_to_XImage):
12338         * lisp-union.h (union Lisp_Object):
12339         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
12340
12341 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
12342
12343         * filelock.c (current_lock_owner): Remove unused variable o, p.
12344
12345 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
12346
12347         * callint.c: Remove multiply defined symbol Qlet
12348         (syms_of_callint): ditto.
12349
12350 2000-04-14  Andy Piper  <andy@xemacs.org>
12351
12352         * general.c (syms_of_general): add last-command, this-command, let
12353         and funcall.
12354
12355         * lisp.h: declare various symbols.
12356
12357         * glyphs.h: declare Qwidget_callback_current_channel;
12358
12359         * glyphs-widget.c (syms_of_glyphs_widget): add
12360         Qgui_callback_current_channel.
12361         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
12362
12363         * gui-msw.c (mswindows_handle_gui_wm_command): bind
12364         widget-callback-current-channel when invoking the interactive
12365         arg. Also bind last-command and next-command when invoking the
12366         widget updates.
12367         * gui-x.c (popup_selection_callback): ditto.
12368
12369         * gui.c (get_gui_callback): massage args so that we are always
12370         calling eval. This allows us to add our own variable bindings
12371         outside.
12372
12373         * glyphs-x.c (x_button_instantiate): use
12374         gui_items_to_widget_values since this is GC safe.
12375         (x_progress_gauge_instantiate): ditto.
12376         (x_edit_field_instantiate): ditto.
12377         (x_label_instantiate): ditto.
12378
12379         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
12380         (emacs_Xt_event_widget_focus_out): new function
12381         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
12382         focus.
12383         (emacs_Xt_event_add_widget_actions): new function. add focus
12384         functions as actions.
12385         (init_event_Xt_late): use it.
12386
12387 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
12388
12389         * event-stream.c (Fdispatch_event): Doc fix.
12390
12391 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
12392
12393         * postgresql.c: Remove all references to PQsetenv*.
12394
12395         * postgresql.h: Remove references to PGsetenvHandler object.
12396         * lrecord.h (lrecord_type): Ditto.
12397
12398 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12399
12400         * glyphs-msw.h (struct mswindows_image_instance_data): Added
12401         real_heigh and real_width members, and accessor macros for these.
12402
12403         * glyphs-msw.c (init_image_instance_geometry): New function.
12404         (init_image_instance_from_dibitmap): Use it.
12405         (mswindows_resource_instantiate): Use it.
12406         (init_image_instance_from_xbm_inline): Use it.
12407         (mswindows_initialize_image_instance_mask): Use real bitmap
12408         geometry.
12409         (mswindows_create_resized_bitmap): Ditto.
12410         (mswindows_create_resized_mask): Ditto.
12411
12412         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
12413         and bitmap to their surface size.
12414
12415 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
12416
12417         * process-unix.c (unix_send_process): Guard against process MIA
12418         after Faccept_process_output.
12419
12420 2000-04-11  Ben Wing  <ben@xemacs.org>
12421
12422         * eval.c (unbind_to_hairy): fix brokenness introduced by
12423         nanosecond speed improvements.
12424
12425 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
12426
12427         * sunplay.c (init_device): To play sounds correctly, the device
12428         apparently needs to be initialized at least once by XEmacs.  Make
12429         it so.
12430
12431 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12432
12433         * redisplay.c (add_margin_runes): Add text image glyph
12434           handling.
12435
12436 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
12437
12438         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
12439         gcc is newer than 2.5.
12440
12441 2000-04-06  Colin Rafferty  <colin@xemacs.org>
12442
12443         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
12444
12445         * fns.c (size_bit_vector):
12446         * alloc.c (size_vector):
12447         (make_vector_internal):
12448         (make_bit_vector_internal):
12449         (sweep_bit_vectors_1):
12450         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
12451
12452 2000-04-06  Andy Piper  <andy@xemacs.org>
12453
12454         * gmalloc.c (malloc): undo previous change.
12455         (malloc): ditto.
12456         (free): ditto.
12457         (realloc): ditto.
12458
12459 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
12460
12461         * line-number.c (buffer_line_number): Revert to former version.
12462
12463 2000-04-06  Andy Piper  <andy@xemacs.org>
12464
12465         * gmalloc.c (malloc): add error checking.
12466         (malloc): ditto.
12467         (free): ditto.
12468         (realloc): ditto.
12469
12470         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
12471         button_item_to_widget_value arg.
12472
12473         * glyphs-x.c (x_button_instantiate): add extra
12474         button_item_to_widget_value arg.
12475         (x_progress_gauge_instantiate): ditto.
12476         (x_edit_field_instantiate): ditto.
12477         (x_label_instantiate): ditto.
12478
12479         * gui-x.c (gui_items_to_widget_values_1): add extra
12480         button_item_to_widget_value arg.
12481         (button_item_to_widget_value): add extra menu_item_p arg.
12482
12483         * gui-x.h: change signature of button_item_to_widget_value.
12484
12485         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
12486         button_item_to_widget_value arg.
12487
12488 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
12489
12490         * buffer.h (struct buffer): auto_save_modified should be long.
12491
12492 2000-04-05  Andy Piper  <andy@xemacs.org>
12493
12494         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
12495         type.
12496         (button_query_geometry): give a little more room so that athena
12497         buttons fit.
12498
12499 2000-04-05  Andy Piper  <andy@xemacs.org>
12500
12501         * faces.c (complex_vars_of_faces): The widget face should inherit
12502         the font of the gui-element face.
12503
12504 2000-04-04  Andy Piper  <andy@xemacs.org>
12505
12506         * glyphs-x.c (x_button_update): new function. unconditionally
12507         update a button's state when the instance is dirty.
12508         (image_instantiator_format_create_glyphs_x): add x_button_update.
12509         (x_widget_instantiate): remove old resize cruft.
12510
12511 2000-04-02  Andy Piper  <andy@xemacs.org>
12512
12513         * frame.c (change_frame_size_1): The introduction of gutters means
12514         that we need to allow 0 as a potential frame dimension.
12515
12516 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12517
12518         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
12519         image glyph if allow_cursor.
12520         (add_hscroll_rune): Don't allow cursor to border glyph.
12521         (create_text_block): Ditto.
12522
12523         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
12524         text not in buffer.
12525         (redisplay_output_layout): Call ensure_face_cachel_complete for
12526         text image glyph.
12527
12528
12529 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12530
12531         * redisplay.c (add_glyph_rune): Adding text image as text runes.
12532
12533         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
12534         not in buffer
12535
12536         * redisplay-tty.c (tty_output_display_block): Delete the routine
12537         for text image glyph
12538         * redisplay-x.c (x_output_display_block): ditto
12539         * redisplay-msw.c (mswindows_output_display_block): ditto
12540
12541 2000-02-02  Mike Alexander  <mta@arbortext.com>
12542
12543         Note: Some of these were committed by accident as part of other
12544         patches.
12545
12546         * regex.c (regex_compile): Avoid compiler warnings.
12547
12548         * ntproc.c (sys_spawnve): Avoid compiler warnings.
12549
12550         * nt.h: Declare term_ntproc correctly.
12551
12552         * nt.c: Remove incorrect declaration of get_home_directory which
12553         is declared correctly in lisp.h.
12554
12555         * keymap.c (get_keyelt): Avoid compiler warnings.
12556         (raw_lookup_key_mapper): Avoid compiler warnings.
12557
12558         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
12559
12560         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
12561
12562         * filemode.c (mode_string): Avoid compiler warnings.
12563
12564         * file-coding.c (Fcoding_system_aliasee): Add return statement to
12565         avoid warning.
12566
12567         * events-mod.h: Undef some things that winuser.h defines differently.
12568
12569         * data.c (Faset): Avoid compiler warnings.
12570
12571         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
12572
12573 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
12574
12575         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
12576         Fall through to simple beep on error.
12577         Replace "extern" by real header file.
12578
12579         * linuxplay.c: Use nativesound.h
12580         (play_sound_data): Return error code. Be less verbose on error.
12581
12582         * sunplay.c: Use nativesound.h
12583         (play_sound_data): Return error code. Be less verbose on error.
12584
12585         * ntplay.c: Use nativesound.h
12586         (play_sound_data): Return fake error code
12587
12588         * sgiplay.c: Use nativesound.h
12589         (play_sound_data): Return error code
12590
12591         * hpplay.c: Use nativesound.h, partially implement
12592         new error code. Break compilation until finished.
12593         (play_sound_data): error code.
12594
12595         * nativesound.h (play_sound_file):
12596           (play_sound_data): Prototype in new header.
12597
12598 2000-03-31  Andy Piper  <andy@xemacs.org>
12599
12600         * glyphs-widget.c: (button_query_geometry): new function. Adjust
12601         for toggle and radio buttons.
12602         (image_instantiator_buttons): use it.
12603
12604 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
12605
12606         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
12607         (x_update_horizontal_scrollbar_callback): Return if no mirror was
12608         found. Scrollbar event probably belonged to some old config.
12609
12610 2000-03-31  Andy Piper  <andy@xemacs.org>
12611
12612         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
12613         than 1.
12614         (initialize_widget_image_instance): default layout to
12615         LAYOUT_HORIZONTAL rather than 0.
12616         (widget_instantiate): reverse the item list at the end rather than
12617         every iteration.
12618         (layout_layout): re-code for the border text at the front of the
12619         item list rather than at the end.
12620         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
12621         provided by the user.
12622         (widget_query_geometry): comment.
12623
12624 2000-03-30  Andy Piper  <andy@xemacs.org>
12625
12626         * glyphs-widget.c (image_instantiator_layout): allow standard
12627         widget keywords in layouts.
12628
12629         * gutter.c (output_gutter): cope with nil gutter contents.
12630
12631         * frame.c (Fset_frame_properties): add gutter docs.
12632
12633 2000-03-29  Andy Piper  <andy@xemacs.org>
12634
12635         * toolbar-msw.c (TBSTYLE_FLAT): add.
12636         (mswindows_output_toolbar): minor fiddling.
12637
12638 2000-03-29  Andy Piper  <andy@xemacs.org>
12639
12640         * gutter.c (output_gutter): force gutter size recalculation if
12641         what we are trying to display won't fit.
12642         (update_gutter_geometry): new function. A per-gutter version of
12643         update_frame_gutter_geometry.
12644         (update_frame_gutter_geometry): use it.
12645         (redraw_exposed_gutter): add extra debugging output.
12646
12647 2000-03-28  Mike Alexander  <mta@arbortext.com>
12648
12649         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
12650         (pdump_file_unmap): Implement it on Windows
12651         (pdump_file_get): Save alocated handles for pdump_file_unmap
12652
12653 2000-03-28  Andy Piper  <andy@xemacs.org>
12654
12655         * gui.c (get_gui_callback): treat Quit specially.
12656
12657 2000-03-27  Andy Piper  <andy@xemacs.org>
12658
12659         * glyphs.c (image_instantiate): be careful to check in the same
12660         way we assigned.
12661
12662 2000-03-27  Didier Verna  <didier@xemacs.org>
12663
12664         * config.h.in: define the proper SMART_INCLUDE macro.
12665         handle renaming of `foo_h_path' to `foo_h_file'.
12666
12667         * database.c: ditto.
12668
12669         * emacs.c: ditto.
12670
12671         * linuxplay.c: ditto.
12672
12673         * terminfo.c: ditto.
12674
12675         * tooltalk.h: ditto.
12676
12677 2000-03-27  Andy Piper  <andy@xemacs.org>
12678
12679         * glyphs-msw.c (mswindows_update_widget): make sure the widget
12680         gets updated whenever the face might have changed.
12681
12682 2000-03-26  Mike Alexander  <mta@arbortext.com>
12683
12684         * dumper.c (pdump_resource_free): Fix the comment.
12685
12686 2000-03-21  Olivier Galibert  <galibert@pobox.com>
12687
12688         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
12689
12690 2000-03-22  Mike Alexander  <mta@arbortext.com>
12691
12692         * dumper.c: Include Windows headers on Windows
12693         (pdump_resource_free): Add a body to the function
12694         (pdump_load): exe_name -> exe_path and add some comments.
12695
12696 2000-03-25  Mike Alexander  <mta@arbortext.com>
12697
12698         * gui.c (copy_gui_item_tree): Return a value in all cases
12699
12700 2000-03-21  Didier Verna  <didier@xemacs.org>
12701
12702         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
12703         lwlib/config.h.in.
12704         (SMART_INCLUDE): new macro.
12705         (POSTGRES_INCLUDE): new macro to include postgresql headers from
12706         the proper location.
12707
12708         * postgresql.c: use it.
12709
12710         * inline.c: ditto.
12711
12712 2000-03-24  Andy Piper  <andy@xemacs.org>
12713
12714         * gutter.c (redraw_exposed_gutters): must be "in display" when we
12715         do this.
12716
12717 2000-03-24  Andy Piper  <andy@xemacs.org>
12718
12719         * redisplay-output.c (compare_runes): use image_instance_changed
12720         to detect changes. Do not depend on glyphs_changed, only depend on
12721         dirtiness.
12722          (redisplay_output_layout): add debug messages.
12723         (compare_runes): ditto.
12724
12725         * glyphs.h: declare new functions.
12726         (struct Lisp_Image_Instance): remove percent and associated
12727         accessors.
12728
12729         * gui.h: declare new copying functions.
12730
12731         * gui.c (copy_gui_item_tree): new function.
12732         (copy_gui_item): new function.
12733         (gui_item_id_hash): revert to standard hash.
12734         (gui_item_hash): ditto.
12735         (gui_item_hash_internal): deleted.
12736         (mark_gui_item): mark value.
12737         (gui_item_add_keyval_pair): add value.
12738         (gui_item_init): ditto.
12739         (gui_add_item_keywords_to_plist): ditto.
12740         (gui_item_equal): ditto.
12741         (syms_of_gui): add Q_value.
12742
12743         * glyphs-x.c (x_progress_gauge_update): use pending items and
12744         value for setting the state.
12745         (x_update_widget): don't set items from pending here.
12746
12747         * glyphs-widget.c (update_widget): update items here.
12748         (progress_gauge_set_property): use items for storing value. Put
12749         new value in pending items.
12750
12751         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
12752         items for new value. Convert percent -> value.
12753         (mswindows_tab_control_update): don't update items here.
12754
12755         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
12756         (update_subwindow): ditto.
12757         (image_instance_changed): new function. Compare hash values and
12758         past and present widget items.
12759         (image_instantiate): We more careful about where we instantiate
12760         things.
12761         (image_instantiate): add error checking.
12762
12763         * gutter.c (syms_of_gutter): use -hook.
12764
12765 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
12766
12767         * console-tty.c (Fset_console_tty_input_coding_system): Use
12768         Qkeyboard.
12769         (Fset_console_tty_output_coding_system): Use Qterminal.
12770         (tty_init_console): Use Qkeyboard and Qterminal.
12771
12772 2000-03-21  Ben Wing  <ben@xemacs.org>
12773
12774         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
12775         From Mike Alexander <mta@arbortext.com>.
12776
12777 2000-03-21  Ben Wing  <ben@xemacs.org>
12778
12779         * event-msw.c (mswindows_need_event): Horrible kludge to fix
12780         process brokenness.  Proper implementation to come.
12781         * callproc.c:
12782         Rename call-process-internal to old-call-process-internal.
12783         New impl. in process.el.
12784
12785 2000-03-21  Martin Buchholz  <martin@xemacs.org>
12786
12787         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
12788
12789 2000-03-20  Andy Piper  <andy@xemacs.org>
12790
12791         * glyphs.c (full_list_hash): make hashes of the same elements in
12792         different orders return different values.
12793
12794 2000-03-20  Martin Buchholz <martin@xemacs.org>
12795
12796         * XEmacs 21.2.32 is released.
12797
12798 2000-03-20  Martin Buchholz  <martin@xemacs.org>
12799
12800         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
12801         (DFC_MALLOC_USE_CONVERTED_DATA):
12802         Add aliasing-safe casts to allow use with char* or unsigned char*
12803         lvalues.
12804
12805         * eldap.c (Fldap_open):
12806         (Fldap_search_basic):
12807         (Fldap_add):
12808         (Fldap_modify):
12809         Make C++-compilable.
12810         Make sure GCPRO'ed variables are initialized.
12811         Use temp variables to avoid repeated calls to Flength.
12812
12813 2000-03-16  Martin Buchholz  <martin@xemacs.org>
12814
12815         * sysfile.h:
12816         Make sure PATH_MAX is always defined.
12817         Include limits.h for PATH_MAX.
12818         Deprecate use of MAXPATHLEN.
12819
12820 2000-03-10  Martin Buchholz  <martin@xemacs.org>
12821
12822         * emacs.c: Add reinit_vars_of_fileio.
12823         * symsinit.h: Add reinit_vars_of_fileio.
12824         * fileio.c (reinit_vars_of_fileio): New.
12825         * fileio.c (Fmake_temp_name):
12826         Initialize temp_name random number from microseconds to make
12827         collisions even less likely.  Initialize always at process startup
12828         time.  (make-temp-name) used to return the same file name twice in
12829         a row when PDUMP.
12830         Random stylistic fiddling.
12831         Comment fixes.
12832
12833 2000-03-20  Andy Piper  <andy@xemacs.org>
12834
12835         * glyphs.c (image_instantiate): allow text glyphs to be
12836         instantiated in the minibuffer window.
12837
12838 2000-03-19  Andy Piper  <andy@xemacs.org>
12839
12840         * glyphs.c (image_instance_hash): be careful about which items we
12841         hash on.
12842
12843         * glyphs-widget.c (tab_control_set_property): record into pending
12844         items rather than the actual items.
12845
12846         * glyphs-x.c (x_update_widget): use pending items to update with.
12847
12848         * glyphs-msw.c (mswindows_tab_control_update): use pending items
12849         to update with.
12850
12851         * glyphs.c (mark_image_instance): mark pending items.
12852
12853         * window.c (Fset_window_configuration): record the buffer.
12854         (Fselect_window): totally revert previous change which breaks many
12855         things.
12856
12857 2000-03-18  Andy Piper  <andy@xemacs.org>
12858
12859         * glyphs-msw.c (mswindows_tab_control_update): force selected
12860         item.
12861
12862         * glyphs.c (image_instantiate): don't allow the minibuffer as a
12863         window domain cache, otherwise we get inconsistencies at
12864         startup. There is something fishy at startup which can lead to the
12865         minibuffer being the selected window when the gutter content is
12866         instantiated.
12867
12868         * gui.c (parse_gui_item_tree_list): add probably unnecessary
12869         gcpros.
12870         (parse_gui_item_tree_children): ditto.
12871         (parse_gui_item_tree_item): ditto.
12872
12873         * glyphs.c (Fupdate_widget_instances): return something.
12874
12875 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
12876
12877         * window.c (Fselect_window): Undo 2000-03-17 change.
12878
12879 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
12880
12881         * postgresql.c (Fpq_setenv): Remove this turkey when linking
12882         against v7.0 libraries.  Insta-coredump city until the postgres
12883         folks fix it.
12884
12885 2000-03-17  Andy Piper  <andy@xemacs.org>
12886
12887         * faces.c (complex_vars_of_faces): don't give the widget face an
12888         inherited background pixmap.
12889
12890         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
12891         selected item.
12892
12893         * event-stream.c (Fdispatch_non_command_events): return something.
12894
12895         * gutter.c (output_gutter): use widget face.
12896         (clear_gutter): ditto.
12897
12898         * NEWS: adjust again.
12899
12900         * window.c (Fselect_window): make sure this runs to completion to
12901         avoid oddities with Fset_window_configuration.
12902         (Fcurrent_window_configuration): in general do not save the
12903         minibuffer as the selected window.
12904
12905         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
12906
12907 2000-03-16  Olivier Galibert  <galibert@pobox.com>
12908
12909         * emacs.c (Frunning_temacs_p): Revert previous patch.
12910         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
12911
12912 2000-03-16  Andy Piper  <andy@xemacs.org>
12913
12914         * glyphs-x.c (x_tab_control_update): if no widget values then
12915         return.
12916
12917         * NEWS: update for new features.
12918
12919         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
12920         synthetic event to the native system.
12921         (reinit_vars_of_event_Xt): set force_event_pending to
12922         emacs_Xt_force_event_pending.
12923
12924         * events.h (struct event_stream): add force_event_pending.
12925
12926         * specifier.c (recompute_one_cached_specifier_in_window): add
12927         comment.
12928
12929         * redisplay.c (redisplay_frame): don't call
12930         update_frame_subwindows. Reset subwindow cachels when
12931         subwindows_changed, removing this was an optimization too far.
12932
12933         * redisplay-output.c (compare_runes): reorganize so that we catch
12934         glyph changes when we want them. Set optimize_output when this
12935         would help layouts.
12936         (redisplay_output_layout): remove frame_really_changed, use
12937         optimize_output instead.
12938
12939         * redisplay-msw.c (mswindows_output_display_block): reset
12940         optimize_output after outputting a glyph.
12941         * redisplay-x.c (x_output_display_block): ditto.
12942         * redisplay-tty.c (tty_output_display_block): ditto.
12943
12944         * gutter.c: (specifier_vars_of_gutter): use new spec changed
12945         functions.
12946         (gutter_specs_changed): do specific gutter positions.
12947         (top_gutter_specs_changed): new function. Only update the
12948         specified gutter specs.
12949         (bottom_gutter_specs_changed): ditto.
12950         (left_gutter_specs_changed): ditto.
12951         (right_gutter_specs_changed): ditto.
12952
12953         * gui.c (gui_item_hash_internal): new function, does a real hash.
12954         (gui_item_id_hash): use it.
12955         (gui_item_hash): hash the eval'ed gui_item.
12956
12957         * gui-x.c (popup_selection_callback): send an eval event to call
12958         Fupdate_widget_instances.
12959
12960         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
12961         to call Fupdate_widget_instances.
12962
12963         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
12964         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
12965
12966         * glyphs.c: (update_frame_subwindows): deleted.
12967         (Fupdate_widget_instances): new function for updating the dirty
12968         state of widgets that might have changed.
12969         (syms_of_glyphs): add Qupdate_widget_instances.
12970         (full_list_hash): hash a list completely.
12971         (image_instance_hash): use it for items and properties.
12972
12973         * frame-msw.c (mswindows_size_frame_internal): remove unused
12974         variable.
12975
12976         * faces.h (struct face_cachel): fix comment.
12977
12978         * event-stream.c (Fdispatch_non_command_events): new
12979         function. Process non-command events, forcing an event cycle
12980         beforehand.
12981         (syms_of_event_stream): declare.
12982         (event_stream_force_event_pending): new function. Force an event
12983         on the native event queue so that an event cycle will occur next
12984         time we check.
12985
12986         * event-msw.c:
12987         (struct ntpipe_shove_stream):
12988         (mswindows_enqueue_dispatch_event):
12989         (mswindows_dequeue_dispatch_event):
12990         (mswindows_cancel_dispatch_event):
12991         (mswindows_pump_outstanding_events):
12992         (mswindows_drain_windows_queue):
12993         (mswindows_handle_paint):
12994         (mswindows_wnd_proc):
12995         (mswindows_key_to_emacs_keysym):
12996         (get_process_input_waitable):
12997         (emacs_mswindows_delete_stream_pair): re-indent file.
12998         (mswindows_need_event): do not process further fds if the windows
12999         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
13000         fixes the 100% cpu problem.
13001         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
13002
13003 2000-03-15  Olivier Galibert  <galibert@pobox.com>
13004
13005         * alloc.h: New.
13006         * dumper.h: New.
13007         * dumper.c: New.
13008
13009         * emacs.c: Moved dump file searching to dumper.c.
13010         (Frunning_temacs_p): Fixed.
13011
13012         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
13013         last_lrecord_type_index_assigned.
13014
13015 2000-02-20  Olivier Galibert  <galibert@pobox.com>
13016
13017         * symsinit.h: Added reinit parameter to init_console_stream
13018         declaration.
13019
13020         * lisp.h: Added file parameter to pdump_load declaration.
13021
13022         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
13023         support.  Added dump file searching.
13024
13025         * config.h.in: Added EMACS_PROGNAME.
13026
13027         * console-stream.c (init_console_stream): Fix reinitialisation
13028         when running from temacs.
13029
13030         * alloc.c (pdump): Add id support.
13031         (pdump_load): Add file parameter and signature/id support.
13032
13033         * Makefile.in.in: Add full pdump support.
13034
13035 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
13036
13037         * postgresql.c: Update documentation to reflect latest code
13038         status.
13039         (print_result): Show tuple counts in printed representation when
13040         appropriate.
13041         (Fpq_put_nbytes): MULE-ize.
13042         (Fpq_get_line_async): Ditto.
13043
13044 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13045
13046         * postgresql.c (Fpq_lo_import): Fix return value.
13047         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
13048
13049 2000-03-13  Ben Wing  <ben@xemacs.org>
13050
13051         * alloc.c (pdump_load):
13052         Fix compile warning under mswin.
13053
13054 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13055
13056         * postgresql.c: Mule-ization, bug fixes.
13057         Use PG_CODING to encapsulate coding system name changes.
13058         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
13059         (pg-coding-system): Create.
13060
13061         (Fpq_conn_defaults): Mule-ize.
13062         (Fpq_connectdb): Mule-ize & bug fix.
13063         (Fpq_connect_start): Mule-ize.
13064         (Fpq_set_client_encoding): Mule-ize.
13065         (Fpq_finish): Document `DEAD' connection status.
13066         (Fpq_clear): Ditto.
13067         (Fpq_pgconn): Mule-ize.
13068         (Fpq_exec): Mule-ize & bug fix.
13069         (Fpq_send_query): Ditto.
13070         (Fpq_get_result): Ditto.
13071         (Fpq_res_status): Mule-ize.
13072         (Fpq_result_error_message): Mule-ize.
13073         (Fpq_ntuples): fix comments.
13074         (Fpq_fname): Mule-ize.
13075         (Fpq_fnumber): Mule-ize.
13076         (Fpq_ftype): fix comments.
13077         (Fpq_get_value): Mule-ize.
13078         (Fpq_cmd_status): Ditto.
13079         (Fpq_cmd_tuples): Ditto.
13080         (Fpq_oid_value): Ditto.
13081         (Fpq_notifies): Ditto.
13082         (Fpq_lo_import): Ditto.
13083         (Fpq_lo_export): Ditto.
13084         (Fpq_get_line): Ditto.
13085         (Fpq_put_line): Mule-ize and bug fix.
13086         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
13087
13088 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13089
13090         * postgresql.c (vars_of_postgresql): Mule-ize.
13091         (Fpq_conn_defaults): Ditto.
13092
13093 2000-03-12  Ben Wing  <ben@xemacs.org>
13094
13095         * alloc.c (Fmake_byte_code):
13096         * alloc.c (debug_string_purity_print):
13097         * alloc.c (pdump_backtrace):
13098         * alloc.c (pdump_get_indirect_count):
13099         * alloc.c (pdump_register_sub):
13100         * alloc.c (pdump_register_object):
13101         * alloc.c (pdump_register_struct):
13102         * alloc.c (pdump_dump_data):
13103         * alloc.c (pdump_reloc_one):
13104         Minor cleanups.
13105
13106         * console-msw.c:
13107         * console-msw.c (GetConsoleHwnd):
13108         * console-msw.c (msw_hide_console):
13109         * console-msw.c (msw_show_console):
13110         * console-msw.c (msw_ensure_console_buffered):
13111         * console-msw.c (msw_output_console_string):
13112         * console-msw.c (console_type_create_mswindows):
13113
13114         a) Added functions to manipulate the console window for use with
13115         shell support.
13116
13117         b) Added support for writing text to the console, which is now
13118         used under Windows when xemacs is not being run non-interactively,
13119         to write text that would otherwise be destined for stdout because
13120         under these circumstances, text written to stdout tends to
13121         disappear and not be seen.
13122
13123         * console-msw.h:
13124         * event-Xt.c:
13125         * event-Xt.c (x_event_to_emacs_event):
13126         * event-Xt.c (describe_event_window):
13127         * events-mod.h (XEMACS_MOD_CONTROL):
13128         * events.c:
13129         * events.c (Fmake_event):
13130         * events.c (character_to_event):
13131         * events.c (event_to_character):
13132         * events.c (format_event_object):
13133         * events.c (Fevent_modifiers):
13134         * events.h:
13135         * events.h (struct key_data):
13136         * events.h (struct button_data):
13137         * events.h (struct misc_user_data):
13138         * frame-x.c (Fcde_start_drag_internal):
13139         * frame-x.c (Foffix_start_drag_internal):
13140         * gpmevent.c (Freceive_gpm_event):
13141         * keymap.c:
13142         * keymap.c (bucky_sym_to_bucky_bit):
13143         * keymap.c (control_meta_superify):
13144         * keymap.c (make_key_description):
13145         * keymap.c (keymap_lookup_directly):
13146         * keymap.c (create_bucky_submap):
13147         * keymap.c (keymap_store):
13148         * keymap.c (define_key_check_and_coerce_keysym):
13149         * keymap.c (define_key_parser):
13150         * keymap.c (define_key_alternate_name):
13151         * keymap.c (Fdefine_key):
13152         * keymap.c (raw_lookup_key_mapper):
13153         * keymap.c (struct map_keymap_unsorted_closure):
13154         * keymap.c (map_keymap_unsorted_mapper):
13155         * keymap.c (map_keymap_sort_predicate):
13156         * keymap.c (map_keymap_sorted):
13157         * keymap.c (accessible_keymaps_mapper_1):
13158         * keymap.c (where_is_recursive_mapper):
13159         * keymap.c (describe_map_mapper):
13160         * keymap.c (describe_map_sort_predicate):
13161         * keymap.c (describe_map):
13162         * keymap.c (complex_vars_of_keymap):
13163         And a number of other files, the key modifier preprocessor
13164         constants that xemacs uses have names that conflict with constants
13165         defined under MS Windows for other purposes, so they were renamed
13166         to begin with the prefix XEMACS_. The variables that hold such
13167         modifiers were changed to consistently be of type int to fix
13168         various compile warnings.
13169
13170         * console.c (complex_vars_of_console):
13171         * device.c:
13172         * device-msw.c:
13173         * device-msw.c (mswindows_finish_init_device):
13174         * device-msw.c (msw_get_workspace_coords):
13175         * device-msw.c (mswindows_device_system_metrics):
13176         and various other files, added support for a new
13177         device property called offset-workspace which returns the position
13178         of the upper left corner of the workspace area and goes along with
13179         the existing size-workspace property.
13180
13181         * dialog-msw.c:
13182         * dialog-msw.c (push_bufbyte_string_as_unicode):
13183         * dialog-msw.c (mswindows_popup_dialog_box):
13184         Added support for XEmacs-style accelerator specifications in
13185         button text.  Note: I didn't add support for this under X Windows,
13186         and somebody needs to do this.
13187
13188         * dialog.c:
13189         * dialog.c (Fpopup_dialog_box):
13190         Documented the support for accelerators that was just mentioned.
13191
13192         editfns.c (get_home_directory): Changed behavior under Windows
13193         when HOME not defined; former behavior was irretrievably broken.
13194
13195         * emacs.c:
13196         * emacs.c (main_1):
13197         * emacs.c (main):
13198         * minibuf.c (clear_echo_area_internal):
13199         * minibuf.c (echo_area_append):
13200         * print.c:
13201         * print.c (std_handle_out_external):
13202         * print.c (std_handle_out_va):
13203         * print.c (fatal):
13204         * print.c (write_string_to_stdio_stream):
13205         * print.c (output_string):
13206         * print.c (debug_print):
13207         * print.c (debug_backtrace):
13208         * print.c (debug_short_backtrace):
13209         Cleaned up the code that prints text to stdout so that this can be
13210         changed to output into a console window instead under MS Windows,
13211         as described above.
13212
13213         * eval.c:
13214         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
13215         * eval.c (internal_catch):
13216         * eval.c (unwind_to_catch):
13217         * eval.c (throw_or_bomb_out):
13218         * eval.c (condition_case_1):
13219         * eval.c (signal_1):
13220         * eval.c (check_error_state_sanity):
13221         * eval.c (call_with_suspended_errors_1):
13222         * eval.c (call_with_suspended_errors):
13223         * eval.c (reinit_vars_of_eval):
13224         Added code to catch throw loops and check for a pesky bug that may
13225         be gone now.
13226
13227         * event-msw.c:
13228         * event-msw.c (key_needs_default_processing_p):
13229         * event-msw.c (mswindows_wnd_proc):
13230         * event-msw.c (mswindows_modifier_state):
13231         * event-msw.c (emacs_mswindows_quit_p):
13232         * event-msw.c (vars_of_event_mswindows):
13233         a) Added support for using the alt key to select menu items as is
13234         standard under MS Windows.  This is controlled using the variable
13235         menu-accelerator-enabled, just like under X Windows.  There is an
13236         option on the options menu to turn this support on.  I really
13237         think that it should be on by default under Windows, but I'm not
13238         going to make this change yet.
13239
13240         b)  Added support for dynamic display size changes under Windows.
13241
13242         * event-stream.c:
13243         * event-stream.c (maybe_echo_keys):
13244         * event-stream.c (Fnext_event):
13245         * event-stream.c (command_builder_find_leaf):
13246         * event-stream.c (lookup_command_event):
13247         * event-stream.c (execute_command_event):
13248         * event-stream.c (pre_command_hook):
13249         * event-stream.c (post_command_hook):
13250         * event-stream.c (syms_of_event_stream):
13251         * event-stream.c (vars_of_event_stream):
13252         * event-stream.c (complex_vars_of_event_stream):
13253         * events.h (struct command_builder):
13254
13255         a) Tried to clean up a little bit the horribly written x-specific
13256         accelerator code that crept into this file.  I moved this code
13257         into menubar-x.c where it belongs. I also needed to move the
13258         command builder structure into the file events.h because it is
13259         accessed directly by this accelerator code.  What I didn't do, but
13260         which should be done at some point, is to properly abstract this
13261         code using device methods instead of the kludgy way that it
13262         currently hooks into the event code.
13263
13264         b) Added the lisp variables this-command-properties and
13265         last-command- properties, which should be used to synchronize two
13266         adjacent commands in preference to playing games with the variable
13267         this-command, which is typically what happens.
13268
13269         c) Added some slightly nasty code to hook into the lisp support
13270         for shifted- motion-key selection.  This is actually necessary for
13271         somewhat complicated reasons, which are described in
13272         simple.el. (NB: I think the proper thing would be to have the code
13273         that calls the pre and post command hooks also call out to generic
13274         lisp functions in simple.el, where all built-in stuff could be
13275         added.  I will think about this more.)
13276
13277         * event-unixoid.c (poll_fds_for_input):
13278         * lread.c (readchar):
13279         * redisplay-tty.c (tty_clear_frame):
13280         * redisplay-x.c (x_get_gc):
13281         * signal.c (interrupt_signal):
13282         And a whole bunch of other files: fixed up places that printed
13283         directly to stderr to instead call the function stderr_out so that
13284         the changes I made under Windows work correctly.
13285
13286         * filemode.c (mode_string):
13287         Warning fixes.
13288
13289         * frame-msw.c:
13290         * frame-msw.c (mswindows_size_frame_internal):
13291         Fixed the computation of frame size and position to keep the frame
13292         within the workspace area, rather than within the physical
13293         dimensions of the screen, so that the frame doesn't overlap window
13294         manager decorations, such as the start menu and toolbar, typically
13295         at the bottom of the screen.
13296
13297         * frame.c (vars_of_frame):
13298         Changed the default frame title format under MS Windows to consist
13299         of buffername-XEmacs, which is standard under MS Windows.  I think
13300         it might be a good idea to change this everywhere because I think
13301         it is superior to the current frame title format, but this is the
13302         kind of change that is likely to cause some people to get annoyed,
13303         so I'm not making it.
13304
13305         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
13306
13307         * gui-msw.c (mswindows_handle_gui_wm_command):
13308         Fixed compile warnings.
13309
13310         * gui-x.c:
13311         * gui-x.c (strdup_and_add_accel):
13312         * gui-x.c (button_item_to_widget_value):
13313         * gui-x.h:
13314         Added code to automatically put an accelerator onto the beginning
13315         of menu items that don't have one as is now the standard, and is
13316         described more later.  Also fixed things so that the menu item
13317         name can be an evaluated expression, again a new standard.
13318
13319         * gui.c:
13320         * gui.c (gui_item_add_keyval_pair):
13321         * gui.c (make_gui_item_from_keywords_internal):
13322         * gui.c (gui_add_item_keywords_to_plist):
13323         * gui.c (gui_item_accelerator):
13324         * gui.c (gui_name_accelerator):
13325         * gui.c (gui_item_included_p):
13326         * gui.c (gui_item_display_flush_left):
13327         * gui.c (gui_item_display_flush_right):
13328         * gui.c (parse_gui_item_tree_item):
13329         * gui.c (parse_gui_item_tree_children):
13330         * gui.c (parse_gui_item_tree_list):
13331         Mule-ized.  Cleanup.  GCPRO addition.
13332
13333         * line-number.c (buffer_line_number):
13334         * lisp.h:
13335         * lisp.h (EMACS_INT_MAX):
13336         Added the manifest constant EMACS_INT_MIN corresponding to the
13337         existing constant EMACS_INT_MAX.  This is partially to fix compile
13338         warnings under Windows, and partly for cleanliness.
13339
13340         * menubar-msw.c:
13341         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
13342         * menubar-msw.c (msw_translate_menu_or_dialog_item):
13343         * menubar-msw.c (displayable_menu_item):
13344         * menubar-msw.c (populate_menu_add_item):
13345         * menubar-msw.c (populate_or_checksum_helper):
13346         * menubar-msw.c (populate_menu):
13347         * menubar-msw.c (update_frame_menubar_maybe):
13348         * menubar-msw.c (prune_menubar):
13349         * menubar-msw.c (msw_char_is_accelerator):
13350         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
13351         * menubar-msw.c (mswindows_handle_wm_command):
13352         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
13353         * menubar-msw.c (mswindows_handle_wm_initmenu):
13354         * menubar-msw.c (mswindows_update_frame_menubars):
13355         * menubar-msw.c (mswindows_free_frame_menubars):
13356         * menubar-msw.c (mswindows_popup_menu):
13357         Fixed a bug in handling accelerators where an extra character
13358         would be displayed in the menu item.  Also generalized the
13359         function displayable_menu_item because it is now used by the
13360         dialog box code as well.  And finally, added code in the functions
13361         that create the menubar to extract a list of accelerators for the
13362         top level menubar, which is used in the event code to determine
13363         whether a particular alt-key combination should be used to invoke
13364         a menu item, or should be passed through to access the standard
13365         XEmacs keymap binding for this key combination.
13366
13367         Much needed GCPROing.
13368
13369         * menubar-x.c:
13370         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
13371         * menubar-x.c (menu_item_descriptor_to_widget_value):
13372         * menubar-x.c (restore_in_menu_callback):
13373         * menubar-x.c (x_popup_menu):
13374         * menubar-x.c (menu_move_up):
13375         * menubar-x.c (menu_move_down):
13376         * menubar-x.c (menu_move_left):
13377         * menubar-x.c (menu_move_right):
13378         * menubar-x.c (menu_select_item):
13379         * menubar-x.c (command_builder_operate_menu_accelerator):
13380         * menubar-x.c (menu_accelerator_junk_on_error):
13381         * menubar-x.c (command_builder_find_menu_accelerator):
13382         * menubar-x.c (Faccelerate_menu):
13383         * menubar.h:
13384         Moved a whole bunch of code here that was previously in
13385         event-stream.c as described above.  There is also code connected
13386         to the new standard of adding an accelerator to the beginning of
13387         menu items that don't have one as described above and below.
13388
13389         * menubar.c:
13390         * menubar.c (menu_parse_submenu_keywords):
13391         * menubar.c (Fmenu_find_real_submenu):
13392         * menubar.c (Fnormalize_menu_item_name):
13393         * menubar.c (syms_of_menubar):
13394         * menubar.c (vars_of_menubar):
13395         * menubar.c (complex_vars_of_menubar):
13396
13397         a) Cleaned up a bunch of documentation and improved it.
13398
13399         b) XEmacs now automatically adds an accelerator onto the beginning
13400         of any menu items that don't have one.  I did this because there
13401         will inevitably be some menu items on the main menubar that don't
13402         have accelerators on them because the package that adds that
13403         particular menu item hasn't yet been fixed up to have accelerators
13404         in them and it looked rather strange to have some items with and
13405         some items without accelerators, especially since even in items
13406         without accelerators, you can, at least under windows, still
13407         access the item through an accelerator corresponding to the first
13408         character in the item's name.  If people don't like this behavior,
13409         I can add a variable to turn it off optionally, but I'm not sure
13410         this is a good idea because we really do need to have accelerators
13411         on all of the menu items, and if a package doesn't like the
13412         accelerators being put on the first character, then it should put
13413         the accelerators where they belong.
13414
13415         c) I made a behavior change, which is that the descriptor that
13416         specifies the text of the menu item, which formerly was just a
13417         string, can now also be an evaluated expression.  This makes this
13418         descriptor parallel with all of the others, which could also be
13419         evaluated expressions.  This also obviates the need for the
13420         keyword :label, which was previously listed in the documentation
13421         as unimplemented, and which was for the same purpose.
13422
13423         d) GCPROing.
13424
13425         * ntproc.c:
13426         * ntproc.c (new_child):
13427         * ntproc.c (sys_spawnve):
13428         * ntproc.c (find_child_console):
13429         * ntproc.c (sys_kill):
13430         Fixed compile warnings.  By the way, this file should really go
13431         away entirely, and this will happen as soon as Kirill makes his
13432         final round of process cleanups, which affect the function
13433         call-process.
13434
13435         * process-nt.c:
13436         * process-nt.c (struct nt_process_data):
13437         * process-nt.c (find_process_from_pid):
13438         * process-nt.c (send_signal_the_nt_way):
13439         * process-nt.c (enable_child_signals):
13440         * process-nt.c (find_child_console):
13441         * process-nt.c (send_signal_the_95_way):
13442         * process-nt.c (nt_finalize_process_data):
13443         * process-nt.c (ensure_console_window_exists):
13444         * process-nt.c (nt_create_process):
13445         * process-nt.c (nt_kill_child_process):
13446         * process-nt.c (nt_kill_process_by_pid):
13447         * process-nt.c (nt_open_network_stream):
13448         * process-nt.c (vars_of_process_nt):
13449         Copied over code from Emacs 20.5 to correctly send signals to sub-
13450         processes under Windows 95.  Also added code to automatically
13451         create and hide console window when a sub-process is created under
13452         Windows 95, which obviates the need for the separate runemacs.exe
13453         executable, and finally implemented some variables that were
13454         implemented in Emacs 20.5, but previously not in XEmacs.  These
13455         include mswindows- start-process-share-console and
13456         mswindows-start-process-inherit-error-mode. (Both of these only
13457         apply to Windows 95.)
13458
13459         * regex.c (regex_compile): Fixed a compile warning.
13460
13461         * select-msw.c:
13462         * select-msw.c (mswindows_own_selection):
13463         * select-msw.c (mswindows_get_foreign_selection):
13464         * select-msw.c (mswindows_disown_selection):
13465         * select-msw.c (console_type_create_select_mswindows):
13466         * select-msw.c (syms_of_select_mswindows):
13467         Cleaned up the file and implemented the device method
13468         selection_exists_p, which had accidentally been left out.  Also
13469         removed four lisp functions that were remnants from before the
13470         time when the selection code was properly device abstracted.
13471         These functions are no longer needed because there are generic
13472         equivalents, and because they were added recently and don't exist
13473         in FSF Emacs, I don't think there's any problem with just deleting
13474         them.
13475
13476         * sysdep.c:
13477         * sysdep.c (sys_subshell):
13478         Fixed a compile warning, although in this case there's probably
13479         something wrong with this code, and it ought to be looked into
13480         more thoroughly by somebody who understands it.
13481
13482         * window.c:
13483         * window.c (Fwindow_text_area_height):
13484         * window.c (Fwindow_width):
13485         * window.c (Fwindow_full_width):
13486         * window.c (Fwindow_pixel_width):
13487         * window.c (debug_print_window):
13488         * window.c (syms_of_window):
13489         Added functions window-text-area-height and window-full-width,
13490         which are functions for returning various width and height
13491         characteristics of a window. (One of these functions is necessary
13492         for making the file dialog box work correctly, and the other one
13493         was added for completeness.)  Also added a table to the
13494         documentation for window-height which describes the entire scheme
13495         for accessing width and height characteristics of a window.
13496
13497 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13498
13499         * nt.c (fstat): Added a comment for another problem with
13500         non-encapsulated [f]stat(), reported by Adrian Aichner
13501         <aichner@ecf.teradyne.com>.
13502
13503 2000-03-11  Andy Piper  <andy@xemacs.org>
13504
13505         * window.c (make_dummy_parent): initialize subwindow instance
13506         cache.
13507         (Fset_window_configuration): zero extent_modiff.
13508
13509 2000-03-10  Andy Piper  <andy@xemacs.org>
13510
13511         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
13512         more changes can be triggered.
13513         (Fredisplay_frame): ditto.
13514         (Fredraw_device): ditto.
13515         (Fredisplay_device): ditto.
13516         (redisplay_frame): make non-static.
13517         (redisplay_frame): call update_frame_gutter_geometry outside of
13518         display proper.
13519
13520         * gutter.h: declare update_frame_gutter_geometry.
13521
13522         * redisplay.h: declare redisplay_frame.
13523
13524         * gutter.c (update_frame_gutter_geometry): move geometry changes
13525         in update_frame_gutters here. Geometry changes can only occur
13526         outside of redisplay.
13527         (update_frame_gutters): remove geometry change code.
13528         (Fredisplay_gutter_area): make sure that we are in display when we
13529         update and that we have flushed any size changes.
13530
13531 2000-03-11  Andy Piper  <andy@xemacs.org>
13532
13533         * alloc.c (pdump_dump_data): remove i & count shadows.
13534
13535 2000-02-27  Mike Alexander  <mta@arbortext.com>
13536
13537         * sysdep.h: Declare pdump_read_file
13538
13539         * sysdep.c (pdump_read_file): New function
13540
13541         * alloc.c (pdump_load): Call pdump_read_file to get the portable
13542         dump data
13543
13544 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13545
13546         * lrecord.h: add `lrecord_type_pgsetenv'.
13547
13548 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
13549
13550         * symsinit.h: declare (vars|syms)_of* functions.
13551         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
13552
13553 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
13554
13555         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
13556
13557         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
13558         GCCs.
13559
13560         * emacs.c (main_1): Call postgres initialization code.
13561
13562         * postgresql.h: New file.  PostgreSQL RDBMS support.
13563         * postgresql.c: New file.
13564
13565 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
13566
13567         * redisplay-output.c (redisplay_output_display_block): Disable
13568         redundant code.
13569
13570 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13571
13572         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
13573         (Fcanna_henkan_next): Ditto.
13574         (Fcanna_bunsetu_henkou): Ditto.
13575         (Fcanna_henkan_kakutei): Ditto.
13576         (Fcanna_henkan_end): Ditto.
13577         (Fcanna_henkan_quit): Ditto.
13578         (Fcanna_henkan_next): Set retun value correctly.
13579         (c2mu): Use unsigned char instead of signed char.
13580
13581 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13582
13583         * emacs.c (main_1): Always call syms_of_gui.
13584         * inline.c: include gui.h
13585
13586 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13587
13588         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
13589         converted to Lisp_Object.
13590         (Qtop_bottom): New variable.
13591         (syms_of_redisplay): Initialize it.
13592         * redisplay.h (Vvisible_bell): Ditto.
13593         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
13594         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
13595         only flash top and bottom.
13596
13597 2000-03-08  Andy Piper  <andy@xemacs.org>
13598
13599         * buffer.c (Frename_buffer): record new buffer name the right way.
13600
13601 2000-03-08  Andy Piper  <andy@xemacs.org>
13602
13603         * glyphs.c (update_subwindow): increase hash depth so that widget
13604         items get picked up properly.
13605
13606         * redisplay-output.c (compare_runes): increase hash depth so that
13607         widget items get picked up properly.
13608
13609 2000-03-08  Andy Piper  <andy@xemacs.org>
13610
13611         * gutter.c (output_gutter): add some debug.
13612
13613         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
13614         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
13615         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
13616
13617         * redisplay-output.c (compare_runes): use display_hash to
13618         determine if glyphs really are not the same.
13619
13620         * glyphs.c (update_subwindow): check display_hash to see if
13621         anything really needs to be updated. If not then do
13622         nothing. Record the display_hash after updating.
13623         (image_instance_equal): compare the image_instance face also.
13624
13625 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
13626
13627         * redisplay.h: Fix comment style.
13628
13629 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13630
13631         * consle-msw.h (struct mswindows_frame):
13632         Added new member paint_pending to indicate whether a WM_PAINT
13633         magic event has been queued for this frame.
13634
13635         * event-msw.c (mswindows_drain_windows_queue):
13636         Don't queue a WM_PAINT magic event if one is already queued.
13637         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
13638
13639         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
13640
13641 2000-03-07  Didier Verna  <didier@xemacs.org>
13642
13643         * dired.c: #include `regex.h' after `sysfile.h'.
13644
13645 2000-03-06  Martin Buchholz  <martin@xemacs.org>
13646
13647         * sound.c (init_nas_sound): Fix compiler warning.
13648
13649         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
13650         (FREE_STRUCT_P):
13651         (MARK_STRUCT_AS_FREE):
13652         (MARK_STRUCT_AS_NOT_FREE):
13653         Make `gcc -fstrict-aliasing' work properly.
13654
13655 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13656
13657         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
13658         (mswindows_delete_device): Call CoUnnitialize().
13659
13660         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
13661
13662 2000-02-25    <CraigL@DyCon.com>
13663
13664         * process-nt.c: MinGW now has <shellapi.h>, but still needs
13665         <errno.h>.
13666
13667         * sysdep.c: This extern declaration for environ prevents MinGW
13668         from finding the variable in CRTDLL.DLL.
13669
13670         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
13671         windows headers.
13672         (SHGFI_EXETYPE): ..
13673         (WM_MOUSEWHEEL): ..
13674         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
13675         definitions.
13676         (MMRESULT): Removed, now defined in cygwin's windows headers.
13677         (TIMECAPS): ..
13678         (uid_t,gid_t,pid_t,ssize_t): ..
13679         (_timeb): Removed, MinGW defines both _timeb and timeb.
13680         (HAVE_H_ERRNO): Added.
13681         (HAVE_TZNAME): Added, configure is not detecting this.
13682
13683 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
13684
13685         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
13686         * syntax.c (syntax_match): Use it.
13687
13688         * cmds.c: Import auto-fill-chars from FSF Emacs.
13689         (Vauto_fill_chars): New variables.
13690         (internal_self_insert): Check Vauto_fill_chars.
13691         (vars_of_cmds):
13692         Declare auto-fill-chars as a Lisp variable and initialize it.
13693
13694 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13695
13696         * fileio.c (Fmake_symbolic_link):
13697         (Ffile_symlink_p):
13698         Run handlers even if local machine doesn't have symlinks.
13699
13700 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13701
13702         * event-msw.c (mswindows_drain_windows_queue):
13703         Don't generate paint magic events for non-XEmacs frames.
13704
13705 2000-03-05  Andy Piper  <andy@xemacs.org>
13706
13707         * redisplay.c (redisplay_frame): generate_displayable_area and
13708         friends assumes that we are not in GC, we therefore have to make
13709         sure that this doesn't happen.
13710
13711         * gutter.c (calculate_gutter_size): generate_displayable_area
13712         assumes that we are not in GC, we therefore have to make sure that
13713         this doesn't happen.
13714
13715 2000-03-05  Martin Buchholz  <martin@xemacs.org>
13716
13717         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
13718
13719 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13720
13721         * redisplay.c (regenerate_window): Make sure we set a sane value
13722         for end_pos even if we jump out of the loop.
13723         (regenerate_window): Answer Ben's question :-).
13724         (start_end_of_last_line): Add may_error argument.
13725         (start_of_last_line):
13726         (end_of_last_line): Pass may_error = 0.
13727         (end_of_last_line_may_error): New function.
13728         (pixel_to_glyph_translation): Use it, so we don't crash in
13729         event_to_glyph.
13730
13731 2000-03-04  Andy Piper  <andy@xemacs.org>
13732
13733         * window.h (struct window): add gutter_extent_modiff.
13734
13735         * window.c (allocate_window): zero out gutter_extent_modiff.
13736
13737         * redisplay.h: declare sync_display_line_structs.
13738
13739         * redisplay.c (add_glyph_rune): add a better comment.
13740
13741         * redisplay-output.c (sync_display_line_structs): made non-static.
13742         (compare_runes): remove unneccesary glyph cachel access.
13743
13744         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
13745
13746         * gutter.c (output_gutter): don't output the gutter if extent
13747         changes only involve extents in buffers. use 4 sets of display
13748         lines.
13749         (gutter_extent_signal_changed_region_maybe): new function. Mark
13750         extents in gutters as changed.
13751         (update_frame_gutters): use 4 sets of display lines.
13752         (reset_gutter_display_lines): ditto.
13753         (free_frame_gutters): ditto.
13754         (redraw_exposed_gutter): force output of gutters.
13755
13756         * frame.h (struct frame): add 4 sets of gutter display lines.
13757
13758         * extents.c: (extent_changed_for_redisplay): signal changes to
13759         extents in strings in the gutter as well as extents in buffers.
13760
13761 2000-03-02  Andy Piper  <andy@xemacs.org>
13762
13763         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
13764
13765         * frame.c (Fmake_frame): make sure the gutters get initialized
13766         after the frame is visible.
13767         (set_frame_selected_window): re-arrange compilation macros a
13768         little.
13769         (change_frame_size_1): mark gutters changed.
13770
13771         * device.c (Fset_device_class): mark gutters changed.
13772
13773 2000-03-01  Andy Piper  <andy@xemacs.org>
13774
13775         * window.c (window_top_frame_gutter_height): deleted.
13776         (window_bottom_frame_gutter_height): ditto.
13777         (window_left_frame_gutter_height): ditto.
13778         (window_right_frame_gutter_height): ditto.
13779         (window_top_gutter_height): don't use them.
13780         (window_bottom_gutter_height): ditto.
13781         (window_left_gutter_width): ditto.
13782         (window_right_gutter_width): ditto.
13783         (Fsplit_window): ditto.
13784         (Fwindow_pixel_edges): don't use border dimensions here.
13785
13786         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
13787         (update_scrollbar_instance): ditto.
13788
13789         * redisplay.c (generate_modeline): don't take gutters into account.
13790         (generate_modeline): ditto.
13791         (redisplay_frame): small gutter display optimization.
13792
13793         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
13794
13795         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
13796         gutters into account.
13797
13798         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
13799         for window position and type.
13800
13801         * gutter.c (get_gutter_coords): fix for frame gutters.
13802         (update_frame_gutters): update frame geometry if the gutters have
13803         changed.
13804         (init_frame_gutters): record current gutter geometries.
13805
13806         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
13807         var.
13808         (mswindows_widget_instantiate): ditto.
13809
13810         * frame.h (struct frame): add current_gutter_bounds.
13811
13812         * frame.c (change_frame_size_1): position window and minibuffer
13813         appropriately taking into account the frame gutters.
13814
13815         * frame-x.c: (x_initialize_frame_size): take into account the
13816         frame gutters.
13817
13818 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13819
13820         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
13821
13822 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13823
13824         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
13825
13826 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13827
13828         * file-coding.c (reset_decoding_stream): Clear previous
13829         detection state when autodetect.
13830
13831 2000-02-29  Didier Verna  <didier@xemacs.org>
13832
13833         * extents.c (set_extent_glyph_1): don't require extents to be
13834         attached.
13835
13836 2000-02-27  Andy Piper  <andy@xemacs.org>
13837
13838         * gutter.c (Fset_default_gutter_position): don't default left and
13839         right gutter visibility to t.
13840         (Fset_default_gutter_position): run
13841         default-gutter-position-changed-hook.
13842         (syms_of_gutter): add default-gutter-position-changed-hook.
13843
13844 2000-02-26  Andy Piper  <andy@xemacs.org>
13845
13846         * specifier.c (Fmake_specifier): add gutter references.
13847
13848         * gutter.h (RAW_WINDOW_GUTTER): new macro.
13849
13850         * lisp.h: declare Fvalid_plist_p.
13851
13852         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
13853         as changed.
13854         (default_gutter_visible_p_changed_in_window): invalidate gutter as
13855         well as its visibility so that it gets reconstructed.
13856         (construct_window_gutter_spec): new function. Construct a string
13857         to be displayed in the gutter from a plist of strings. Take care
13858         to only use elements that are declared as visible.
13859         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
13860         WINDOW_GUTTER.
13861         (gutter_validate): allow plists of strings in the specifier.
13862         (gutter_specs_changed): construct the real_gutter from the gutter
13863         specs using construct_window_gutter_spec.
13864         (gutter_visible_validate): gutter-visible is a new specifier type.
13865         (Fgutter_visible_specifier_p): new function for the new specifier.
13866         (syms_of_gutter): declare gutter-visible and
13867         Fgutter_visible_specifier_p.
13868         (specifier_type_create_gutter): intitalize new gutter-visible
13869         specifier.
13870         (reinit_specifier_type_create_gutter): ditto.
13871         (specifier_vars_of_gutter): use new specifier type for gutter
13872         visibility.
13873         (init_frame_gutters): construct real_gutter correctly.
13874         (Fgutter_specifier_p): beef up documentation.
13875         (Fgutter_size_specifier_p): ditto.
13876
13877         * winslots.h: add real_gutter slots.
13878
13879 2000-02-25  Andy Piper  <andy@xemacs.org>
13880
13881         * device-msw.c: Be kind to older cygwin versions. From Raymond
13882         Toy <toy@rtp.ericsson.se>.
13883
13884         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
13885         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
13886
13887 2000-02-25  Martin Buchholz  <martin@xemacs.org>
13888
13889         * elhash.c (MARK_OBJ): Practice macro hygiene.
13890
13891 2000-02-24  Martin Buchholz  <martin@xemacs.org>
13892
13893         * miscplay.c: s/__inline__/inline/g;
13894         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
13895         (get_device_compdc): INLINE ==> static inline
13896         * *.[ch]: Change INLINE to INLINE_HEADER globally.
13897         find -name '*.h' | \
13898         xargs global-replace \
13899         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
13900
13901 2000-02-25  Andy Piper  <andy@xemacs.org>
13902
13903         * window.c (window_top_frame_gutter_height): new function.
13904         (window_top_window_gutter_height): ditto.
13905         (window_top_gutter_height): use them.
13906         (window_bottom_frame_gutter_height): new function.
13907         (window_bottom_window_gutter_height): ditto.
13908         (window_bottom_gutter_height): use them.
13909         (window_left_window_gutter_width): new function.
13910         (window_left_frame_gutter_width): ditto.
13911         (window_left_gutter_width): use them.
13912         (window_right_window_gutter_width): new function.
13913         (window_right_frame_gutter_width): ditto.
13914         (window_right_gutter_width): use them.
13915         (window_pixel_height): new function. calulate window pixel height
13916         with frame gutter involvement.
13917         (Fsplit_window): calculate new sizes taking frame gutters into
13918         account.
13919         (window_char_height_to_pixel_height): don't include frame gutters.
13920         (window_char_height): use window_pixel_height.
13921         (window_pixheight): rename from window_pixel_height.
13922         (change_window_height): use it.
13923         (window_pixel_height_to_char_height): don't include frame gutters.
13924         (window_char_width_to_pixel_width): ditto.
13925
13926 2000-02-25  Andy Piper  <andy@xemacs.org>
13927
13928         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
13929         if it is.
13930
13931 2000-02-24  Martin Buchholz  <martin@xemacs.org>
13932
13933         * alloc.c (staticpro):
13934         (staticpro_nodump):
13935         (dumpstruct):
13936         (dumpopaque):
13937         (pdump_wire):
13938         (pdump_wire_list):
13939         (compact_string_chars):
13940         (pdump_dump_wired):
13941         Convert:  if (foo) abort();  ==>  assert (! foo);
13942
13943         * eldap.c (Fldap_search_basic):
13944         (Fldap_add):
13945         (Fldap_modify):
13946         (Fldap_delete):
13947         Fix compiler warnings, and possible crashes if (random) return
13948         value were to be used.
13949
13950 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13951
13952         * device-msw.c: Workaround ResetDC failure.
13953
13954         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
13955         applying a devmode.
13956
13957         * redisplay-msw.c (get_frame_dc): Added start_page_p.
13958         (mswindows_text_width): Do not start printer page.
13959
13960         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
13961
13962         * glyphs-msw.c: Added image methods to msprinter console and
13963         msprinter-specific image instantiation.
13964
13965 2000-02-20  Mike Alexander  <mta@arbortext.com>
13966
13967         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
13968         to avoid crashes when selection-sets-clipboard is on
13969         (mswindows_own_selection): ditto
13970
13971 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13972
13973         * glyphs-msw.c:
13974         * redisplay-msw.c (get_frame_dc):
13975         (get_frame_compdc):
13976         * console-msw.h:
13977         * device-msw.c (mswindows_init_device):
13978         (mswindows_delete_device):
13979         (msprinter_init_device):
13980         (msprinter_delete_device):
13981         * frame-msw.c (mswindows_init_frame_1):
13982         (mswindows_delete_frame):
13983         (msprinter_init_frame_3):
13984         (msprinter_delete_frame): Move compatible DC to device object from
13985         frame object, for both mswindows and msprinter. Only one at a time
13986         is needed, it is a real waste to have one per frame!
13987
13988 2000-02-23  Andy Piper  <andy@xemacs.org>
13989
13990         * glyphs.c: add dynamic width and height elements.
13991         (image_instance_equal): ditto.
13992
13993         * glyphs-widget.c (widget_query_geometry): calculate width and
13994         height dynamically if required.
13995         (initialize_widget_image_instance): initialize dynamic dimensions.
13996         (widget_instantiate): pick-up dynamic dimensions.
13997
13998         * glyphs.h (struct Lisp_Image_Instance): add width and height for
13999         dynamic determination. Add appropriate macros.
14000
14001         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
14002         dimensions safe.
14003         (WINDOW_GUTTER_SIZE): ditto.
14004         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
14005
14006         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
14007         inline.
14008         (get_frame_dc): ditto.
14009
14010         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
14011         here.
14012
14013 2000-02-23  Martin Buchholz <martin@xemacs.org>
14014
14015         * XEmacs 21.2.31 is released.
14016
14017 2000-02-22  Ben Wing <ben@xemacs.org>
14018
14019         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
14020
14021 2000-02-22  Andy Piper  <andy@xemacs.org>
14022
14023         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
14024
14025 2000-02-21  Mike Sperber <mike@xemacs.org>
14026
14027         * .dbxrc:
14028         * .gdbinit:
14029         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
14030         variables.
14031
14032 2000-02-21  Mike Sperber <mike@xemacs.org>
14033
14034         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
14035
14036 2000-02-21  Martin Buchholz <martin@xemacs.org>
14037
14038         * XEmacs 21.2.30 is released.
14039
14040 2000-02-20  Martin Buchholz  <martin@xemacs.org>
14041
14042         Performance hacking.
14043         * *.c (syms_of_*):
14044         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
14045         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
14046         * emacs.c (main_1):
14047         * lisp.h (DEFUN):
14048         * console.c (DEFVAR_CONSOLE_LOCAL_1):
14049         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
14050         * symeval.h (DEFVAR_SYMVAL_FWD):
14051         * symbols.c (guts_of_unbound_marker):
14052         Make all c_readonly objects also lisp_readonly and marked for life.
14053         * lrecord.h (struct lrecord_implementation):
14054         Document flags better.
14055         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
14056         * lrecord.h (DECLARE_LRECORD):
14057         * lrecord.h (XSETRECORD):
14058         * lrecord.h (RECORDP):
14059         * lrecord.h (RECORD_TYPEP):
14060         * lrecord.h (RECORD_MARKER): New.
14061         * lrecord.h (error_check_*):
14062         * lrecord.h (CONCHECK_NONRECORD):
14063         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
14064         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
14065         * lrecord.h (set_lheader_implementation):
14066         * lrecord.h (enum lrecord_type): New.
14067         * symeval.h (SYMBOL_VALUE_MAGIC_P):
14068         * alloc.c (disksave_object_finalization_1):
14069         * alloc.c (mark_object):
14070         * alloc.c (lrecord_type_index):
14071         * alloc.c (tick_lcrecord_stats):
14072         * alloc.c (Fgarbage_collect):
14073         * alloc.c (init_alloc_once_early):
14074         * alloc.c (pdump_load):
14075         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
14076         * alloc.c (lrecord_type_index): Delete.
14077         Make lisp object type indexes be constant.
14078           Makes (byte-compile) 5% faster.
14079         Put all marker functions into their own array.
14080           Makes (garbage-collect) 5% faster.
14081         Optimize SYMBOL_VALUE_MAGIC_P.
14082           Makes (byte-compile) 2-3% faster.
14083         * config.h.in (gc_checking_assert): New.
14084         * alloc.c: Use gc_checking_assert().
14085         * .dbxrc: Make compatible with new object type implementation.
14086         * .gdbinit: Make compatible with new object type implementation.
14087         * alloc.c: Delete all symbols defined only for debugging, such as
14088         Lisp_Type_Vector and lrecord_charset.
14089
14090 2000-02-21  Andy Piper  <andy@xemacs.org>
14091
14092         * gui-msw.c (Fmswindows_shell_execute): fix file location
14093         problems.
14094
14095         * buffer.c (Fkill_buffer): remove buffer from alist buffer
14096         unshowing so that set_window_buffer doesn't undo
14097         kill_buffer_hook's hard work.
14098
14099         * glyphs-widget.c (tab_control_query_geometry): don't count the
14100         first item when calculating geometry.
14101
14102         * glyphs.c (map_subwindow): remove redundant code.
14103         (update_frame_subwindows): be more circumspect about when to
14104         update subwindows.
14105
14106         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
14107         when items haven't changed. Update faces if faces have changed as
14108         well as just the widget face.
14109         (x_tab_control_update): Update faces if faces have changed as well
14110         as just the widget face.
14111
14112 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14113
14114         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
14115         registration.
14116         (build_syscolor_string): Use mswindows_color_to_string to try to
14117         get a named color.
14118         (mswindows_device_system_metrics): Reverse the foreground and
14119         background colors so that they match the documentation.
14120
14121         * objects-msw.c: (mswindows_X_color_map): tweak some values so
14122         they match the default Windows palette.
14123         (mswindows_color_to_string): New function.
14124
14125 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14126
14127         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
14128
14129 2000-02-18  Olivier Galibert  <galibert@pobox.com>
14130
14131         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
14132         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
14133
14134         * symbols.c (init_symbols_once_early): Removed obsolete
14135         DATA_SEG_BITS related kludge.
14136         (defvar_magic): Ditto.
14137
14138         * malloc.c: Removed obsolete DATA_SEG_BITS
14139         * ralloc.c: Ditto.
14140         * mem-limits.h: Ditto.
14141
14142         * Makefile.in.in: Removed obsolete HAVE_SHM
14143         * emacs.c: Ditto.
14144
14145 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14146
14147         *  device-msw.c (mswindows_delete_device): Free DDE string
14148         handles.
14149
14150 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14151
14152         * keymap.c (get_keyelt):
14153         * unexnt.c (unexec):
14154         * vm-limit.c (memory_warnings):
14155         * ntheap.c (recreate_heap):
14156         * ntheap.h (UNINIT_PTR):
14157         * select-msw.c (Fmswindows_get_clipboard):
14158         (Fmswindows_set_clipboard):
14159         * objects-msw.h (MSWINDOWS_BAD_HFONT):
14160         * objects-msw.c:
14161         * menubar-msw.c (displayable_menu_item):
14162         * glyphs-msw.c:
14163         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
14164         * sysdep.c (sys_subshell):
14165         * process-nt.c (nt_create_process):
14166         * nt.c (normalize_filename):
14167         (dostounix_filename):
14168         (unixtodos_filename):
14169         * ntproc.c (win32_executable_type):
14170         * ntplay.c (play_sound_data_1):
14171         (play_sound_file):
14172         * editfns.c (get_home_directory):
14173         * event-msw.c (struct winsock_stream):
14174         (mswindows_dde_callback):
14175         * device-msw.c (msprinter_init_device):
14176         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
14177
14178         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
14179         mswindows_clear_toolbar were swapped!
14180
14181         * objects-msw.c:(colormap_t):
14182         (fontmap_t):
14183         * emacs.c (struct standard_args): Fixed const jumble.
14184
14185         * glyphs-widget.c (update_widget): Fixed comparison notation.
14186
14187         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
14188
14189         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
14190         __declspec(noreturn) syntax.
14191
14192 2000-02-19  Martin Buchholz  <martin@xemacs.org>
14193
14194         * eldap.c (Fldap_open):
14195         (Fldap_search_basic):
14196         (Fldap_add):
14197         (Fldap_modify):
14198         Use new coding system conversion macros.
14199
14200 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14201
14202         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
14203
14204 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
14205
14206         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
14207         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14208
14209         * eldap.c (Qadd, Qreplace): New constant symbols
14210         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
14211         interruptions by XEmacs signals
14212         Remove unnecessary calls to slow_down_interrupts and
14213         speed_up_interrupts
14214         (Fldap_search_basic): Renamed from Fldap_search_internal
14215         Added new optional parameter VERBOSE that triggers the
14216         display of progress messages
14217         Remove unnecessary calls to slow_down_interrupts and
14218         speed_up_interrupts
14219         LDAP result code analysis rewritten
14220         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14221         (syms_of_eldap): Define the new symbols and functions
14222
14223
14224 2000-02-17  Martin Buchholz  <martin@xemacs.org>
14225
14226         * realpath.c: Determine PATH_MAX maximally portably.
14227
14228         * insdel.c (bytecount_to_charcount): Optimize.
14229         The function used to be optimized for entirely ASCII sequences.
14230         Now it is optimized for successive characters from the same
14231         charset.  This also wins big for _mostly_ ASCII sequences.
14232
14233         * fileio.c (Ffile_truename): convert return from realpath() using
14234         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
14235         - Rewrite GCPROing slightly.
14236
14237         * sysdep.c (sys_open): Do filename conversion, like all other
14238         sys_* functions.  Fixes bug:
14239         (let ((file-name-coding-system 'iso-8859-2))
14240            (write-region x y latin2-name))
14241         ==> writes filename using internal encoding.
14242
14243 2000-02-18  Martin Buchholz  <martin@xemacs.org>
14244
14245         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
14246         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
14247         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
14248         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
14249         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
14250         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
14251         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
14252         (CONST_IF_NOT_DEBUG): Delete.
14253         * alloc.c (this_one_is_unmarkable): Delete.
14254         (mark_object): Don't check for this_one_is_unmarkable. Use the
14255         c_readonly flag instead.
14256         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
14257
14258 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14259
14260         * event-msw.c (mswindows_drain_windows_queue):
14261         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
14262         away redundant repaint events.
14263
14264 2000-02-17  Andy Piper  <andy@xemacs.org>
14265
14266         * redisplay.h: declare mark_redisplay_structs.
14267
14268         * redisplay.c (redisplay_window):
14269         (redisplay_frame): don't check subwindows_state_changed.
14270         (mark_redisplay): mark gutters here.
14271
14272         * glyphs.c: (instantiate_image_instantiator): always layout if we
14273         haven't done so already.
14274         (allocate_image_instance): don't mark as dirty.
14275         (update_subwindow): bind inhibit_quit.
14276
14277         * gutter.c (mark_gutters): new function.
14278
14279         * glyphs-x.c (x_update_widget): Always resize to get round a
14280         widget bug.
14281
14282         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
14283         breaking absolutely everything.
14284
14285         * gutter.h: declare mark_gutters.
14286
14287 2000-02-16  Martin Buchholz <martin@xemacs.org>
14288
14289         * XEmacs 21.2.29 is released.
14290
14291 2000-02-15  Olivier Galibert  <galibert@pobox.com>
14292
14293         * fns.c (size_bit_vector): Fix computation of the size.
14294
14295 2000-02-15  Martin Buchholz  <martin@xemacs.org>
14296
14297         * *.[ch]: Change CONST to const globally.
14298         find -name '*.[ch]' | \
14299         xargs global-replace \
14300         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
14301         - Remove vestigial references to CONST_IS_LOSING
14302
14303 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14304
14305         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
14306         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
14307         events instead of dispatching them directly.
14308         (mswindows_handle_paint): New function to do repainting.
14309         (mswindows_wnd_proc):
14310         (emacs_mswindows_handle_magic_event): Call above function.
14311
14312 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14313
14314         * objects-msw.c (mswindows_create_font_variant): Return the new
14315         font handle.
14316         (initialize_font_instance): Get font metrics from the underlined
14317         variant of the font to cope with the case where the underlined
14318         font has a bigger descent.
14319
14320 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14321
14322         * gui.c (gui_item_accelerator): Return the first underlined
14323         character in item name.
14324
14325 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14326
14327         * lisp.h: Added Qprinter.
14328
14329         * general.c (syms_of_general): Initialized it.
14330
14331         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
14332         (get_frame_dc):
14333         (get_frame_compdc): Made inline.
14334
14335         * console.h (struct console_methods): Added eject_page method.
14336
14337         * frame.h: Added FRAME_DISPLAY_P and friends.
14338         Aligned backslahes in many macros in more readable fashion.
14339         Added page_number to struct frame, and an accessor macro
14340         for it.
14341
14342         * defice.h: Added DEVICE_DISPLAY_P and friends.
14343
14344         * device.c (Fdevice_printer_p): Used these.
14345
14346         * frame.c (allocate_frame_core): Initialize page number.
14347         (Fprint_job_page_number):
14348         (Fprint_job_eject_page): Implemented.
14349
14350         * frame-msw.c (msprinter_eject_page): Added method.
14351         (msprinter_start_page): Added.
14352
14353         * window.c (Fwindow_truncated_p): Fixed docstring.
14354         (Fwindow_last_line_visible_height): Implemented.
14355
14356 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14357
14358         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
14359
14360 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14361
14362         * syntax.c (scan_words): Always advance at least one character.
14363
14364 2000-02-13  Andy Piper  <andy@xemacs.org>
14365
14366         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
14367         to make sure the glyph is in the cachels.
14368
14369         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
14370         global image instance flag.
14371         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
14372         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
14373
14374         * glyphs.c (allocate_image_instance): set dirty bits correctly.
14375         (Fset_image_instance_property): mark layout as changed.
14376         (invalidate_glyph_geometry_maybe): mark layout as changed.
14377         (glyph_width): use new NEEDS_LAYOUT macro.
14378         (glyph_ascent): ditto.
14379         (glyph_descent): ditto.
14380         (glyph_height): ditto.
14381         (image_instance_layout): mark layout as clean after laying out.
14382         (update_subwindow): don't mark layout as clean here.
14383
14384         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
14385         should no longer be needed.
14386
14387         * glyphs-x.c (x_update_widget): sanitize asserts.
14388         (x_finalize_image_instance): sanitize assignment to widgets.
14389
14390         * glyphs-widget.c (widget_instantiate): don't need to clear the
14391         layout flag here.
14392
14393 2000-02-13  Martin Buchholz  <martin@xemacs.org>
14394
14395         * sysdep.c (getcwd): Use standard prototype.
14396         * sysdep.h (getcwd): Use standard prototype.
14397
14398         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
14399         (sequence, start, end).
14400         Remove redundant type checking.
14401         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
14402         view of `caller-protects') to avoid a crash where the real fix was
14403         found elsewhere.
14404
14405 2000-02-12  Martin Buchholz  <martin@xemacs.org>
14406
14407         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
14408
14409         * s/sol2.h: Remove feature macro initialization.
14410
14411         * alloc.c (alloc_lcrecord): Add more type checking assertions.
14412         (vector_hash): New.  Code from internal_hash.
14413         * lrecord.h:
14414         Fix up allocation subsystem comments.
14415
14416         * config.h.in: Add __EXTENSIONS__ for Solaris.
14417
14418         * systime.h (EMACS_GETTIMEOFDAY): New.
14419         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
14420         Remove Solaris-specific code.
14421         Use void* for the (ignored) second arg for gettimeofday().
14422
14423         * elhash.c (hash_table_hash): Implement it, finally.
14424         * elhash.c:  Use hashcode_t.
14425
14426         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
14427         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
14428
14429         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
14430         * fns.c (size_bit_vector):
14431         * alloc.c (size_vector):
14432         (make_vector_internal):
14433         (make_bit_vector_internal):
14434         (sweep_bit_vectors_1):
14435         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
14436
14437 2000-02-10  Martin Buchholz  <martin@xemacs.org>
14438
14439         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
14440         Include strings.h to avoid warnings for bzero and strcasecmp.
14441
14442 2000-02-10  Olivier Galibert  <galibert@pobox.com>
14443
14444         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
14445         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
14446
14447         * fns.c (size_bit_vector): New.  Declare bit vectors as a
14448         sequence.
14449
14450 2000-02-10  Olivier Galibert  <galibert@pobox.com>
14451
14452         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
14453         use a value field instead.
14454         (symbol_value_forward_forward): Use value field.
14455         (DEFVAR_SYMVAL_FWD): Use value field.
14456         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
14457         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
14458         (DEFVAR_CONST_INT): Ditto.
14459         (DEFVAR_BOOL): Ditto.
14460         (DEFVAR_CONST_BOOL): Ditto.
14461         (DEFVAR_INT_MAGIC): Ditto.
14462         (DEFVAR_BOOL_MAGIC): Ditto.
14463
14464         * symbols.c (guts_of_unbound_marker): Use value field.
14465         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
14466         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
14467
14468         * lisp.h: Declare dumpopaque and noninteractive1.
14469
14470         * alloc.c (dumpopaque): Added.
14471         (pdump_dump_opaquevec): Added.
14472         (pdump): Call pdump_dump_opaquevec to dump opaque data.
14473         (pdump_load): Reload opaque data.  Sync noninteractive1 with
14474         noninteractive.
14475
14476 2000-02-10  Andy Piper  <andy@xemacs.org>
14477
14478         * glyphs.c (image_instance_layout): if the size changes, mark it
14479         as such.
14480
14481         * redisplay-output.c (redisplay_output_layout): Update the
14482         subwindow here.
14483         (redisplay_output_subwindow): ditto.
14484
14485         * glyphs.c (update_subwindow): make sure we reset flags for
14486         layouts as well as everything else.
14487
14488         * glyphs-widget.c (layout_layout): don't need to set the instances
14489         dimensions here.
14490
14491 2000-02-09  Martin Buchholz  <martin@xemacs.org>
14492
14493         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
14494         not HAVE_DLOPEN, which is a lower-level thing.
14495
14496         * .cvsignore: Ignore gmon.out
14497
14498 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
14499
14500         * .cvsignore: Ignore portable dumper xemacs.dmp file
14501
14502 2000-02-09  Andy Piper  <andy@xemacs.org>
14503
14504         * redisplay-output.c (redisplay_output_layout): be more clever
14505         about when we output based on the changed flags.
14506
14507         * glyphs.h (struct image_instantiator_methods): add update_method.
14508         (struct Lisp_Image_Instance): add changed flags. Declare new
14509         macros for manipulating them.
14510
14511         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
14512         (image_instance_parent_glyph): find an image_instance's parent
14513         glyph or image_instance.
14514         (image_instance_layout): mark the size as changed.
14515         (set_image_instance_dirty_p): new function. mark an image
14516         instance, plus all of its parents, as dirty.
14517         (Fset_image_instance_property): use it.
14518         (Fglyph_animated_timeout_handler): use it.
14519         (update_subwindow): call update_widget and device methods for
14520         update_subwindow. Mark all changed flags as clean.
14521         (Fresize_subwindow): mark size as changed.
14522
14523         * glyphs-x.c (x_finalize_image_instance): try and detect gc
14524         failures.
14525         (x_update_subwindow): only resize subwindows here.
14526         (x_update_widget): new function. Update all changed properties of
14527         a widget.
14528         (x_resize_subwindow): deleted.
14529         (x_widget_set_property): deleted.
14530         (x_progress_gauge_set_property): deleted.
14531         (x_progress_gauge_update): new function. Implement recorded
14532         changes.
14533         (x_tab_control_update): ditto.
14534         (x_tab_control_set_property): deleted.
14535         (console_type_create_glyphs_x): declare new functions.
14536         (image_instantiator_format_create_glyphs_x): ditto.
14537
14538         * glyphs-widget.c (widget_set_property): mark text changed.
14539         (update_widget): new function. Update properties of a widget.
14540         (widget_instantiate): for layouts make sure we set their
14541         children's parent correctly.
14542         (tab_control_set_property): new function. Record changes that will
14543         take place under redisplay's control.
14544         (progress_gauge_set_property): ditto.
14545         (image_instantiator_progress_guage): declare new functions.
14546         (image_instantiator_tab_control): ditto.
14547
14548         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
14549         now.
14550         (mswindows_update_widget): new function. Update all properties on
14551         a widget that have changed.
14552         (mswindows_button_update): new function. Update a button's set
14553         state.
14554         (mswindows_tab_control_update): new function. Update the items in
14555         a tab.
14556         (mswindows_tab_control_set_property): deleted.
14557         (mswindows_progress_gauge_update): new function. Update the
14558         progress gauge's progress.
14559         (mswindows_widget_set_property): deleted. This is all done
14560         asynchronously now.
14561         (mswindows_progress_gauge_set_property): ditto.
14562         (console_type_create_glyphs_mswindows): declare new methods.
14563         (image_instantiator_format_create_glyphs_mswindows): ditto.
14564
14565         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
14566         (msprinter_set_frame_properties): ditto.
14567
14568         * console.h (struct console_methods): Add update_widget_method.
14569
14570 2000-02-09  Andy Piper  <andy@xemacs.org>
14571
14572         * gui-msw.c (Fmswindows_shell_execute): Make
14573         mswindows-shell-execute industrial strength.
14574
14575 2000-02-08  Martin Buchholz  <martin@xemacs.org>
14576
14577         * lrecord.h: Make macro argument `props' match member function `plist'.
14578         * fns.c (Fget):
14579         * fns.c (Fput):
14580         * fns.c (Fremprop):
14581         * fns.c (Fobject_plist):
14582         * alloc.c:
14583         * symbols.c:
14584         Object property list frobbing cleanup.
14585         - Allow any lisp object (compared with `eq'), not just symbols, as
14586           keys in object plists.
14587         - Move symbol plist frobbing into symbols.c, where it belongs.
14588         - Move string plist frobbing into alloc.c, where it belongs.
14589         - Everything's an lrecord now, so no need to test for symbolp, etc.
14590         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
14591
14592         * extents.c: Reorder code to remove declarations.
14593
14594         * frame.h (store_in_alist): Remove useless declaration.
14595
14596 2000-02-07  Martin Buchholz  <martin@xemacs.org>
14597
14598         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
14599         * config.h.in: Add HAVE_XCONVERTCASE.
14600
14601 2000-02-07  Andy Piper  <andy@xemacs.org>
14602
14603         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
14604         it breaks many things.
14605
14606 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
14607
14608         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
14609         actually can start a common comment type.
14610         * src/syntax.h (SYNTAX_END_P): ditto for end.
14611
14612 2000-02-07  Martin Buchholz <martin@xemacs.org>
14613
14614         * XEmacs 21.2.28 is released.
14615
14616 2000-02-06  Martin Buchholz  <martin@xemacs.org>
14617
14618         * event-Xt.c (x_keysym_to_character): New.
14619         (maybe_define_x_key_as_self_inserting_character): New.
14620         (x_has_keysym): New.
14621         Auto-define all keys on the keyboard as self-insert-key.
14622
14623 2000-02-02  Martin Buchholz  <martin@xemacs.org>
14624
14625         * menubar.c (vars_of_menubar): A small code simplification.
14626
14627         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
14628
14629         * ExternalShell.c:
14630         * ExternalClient.c:
14631         * EmacsShell-sub.c:
14632         * EmacsManager.c:
14633         * EmacsFrame.c:
14634         Use consistent style for specifying X resources.
14635
14636         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
14637         This makes (dontusethis-set-symbol-value-handler) actually usable.
14638
14639         * lrecord.h (lrecord_decription_type):
14640         * alloc.c (pdump_register_sub):
14641         (pdump_dump_data):
14642         (pdump_reloc_one):
14643         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
14644         Comply with XEmacs coding style.
14645         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
14646         args, and XD_LISP_OBJECT_ARRAY with 3 args.
14647
14648         * keymap.c (Faccessible_keymaps):
14649         Make (accessible-keymaps map "\C-h") do the Right Thing.
14650         Make (accessible-keymaps map []) do the Right Thing.
14651         Make (accessible-keymaps map "") do the Right Thing.
14652         (check_keymap_definition_loop): New function.
14653         (keymap_store_internal): Keep luser from shooting self in foot,
14654           via (define-key ctl-x-4-map "p" global-map).
14655         Remove fullness slot from struct Lisp_Keymap, since hash tables
14656         are now reliable.
14657         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
14658
14659 2000-01-30  Martin Buchholz  <martin@xemacs.org>
14660
14661         * redisplay.c (init_redisplay): Fix small memory leak.
14662         * elhash.h:
14663         * elhash.c (pdump_reorganize_hash_table):
14664         Rename from reorganize_hash_table. Change prototype.
14665         Reuse the original memory for hentries.  Save 100k.
14666         * alloc.c (PDUMP_READ): new macro.
14667         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
14668         * alloc.c: No need to #ifndef before #undef.
14669
14670         * print.c: Allow debug_print() to print readably by modifying
14671         debug_print_readably.  Use consistent variable names.
14672
14673         * .dbxrc: Try to get things to work even if stopped in a function
14674         without source available by explicitly specifying source files.
14675 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14676
14677         * unexnt.c (_start): Removed bogus code which caused loading heap
14678         from differrent executable file.
14679         Removed bogus assignment to _fmode, which caused inconsistencies.
14680
14681 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14682
14683         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
14684         Have spawnve encapsulation regard DONT_ENCAPSULATE.
14685         Do not preliminary `#define signal sigset'.
14686
14687         * systime.h: Do not prototype environ on windows nt and cygwin,
14688         this conflicts with system header.
14689
14690         * syssignal.h: Use correct define for WINDOWSNT
14691
14692         * sysdep.h: Do not prototype environ on windows nt, this conflicts
14693         with system header.
14694
14695         * sysdep.c (near start of file): Fixed commentary and rearranged
14696         ifdefs in readable order.
14697         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
14698         (start_of_text):
14699         (end_of_text):
14700         (end_of_data): Do not compile in if using PDUMP.
14701
14702         * symsinit.h: Prototyped vars_of_nt().
14703
14704         * ntproc.c (windows9x_p): Added, instead of os_subtype.
14705         (find_child_console): Use it.
14706         (sys_kill): Use it.
14707
14708         * ntheap.h: Do not extern os_subtype.
14709
14710         * ntheap.c (cache_system_info): Do not cache unneeded:
14711         nt_major_version, nt_minor_version and os_subtype.
14712         (recreate_heap): Do not compile in when PDUMPing.
14713
14714         * nt.c (geteuid and friends): Use the new varibale
14715         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
14716         (init_user_info): Removed the above mentioned hackery.
14717         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
14718         stat has been fixed in the C runtime.
14719         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
14720
14721         * file-coding.c (struct file_coding_dump): Do not define
14722         ucs_to_mule_table in the struct if not MULE.
14723         (struct struct lrecord_description fcd_description_1): Do not dump
14724         the above.
14725
14726         * emacs.c (main_1): Call vars_of_nt().
14727         (right before Fdump_emacs_data): Don't need lastfile if using both
14728         portabe dumper and system malloc.
14729
14730         * alloc.c (Fmemory_limit): Conditionalized out.
14731         (pdump): Use OPEN_BINARY for the portable dump file.
14732         (pdump_load): Ditto.
14733
14734 2000-02-02  Mike Alexander  <mta@arbortext.com>
14735
14736         * nt.c (convert_time): Set tm_isdst before calling mktime and
14737         avoid calling it at all if the compiler supports 64 bit integers.
14738         Also initialize utc_base_ft before using it.
14739
14740 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14741
14742         * frame.c (change_frame_size_1): Take f->internal_border_width
14743         into consideration when calculating the width of the frame.
14744
14745 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14746
14747         * window.c (frame_min_height):
14748         (frame_size_valid_p):
14749         (frame_pixsize_valid_p): Added.
14750         (check_frame_size): Generalized.
14751
14752         * window.h: Prototyped the above.
14753
14754         * lisp.h:
14755         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
14756         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
14757         Deleted Vwin32_* and Vbinary_process_* unused variables.
14758
14759         * device-msw.c (msprinter_init_device): Do not get printer font
14760         list; Added DEVMODE functions.
14761
14762         * frame-msw.c: Added lots of printer code.
14763
14764         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
14765         general.c.
14766
14767         * console-msw.h: Added more msprinter device private slots.
14768
14769 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14770
14771         * event-msw.c (key_needs_default_processing_p): Added.
14772         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
14773
14774 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14775
14776         * glyphs.c (image_instance_layout): Mark image instance as clean
14777         after layout.
14778         (glyph_dirty_p): Removed redundant function.
14779         (invalidate_glyph_geometry_maybe): Added.
14780         (update_glyph_cachel_data): Call it.
14781
14782         * glyphs.h: Prototyped it.
14783
14784         * redisplay.c (add_glyph_rune): Call it.
14785         (redisplay_window): Reset glyphs cachels when frame faces have
14786         changed, thus forcing recomputation of built-in border glyphs.
14787
14788 2000-01-30  Martin Buchholz  <martin@xemacs.org>
14789
14790         * Makefile.in.in: Make portable dumper and purify play well together.
14791         Add imperfect, but better than nothing, support for pdump.
14792         Remove xemacs.dmp when temacs is re-generated.
14793         Don't ignore errors when dumping xemacs.
14794
14795         * symbols.c (maybe_call_magic_handler): Remove one magic number.
14796
14797 2000-01-28  Andy Piper  <andy@xemacs.org>
14798
14799         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
14800         (setup_normal_frame): ditto.
14801         (setup_frame_without_minibuffer): ditto.
14802         (setup_minibuffer_frame): ditto.
14803         (delete_frame_internal): ditto.
14804         (Fmake_frame_invisible): ditto.
14805         (Ficonify_frame): ditto.
14806
14807         * window.h: change Fset_window_buffer signature.
14808
14809         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
14810         (Fset_window_buffer): allow recording of buffer if the window is
14811         the selected window.
14812         (window_loop): Use new Fset_window signature.
14813
14814 2000-01-23  Daniel Pittman  <daniel@danann.net>
14815
14816         * config.h.in: Added template for `HAVE_ATHENA_3D'
14817
14818 2000-01-29  Andy Piper  <andy@xemacs.org>
14819
14820         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
14821
14822         * gutter.c (output_gutter): Don't output if the window isn't live.
14823
14824 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14825
14826         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
14827         of 01/12/00: Moved SetFocus back here where it belongs.
14828
14829 2000-01-23  Andy Piper  <andy@xemacs.org>
14830
14831         * s/cygwin32.h: declare printer things.
14832
14833 2000-01-26  Andy Piper  <andy@xemacs.org>
14834
14835         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
14836         Alexander.
14837
14838 2000-01-24  Andy Piper  <andy@xemacs.org>
14839
14840         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
14841         (mswindows_button_instantiate): Make sure glyph is a pixmap.
14842
14843         * glyphs-widget.c (widget_instantiate): Avoid shadows.
14844
14845         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
14846
14847         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
14848
14849         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
14850         (mswindows_output_display_block): Avoid local shadows.
14851
14852         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
14853         (mswindows_enqueue_mouse_button_event): ditto.
14854         (mswindows_handle_gui_wm_command): remove declaration.
14855
14856         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
14857         warnings.
14858
14859         * console-msw.h: Avoid shadows.
14860         (mswindows_get_toolbar_button_text):
14861         (emacs_mswindows_create_stream_pair):
14862         (emacs_mswindows_delete_stream_pair):
14863         (mswindows_handle_toolbar_wm_command): declare.
14864
14865         * device-msw.c (build_syscolor_string): Avoid shadows.
14866
14867 2000-01-23  Andy Piper  <andy@xemacs.org>
14868
14869         * glyphs-widget.c (widget_instantiate): reverse the items for
14870         layouts so that children are in the expected order.
14871
14872 2000-01-28  Martin Buchholz  <martin@xemacs.org>
14873
14874         * ralloc.c: safe_bcopy ==> memmove
14875         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
14876         * s/msdos.h: Remove BCOPY macros.
14877         * insdel.c (gap_right): Remove BCOPY conditional code.
14878         * insdel.c (gap_left): Remove BCOPY conditional code.
14879         XEmacs demands a working ANSI C compiler - hence memmove.
14880
14881         * regex.c (regex_compile): Remove accidental use of trigraphs.
14882
14883 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14884
14885         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
14886         event timestamp.
14887
14888 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14889
14890         * event-msw.c (mswindows_drain_windows_queue): Added the
14891         parameter.
14892         (mswindows_need_event): Commented the call to
14893         mswindows_drain_windows_queue().
14894         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
14895         only.
14896
14897         * console-msw.h: Moved a few function prototypes here from
14898         event-msw.c.
14899
14900         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
14901         parameter from unsigned short to unsigned long.
14902         (Fmswindows_shell_execute): Added return value.
14903
14904 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
14905
14906         * sysdep.c (init_system_name):
14907           process-unix.c (unix_canonicalized_host_name):
14908         Don't call freeaddrinfo() if getaddrinfo() fails.
14909
14910         * process-unix.c (unix_open_unix_network_stream):
14911         Moved the code to get a port # into address loop.
14912
14913 2000-01-27  Martin Buchholz  <martin@xemacs.org>
14914
14915         * buffer.c (reinit_vars_of_buffer):
14916         The right place to initialize conversion_in_dynarr and
14917         conversion_out_dynarr.
14918
14919         * alloc.c (pdump): Use the real open() till sys_open() is functional.
14920
14921         * process-unix.c (unix_canonicalize_host_name): Muleize.
14922         (unix_open_network_stream): Muleize.
14923
14924         * buffer.h: Fix up prototypes for ralloc.c functions.
14925
14926 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
14927         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
14928         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
14929                 instead of gethostbyname()
14930         * process-unix.c: In unix_canonicalize_host_name() and
14931                 unix_open_network_stream(), add code to use getaddrinfo()
14932                 instead of gethostbyname().
14933
14934 2000-01-27  Daniel Pittman <daniel@danann.net>
14935
14936         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
14937         libs when built with flat Athena.
14938
14939 2000-01-27  Martin Buchholz  <martin@xemacs.org>
14940
14941         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
14942         Use coding standards for function prototypes.
14943
14944 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14945
14946         * dialog-msw.c (push_lisp_string_as_unicode):
14947         * doc.c (unparesseuxify_doc_string):
14948         * dired.c (Fuser_name_completion_1):
14949         * dired.c (Fuser_name_all_completions):
14950         * dired.c (free_user_cache):
14951         * dired.c (user_name_completion):
14952         * console-x.c (get_display_arg_connection):
14953         * minibuf.c (clear_echo_area_internal):
14954         * minibuf.c (echo_area_append):
14955         * eldap.c (Fldap_open):
14956         * eldap.c (Fldap_search_internal):
14957         * frame-x.c (x_set_frame_text_value):
14958         * frame-x.c (x_set_frame_properties):
14959         * frame-x.c (x_create_widgets):
14960         * redisplay-tty.c (term_get_fkeys_1):
14961         * objects-x.c (x_parse_nearest_color):
14962         * objects-x.c (x_valid_color_name_p):
14963         * objects-x.c (x_initialize_font_instance):
14964         * objects-x.c (x_list_fonts):
14965         * objects-x.c (x_find_charset_font):
14966         * tooltalk.c (Fadd_tooltalk_message_arg):
14967         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
14968         * tooltalk.c (Fadd_tooltalk_pattern_arg):
14969         * process-unix.c (unix_create_process):
14970         * ntproc.c (sys_spawnve):
14971         * sound.c (Fplay_sound_file):
14972         * sound.c (Fplay_sound):
14973         * buffer.c (init_initial_directory):
14974         * buffer.c (init_buffer):
14975         * editfns.c (init_editfns):
14976         * editfns.c (Ftemp_directory):
14977         * editfns.c (Fuser_full_name):
14978         * editfns.c (uncache_home_directory):
14979         * editfns.c (get_home_directory):
14980         * editfns.c (Fuser_home_directory):
14981         * editfns.c (Fformat_time_string):
14982         * editfns.c (Fcurrent_time_string):
14983         * gui-x.c (button_item_to_widget_value):
14984         * database.c (Fopen_database):
14985         * event-Xt.c (x_to_emacs_keysym):
14986         * event-Xt.c (x_event_to_emacs_event):
14987         * event-Xt.c (describe_event_window):
14988         * event-msw.c (mswindows_wnd_proc):
14989         * glyphs-eimage.c (jpeg_instantiate):
14990         * glyphs-eimage.c (gif_instantiate):
14991         * glyphs-eimage.c (png_instantiate):
14992         * glyphs-eimage.c (tiff_instantiate):
14993         * glyphs-x.c (xbm_instantiate_1):
14994         * glyphs-x.c (x_xbm_instantiate):
14995         * glyphs-x.c (x_xface_instantiate):
14996         * glyphs-x.c (autodetect_instantiate):
14997         * glyphs-x.c (cursor_font_instantiate):
14998         * glyphs-x.c (x_widget_instantiate):
14999         * glyphs-x.c (x_widget_set_property):
15000         * glyphs-x.c (x_widget_property):
15001         * glyphs-x.c (BUILD_GLYPH_INST):
15002         * print.c (write_string_to_stdio_stream):
15003         * print.c (output_string):
15004         * print.c (Falternate_debugging_output):
15005         * print.c (Fexternal_debugging_output):
15006         * glyphs-msw.c (extract_xpm_color_names):
15007         * glyphs-msw.c (mswindows_xpm_instantiate):
15008         * glyphs-msw.c (bmp_instantiate):
15009         * glyphs-msw.c (resource_name_to_resource):
15010         * glyphs-msw.c (mswindows_resource_instantiate):
15011         * glyphs-msw.c (xbm_instantiate_1):
15012         * glyphs-msw.c (mswindows_xbm_instantiate):
15013         * glyphs-msw.c (mswindows_xface_instantiate):
15014         * glyphs-msw.c (mswindows_widget_instantiate):
15015         * glyphs-msw.c (add_tree_item):
15016         * glyphs-msw.c (add_tab_item):
15017         * glyphs-msw.c (mswindows_combo_box_instantiate):
15018         * glyphs-msw.c (mswindows_widget_property):
15019         * glyphs-msw.c (mswindows_combo_box_property):
15020         * glyphs-msw.c (mswindows_widget_set_property):
15021         * console.c (stuff_buffered_input):
15022         * objects-msw.c (mswindows_initialize_color_instance):
15023         * objects-msw.c (mswindows_valid_color_name_p):
15024         * objects-msw.c (mswindows_list_fonts):
15025         * objects-msw.c (mswindows_font_instance_truename):
15026         * bytecode.c (optimize_compiled_function):
15027         * select-x.c (symbol_to_x_atom):
15028         * select-x.c (x_atom_to_symbol):
15029         * select-x.c (hack_motif_clipboard_selection):
15030         * select-x.c (selection_data_to_lisp_data):
15031         * select-x.c (lisp_data_to_selection_data):
15032         * select-x.c (Fx_get_cutbuffer_internal):
15033         * select-x.c (Fx_store_cutbuffer_internal):
15034         * buffer.h (TO_EXTERNAL_FORMAT): New function.
15035         * buffer.h (TO_INTERNAL_FORMAT): New function.
15036         * emacs.c (make_arg_list_1):
15037         * emacs.c (make_argc_argv):
15038         * emacs.c (main_1):
15039         * emacs.c (Fdump_emacs):
15040         * emacs.c (split_string_by_emchar_1):
15041         * file-coding.h:
15042         * lisp.h:
15043         * lstream.h:
15044         * symsinit.h:
15045         * device-x.c (x_init_device):
15046         * device-x.c (Fx_valid_keysym_name_p):
15047         * device-x.c (Fx_get_font_path):
15048         * device-x.c (Fx_set_font_path):
15049         * glyphs.c (bitmap_to_lisp_data):
15050         * glyphs.c (pixmap_to_lisp_data):
15051         * alloc.c (make_ext_string): Use coding system arguments.  Update
15052         all callers.
15053         * alloc.c (build_string):
15054         * callproc.c (child_setup):
15055         * callproc.c (init_callproc):
15056         * fileio.c (lisp_strerror):
15057         * fileio.c (directory_file_name):
15058         * fileio.c (Fexpand_file_name):
15059         * fileio.c (Ffile_truename):
15060         * fileio.c (Fsysnetunam):
15061         * fileio.c (Fdo_auto_save):
15062         * sysdep.c (sys_readdir):
15063         * tests.c: New file.  Allow adding C tests.
15064         Replace GET_* macros with a more comprehensible and flexible
15065         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
15066         Modify all calls.
15067         Any coding system can be used to do format conversion.
15068         Eliminate enum external_data_format.
15069         Eliminate convert_to_external_format.
15070         Eliminate convert_to_internal_format.
15071         Make sure file-name, keyboard, terminal, and ctext are always
15072         defined as coding systems or aliases.  Make
15073         file-name-coding-system, terminal-coding-system, and
15074         keyboard-coding-system magical variables that are equivalent to
15075         defining the corresponding coding system aliases.
15076
15077         * file-coding.c (Fcoding_system_canonical_name_p): New function.
15078         * file-coding.c (Fcoding_system_alias_p): New function.
15079         * file-coding.c (Fcoding_system_aliasee): New function.
15080         * file-coding.c (append_suffix_to_symbol): New function.
15081         * file-coding.c (dangling_coding_system_alias_p): New function.
15082         * file-coding.c (Ffind_coding_system):
15083         * file-coding.c (Fcopy_coding_system):
15084         * file-coding.c (encode_coding_no_conversion):
15085         * file-coding.c (syms_of_file_coding):
15086         * file-coding.c (vars_of_file_coding):
15087         Rewrite coding system alias code.
15088         Allow nested aliases, like symbolic links.
15089         Allow redefinition of coding system aliases.
15090         Prevent existence of dangling coding system aliases.
15091
15092         * dired.c (Fuser_name_completion_1):
15093         * dired.c (Fuser_name_all_completions):
15094         A crash would happen if user did QUIT in the middle of building
15095         user_name_cache.  Remove redundant code in mainline and unwind_protect.
15096
15097         * lisp.h:
15098         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
15099
15100         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
15101         an unsigned char *.  Update all callers.
15102
15103 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15104
15105         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
15106
15107 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15108
15109         * elhash.c (hentry_description): Use more portable definition.
15110         (resize_hash_table): Initialize new hentries using
15111         xnew_array_and_zero, thereby simplifying the code.
15112
15113         * mule-charset.c (make_charset): Make sure entire object is
15114         initialized, to avoid Purify warnings.
15115
15116         * alloc.c (resize_string): Fix unlikely crash with big strings.
15117
15118 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15119
15120         * realpath.c (xrealpath):
15121         Don't call getwd().
15122
15123 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15124
15125         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
15126
15127 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
15128
15129         * unexelfsgi.c (unexec): Change the way we decide which segment
15130         should be extended.
15131
15132         Assumption that .bss section should be outside the PT_LOADable
15133         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
15134         it's present) is inside the 'data' segment. This would fail the
15135         test which was used to find a segment to grow and cover new
15136         heap. Instead of this assumption, I created another one - on IRIX
15137         the segment to grow should start below .bss and it's address
15138         should extent above the end of .bss. Once this segment is
15139         identified, it's grown to accommodate the new heap and new
15140         zero-length .bss section is added at the end of .data2.
15141
15142 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15143
15144         * eval.c (Feval): Wrong number of arguments should use original
15145         function, not the indirect_function version of it.
15146
15147 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
15148
15149         * glyphs-x.c (x_button_instantiate): Don't add image if
15150         it is not a pixmap.
15151         (x_locate_pixmap_file): Call Fexpand_file_name when file name
15152         is relative.
15153
15154 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
15155
15156         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
15157         declaration.
15158         (DEFVAR_INT_MAGIC): Ditto.
15159         (DEFVAR_BOOL_MAGIC): Ditto.
15160         * glyphs.h: Reindent backslash.
15161
15162 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15163
15164         * glyphs-widget.c (layout_query_geometry):
15165         (layout_layout): Use correct types for gheight, gwidth.
15166
15167 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15168
15169         * EmacsManager.c (QueryGeometry): Purified.
15170
15171 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15172
15173         * alloc.c (make_float): Make sure entire object is initialized, to
15174         avoid Purify warnings.
15175         (pdump_register_sub): Remove useless assignment.
15176         (pdump): Use xmalloc, not malloc.
15177         (pdump_load): Use xmalloc, not malloc.
15178
15179 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15180
15181         * callproc.c:
15182         * dired-msw.c:
15183         * fileio.c:
15184         * process-nt.c:
15185         * redisplay-msw.c:
15186         * sysdep.c: Removed redundant #include <windows.h>
15187
15188 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15189
15190         * frame.c (delete_frame_internal): Do not delete device when its
15191         implementation so declares.
15192         (delete_frame_internal): Set device selected frame to nil when
15193         last frame goes away.
15194
15195         * device-msw.c (msprinter_device_system_metrics): Implemented.
15196         (mswindows_device_system_metrics): Added 'device-dpi property.
15197
15198         * device.c: (Fdevice_printer_p): Added.
15199         Added 'offset-workspace device metric.
15200
15201         * console.h (device_metrics): Declared DM_offset_workspace.
15202
15203 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15204
15205         * fileio.c (Ffile_truename): Remove pointless and confusing
15206         initialization of elen.
15207
15208         * glyphs-widget.c: Compiler warning fixes.
15209
15210 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
15211
15212         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
15213         instead of a Lisp_Object as argument to make it consistent with
15214         the other LIVE_P macros.
15215         (CHECK_LIVE_PROCESS): New macro.
15216
15217         * process.c: Declare Qprocess_live_p.
15218         (Fprocess_live_p): New function.
15219         (create_process): Use PROCESS_LIVE_P.
15220         (read_process_output): Ditto.
15221         (set_process_filter): Ditto.
15222         (Fdelete_process): Ditto.
15223         (kill_buffer_processes): Ditto
15224         (process_send_signal): Use CHECK_LIVE_PROCESS.
15225         (Fprocess_input_coding_system): Check whether process is still
15226         alive (fix PR#1061).
15227         (Fprocess_output_coding_system): Ditto.
15228         (Fprocess_coding_system): Ditto.
15229         (Fset_process_input_coding_system): Ditto.
15230         (Fset_process_output_coding_system): Ditto.
15231
15232 2000-01-23  Andy Piper  <andy@xemacs.org>
15233
15234         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
15235         layout and widget.
15236
15237         * glyphs.c (mark_image_instance): take into account changed
15238         image_instance format.
15239         (image_instance_equal): ditto.
15240         (image_instance_hash): ditto.
15241
15242         * glyphs-widget.c (widget_instantiate): Incorporate layout
15243         instantiation here. Delay layout of the layout until later.
15244         (layout_instantiate): deleted.
15245         (layout_query_geometry): new function. get the geometry of a
15246         layout.
15247         (layout_layout): layout a layout dynamically.
15248         (image_instantiator_widget): New function - splitting up
15249         image_instantiator_format_create_glyphs_widget for netwinder
15250         compilation.
15251         (image_instantiator_buttons):
15252         (image_instantiator_edit_fields):
15253         (image_instantiator_combo_box):
15254         (image_instantiator_scrollbar):
15255         (image_instantiator_progress_guage):
15256         (image_instantiator_tree_view):
15257         (image_instantiator_tab_control):
15258         (image_instantiator_labels):
15259         (image_instantiator_layout): ditto.
15260         (image_instantiator_format_create_glyphs_widget): Call preceding
15261         functions.
15262
15263 2000-01-22  Martin Buchholz  <martin@xemacs.org>
15264
15265         * process.c (Fset_process_coding_system):
15266         * device-x.c (Fx_keysym_hash_table):
15267         Docstring fixes.
15268
15269         * lstream.c (Lstream_write): Return documented value, not 0.
15270
15271         * fileio.c (directory_file_name):
15272         (Fsubstitute_in_file_name):
15273         (Fsubstitute_insert_file_contents_internal):
15274         (Fwrite_region_internal):
15275         * emacs.c:
15276         * sysdep.c:
15277         * getloadavg.c:
15278         * systty.h:
15279         Remove vestigial APOLLO-conditional code.
15280
15281 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15282
15283         * getpagesize.h: Add guard macros.
15284         * libsst.h: Add guard macros.
15285         * libst.h: Add guard macros.
15286         * line-number.h: Add guard macros.
15287         * ndir.h: Add guard macros.
15288         * sysfloat.h: Add guard macros.
15289         * sysfile.h: Add guard macros.
15290         * sysproc.h: Add guard macros.
15291         * syswait.h: Add guard macros.
15292         * xintrinsic.h: Add guard macros.
15293         * xintrinsicp.h: Add guard macros.
15294         * xmmanager.h: Add guard macros.
15295         * xmmanagerp.h: Add guard macros.
15296         * xmprimitive.h: Add guard macros.
15297         * xmu.h: Add guard macros.
15298         * gpmevent.h: Add copyright statement. Add guard macros.
15299         * miscplay.h: Add guard macros.
15300         * *.h: Use consistent C-standards-approved guard macro names.
15301
15302         * opaque.c (make_opaque): Switch parameter order.
15303         * opaque.h (make_opaque): Switch parameter order.
15304         Update all callers.
15305         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
15306
15307         * config.h.in (type_checking_assert): Added.
15308         (bufpos_checking_assert): Added.
15309
15310 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15311
15312         * alloc.c: Harmless pdump changes.
15313         - Use countof().
15314         - spell alignment correctly.
15315         * sysdep.c: Use countof()
15316
15317 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15318
15319         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
15320         initially_selected_for_input() console method, default to 0.
15321         (semi_canonicalize_console_connection): Try to delegate to
15322         canonicalize_console_connection if no such console method.
15323         (canonicalize_console_connection): Vice versa.
15324         (print_console): Do not print nil connection.
15325
15326         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
15327         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
15328         (XDEVIMPF_FRAMELESS_OK): Added.
15329         (CONSOLE_INHERITS_METHOD): Added.
15330
15331         * console-msw.c (mswindows_canonicalize_console_connection):
15332         Added.
15333         (mswindows_canonicalize_device_connection): Added.
15334
15335         * console-msw.h (struct msprinter_device): Added this struct and
15336         accessor macros.
15337         (mswindows_device): Made fontlist a lisp object.
15338
15339         * device.c (semi_canonicalize_device_connection):  Try to delegate
15340         to canonicalize_device_connection if no such console method.
15341         (canonicalize_device_connection): Vice versa.
15342         (print_device): Do not print nil connection.
15343
15344         * device-msw.c (mswindows_init_device): Call InitCommonControls
15345         when have widgets.
15346         (mswindows_delete_device): Removed fontlist deallocation.
15347         (mswindows_mark_device): Added.
15348
15349         * events.c (event_equal): Added abort() at unreached code.
15350         (event_hash): Ditto.
15351
15352         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
15353         fallback tags of Windows devices.
15354
15355         * general.c (syms_of_general): Initialized Qmsprinter.
15356
15357         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
15358         of fallback tags of Windows devices.
15359
15360         * lisp.h: Declared Qmsprinter.
15361
15362         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
15363         of strings.
15364         (mswindows_list_fonts): Ditto.
15365         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
15366         that it can be used by both mswindows and msprinter devices.
15367         (initialize_font_instance): Added.
15368         (mswindows_initialize_font_instance): Use it.
15369         (msprinter_initialize_font_instance): Added.
15370
15371         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
15372         and implementation flags check.
15373         (redisplay_without_hooks): Changed the call to the above.
15374         (Fredraw_device): Ditto.
15375         (Fredisplay_device): Ditto.
15376
15377         * redisplay-msw.c (get_frame_dc): Implemented.
15378         (get_frame_compdc): Implemented.
15379         (many functions): Use the two functions above to get device
15380         contexts, ether for a window or a printer.
15381
15382 2000-01-21  Olivier Galibert  <galibert@pobox.com>
15383
15384         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
15385         initialization here.
15386         (init_symbols_once_early): Call it.
15387         * emacs.c (main_1): Call it.
15388         * symsinit.h: Declare it.
15389
15390 2000-01-19  Olivier Galibert  <galibert@pobox.com>
15391
15392         * alloc.c: Use a lrecord_header * in the backtrace instead of a
15393         Lisp_Object.
15394         (pdump_backtrace): Ditto.
15395         (pdump_register_object): Ditto.  Cleanup use of the pointers.
15396         (pdump_get_entry): Abort if trying to register a null pointer.
15397         (pdump_dump_data): Cleanup types when relocating.
15398         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
15399         (pdump_dump_rtables): Remove bad casts.
15400         (pdump_load): Cleanup relocation w.r.t union type.  Use a
15401         Lisp_Object instead of a EMACS_INT for the hashtable
15402         reorganization.
15403
15404 2000-01-20  Martin Buchholz  <martin@xemacs.org>
15405
15406         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
15407
15408         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
15409
15410         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
15411
15412         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
15413
15414 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15415
15416         * faces.h (FACE_STRIKETHRU_P): Added.
15417
15418         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
15419         of font variants.
15420
15421         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
15422         (mswindows_set_dc_font): New function, aware of font variants,
15423         separated from mswindows_update_dc.
15424
15425         * objects-msw.h (struct mswindows_font_instance_data): Added
15426         definition.
15427
15428         * objects-msw.c (mswindows_finalize_font_instance): Delete all
15429         cached fonts and the data structure.
15430         (mswindows_initialize_font_instance): Added creation of font data
15431         structure.
15432         (mswindows_print_font_instance): Print at least something.
15433         (mswindows_create_font_variant): Implemented.
15434         (mswindows_get_hfont): Implemented.
15435
15436 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
15437
15438         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
15439         prototyping problem with msvc.
15440
15441         * emacs.c (main_1): added syms_of_gui_mswindows() call
15442
15443         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
15444         syms_of_gui_mswindows() function
15445
15446         * symsinit.h: added the prototype for syms_of_gui_mswindows()
15447
15448 2000-01-18  Martin Buchholz <martin@xemacs.org>
15449
15450         * XEmacs 21.2.27 is released.
15451
15452 2000-01-18  Martin Buchholz  <martin@xemacs.org>
15453
15454         * glyphs-eimage.c (struct tiff_error_struct):
15455         (tiff_error_func):
15456         (tiff_warning_func):
15457         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
15458
15459         * unexmips.c:
15460         * unexhp9k3.c:
15461         * unexfreebsd.c:
15462         * unexec.c: Remove vestigial Lucid C code.
15463         * unexalpha.c:
15464         * unexaix.c:
15465         * termcap.c:
15466         * libsst.c: Ansify.
15467         Remove declarations of errno and strerror().
15468
15469         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
15470
15471         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
15472
15473 2000-01-16  Martin Buchholz  <martin@xemacs.org>
15474
15475         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
15476         Optimize.
15477
15478 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15479
15480         * md5.c:
15481         * file-coding.c:
15482         * file-coding.h:
15483         Change enum eol_type to eol_type_t.
15484
15485 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15486
15487         * gui.c (get_gui_callback): Check cons before accessing car.
15488
15489 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15490
15491         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
15492         (XSETSPECIFIER_TYPE): Ditto.
15493
15494 2000-01-17  Didier Verna  <didier@xemacs.org>
15495
15496         * redisplay.c (generate_fstring_runes): compute string size in
15497         characters, not bytes.
15498
15499 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
15500
15501         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
15502
15503 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
15504
15505         * print.c (print_error_message): Call print_prepare().
15506
15507 2000-01-14  Martin Buchholz  <martin@xemacs.org>
15508
15509         * .dbxrc: Renamed from dbxrc.
15510
15511         * events.c (event_to_character):
15512         Use `assert (foo)' instead of `if (!foo) abort()'
15513
15514         * .gdbinit (xtype): Add documentation.
15515         * .gdbinit (check-temacs): New function.
15516         * .gdbinit (check-xemacs): New function.
15517         * dbxrc (check-xemacs): New function.
15518         * dbxrc (check-xemacs): New function.
15519
15520 2000-01-14  Andy Piper  <andy@xemacs.org>
15521
15522         * glyphs-widget.c (widget_query_geometry): Make sure that we
15523         calculate default dimensions correctly.
15524
15525 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15526
15527         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
15528
15529         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
15530         pdump_wire'd variable.
15531
15532         * emacs.c: (main_1): Conditionalized calls to
15533         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
15534
15535 2000-01-13  Martin Buchholz  <martin@xemacs.org>
15536
15537         * window.c (Fset_window_configuration):
15538         * sysdep.c (_start):
15539         * input-method-motif.c (res):
15540         * event-Xt.c (Xt_process_to_emacs_event):
15541         Simple compiler warning fixes.
15542
15543         * bytecode.c (funcall_compiled_function): Use the original
15544         function symbol on the backtrace list in preference to the
15545         compiled_function object in error messages.
15546
15547 2000-01-13  Andy Piper  <andy@xemacs.org>
15548
15549         * glyphs-x.c (update_widget_face): Make sure we update the widget
15550         background as well as foreground.
15551
15552 2000-01-13  Andy Piper  <andy@xemacs.org>
15553
15554         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
15555         fields to subwindow.
15556         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
15557         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
15558         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
15559         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
15560
15561         * glyphs-widget.c (check_valid_tab_orientation): new function.
15562         (initialize_widget_image_instance): zero orientation and
15563         justification.
15564         (widget_instantiate): pick up orientation.
15565         (tab_control_query_geometry): return appropriate values for
15566         vertical tabs.
15567
15568         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
15569         appropriate creation flags for left, right and bottom tabs.
15570
15571         * s/cygwin32.h: add tab definitions.
15572
15573 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15574
15575         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
15576         frame upon hiding a subwindow.
15577         (mswindows_button_instantiate): Changed the push button style to
15578         BS_PUSHBUTTON.
15579         (mswindows_button_instantiate): Removed button BS_NOTIFY
15580         style.
15581         (mswindows_button_instantiate): Removed redundant check for
15582         a disabled gui item.
15583         (mswindows_button_instantiate): Made use of WS_TABSTOP
15584         consistent: "operable" controls (edit, button, tree, scroll) have
15585         this style, "display-only" ones (static, progress gauge) do
15586         not. This style is currently ignored by XEmacs though. Also,
15587         removed the WS_EX_CONTROLPARENT style - it is not for children,
15588         it is for their parents!
15589         (mswindows_edit_field_instantiate): Ditto.
15590         (mswindows_progress_gauge_instantiate): Ditto.
15591         (mswindows_tree_view_instantiate): Ditto.
15592         (mswindows_tab_control_instantiate): Ditto.
15593         (mswindows_scrollbar_instantiate): Ditto.
15594         (mswindows_combo_box_instantiate): Ditto.
15595         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
15596         style to the "clip" window.
15597         (mswindows_button_instantiate): Removed compilation warning by
15598         equally typing terms of the ?: operator.
15599
15600 2000-01-12  Didier Verna  <didier@xemacs.org>
15601
15602         * redisplay.c (generate_fstring_runes): new parameter holding the
15603         last modeline-format extent.
15604         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
15605         extent, fill the glyph block with it.
15606         (generate_fstring_runes): handle these parameters.
15607         (generate_formatted_string_db): ditto.
15608
15609         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
15610         glyphs'extents in the modeline.
15611
15612 1999-01-11  Mike Woolley  <mike@bulsara.com>
15613
15614         * ntheap.c: Reduced the reserved heap space from 1Gb down to
15615         256Mb, as a workaround for the non-starting problem many people
15616         have experienced.
15617
15618 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15619
15620         * console-tty.c (Fset_console_tty_output_coding_system):
15621         Force redrawing tty frame.
15622
15623 2000-01-10  Didier Verna  <didier@xemacs.org>
15624
15625         * redisplay.c (generate_fstring_runes): fix size computation bug.
15626
15627 2000-01-09  William M. Perry <wmperry@aventail.com>
15628
15629         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
15630
15631 2000-01-09  Andy Piper  <andy@xemacs.org>
15632
15633         * glyphs-msw.c: index -> i to avoid shadows.
15634         (xbm_create_bitmap_from_data): make static.
15635         (check_valid_string_or_int): deleted.
15636         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
15637
15638         * glyphs-x.c (x_update_subwindow): remove unused args.
15639
15640         * glyphs.c (glyph_image_instance): return the thing. Don't set the
15641         back pointer - this is done in allocate_image_instance.
15642         (query_string_font): return Qnil to make the compiler happy.
15643         (unmap_subwindow): set to ~0 to make the compiler happy.
15644         (glyph_query_geometry): comment out until used.
15645         (glyph_layout): ditto.
15646
15647 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
15648
15649         * insdel.c (signal_after_change): Remove extraneous unbind_to().