Sync up with r21-4-11-chise-0_21-=cns11643-1.
[chise/xemacs-chise.git] / 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-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
94
95         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
96         of `ucs'.
97         (Qmap_ucs): New variable.
98         (syms_of_mule_charset): Add new symbol `=ucs'.
99         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
100
101         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
102
103         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
104
105         * char-ucs.h (Qmap_ucs): New extern variable.
106
107 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
108
109         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
110         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
111         don't define it when UTF2000 is not defined.
112         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
113         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
114         when UTF2000 is not defined.
115         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
116         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
117
118 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
119
120         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
121
122         * mule-charset.c (Vcharset_ucs_gb): Deleted.
123         (Qucs_gb): Deleted.
124         (syms_of_mule_charset): Delete `ucs-gb'.
125         (complex_vars_of_mule_charset): Likewise.
126
127 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
128
129         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
130
131         * mule-charset.c (Vcharset_ucs_cns): Deleted.
132         (Qucs_cns): Deleted.
133         (syms_of_mule_charset): Delete `ucs-cns'.
134         (complex_vars_of_mule_charset): Likewise.
135
136 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
137
138         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
139
140         * mule-charset.c (Vcharset_ucs_jis): Deleted.
141         (Qucs_jis): Deleted.
142         (syms_of_mule_charset): Delete `ucs-jis'.
143         (complex_vars_of_mule_charset): Likewise.
144
145 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
146
147         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
148
149         * mule-charset.c (Vcharset_ucs_ks): Deleted.
150         (Qucs_ks): Deleted.
151         (syms_of_mule_charset): Delete `ucs-ks'.
152         (complex_vars_of_mule_charset): Likewise.
153
154 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
155
156         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
157         (Qideograph_daikanwa_2): Deleted.
158         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
159         (complex_vars_of_mule_charset): Likewise.
160
161         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
162         (LEADING_BYTE_DAIKANWA_1): Deleted.
163         (LEADING_BYTE_DAIKANWA_2): Deleted.
164         (MIN_CHAR_DAIKANWA): Deleted.
165         (MAX_CHAR_DAIKANWA): Deleted.
166
167 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
168
169         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
170         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
171         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
172
173         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
174         (Vcharset_ideograph_daikanwa): Deleted.
175         (Qideograph_hanziku_{1..12}): Deleted.
176         (Qideograph_daikanwa): Deleted.
177         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
178         Vcharset_ideograph_daikanwa.
179         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
180         `ideograph-hanziku-{1..12}'.
181         (complex_vars_of_mule_charset): Likewise.
182
183 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
184
185         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
186
187         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
188         (Qideograph_gt_pj_{1..11}): Deleted.
189         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
190         (complex_vars_of_mule_charset): Likewise.
191
192 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
193
194         * mule-charset.c (Vcharset_ucs_big5): Deleted.
195         (Vcharset_ideograph_gt): Deleted.
196         (Qucs_big5): Deleted.
197         (Qideograph_gt): Deleted.
198         (syms_of_mule_charset): Delete symbol `ucs-big5' and
199         `ideograph-gt'.
200         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
201         and `ideograph-gt'.
202
203         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
204         (LEADING_BYTE_GT): Deleted.
205         (GC_CHARSETP): Deleted.
206         (MIN_CHAR_GT): Deleted.
207         (MAX_CHAR_GT): Deleted.
208
209 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
210
211         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
212
213 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
214
215         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
216         (Qideograph_cbeta): Deleted.
217         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
218         (complex_vars_of_mule_charset): Likewise.
219
220         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
221         (MIN_CHAR_CBETA): Comment out.
222         (MAX_CHAR_CBETA): Likewise.
223
224 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
225
226         * mule-charset.c (charset_lookup_description_1): Use
227         `NUM_LEADING_BYTES' in UTF-2000.
228
229 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
230
231         * mule-charset.c (Vcharset_china3_jef): Deleted.
232         (Qchina3_jef): Deleted.
233         (syms_of_mule_charset): Don't define `china3-jef'.
234         (complex_vars_of_mule_charset): Likewise.
235
236         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
237         (MIN_CHAR_CHINA3_JEF): Comment out.
238         (MAX_CHAR_CHINA3_JEF): Comment out.
239
240 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
241
242         * mule-charset.c (Vcharset_ucs_gb): New variable.
243         (Qucs_gb): New variable.
244         (syms_of_mule_charset): Add new symbol `ucs-gb'.
245         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
246
247         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
248
249 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
250
251         * mule-charset.c (charset_code_point): if a coded-charset has a
252         final-byte, don't inherit the builtin range of the mother CCS.
253
254 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
255
256         * mule-charset.c (charset_code_point): Fix problem about
257         inheritance.
258
259 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
260
261         * mule-charset.c (decode_builtin_char): Reorganized.
262
263 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
264
265         * text-coding.c (char_encode_shift_jis): Modify for
266         `charset_code_point'.
267         (char_encode_big5): Likewise.
268         (char_encode_utf8): Likewise.
269         (char_encode_iso2022): Likewise.
270
271         * mule-charset.c (charset_code_point): Add new argument
272         `defined_only'.
273         (Fencode_char): Add new optional argument `defined_only'.
274
275         * chartab.c (put_char_table): Modify for `charset_code_point'.
276         (map_char_table): Likewise.
277
278         * char-ucs.h (charset_code_point): Add new argument
279         `defined_only'.
280         (encode_char_1): Modify for `charset_code_point'.
281
282 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
283
284         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
285         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
286
287 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
288
289         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
290         (Qjis_x0208): Likewise.
291         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
292         XCHARSET_FINAL(charset).
293         (charset_code_point): Modify condition for final-byte based
294         builtin-chars.
295         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
296         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
297         in UTF-2000; specify `=jis-x0208' as the mother of
298         `japanese-jisx0208-1978', `japanese-jisx0208' and
299         `japanese-jisx0208-1990' in UTF-2000.
300
301 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
302
303         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
304
305 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
306
307         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
308         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
309         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
310         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
311         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
312         CONVERSION_96x96x96x96 are introduced.
313         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
314         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
315         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
316
317         * char-ucs.h (CONVERSION_94): New macro.
318         (CONVERSION_96): New macro.
319         (CONVERSION_94x94): New macro.
320         (CONVERSION_96x96): New macro.
321         (CONVERSION_94x94x94): New macro.
322         (CONVERSION_96x96x96): New macro.
323         (CONVERSION_94x94x94x60): New macro.
324         (CONVERSION_94x94x94x94): New macro.
325         (CONVERSION_96x96x96x96): New macro.
326
327 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
328
329         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
330
331         * fns.c (Qideographic_structure): New variable.
332         (Qkeyword_char): New variable.
333         (ids_format_unit): New function.
334         (Fideographic_structure_to_ids): New function.
335         (syms_of_fns): Add new symbols `ideographic-structure' and
336         `:char'; add new builtin function `ideographic-structure-to-ids'.
337
338         * data.c (Fchar_ref_p): New function.
339         (syms_of_data): Add new builtin function `char-ref-p'.
340
341         * chartab.h: Add an EXFUN for `Ffind_char'.
342
343 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
344
345         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
346         and `COMPOSE_ADD_CHAR'.
347         (decode_coding_iso2022): Use `decode_flush_er_chars'.
348
349 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
350
351         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
352         instead of `DECODE_ADD_UCS_CHAR'.
353         (COMPOSE_ADD_CHAR): Likewise.
354
355 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
356
357         * text-coding.c (decode_flush_er_chars): New inline function.
358         (decode_add_er_char): New function.
359         (decode_coding_utf8): Use `decode_flush_er_chars' and
360         `decode_add_er_char'.
361
362 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
363
364         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
365         done before `decode_output_utf8_partial_char'.
366
367         * mule-charset.c (complex_vars_of_mule_charset): Specify
368         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
369         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
370
371 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
372
373         * mule-charset.c (decode_defined_char): New function; search
374         mother.
375         (decode_builtin_char): Don't search mother if
376         XCHARSET_MAX_CODE(charset) == 0.
377         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
378         == 0 even if code >= XCHARSET_MAX_CODE(charset).
379         (Fdecode_char): Use `decode_defined_char' instead of
380         `DECODE_DEFINED_CHAR'.
381         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
382         mother of `Vcharset_ucs_jis'.
383
384         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
385         instead of `DECODE_DEFINED_CHAR'.
386
387         * char-ucs.h (decode_defined_char): Renamed from
388         `DECODE_DEFINED_CHAR'; changed to normal function.
389         (DECODE_CHAR): Use `decode_defined_char' instead of
390         `DECODE_DEFINED_CHAR'.
391
392         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
393
394 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
395
396         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
397
398         * text-coding.c (Vcoded_charset_entity_reference_alist): New
399         variable.
400         (Quse_entity_reference): New variable.
401         (Qd): New variable.
402         (Qx): New variable.
403         (QX): New variable.
404         (coding_system_description): Add description for
405         `ccs_priority_list'.
406         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
407         (allocate_coding_system): Initialize `ccs_priority_list' in
408         UTF-2000.
409         (Fmake_coding_system): Add description about
410         'use-entity-reference; setup
411         CODING_SYSTEM_USE_ENTITY_REFERENCE(codesys).
412         (Fcoding_system_property): Accept `disable-composition' and
413         `use-entity-reference' in UTF-2000.
414         (struct decoding_stream): Add new member `er_counter' and `er_buf'
415         in UTF-2000.
416         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
417         (decode_coding_utf8): Decode entity-reference if
418         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
419         (char_encode_utf8): Encode non-Unicode characters as
420         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
421         (str->codesys).
422         (syms_of_file_coding): Add new symbols `use-entity-reference',
423         `d', `x', `X'.
424         (vars_of_file_coding): Add new variable
425         `coded-charset-entity-reference-alist'.
426         (complex_vars_of_file_coding): Declare `disable-composition' and
427         `use-entity-reference' to be coding-system-properties in UTF-2000.
428
429         * file-coding.h (struct Lisp_Coding_System): Add new member
430         `use_entity_reference' and `ccs_priority_list'.
431         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
432         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
433         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
434
435 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
436
437         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
438
439 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
440
441         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
442         `XCHARSET_GRAPHIC(ccs)'.
443
444 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
445
446         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
447         for decoding-table.
448
449 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
450
451         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
452         instead of `XCHARSET_CHARS'.
453
454 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
455
456         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
457         (XCHARSET_BYTE_SIZE): Likewise.
458
459         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
460         mule-charset.c].
461         (XCHARSET_BYTE_SIZE): Likewise.
462
463 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
464
465         * char-ucs.h (decoding_table_check_elements): Delete prototype.
466         (get_ccs_octet_table): New inline function.
467         (put_ccs_octet_table): Likewise.
468         (decoding_table_put_char): Use `get_ccs_octet_table' and
469         `put_ccs_octet_table'.
470         (decoding_table_remove_char): Use `decoding_table_put_char'.
471         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
472
473         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
474         into encoding_table.
475         (make_charset): Use Qunbound instead Qnil as initial value of
476         decoding_table.
477
478 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
479
480         * mule-charset.c (put_char_ccs_code_point): Modify for
481         `decoding_table_remove_char' and `decoding_table_put_char'.
482         (remove_char_ccs): Modify for `decoding_table_remove_char'.
483
484         * char-ucs.h (decoding_table_remove_char): Change arguments to
485         hide decoding_table vector.
486         (decoding_table_put_char): Likewise.
487
488 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
489
490         * mule-charset.c (decoding_table_remove_char): Moved to
491         char-ucs.h.
492         (decoding_table_put_char): Likewise.
493
494         * char-ucs.h (decoding_table_check_elements): New prototype [moved
495         from mule-charset.c].
496         (decoding_table_remove_char): New inline function [moved from
497         mule-charset.c].
498         (decoding_table_put_char): Likewise.
499
500 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
501
502         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
503         instead of `DECODE_CHAR' for mother; don't use special code for
504         chinese-big5 to use code space of chinese-big5-1 and
505         chinese-big5-2.
506         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
507         `MAX_CHAR_BIG5_CDP' for chinese-big5.
508
509         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
510         (MAX_CHAR_BIG5_CDP): Revival.
511
512 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
513
514         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
515         the XLFD registry-encoding name of `chinese-big5'.
516
517 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
518
519         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
520         (Qchinese_big5_cdp): Deleted.
521         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
522         (complex_vars_of_mule_charset): Delete coded-charset
523         `chinese-big5-cdp'.
524
525         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
526         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
527         `CHARSET_ID_OFFSET - n' for private CCS.
528         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
529         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
530         of `MIN_LEADING_BYTE'.
531         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
532         `(CHARSET_ID_OFFSET - 97)'.
533         (MIN_CHAR_BIG5_CDP): Deleted.
534         (MAX_CHAR_BIG5_CDP): Deleted.
535
536 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
537
538         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
539         extension.
540
541 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
542
543         * mule-charset.c (decode_builtin_char): Support mother charsets.
544
545 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
546
547         * mule-charset.c (Q94x94x60): New variable.
548         (charset_code_point): Support conversion `94x94x60'.
549         (Fmake_charset): Likewise.
550         (syms_of_mule_charset): Add new symbol `94x94x60'.
551
552         * char-ucs.h (CONVERSION_94x94x60): New macro.
553
554 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
555
556         * mule-charset.c (charset_code_point): Unify code about
557         `code-offset'.
558
559 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
560
561         * mule-charset.c (charset_code_point): Merge code about builtin
562         characters into code about mother charsets; don't use
563         `range_charset_code_point'.
564         (range_charset_code_point): Deleted.
565
566 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
567
568         * mule-charset.c (Qcode_offset): New variable.
569         (Fmake_charset): Use `XUINT' to get value of `min-code' and
570         `max-code'; accept new property `code-offset'.
571         (syms_of_mule_charset): Add new symbol `code-offset'.
572
573 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
574
575         * mule-charset.c (range_charset_code_point): Fixed.
576
577 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
578
579         * mule-charset.c (decode_builtin_char): Change semantics of
580         code-offset of coded-charset.
581         (charset_code_point): Likewise.
582         (range_charset_code_point): Likewise.
583         (complex_vars_of_mule_charset): Modify for the change.
584
585 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
586
587         * mule-charset.c (Fencode_char): Reverse arguments.
588
589         * mule-charset.c (charset_code_point): Fixed.
590
591 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
592
593         * mule-charset.c (Vcharset_mojikyo): Deleted.
594         (Vcharset_mojikyo_2022_1): Deleted.
595         (Vcharset_mojikyo_pj_{1..21}): Deleted.
596         (Qmin_code): New variable in UTF-2000.
597         (Qmax_code): Likewise.
598         (Qmother): Likewise.
599         (Qconversion): Likewise.
600         (Q94x60): Likewise.
601         (Qmojikyo): Deleted.
602         (Qmojikyo_2022_1): Deleted.
603         (Qmojikyo_pj_{1..22}): Deleted.
604         (mark_charset): Mark `cs->mother'.
605         (charset_description): Add description for `mother'.
606         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
607         new arguments `mother' and `conversion'; use
608         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
609         (charset_code_point): Moved from char-ucs.h; support `mother'
610         charset feature.
611         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
612         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
613         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
614         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
615         allow 2 as the value of `graphic' in UTF-2000; add new properties
616         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
617         require `final' in UTF-2000; modify for `make_charset'.
618         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
619         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
620         (Fcharset_property): Support `mother', `min-code' and `max-code'.
621         (Fencode_char): New function.
622         (syms_of_mule_charset): Add new builtin function `encode-char' in
623         UTF-2000; add new symbols `min-code', `max-code', `mother',
624         `conversion' and `94x60'; delete symbols `mojikyo',
625         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
626         (complex_vars_of_mule_charset): Modify for `make_charset' change;
627         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
628         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
629
630         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
631         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
632
633         * char-ucs.h (Vcharset_mojikyo): Deleted.
634         (Vcharset_mojikyo_2022_1): Deleted.
635         (LEADING_BYTE_MOJIKYO): Deleted.
636         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
637         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
638         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
639         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
640         add new member `mother'; add new member `conversion'.
641         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
642         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
643         (CHARSET_MOTHER): New macro.
644         (CHARSET_CONVERSION): New macro.
645         (CONVERSION_IDENTICAL): New macro.
646         (CONVERSION_94x60): New macro.
647         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
648         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
649         (XCHARSET_MOTHER): New macro.
650         (XCHARSET_CONVERSION): New macro.
651         (MIN_CHAR_MOJIKYO): Deleted.
652         (MAX_CHAR_MOJIKYO): Deleted.
653         (DECODE_MOJIKYO_2022): Deleted.
654         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
655         (charset_code_point): Changed to non-inline function.
656         (encode_char_1): Use `charset_code_point'.
657         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
658
659 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
660
661         * lread.c (read_compiled_function): Fix prototype.
662         (read_vector): Likewise.
663
664 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
665
666         * lrecord.h (struct lrecord_header): Delete `older'.
667         (set_lheader_implementation): Delete code for `older'.
668         (set_lheader_older_implementation): Deleted.
669         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
670         (OLDER_RECORD_P): Deleted.
671         (OLDER_RECORD_HEADER_P): Deleted.
672         (alloc_older_lcrecord): Deleted.
673         (alloc_older_lcrecord_type): Deleted.
674
675         * alloc.c (all_older_lcrecords): Deleted.
676         (alloc_older_lcrecord): Deleted.
677         (disksave_object_finalization_1): Delete code for older objects.
678         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
679         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
680
681 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
682
683         * mule-charset.c (decoding_table_put_char): Use `make_vector'
684         instead of `make_older_vector'.
685         (put_char_ccs_code_point): Likewise.
686         (mark_charset): Mark `cs->decoding_table'.
687         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
688
689         * lisp.h (make_older_vector): Deleted.
690         (make_vector_newer): Deleted.
691
692         * config.h.in (HAVE_GGC): Deleted.
693
694         * alloc.c (make_older_vector): Deleted.
695         (make_vector_newer_1): Deleted.
696         (make_vector_newer): Deleted.
697
698 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
699
700         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
701         (Qideograph_daikanwa_2): New variable.
702         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
703         (complex_vars_of_mule_charset): Add new coded-charset
704         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
705         `LEADING_BYTE_DAIKANWA'.
706
707         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
708         (LEADING_BYTE_DAIKANWA_1): New macro.
709         (LEADING_BYTE_DAIKANWA_2): New macro.
710         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
711
712 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
713
714         * mule-charset.c (complex_vars_of_mule_charset): Change
715         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
716         the second revised version.
717
718 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
719
720         * mule-charset.c (Vcharset_ucs_smp): New variable.
721         (Vcharset_ucs_sip): New variable.
722         (Qucs_smp): New variable.
723         (Qucs_sip): New variable.
724         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
725         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
726         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
727         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
728         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
729         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
730
731         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
732         (LEADING_BYTE_UCS_SIP): New macro.
733         (MIN_CHAR_SMP): New macro.
734         (MAX_CHAR_SMP): New macro.
735         (MIN_CHAR_SIP): New macro.
736         (MAX_CHAR_SIP): New macro.
737
738 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
739
740         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
741         utf-2000.
742
743 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
744
745         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
746         value; don't store value into `encoding_table' of `Lisp_Charset'.
747         (mark_charset): `encoding_table' was deleted.
748         (charset_description): Likewise.
749         (make_charset): Likewise.
750         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
751         `put_char_ccs_code_point'.
752
753         * chartab.h (Fput_char_attribute): New EXFUN.
754
755         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
756         is unified with normal symbol space.
757         (Fget_char_attribute): Likewise.
758         (Fput_char_attribute): Likewise; behavior of
759         `put_char_ccs_code_point' is changed.
760
761         * char-ucs.h: Include "elhash.h".
762         (Vchar_attribute_hash_table): New external variable.
763         (struct Lisp_Charset): Delete `encoding_table'.
764         (CHARSET_ENCODING_TABLE): New implementation; refer
765         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
766         `Lisp_Charset'.
767
768 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
769
770         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
771         (cs) == 0.
772
773 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
774
775         * text-coding.c (char_encode_big5): Prefer charset-g1 than
776         `chinese-big5'.
777
778 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
779
780         * chartab.c (uint8_byte_table_description): New constant.
781         (uint8-byte-table): Use `uint8_byte_table_description'.
782         (uint16_byte_table_description): New constant.
783         (uint16-byte-table): Use `uint16_byte_table_description'.
784
785 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
786
787         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
788         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
789
790 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
791
792         * mule-charset.c (Vcharset_ucs_ks): New variable.
793         (Qucs_ks): New variable.
794         (syms_of_mule_charset): Add new symbol `ucs-ks'.
795         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
796
797         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
798
799 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
800
801         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
802         (Fdecode_char): Likewise.
803
804         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
805         chartab.h.
806         (Fdefine_char): Modify for Fdecode_char.
807         (Ffind_char): Likewise.
808
809         * mule-charset.c (Fdecode_char): Add new optional argument
810         `defined-only'.
811         (Fdecode_builtin_char): Modify for `Fdecode_char'.
812
813 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
814
815         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
816         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
817         (allocate_coding_system): Initialize initial-charsets of
818         CODESYS_BIG5 in XEmacs UTF-2000.
819         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
820         CODESYS_BIG5 in XEmacs UTF-2000.
821         (decode_coding_big5): Use initial-charset-g0 and -g1 of
822         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
823
824         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
825         variables.
826         (Qideograph_hanziku_{1 .. 12}): Likewise.
827         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
828         .. 12}'.
829         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
830         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
831         `ideograph-hanziku-{1 .. 12}'.
832
833         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
834         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
835         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
836         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
837         (DECODE_DEFINED_CHAR): New inline function.
838         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
839
840 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
841
842         * mule-charset.c (Vcharset_china3_jef): Renamed from
843         `Vcharset_japanese_jef_china3'.
844         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
845         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
846         `{MIN|MAX}_CHAR_JEF_CHINA3'..
847         (syms_of_mule_charset): Rename `china3-jef' from
848         `japanese-jef-china3'.
849         (complex_vars_of_mule_charset): Likewise; rename
850         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
851
852         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
853         `LEADING_BYTE_JEF_CHINA3'.
854         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
855         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
856
857 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
858
859         * mule-charset.c (encode_builtin_char_1): Comment out special code
860         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
861
862         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
863         (MAX_CHAR_MOJIKYO_0): Comment out.
864         (MIN_CHAR_CBETA): Changed to 0x00E20000.
865         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
866         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
867         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
868
869 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
870
871         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
872         (Qideograph_cbeta): New variable.
873         (encode_builtin_char_1): Comment out special code for
874         coded-charset `mojikyo' and `japanese-jef-china3'.
875         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
876         (complex_vars_of_mule_charset): Add new coded-charset
877         `ideograph-cbeta'.
878
879         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
880         (MIN_CHAR_CBETA): New macro.
881         (MAX_CHAR_CBETA): New macro.
882
883 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
884
885         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
886         (LEADING_BYTE_JEF_CHINA3): New macro.
887         (MIN_CHAR_JEF_CHINA3): New macro.
888         (MAX_CHAR_JEF_CHINA3): Likewise.
889         (DECODE_CHAR): Fixed.
890
891 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
892
893         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
894         (Qjapanese_jef_china3): New variable.
895         (encode_builtin_char_1): Support `japanese-jef-china3'.
896         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
897         (complex_vars_of_mule_charset): Add new coded-charset
898         `japanese-jef-china3'.
899
900 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
901
902         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
903         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
904         94^4, 96^3, 96^4, 128^n and 256^n set.
905         (put_char_table): Use `XCHARSET_CELL_RANGE'.
906         (map_char_table): Likewise.
907
908 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
909
910         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
911         UTF-2000.
912
913 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
914
915         * chartab.h (get_char_id_table): New inline function.
916
917         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
918         function.
919
920 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
921
922         * chartab.h (decode_char_table_range): New prototype in XEmacs
923         UTF-2000.
924         (put_char_id_table): New inline function in XEmacs UTF-2000.
925
926         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
927         function.
928         (decode_char_table_range): Delete static declaration in XEmacs
929         UTF-2000.
930
931 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
932
933         * chartab.c (put_char_id_table): Use `put_char_table'.
934
935 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
936
937         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
938         (map_over_uint16_byte_table): Likewise.
939         (map_over_byte_table): Likewise.
940         (map_char_table): Modify for `map_over_uint8_byte_table',
941         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
942         UTF-2000.
943
944 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
945
946         * chartab.c (struct map_char_table_for_charset_arg): New
947         structure.
948         (map_char_table_for_charset_fun): New function.
949         (map_char_table): Use `map_char_table' for encoding_table of
950         `range->charset'.
951
952 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
953
954         * chartab.c (map_char_table): Check a character is found in
955         range->charset instead of non default value is defined in
956         char-table when range is CHARTAB_RANGE_ROW.
957
958 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
959
960         * chartab.c (map_char_id_table): Deleted.
961         (Fmap_char_attribute): Use `map_char_table' instead of
962         `map_char_id_table'.
963
964 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
965
966         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
967         UTF-2000.
968         (update_syntax_table): Deleted in XEmacs UTF-2000.
969
970         * syntax.c (find_defun_start): Use `syntax_table' instead of
971         `mirror_syntax_table' in XEmacs UTF-2000.
972         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
973         UTF-2000.
974         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
975         XEmacs UTF-2000.
976         (Fmatching_paren): Likewise.
977         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
978         in XEmacs UTF-2000.
979         (find_start_of_comment): Likewise.
980         (find_end_of_comment): Likewise.
981         (Fforward_comment): Likewise.
982         (scan_lists): Likewise.
983         (char_quoted): Likewise.
984         (Fbackward_prefix_chars): Likewise.
985         (scan_sexps_forward): Likewise.
986         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
987         (update_syntax_table): Likewise.
988
989         * search.c (skip_chars): Use `syntax_table' instead of
990         `mirror_syntax_table' in XEmacs UTF-2000.
991         (wordify): Likewise.
992         (Freplace_match): Likewise.
993
994         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
995         `mirror_syntax_table' in XEmacs UTF-2000.
996         (WORDCHAR_P_UNSAFE): Likewise.
997         (re_match_2_internal): Likewise.
998
999         * font-lock.c (find_context): Use `buf->syntax_table' instead of
1000         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1001
1002         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
1003         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
1004
1005         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
1006         XEmacs UTF-2000.
1007
1008         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
1009         UTF-2000.
1010         (print_char_table): Print `default_value' in XEmacs UTF-2000.
1011         (char_table_description): Delete `mirror_table' in XEmacs
1012         UTF-2000.
1013         (fill_char_table): Don't call `update_syntax_table' in XEmacs
1014         UTF-2000.
1015         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
1016         (Fcopy_char_table): Likewise.
1017         (put_char_table): Don't call `update_syntax_table' in XEmacs
1018         UTF-2000.
1019
1020         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
1021         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1022         (casify_region_internal): Likewise.
1023
1024         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
1025
1026         * buffer.c (common_init_complex_vars_of_buffer): Don't use
1027         `mirror_syntax_table' in XEmacs UTF-2000.
1028
1029         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
1030         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1031         (Fexpand_abbrev): Likewise.
1032
1033 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1034
1035         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
1036
1037 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1038
1039         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
1040         (map_over_uint16_byte_table): Likewise.
1041         (map_over_byte_table): Likewise.
1042         (get_char_id_table): Refer `cit->default_value'.
1043         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1044         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
1045         of character-id ranges.
1046         (mark_char_table): Mark `ct->default_value'.
1047         (char_table_description): Add `default_value'.
1048         (fill_char_table): Use `default_value'.
1049         (decode_char_table_range): Decode `nil' as
1050         `CHARTAB_RANGE_DEFAULT'.
1051         (get_char_id_table): Refer `cit->default_value'.
1052         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1053         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
1054         temporary hack; check value of char-table is bound or not.
1055         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
1056
1057         * chartab.h (struct Lisp_Char_Table): Add new member
1058         `default_value' in XEmacs UTF-2000.
1059         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
1060         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
1061         UTF-2000.
1062
1063 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1064
1065         * chartab.h (Lisp_Char_ID_Table): Deleted.
1066
1067         * chartab.c (char_table_description): Fix typo.
1068         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
1069         `Lisp_Char_ID_Table'.
1070
1071 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1072
1073         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
1074         `CHAR_ID_TABLE_P'.
1075
1076         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
1077         `CHAR_ID_TABLE_P'.
1078
1079         * chartab.h (XCHAR_ID_TABLE): Deleted.
1080         (XSETCHAR_ID_TABLE): Deleted.
1081         (CHAR_ID_TABLE_P): Deleted.
1082
1083         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
1084         `CHAR_ID_TABLE_P'.
1085         (Fget_composite_char): Likewise.
1086         (put_char_table): Likewise.
1087         (add_char_attribute_alist_mapper): Fixed.
1088         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
1089         `CHAR_ID_TABLE_P'.
1090         (Fget_char_attribute): Likewise.
1091         (Fget_char_attribute): Likewise.
1092         (Fmap_char_attribute): Likewise.
1093
1094         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
1095         `CHAR_ID_TABLE_P'.
1096         (encode_char_1): Likewise.
1097
1098 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1099
1100         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
1101         `XCHAR_ID_TABLE'.
1102
1103         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
1104         instead of `XCHAR_ID_TABLE'.
1105         (remove_char_ccs): Likewise.
1106
1107         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
1108         `XCHAR_ID_TABLE'.
1109         (Fget_composite_char): Likewise.
1110         (Fchar_variants): Likewise.
1111         (put_char_table): Likewise.
1112         (add_char_attribute_alist_mapper): Likewise.
1113         (Fchar_attribute_alist): Likewise.
1114         (Fget_char_attribute): Likewise.
1115         (Fput_char_attribute): Likewise.
1116         (Fmap_char_attribute): Likewise.
1117         (Fmap_char_attribute): Likewise.
1118
1119         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
1120         `XCHAR_ID_TABLE'.
1121         (encode_char_1): Likewise.
1122
1123 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1124
1125         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
1126         `Lisp_Char_ID_Table'.
1127         (mark_char_id_table): Deleted.
1128         (print_char_id_table): Likewise.
1129         (char_id_table_equal): Likewise.
1130         (char_id_table_hash): Likewise.
1131         (char_id_table_description): Likewise.
1132         (char_id_table): Likewise.
1133         (make_char_id_table): Use `Fmake_char_table' and
1134         `fill_char_table'.
1135         (get_char_id_table): Use `Lisp_Char_Table' instead of
1136         `Lisp_Char_ID_Table'.
1137         (put_char_id_table): Likewise.
1138         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
1139         `XCHAR_ID_TABLE'.
1140         (Fremove_char_attribute): Likewise.
1141         (syms_of_chartab): Don't define type `char-id-table'.
1142
1143         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
1144         (char_id_table): Likewise.
1145         (GC_CHAR_ID_TABLE_P): Likewise.
1146         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
1147         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
1148         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
1149         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
1150         (get_char_id_table): Use `Lisp_Char_Table' instead of
1151         `Lisp_Char_ID_Table'.
1152         (put_char_id_table_0): Likewise.
1153         (put_char_id_table): Likewise.
1154
1155 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1156
1157         * chartab.h: Lisp_Byte_Table related codes are moved from
1158         chartab.h.
1159
1160         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
1161
1162 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1163
1164         * chartab.h: Don't include "chartab.h".
1165         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
1166         (Lisp_Char_ID_Table): Likewise.
1167         (char_id_table): Likewise.
1168         (XCHAR_ID_TABLE): Likewise.
1169         (XSETCHAR_ID_TABLE): Likewise.
1170         (CHAR_ID_TABLE_P): Likewise.
1171         (GC_CHAR_ID_TABLE_P): Likewise.
1172         (get_char_id_table): Likewise.
1173
1174         * char-ucs.h: Include "chartab.h".
1175         (struct Lisp_Char_ID_Table): Moved to chartab.h.
1176         (Lisp_Char_ID_Table): Likewise.
1177         (char_id_table): Likewise.
1178         (XCHAR_ID_TABLE): Likewise.
1179         (XSETCHAR_ID_TABLE): Likewise.
1180         (CHAR_ID_TABLE_P): Likewise.
1181         (GC_CHAR_ID_TABLE_P): Likewise.
1182         (get_char_id_table): Likewise.
1183
1184 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1185
1186         * chartab.c (copy_uint8_byte_table): New function.
1187         (copy_uint16_byte_table): New function.
1188         (copy_byte_table): New function.
1189         (map_over_uint8_byte_table): Modify to avoid huge numbers of
1190         characters to call.
1191         (map_over_uint16_byte_table): Likewise.
1192         (map_over_byte_table): Likewise.
1193         (get_byte_table): Move prototype to chartab.h.
1194         (put_byte_table): Likewise.
1195         (put_char_id_table_0): Moved to chartab.h.
1196         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
1197         (char_table_entry_equal): Likewise.
1198         (char_table_entry_hash): Likewise.
1199         (char_table_entry_description): Likewise.
1200         (char_table_entry): Likewise.
1201         (make_char_table_entry): Likewise.
1202         (copy_char_table_entry): Likewise.
1203         (get_non_ascii_char_table_value): Likewise.
1204         (map_over_charset_ascii): Likewise.
1205         (map_over_charset_control_1): Likewise.
1206         (map_over_charset_row): Likewise.
1207         (map_over_other_charset): Likewise.
1208         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
1209         (print_char_table): Likewise.
1210         (char_table_equal): Likewise.
1211         (char_table_hash): Likewise.
1212         (char_table_description): Likewise.
1213         (fill_char_table): Likewise.
1214         (Fcopy_char_table): Likewise.
1215         (get_char_table): Likewise.
1216         (Fget_range_char_table): Likewise.
1217         (put_char_table): Likewise.
1218         (map_char_table): Likewise.
1219         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
1220         UTF-2000.
1221
1222 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1223
1224         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
1225         `Vauto_fill_chars' in XEmacs UTF-2000.
1226
1227         * chartab.h (get_byte_table): New prototype [moved from
1228         chartab.c].
1229         (put_byte_table): Likewise [moved from chartab.c].
1230         (put_char_id_table_0): New inline function [moved from chartab.c].
1231         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
1232         (Lisp_Char_Table_Entry): Likewise.
1233         (char_table_entry): Likewise.
1234         (XCHAR_TABLE_ENTRY): Likewise.
1235         (XSETCHAR_TABLE_ENTRY): Likewise.
1236         (CHAR_TABLE_ENTRYP): Likewise.
1237         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1238         (NUM_ASCII_CHARS): Likewise.
1239         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1240         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1241
1242 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1243
1244         * chartab.c (get_char_id_table): Change interface.
1245         (put_char_id_table_0): New function.
1246         (put_char_id_table): Change interface; new implementation.
1247         (Fget_composite_char): Modify for interface change of
1248         `get_char_id_table'.
1249         (Fchar_variants): Likewise.
1250         (add_char_attribute_alist_mapper): Likewise.
1251         (Fchar_attribute_alist): Likewise.
1252         (Fget_char_attribute): Likewise.
1253         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1254         as same as character as the first argument like `put-char-table';
1255         modify for interface change of `put_char_id_table'.
1256         (Fremove_char_attribute): Modify for interface change of
1257         `put_char_id_table'.
1258
1259 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1260
1261         * text-coding.c: Sync up with XEmacs 21.2.41.
1262         (COMPOSE_ADD_CHAR): Modify for interface change of
1263         `get_char_id_table'.
1264
1265         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1266         change of `put_char_id_table'.
1267         (remove_char_ccs): Likewise.
1268
1269         * chartab.h (put_char_id_table): Change interface.
1270
1271         * char-ucs.h (get_char_id_table): Change interface.
1272         (charset_code_point): Modify for interface change of
1273         `get_char_id_table'.
1274         (encode_char_1): Likewise.
1275
1276 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1277
1278         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1279         argument `ccs'.
1280         (map_over_uint16_byte_table): Likewise.
1281         (map_over_byte_table): Likewise.
1282         (map_char_id_table): Add new argument `range' like
1283         `map_char_table'.
1284         (Fmap_char_attribute): Add new argument `range' like
1285         `Fmap_char_table'.
1286
1287 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1288
1289         * chartab.c (map_over_uint8_byte_table): Change interface of
1290         mapping function to use struct chartab_range instead of Emchar.
1291         (map_over_uint16_byte_table): Likewise.
1292         (map_over_byte_table): Likewise.
1293         (map_char_id_table): Likewise.
1294         (struct slow_map_char_id_table_arg): Deleted.
1295         (slow_map_char_id_table_fun): Deleted.
1296         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1297         function `slow_map_char_table_fun' instead of struct
1298         `slow_map_char_id_table_arg' and function
1299         `slow_map_char_id_table_fun'.
1300
1301 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1302
1303         * mule-charset.c: Move char-it-table related codes to chartab.c.
1304         (Vutf_2000_version): Moved to chartab.c.
1305         (Fdefine_char): Likewise.
1306         (Ffind_char): Likewise.
1307         (syms_of_mule_charset): Move types `uint8-byte-table',
1308         `uint16-byte-table', `byte-table' and `char-id-table' to
1309         chartab.c; move functions `char_attribute_list,
1310         `find_char_attribute_table, `char_attribute_alist,
1311         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1312         `map_char_attribute, `define_char, `find_char, `char_variants and
1313         `get_composite_char to chartab.c; move symbols `=>ucs',
1314         `->decomposition', `compat', `isolated', `initial', `medial',
1315         `final', `vertical', `noBreak', `fraction', `super', `sub',
1316         `circle', `square', `wide', `narrow', `small' and `font' to
1317         chartab.c.
1318         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1319         setting codes for `Vcharacter_composition_table' and
1320         `Vcharacter_variant_table' to chartab.c.
1321         (complex_vars_of_mule_charset): Move setting code for
1322         `Vchar_attribute_hash_table' to chartab.c.
1323
1324         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1325         (make_char_id_table): New prototype.
1326         (put_char_id_table): Likewise.
1327         (Fget_char_attribute): Likewise.
1328
1329         * chartab.c: Move char-id-table related code from mule-charset.c.
1330         (Vutf_2000_version): Moved from mule-charset.c.
1331
1332         * char-ucs.h (Qucs): New external variable.
1333         (put_char_ccs_code_point): New prototype.
1334         (remove_char_ccs): Likewise.
1335
1336 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1337
1338         * mule-charset.c (Vcharset_ucs_jis): New variable.
1339         (Qucs_jis): Likewise.
1340         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1341         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1342
1343         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1344
1345 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1346
1347         * mule-charset.c (map_over_uint8_byte_table): New function.
1348         (map_over_uint16_byte_table): Likewise.
1349         (map_over_byte_table): Likewise.
1350         (map_char_id_table): Likewise.
1351         (slow_map_char_id_table_fun): Likewise.
1352         (Fmap_char_attribute): Likewise.
1353         (syms_of_mule_charset): Add new function `map-char-attribute'.
1354
1355 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1356
1357         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1358         (syms_of_mule_charset): Add new function `find-char'.
1359
1360 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1361
1362         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1363         XEmacs UTF-2000.
1364         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1365         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1366         XEmacs UTF-2000.
1367         (complex_vars_of_mule_charset): Add new coded-charset
1368         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1369         `ideograph-gt-pj-*'.
1370
1371         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1372
1373 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1374
1375         * mule-charset.c (encode_builtin_char_1): Purge codes about
1376         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1377         {MIN|MAX}_CHAR_HEBREW.
1378         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1379         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1380
1381         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1382         (MAX_CHAR_GREEK): Purged.
1383         (MIN_CHAR_CYRILLIC): Purged.
1384         (MAX_CHAR_CYRILLIC): Purged.
1385         (MIN_CHAR_HEBREW): Commented out.
1386         (MAX_CHAR_HEBREW): Likewise.
1387
1388 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1389
1390         * mule-charset.c (Qto_ucs): New variable.
1391         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1392         (Fdefine_char): Likewise.
1393         (syms_of_mule_charset): Add new symbol `=>ucs'.
1394
1395 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1396
1397         * mule-charset.c (Fdecode_char): Fixed.
1398
1399 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1400
1401         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1402         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1403         "tcvn5712-1".
1404
1405 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1406
1407         * mule-charset.c (Vcharset_ucs_big5): New variable.
1408         (Qucs_big5): Likewise.
1409         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1410         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1411
1412         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1413
1414 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1415
1416         * mule-charset.c (decode_builtin_char): Check Big5 code range
1417         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1418
1419 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1420
1421         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1422         (Qchinese_gb12345): Likewise.
1423         (Fdecode_builtin_char): Fixed.
1424         (syms_of_mule_charset): Add `chinese-gb12345'.
1425         (complex_vars_of_mule_charset): Add coded-charset
1426         `chinese-gb12345'.
1427
1428         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1429         (LEADING_BYTE_CHINESE_GB12345): New macro.
1430
1431 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1432
1433         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1434         and `latin-viscii-upper' for `latin-viscii'.
1435
1436 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1437
1438         * mule-charset.c (Fdecode_builtin_char): Comment out
1439         regularization code for ISO-IR GR representation.
1440
1441 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1442
1443         * mule-charset.c (decode_builtin_char): New function; renamed from
1444         `make_builtin_char'; return -1 instead of signal.
1445         (Fdecode_builtin_char): Use `decode_builtin_char'.
1446
1447         * char-ucs.h (decode_builtin_char): New prototype; renamed from
1448         `make_builtin_char'.
1449         (DECODE_CHAR): Use `decode_builtin_char' instead of
1450         `make_builtin_char'; use mapping table of `chinese-big5' for
1451         `chinese-big5-{1,2}'.
1452
1453 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1454
1455         * text-coding.c (char_encode_big5): New function.
1456         (char_finish_big5): Likewise.
1457         (reset_encoding_stream): Use `char_encode_big5' and
1458         `char_finish_big5' for CODESYS_BIG5.
1459         (mule_encode): Don't use `encode_coding_big5'.
1460         (encode_coding_big5): Deleted.
1461
1462 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1463
1464         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
1465         0x81- in XEmacs UTF-2000.
1466         (detect_coding_big5): Likewise.
1467
1468 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1469
1470         * mule-charset.c (Fdefine_char): Don't use a CCS property to
1471         generate character-id if the CCS property does not have
1472         corresponding predefined character.
1473         (make_builtin_char): Return -1 if corresponding predefined
1474         character is not found.
1475         (Fdecode_char): Return nil if corresponding character is not
1476         found.
1477         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
1478         don't map to builtin ucs space.
1479
1480 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1481
1482         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
1483         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
1484
1485 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1486
1487         * mule-charset.c (Vcharset_ideograph_gt): New variable.
1488         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
1489         (Qideograph_gt): Likewise.
1490         (Qideograph_gt_pj_{1..11}): Likewise.
1491         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
1492         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
1493         `ideograph-gt-pj-11'.
1494         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
1495         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
1496         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
1497
1498         * char-ucs.h (LEADING_BYTE_GT): New macro.
1499         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
1500         (MIN_CHAR_GT): Likewise.
1501         (MAX_CHAR_GT): Likewise.
1502
1503 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1504
1505         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
1506         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
1507
1508         * doprnt.c (unsigned_int_converters): Add `c'.
1509         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
1510
1511         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
1512         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
1513         `MIN_CHAR_MOJIKYO'.
1514         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
1515         (MAX_CHAR_MOJIKYO_0): New macro.
1516         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
1517
1518 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1519
1520         * mule-charset.c (Fdefine_char): Delete cemented out code.
1521         (encode_builtin_char_1): Modify for new allocation of builtin
1522         Mojikyo characters.
1523
1524         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
1525
1526 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1527
1528         * mule-charset.c (Vcharset_ucs_cns): New variable.
1529         (Qucs_cns): New variable.
1530         (syms_of_mule_charset): Add new symbol `ucs-cns'.
1531         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
1532
1533 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1534
1535         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
1536
1537 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1538
1539         * search.c (search_buffer): Make `charset_base_code' as
1540         character-id >> 6 to eliminate the corresponding last byte in
1541         UTF-8 representation [I'm not sure it is right thing].
1542         (boyer_moore): Likewise.
1543
1544 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1545
1546         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
1547         representation in MULE.
1548
1549 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1550
1551         * text-coding.c (Fmake_coding_system): Use
1552         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
1553         `EXTERNAL_PROPERTY_LIST_LOOP'.
1554
1555 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1556
1557         * text-coding.c (decode_output_utf8_partial_char): New function.
1558         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
1559
1560 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1561
1562         * text-coding.c (decode_coding_utf8): Output original byte
1563         sequence if it is broken; change order of conditions.
1564
1565         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
1566         of conditions.
1567
1568         * mb-multibyte.h (BYTE_ASCII_P):
1569         Use bit ops for char-signedness safety.
1570         (BYTE_C0_P): Use bit ops for char-signedness safety.
1571         (BYTE_C1_P): Use bit ops for char-signedness safety.
1572
1573         * character.h: (XCHAR_OR_CHAR_INT):
1574         Always use inline function.
1575         Remove redundant type checking assert() - XINT will abort quite
1576         nicely.
1577
1578 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1579
1580         * text-coding.c: (Fencode_shift_jis_char):
1581         (Fencode_big5_char):
1582         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1583         Replace 0 with '\0' when working with bytes.
1584         Replace initial "(" with "\(" in docstrings.
1585
1586         (Fmake_coding_system):
1587         When type is ccl and value is vector, register it with a proper
1588         symbol.  And checks whether the given ccl program is valid.
1589         (mule_decode): When calling ccl_driver, if src indicates
1590         NULL pointer, set an empty string instead.
1591         (mule_encode): Likewise.
1592
1593         (detect_eol_type):
1594         (detect_coding_sjis):
1595         (decode_coding_sjis):
1596         (detect_coding_big5):
1597         (decode_coding_big5):
1598         (detect_coding_ucs4):
1599         (decode_coding_ucs4):
1600         (detect_coding_utf8):
1601         (decode_coding_utf8):
1602         (detect_coding_iso2022):
1603         (decode_coding_iso2022):
1604         (decode_coding_no_conversion):
1605         (mule_decode):
1606         Make all detecting and decoding functions take an Extbyte * arg.
1607         (text_encode_generic):
1608         (encode_coding_big5):
1609         (encode_coding_no_conversion):
1610         (mule_encode):
1611         Make all encoding functions take a Bufbyte * arg.
1612         Use size_t instead of unsigned int for memory sizes.
1613         Only cast to unsigned char whenever dereferencing Extbyte *.
1614
1615         (struct lrecord_description fcd_description_1): Use countof.
1616         (complex_vars_of_file_coding):
1617         Use countof instead of sizeof.
1618         Use CHECK_NATNUM instead of CHECK_INT.
1619
1620 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1621
1622         * mule-charset.c (Fget_char_attribute): Add new optional argument
1623         `default-value'.
1624         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1625         (remove_char_ccs): Likewise.
1626
1627 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1628
1629         * text-coding.c (char_encode_shift_jis): New implementation in
1630         UTF-2000.
1631         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1632         ...)'.
1633
1634         * mule-charset.c (Vcharset_chinese_big5): New variable in
1635         UTF-2000.
1636         (Qchinese_big5): New variable in UTF-2000.
1637         (BIG5_SAME_ROW): New macro in UTF-2000.
1638         (make_builtin_char): Use builtin characters of
1639         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1640         characters of `Vcharset_chinese_big5'.
1641         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1642         (complex_vars_of_mule_charset): Add new coded-charset
1643         `chinese-big5' in UTF-2000.
1644
1645         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1646         (Vcharset_chinese_big5): New external variable declaration.
1647         (Vcharset_japanese_jisx0208_1990): Likewise.
1648
1649 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1650
1651         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1652         function.
1653         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1654
1655 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1656
1657         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1658         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1659         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1660         `mojikyo-pj-*'.
1661
1662 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1663
1664         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1665
1666 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1667
1668         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1669         to 0.17.
1670
1671 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1672
1673         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1674         for `CHARSET_BY_ATTRIBUTES'.
1675         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1676         `CHARSET_BY_ATTRIBUTES'.
1677
1678         * text-coding.c (struct decoding_stream): Rename member `CH' to
1679         `CPOS'.
1680         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1681         (decode_coding_sjis): Likewise.
1682         (decode_coding_big5): Likewise.
1683         (decode_coding_ucs4): Likewise.
1684         (decode_coding_utf8): Likewise.
1685         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1686         `CHARSET_BY_ATTRIBUTES'.
1687         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1688         `str->counter'; decode 3, 4 bytes sets.
1689         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1690         sets.
1691         (decode_coding_no_conversion): Use `str->cpos' instead of
1692         `str->ch'.
1693
1694         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1695         (Qmojikyo_2022_1): New variable.
1696         (make_charset): Don't use `CHARSET_TYPE_*'.
1697         (range_charset_code_point): Support coded-charset
1698         `mojikyo-2022-1'.
1699         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1700         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1701         `CHARSET_BY_ATTRIBUTES'.
1702         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1703         `CHARSET_BY_ATTRIBUTES'.
1704         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1705         (complex_vars_of_mule_charset): Add new coded-charset
1706         `mojikyo-2022-1'.
1707
1708         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1709         interface; changed to inline function.
1710
1711         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1712         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1713         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1714         (CHARSET_TYPE_94): Deleted.
1715         (CHARSET_TYPE_94X94): Deleted.
1716         (CHARSET_TYPE_96): Deleted.
1717         (CHARSET_TYPE_96X96): Deleted.
1718         (CHARSET_TYPE_128): Deleted.
1719         (CHARSET_TYPE_128X128): Deleted.
1720         (CHARSET_TYPE_256): Deleted.
1721         (CHARSET_TYPE_256X256): Deleted.
1722         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1723         to inline function.
1724         (DECODE_MOJIKYO_2022): New inline function.
1725         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1726         `Vcharset_mojikyo_2022_1'.
1727
1728 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1729
1730         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1731         instead of `EQ'.
1732         (put_byte_table): Likewise.
1733         (char_id_table_equal): Use `get_byte_table' [new implementation].
1734
1735 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1736
1737         * mule-charset.c: Include <limits.h> in UTF-2000.
1738         (BT_UINT8_MIN): New macro in UTF-2000.
1739         (BT_UINT8_MAX): New macro in UTF-2000.
1740         (BT_UINT8_t): New macro in UTF-2000.
1741         (BT_UINT8_nil): New macro in UTF-2000.
1742         (BT_UINT8_unbound): New macro in UTF-2000.
1743         (INT_UINT8_P): New inline function in UTF-2000.
1744         (UINT8_VALUE_P): New inline function in UTF-2000.
1745         (UINT8_ENCODE): New inline function in UTF-2000.
1746         (UINT8_DECODE): New inline function in UTF-2000.
1747         (mark_uint8_byte_table): New function in UTF-2000.
1748         (print_uint8_byte_table): New function in UTF-2000.
1749         (uint8_byte_table_equal): New function in UTF-2000.
1750         (uint8_byte_table_hash): New function in UTF-2000.
1751         (make_uint8_byte_table): New function in UTF-2000.
1752         (uint8_byte_table_same_value_p): New function in UTF-2000.
1753         (BT_UINT16_MIN): New macro in UTF-2000.
1754         (BT_UINT16_MAX): New macro in UTF-2000.
1755         (BT_UINT16_t): New macro in UTF-2000.
1756         (BT_UINT16_nil): New macro in UTF-2000.
1757         (BT_UINT16_unbound): New macro in UTF-2000.
1758         (INT_UINT16_P): New inline function in UTF-2000.
1759         (UINT16_VALUE_P): New inline function in UTF-2000.
1760         (UINT16_ENCODE): New inline function in UTF-2000.
1761         (UINT16_DECODE): New inline function in UTF-2000.
1762         (UINT8_TO_UINT16): New inline function in UTF-2000.
1763         (mark_uint16_byte_table): New function in UTF-2000.
1764         (print_uint16_byte_table): New function in UTF-2000.
1765         (uint16_byte_table_equal): New function in UTF-2000.
1766         (uint16_byte_table_hash): New function in UTF-2000.
1767         (make_uint16_byte_table): New function in UTF-2000.
1768         (uint16_byte_table_same_value_p): New function in UTF-2000.
1769         (print_byte_table): New function in UTF-2000.
1770         (byte-table): Use `print_byte_table' as printer.
1771         (make_byte_table): Delete second argument `older'.
1772         (byte_table_same_value_p): New function in UTF-2000.
1773         (copy_byte_table): Deleted.
1774         (get_byte_table): New function in UTF-2000.
1775         (put_byte_table): New function in UTF-2000.
1776         (print_char_id_table): New function in UTF-2000.
1777         (char-id-table): Use `print_char_id_table' as printer.
1778         (make_char_id_table): Delete second argument `older'.
1779         (get_char_id_table): Use `get_byte_table [new implementation].
1780         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1781         implementation].
1782         (Ffind_char_attribute_table): New function in UTF-2000.
1783         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1784         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1785         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1786         (syms_of_mule_charset): Add new function
1787         `find-char-attribute-table' in UTF-2000.
1788
1789         * lrecord.h (enum lrecord_type): Add
1790         `lrecord_type_uint16_byte_table' and
1791         `lrecord_type_uint8_byte_table'.
1792
1793         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1794         (Lisp_Uint8_Byte_Table): New type.
1795         (XUINT8_BYTE_TABLE): New macro.
1796         (XSETUINT8_BYTE_TABLE): New macro.
1797         (UINT8_BYTE_TABLE_P): New macro.
1798         (GC_UINT8_BYTE_TABLE_P): New macro.
1799         (struct Lisp_Uint16_Byte_Table): New structure.
1800         (Lisp_Uint16_Byte_Table): New type.
1801         (XUINT16_BYTE_TABLE): New macro.
1802         (XSETUINT16_BYTE_TABLE): New macro.
1803         (UINT16_BYTE_TABLE_P): New macro.
1804         (GC_UINT16_BYTE_TABLE_P): New macro.
1805
1806 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1807
1808         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1809         (Vcharacter_ideographic_strokes_table): Deleted.
1810         (Vcharacter_total_strokes_table): Deleted.
1811         (Vcharacter_morohashi_daikanwa_table): Deleted.
1812         (Vcharacter_decomposition_table): Deleted.
1813         (Qname): Deleted because it is duplicated.
1814         (Qideographic_radical): Deleted.
1815         (Qideographic_strokes): Deleted.
1816         (Qtotal_strokes): Deleted.
1817         (Qmorohashi_daikanwa): Deleted.
1818         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1819         `ideographic-radical', `ideographic-strokes', `total-strokes',
1820         `morohashi-daikanwa' and `->decomposition'.
1821         (Fget_char_attribute): Likewise.
1822         (Fput_char_attribute): Likewise; use `make-vector' instead of
1823         `make_older_vector' for `->decomposition' value.
1824         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1825         `ideograph-daikanwa'.
1826         (syms_of_mule_charset): Delete builtin symbols `name',
1827         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1828         `morohashi-daikanwa'.
1829         (vars_of_mule_charset): Don't setup
1830         `Vcharacter_ideographic_radical_table',
1831         `Vcharacter_ideographic_strokes_table',
1832         `Vcharacter_total_strokes_table',
1833         `Vcharacter_morohashi_daikanwa_table' and
1834         `Vcharacter_decomposition_table'.
1835
1836 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1837
1838         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1839         `make_older_vector', `make_vector_newer_1' and
1840         `make_vector_newer'.
1841
1842         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1843         `make_older_vector' and `make_vector_newer'.
1844
1845         * config.h.in (HAVE_GGC): New macro.
1846
1847 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1848
1849         * mule-charset.c (struct char_attribute_list_closure): New
1850         structure in UTF-2000.
1851         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1852         (Fchar_attribute_list): Likewise.
1853         (Fset_charset_mapping_table): Use `make_vector_newer'.
1854         (Fdecode_builtin_char): New function in UTF-2000.
1855         (syms_of_mule_charset): Add new function `char-attribute-list' and
1856         `decode-builtin-char' in UTF-2000.
1857
1858         * lisp.h (make_vector_newer): New prototype.
1859
1860         * alloc.c (make_vector_newer_1): New function.
1861         (make_vector_newer): New function.
1862
1863 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1864
1865         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1866         50100)'.
1867
1868 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1869
1870         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1871         (Vcharacter_attribute_table): Deleted.
1872         (Vcharacter_name_table): Deleted.
1873         (put_char_attribute): Deleted.
1874         (remove_char_attribute): Deleted.
1875         (struct char_attribute_alist_closure): New structure.
1876         (add_char_attribute_alist_mapper): New function.
1877         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1878         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1879         (Fget_char_attribute): Likewise.
1880         (Fput_char_attribute): Likewise.
1881         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1882         of `remove_char_attribute'.
1883         (Fdefine_char): Return character.
1884         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1885         and `Vcharacter_name_table'.
1886         (complex_vars_of_mule_charset): Likewise
1887         `Vchar_attribute_hash_table'.
1888
1889 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1890
1891         * character.h (CHARC_CHARSET): New macro.
1892         (CHARC_CHARSET_ID): New macro.
1893         (CHARC_CODE_POINT): New macro.
1894         (CHARC_COLUMNS): New macro.
1895         (CHARC_TO_CHAR): New inline function.
1896         (CHARC_EQ): New inline function.
1897         (CHARC_ASCII_EQ): New inline function.
1898         (CHARC_IS_SPACE): New inline function.
1899         (ASCII_TO_CHARC): New inline function.
1900
1901         * char-ucs.h (encode_char_2): Deleted.
1902         (ENCODE_CHAR): Use `encode_char_1' again.
1903         (breakup_char_1): Likewise.
1904         (CHAR_TO_CHARC): New inline function.
1905
1906         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1907
1908 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1909
1910         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1911         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1912         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1913         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1914         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1915         `CHARC_IS_SPACE'.
1916         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1917
1918         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1919         `CHARC_CODE_POINT'.
1920         (x_output_display_block): Use `CHARC_CHARSET' and
1921         `CHARC_ASCII_EQ'.
1922
1923         * redisplay-tty.c (tty_output_display_block): Use
1924         `CHARC_ASCII_EQ'.
1925         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1926
1927         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1928
1929         * insdel.c (find_charsets_in_charc_string): Use
1930         `CHARC_CHARSET_ID'.
1931         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1932         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1933         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1934         (convert_charc_string_into_malloced_string): Likewise.
1935
1936 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1937
1938         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1939         instead of <Emchar_dynarr *> for buf; use
1940         `convert_bufbyte_string_into_charc_dynarr' instead of
1941         `convert_bufbyte_string_into_emchar_dynarr'; use
1942         `find_charsets_in_charc_string' instead of
1943         `find_charsets_in_emchar_string'.
1944
1945         * redisplay.h:
1946         - Include "character.h".
1947         (struct rune): New member `cglyph'; delete member `chr'.
1948
1949         * redisplay.c (redisplay_text_width_charc_string): New function;
1950         delete `redisplay_text_width_emchar_string'.
1951         (rtw_charc_dynarr): New variable; renamed from
1952         `rtw_emchar_dynarr'.
1953         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1954         `rtw_emchar_dynarr'; use
1955         `convert_bufbyte_string_into_charc_dynarr' instead of
1956         `convert_bufbyte_string_into_emchar_dynarr'; use
1957         `redisplay_text_width_charc_string' instead of
1958         `redisplay_text_width_emchar_string'.
1959         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1960         instead of `rtw_emchar_dynarr'; use
1961         `convert_bufbyte_string_into_charc_dynarr' instead of
1962         `convert_bufbyte_string_into_emchar_dynarr'.
1963         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1964         `redisplay_text_width_charc_string' instead of
1965         `redisplay_text_width_emchar_string'.
1966         (create_text_block): Modify for <struct rune> change.
1967         (generate_formatted_string_db): Likewise.
1968         (create_string_text_block): Likewise.
1969         (pixel_to_glyph_translation): Likewise.
1970
1971         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1972         instead of <const Emchar *>.
1973         (x_text_width): Likewise.
1974         (x_output_display_block): Use <Charc_dynarr *> instead
1975         <Emchar_dynarr *>; modify for <structure rune> change.
1976         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1977         *>.
1978
1979         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1980         <const Emchar *>; use `charc_string_displayed_columns' instead of
1981         `emchar_string_displayed_columns'.
1982         (tty_output_display_block): Use <Charc_dynarr *> instead of
1983         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1984         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1985         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1986         `tty_output_emchar_dynarr_dynarr'.
1987         (tty_output_charc_dynarr): New function; delete
1988         `tty_output_charc_dynarr'.
1989
1990         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1991         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1992         <Emchar_dynarr *> for buf; use
1993         `convert_bufbyte_string_into_charc_dynarr' instead of
1994         `convert_bufbyte_string_into_emchar_dynarr'.
1995
1996         * frame.c (title_string_charc_dynarr): New variable; renamed from
1997         `title_string_emchar_dynarr'.
1998         (generate_title_string): Use `title_string_charc_dynarr' instead
1999         of `title_string_emchar_dynarr'; use
2000         `convert_charc_string_into_malloced_string' instead of
2001         `convert_emchar_string_into_malloced_string'.
2002         (init_frame): Use `title_string_charc_dynarr' instead of
2003         `title_string_emchar_dynarr'.
2004
2005         * console.h:
2006         - Include "character.h".
2007         (struct console_methods): Use <const Charc *> instead of <const
2008         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
2009         <Emchar_dynarr *> in output_string_method.
2010
2011         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
2012         <Emchar_dynarr *>.
2013
2014         * console-stream.c (stream_text_width): Use <const Charc *>
2015         instead of <const Emchar *>.
2016
2017         * character.h (Charc_dynarr): New type.
2018
2019         * char-ucs.h (structure Charc): New structure; define new type
2020         `Charc'.
2021
2022         * char-lb.h (DECODE_CHAR): New inline function.
2023         (encode_char_1): New inline function.
2024         (ENCODE_CHAR): New macro.
2025         (structure Charc): New structure; define new type `Charc'.
2026
2027         * char-1byte.h (Vcharset_control_1): New macro.
2028         (Vcharset_latin_iso8859_1): New macro.
2029         (DECODE_CHAR): New inline function.
2030         (encode_char_1): New inline function.
2031         (ENCODE_CHAR): New macro.
2032         (structure Charc): New structure; define new type `Charc'.
2033
2034         * insdel.c (find_charsets_in_charc_string): New function; delete
2035         `find_charsets_in_emchar_string'.
2036         (charc_string_displayed_columns): New function; delete
2037         `emchar_string_displayed_columns'.
2038         (convert_bufbyte_string_into_charc_dynarr): New function; delete
2039         `convert_bufbyte_string_into_emchar_dynarr'.
2040         (convert_charc_string_into_bufbyte_dynarr): New function; delete
2041         `convert_charc_string_into_bufbyte_dynarr'.
2042         (convert_charc_string_into_malloced_string): New function; delete
2043         `convert_charc_string_into_malloced_string'.
2044
2045         * buffer.h (find_charsets_in_charc_string): New prototype; delete
2046         `find_charsets_in_emchar_string'.
2047         (charc_string_displayed_columns): New prototype; delete
2048         `emchar_string_displayed_columns'.
2049         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
2050         `convert_charc_string_into_bufbyte_dynarr'.
2051         (convert_charc_string_into_malloced_string): New prototype; delete
2052         `convert_charc_string_into_malloced_string'.
2053
2054 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2055
2056         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
2057
2058 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2059
2060         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
2061
2062         * char-ucs.h: Use <short> for <Charset_ID>.
2063
2064         * mule-charset.h, char-1byte.h: Use <unsigned char> for
2065         <Charset_ID>.
2066
2067 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2068
2069         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2070         to 0.16.
2071
2072 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2073
2074         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
2075         variable.
2076         (Qmorohashi_daikanwa): New variable.
2077         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
2078         for `morohashi-daikanwa' attribute.
2079         (Fget_char_attribute): Likewise.
2080         (Fput_char_attribute): Likewise.
2081         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
2082         has the same value of `ideograph-daikanwa'.
2083         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
2084         (vars_of_mule_charset): Setup
2085         `Vcharacter_morohashi_daikanwa_table'.
2086
2087 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2088
2089         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
2090         attributes.
2091         (add_charset_to_list_mapper): Add `key' instead of
2092         `XCHARSET_NAME (value)' to return aliases.
2093
2094 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2095
2096         * mule-charset.c (Vcharacter_ideographic_radical_table): New
2097         variable.
2098         (Vcharacter_ideographic_strokes_table): New variable.
2099         (Qideographic_radical): New variable.
2100         (Qideographic_strokes): New variable.
2101         (Fchar_attribute_alist): Use
2102         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
2103         attribute; use `Vcharacter_ideographic_strokes_table' for
2104         `ideographic-strokes' attribute.
2105         (Fget_char_attribute): Likewise.
2106         (Fput_char_attribute): Likewise.
2107         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
2108         `ideographic-strokes'.
2109         (vars_of_mule_charset): Setup
2110         `Vcharacter_ideographic_radical_table' and
2111         `Vcharacter_ideographic_strokes_table'.
2112
2113 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2114
2115         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
2116         (Qtotal_strokes): New variable.
2117         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
2118         `total-strokes' attribute.
2119         (Fget_char_attribute): Likewise.
2120         (Fput_char_attribute): Likewise.
2121         (syms_of_mule_charset): Add new symbol `total-strokes'.
2122         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
2123
2124 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2125
2126         * mule-charset.c (Vcharacter_decomposition_table): New variable.
2127         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
2128         are found.
2129         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
2130         `->decomposition' attribute.
2131         (Fput_char_attribute): Likewise.
2132         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
2133
2134 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2135
2136         * mule-charset.c (decoding_table_check_elements): New function.
2137         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
2138
2139 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2140
2141         * mule-charset.c (Fset_charset_mapping_table): Use
2142         `put_char_ccs_code_point'.
2143
2144 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2145
2146         * mule-charset.c (decoding_table_put_char): New inline function.
2147         (put_char_ccs_code_point): Use `decoding_table_put_char'.
2148
2149 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2150
2151         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
2152         (XCHARSET_BYTE_SIZE): New macro.
2153         (decoding_table_remove_char): New inline function.
2154         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
2155         `decoding_table_remove_char'.
2156         (remove_char_ccs): Use `decoding_table_remove_char'.
2157         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
2158
2159 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2160
2161         * mule-charset.c (Vcharacter_name_table): New variable.
2162         (Qname): New variable.
2163         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
2164         attribute.
2165         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
2166         `Vcharacter_name_table' for `name' attribute.
2167         (Fremove_char_attribute): Use function `remove_char_ccs'.
2168         (put_char_ccs_code_point): New function.
2169         (remove_char_ccs): New function.
2170         (syms_of_mule_charset): Add new symbol `name'.
2171         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
2172
2173 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2174
2175         * mule-charset.c (make_byte_table): Add new argument `older'.
2176         (make_char_id_table): Likewise.
2177         (copy_char_id_table): Comment out because it is not used.
2178         (put_char_id_table): Modify for `make_byte_table'.
2179         (Fput_char_attribute): Make encoding_table as older object;
2180         inherit older bit of `Vcharacter_composition_table'.
2181         (mark_charset): Don't mark `cs->encoding_table'.
2182         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
2183         normal object; make `Vcharacter_composition_table' as an older
2184         object; delete staticpro for `Vcharacter_composition_table'; make
2185         `Vcharacter_variant_table' as a normal object.
2186
2187         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
2188         (mark_object): Don't check older object in UTF-2000.
2189
2190         * lrecord.h (struct lrecord_header): Add new member `older' in
2191         UTF-2000.
2192         (set_lheader_implementation): Setup `SLI_header->older' in
2193         UTF-2000.
2194         (set_lheader_older_implementation): New macro in UTF-2000.
2195         (OLDER_RECORD_P): New macro in UTF-2000.
2196         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
2197         (alloc_older_lcrecord): New prototype in UTF-2000.
2198         (alloc_older_lcrecord_type): New macro in UTF-2000.
2199
2200 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2201
2202         * mule-charset.c (byte_table_description): Use
2203         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
2204         (char_id_table_description): Delete bogus `, 1'.
2205         (Fget_char_attribute): Refer encoding_table of each coded-charset
2206         to get value of coded-charset attribute of a character.
2207         (Fput_char_attribute): Use `make_older_vector' instead of
2208         `make_vector'; use encoding_table of each coded-charset to store
2209         value of coded-charset attribute of a character.
2210         (Fremove_char_attribute): Use encoding_table of each coded-charset
2211         to store value of coded-charset attribute of a character.
2212         (mark_charset): Mark `cs->encoding_table'; don't mark
2213         `cs->decoding_table'.
2214         (charset_description): Add description of new member
2215         `encoding_table'.
2216         (make_charset): Initialize `encoding_table'.
2217
2218         * char-ucs.h (struct Lisp_Charset): Add new member
2219         `encoding_table'.
2220         (CHARSET_ENCODING_TABLE): New macro.
2221         (XCHARSET_ENCODING_TABLE): New macro.
2222         (charset_code_point): New implementation.
2223         (encode_char_1): Likewise.
2224
2225         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
2226         (disksave_object_finalization_1): Call finalizers of
2227         `all_older_lcrecords' in UTF-2000.
2228         (make_older_vector): New function in UTF-2000.
2229         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
2230         UTF-2000.
2231
2232         * lisp.h (make_older_vector): New prototype in UTF-2000.
2233
2234 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2235
2236         * lrecord.h (enum lrecord_type): Rename
2237         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2238
2239         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2240         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2241         `get_char_code_table'.
2242
2243         * mule-charset.c (mark_char_id_table): Renamed from
2244         `mark_char_code_table'.
2245         (char_id_table_equal): Renamed from `char_code_table_equal'.
2246         (char_id_table_hash): Renamed from `char_code_table_hash'.
2247         (make_char_id_table): Renamed from `make_char_code_table'.
2248         (copy_char_id_table): Renamed from `copy_char_code_table'.
2249         (get_char_id_table): Renamed from `get_char_code_table'.
2250         (put_char_id_table): Renamed from `put_char_code_table'.
2251         (to_char_id): Renamed from `to_char_code'.
2252
2253         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2254         `Lisp_Char_Code_Table'.
2255         (char_id_table): Renamed from `char_code_table'.
2256         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2257         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2258         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2259         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2260         (get_char_id_table): Renamed from `get_char_code_table'.
2261
2262 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2263
2264         * lrecord.h (enum lrecord_type): Rename
2265         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2266
2267         * mule-charset.c (mark_byte_table): Renamed from
2268         `mark_char_byte_table'.
2269         (byte_table_equal): Renamed from `char_byte_table_equal'.
2270         (byte_table_hash): Renamed from `byte_table_hash'.
2271         (make_byte_table): Renamed from `make_byte_table'.
2272         (copy_byte_table): Renamed from `copy_char_byte_table'.
2273
2274         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2275         `Lisp_Char_Byte_Table'.
2276         (byte_table): Renamed from `char_byte_table'.
2277         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2278         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2279         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2280         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2281
2282 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2283
2284         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2285         (dfc_convert_to_internal_format): Likewise.
2286         
2287         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2288         * text-coding.c (Fcoding_system_alias_p): New function.
2289         * text-coding.c (Fcoding_system_aliasee): New function.
2290         * text-coding.c (append_suffix_to_symbol): New function.
2291         * text-coding.c (dangling_coding_system_alias_p): New function.
2292         * text-coding.c (Ffind_coding_system):
2293         * text-coding.c (Fcopy_coding_system):
2294         * text-coding.c (encode_coding_no_conversion):
2295         * text-coding.c (syms_of_file_coding):
2296         * text-coding.c (vars_of_file_coding):
2297         Rewrite coding system alias code.
2298         Allow nested aliases, like symbolic links.
2299         Allow redefinition of coding system aliases.
2300         Prevent existence of dangling coding system aliases.
2301         Eliminate convert_to_external_format.
2302         Eliminate convert_to_internal_format.
2303         
2304         * text-coding.c: Change enum eol_type to eol_type_t.
2305
2306 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2307
2308         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2309         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2310
2311         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2312         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2313
2314 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2315
2316         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2317         `ideograph-daikanwa'.
2318
2319         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2320         (Vcharset_ucs_bmp): Likewise.
2321         (Vcharset_mojikyo): Add new extern variable definition.
2322         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2323         (Vcharset_latin_iso8859_3): Likewise.
2324         (Vcharset_latin_iso8859_4): Likewise.
2325         (Vcharset_latin_iso8859_9): Likewise.
2326         (Vcharset_latin_viscii_lower): Likewise.
2327         (Vcharset_latin_viscii_upper): Likewise.
2328         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2329         `mojikyo' code-point is used to decode.
2330         (encode_char_2): New function [to convert `mojikyo' code-point to
2331         Mojikyo font encoding].
2332         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2333         (breakup_char_1): Likewise.
2334         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2335
2336 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2337
2338         * text-coding.c (Fmake_coding_system): Add document about
2339         `disable-composition' property.
2340
2341 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2342
2343         * text-coding.c (Qdisable_composition): New variable; delete
2344         `Qcomposite'.
2345         (Fmake_coding_system): Add new property `disable-composite';
2346         delete property `composite'.
2347         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2348         instead of `!CODING_SYSTEM_COMPOSITE'.
2349         (syms_of_file_coding): Add new symbol `disable-composition';
2350         delete symbol `composite'.
2351
2352         * file-coding.h (struct Lisp_Coding_System): Add
2353         `disable_composition'; delete `enable_composition'.
2354         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2355         `CODING_SYSTEM_COMPOSITE'.
2356         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2357         `XCODING_SYSTEM_COMPOSITE'.
2358
2359 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2360
2361         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2362         to 0.15.
2363
2364 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2365
2366         * text-coding.c (Qcomposite): New variable.
2367         (Fmake_coding_system): Add new property `composite'.
2368         (struct decoding_stream): Add `combined_char_count',
2369         `combined_chars' and `combining_table' in UTF-2000.
2370         (COMPOSE_FLUSH_CHARS): New macro.
2371         (COMPOSE_ADD_CHAR): New macro.
2372         (reset_decoding_stream): Reset `str->combined_char_count' and
2373         `str->combining_table' in UTF-2000.
2374         (decode_coding_iso2022): Modify for character-decomposition.
2375         (syms_of_file_coding): Add new symbol `composite'.
2376
2377 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2378
2379         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2380         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2381         of `Vcharacter_composition_table' if `->decomposition' property
2382         has only 1 element.
2383         (Qlatin_tcvn5712): New variable.
2384         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2385         (complex_vars_of_mule_charset): Add new coded-charset
2386         `latin-tcvn5712'.
2387
2388         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2389
2390 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2391
2392         * file-coding.h (struct Lisp_Coding_System): Add
2393         `enable_composition'.
2394         (CODING_SYSTEM_COMPOSITE): New macro.
2395         (XCODING_SYSTEM_COMPOSITE): New macro.
2396
2397 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2398
2399         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2400
2401 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2402
2403         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2404         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2405
2406 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2407
2408         * mule-charset.c (Vcharset_mojikyo): New variable.
2409         (Fdefine_char): Don't use coded-charset which does not have
2410         non-builtin character range to allocate character-id.
2411         (Qmojikyo): New variable.
2412         (syms_of_mule_charset): Add new symbol `mojikyo'.
2413         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2414
2415         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2416         (LEADING_BYTE_MOJIKYO): New macro.
2417         (MIN_CHAR_MOJIKYO): New macro.
2418         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2419         (MAX_CHAR_MOJIKYO): New macro.
2420
2421 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2422
2423         * mule-charset.c (remove_char_attribute): Fixed.
2424
2425 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2426
2427         * mule-charset.c (remove_char_attribute): New function.
2428         (Fremove_char_attribute): New function.
2429         (encode_builtin_char_1): Comment out builtin-support for
2430         greek-iso8859-7 and cyrillic-iso8859-5.
2431         (Fdecode_char): Check `code' is an integer.
2432         (syms_of_mule_charset): Add `remove-char-attribute'.
2433         (MIN_CHAR_GREEK): Deleted.
2434         (MAX_CHAR_GREEK): Likewise.
2435         (MIN_CHAR_CYRILLIC): Likewise.
2436         (MAX_CHAR_CYRILLIC): Likewise.
2437         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2438         MAX_CHAR_GREEK for `greek-iso8859-7'.
2439
2440         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
2441         (MAX_CHAR_GREEK): Likewise.
2442         (MIN_CHAR_CYRILLIC): Likewise.
2443         (MAX_CHAR_CYRILLIC): Likewise.
2444
2445 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
2446
2447         * mule-charset.c (Fdefine_char): Fix problem when new code-point
2448         format is used without `ucs' property.
2449         (Fdecode_char): Fix problem with GR representation.
2450         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
2451         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
2452
2453 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2454
2455         * mule-charset.c (make_builtin_char): New function.
2456         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
2457         (Fset_charset_mapping_table): Modify for new representation of
2458         code-point.
2459         (Fdecode_char): New function.
2460         (syms_of_mule_charset): Add new builtin function `decode-char' in
2461         UTF-2000.
2462
2463         * char-ucs.h (make_builtin_char): New prototype.
2464         (DECODE_CHAR): New inline function.
2465         (MAKE_CHAR): Use `DECODE_CHAR'.
2466
2467 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
2468
2469         * text-coding.c (parse_charset_conversion_specs): Use
2470         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
2471         `XCHARSET_TYPE'.
2472         (iso2022_designate): Likewise.
2473
2474         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
2475         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
2476
2477         * mule-charset.c (Vcharset_ucs): New variable.
2478         (print_charset): Change design; use `CHARSET_CHARS' and
2479         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
2480         (make_charset): Change signature to specify `chars' and
2481         `dimension' instead of `type'.
2482         (range_charset_code_point): Modify for 256^n-set.
2483         (encode_builtin_char_1): Encode as `ucs' in default.
2484         (Fmake_charset): Modify for `make_charset'.
2485         (Fmake_reverse_direction_charset): Likewise.
2486         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
2487         UTF-2000.
2488         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
2489         for `make_charset'.
2490
2491         * char-ucs.h (Vcharset_ucs): New variable.
2492         (LEADING_BYTE_UCS): New macro.
2493         (struct Lisp_Charset): Delete `type'; change type of `dimension'
2494         and `chars' to `unsigned short' from `unsigned int'.
2495         (CHARSET_TYPE): Deleted.
2496         (XCHARSET_TYPE): Deleted.
2497
2498 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
2499
2500         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
2501
2502         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
2503         (ENCODE_CHAR): New macro.
2504
2505 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2506
2507         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2508         to 0.14 (Kawachi-Katakami).
2509
2510 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2511
2512         * text-coding.c (char_encode_shift_jis): Modify for
2513         `charset_code_point'.
2514         (char_encode_iso2022): Likewise.
2515
2516         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
2517         (integer) instead of list of <Lisp_Object>s (integers) as the
2518         format of code-point of a coded-charset.
2519         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2520         (encode_builtin_char_1): New function; delete
2521         `split_builtin_char'.
2522         (charset_code_point): Return <int> instead of <Lisp_Object>.
2523         (Fsplit_char): Don't use `SPLIT_CHAR'.
2524
2525         * char-ucs.h (encode_builtin_char_1): New prototype; delete
2526         prototype for `split_builtin_char'.
2527         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2528         (charset_code_point): Likewise.
2529         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
2530         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
2531
2532 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
2533
2534         * mule-charset.c (complex_vars_of_mule_charset): Don't define
2535         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
2536
2537 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2538
2539         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
2540
2541         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
2542         (MAX_CHAR_OBS_94x94): Deleted.
2543
2544 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2545
2546         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
2547
2548         * char-ucs.h (MAX_CHAR_BMP): New macro.
2549
2550 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2551
2552         * text-coding.c: Sync with r21-2-24.
2553
2554 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2555
2556         * file-coding.c: Modify for UTF-2000.
2557
2558 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2559
2560         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2561         to 0.13 (Takaida).
2562
2563 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2564
2565         * mule-charset.c (split_builtin_char): Delete builtin support for
2566         `katakana-jisx0201'.
2567         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
2568         BMP area in builtin representation.
2569
2570         * char-ucs.h (MAKE_CHAR): Delete builtin support for
2571         `Vcharset_katakana_jisx0201'.
2572
2573 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
2574
2575         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2576         (Qisolated): New variable.
2577         (Qinitial): New variable.
2578         (Qmedial): New variable.
2579         (Qfinal): New variable.
2580         (Qvertical): New variable.
2581         (Qsmall): New variable.
2582         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2583         `Qvertical' and `Qsmall'.
2584         (Qmojikyo_pj_[1 .. 21]): New variable.
2585         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2586         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2587         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2588         .. 21]'.
2589
2590 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2591
2592         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2593         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2594         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2595
2596 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2597
2598         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2599         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2600         BMP.
2601         (Qjapanese_jisx0208_1990): New variable.
2602         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2603         (complex_vars_of_mule_charset): Add new coded-charset
2604         `japanese-jisx0208-1990'.
2605
2606         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2607         (MIN_CHAR_JIS_X0208_1990): New macro.
2608         (MAX_CHAR_JIS_X0208_1990): New macro.
2609
2610 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2611
2612         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2613         coded-charset is not found.
2614
2615 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2616
2617         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2618         (Fdefine_char): Use `Fmake_char'.
2619
2620 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2621
2622         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2623         (Vcharset_hiragana_jisx0208): Deleted.
2624         (Vcharset_katakana_jisx0208): Deleted.
2625         (Qideograph_daikanwa): New variable.
2626         (Qhiragana_jisx0208): Deleted.
2627         (Qkatakana_jisx0208): Deleted.
2628         (split_builtin_char): Split `ideograph-daikanwa'.
2629         (Fsplit_char): New implementation for UTF-2000.
2630         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2631         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2632         (complex_vars_of_mule_charset): Add new coded-charset
2633         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2634         `katakana-jisx0208'.
2635
2636         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2637         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2638         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2639         (MIN_CHAR_DAIKANWA): New macro.
2640         (MAX_CHAR_DAIKANWA): New macro.
2641
2642 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2643
2644         * data.c (Fstring_to_number): Don't recognize floating point if
2645         base is not 10.
2646
2647 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2648
2649         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2650
2651 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2652
2653         * mule-charset.c (Qsquare): New variable.
2654         (to_char_code): Add `Qsquare'.
2655         (syms_of_mule_charset): Add new symbol `square'.
2656
2657 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2658
2659         * mule-charset.c (Qcircle): New variable.
2660         (to_char_code): Add `Qcircle'.
2661         (syms_of_mule_charset): Add new symbol `circle'.
2662
2663 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2664
2665         * mule-charset.c (Qfont): New variable.
2666         (to_char_code): Add `Qfont'.
2667         (syms_of_mule_charset): Add new symbol `font'.
2668
2669 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2670
2671         * mule-charset.c (Qsub): New variable.
2672         (to_char_code): Add `Qsub'.
2673         (syms_of_mule_charset): Add new symbol `sub'.
2674
2675 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2676
2677         * mule-charset.c (Fput_char_attribute): Convert each element of
2678         VALUE to GL position if ATTRIBUTE is a GR-set,
2679
2680 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2681
2682         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2683         coded-charset is a GR-set.
2684
2685 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2686
2687         * mule-charset.c (Fput_char_attribute): Check each element of
2688         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2689
2690 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2691
2692         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2693         UTF-2000.
2694         (Qethiopic_ucs): New variable in UTF-2000.
2695         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2696         (complex_vars_of_mule_charset): Add new coded-charset
2697         `ethiopic-ucs' in UTF-2000.
2698
2699         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2700         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2701         9)'.
2702         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2703         10)'.
2704         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2705
2706 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2707
2708         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2709         `ascii'.
2710
2711 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2712
2713         * mule-charset.c (Vcharacter_variant_table): New variable.
2714         (Q_ucs): New variable.
2715         (Fchar_variants): New function.
2716         (Fput_char_attribute): Register `->ucs' value to
2717         `Vcharacter_variant_table'.
2718         (syms_of_mule_charset): Add new function `char-variants' and new
2719         symbol `->ucs'.
2720         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2721
2722 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2723
2724         * mule-charset.c (get_char_code_table): Allow negative character
2725         code.
2726         (put_char_code_table): Likewise.
2727         (Vcharacter_composition_table): New variable.
2728         (Q_decomposition): New variable.
2729         (Qwide): New variable.
2730         (Qnarrow): New variable.
2731         (Qcompat): New variable.
2732         (QnoBreak): New variable.
2733         (Qsuper): New variable.
2734         (Qfraction): New variable.
2735         (to_char_code): New function.
2736         (Fget_composite_char): New function.
2737         (Fput_char_attribute): Register `->decomposition' value to
2738         `Vcharacter_composition_table'.
2739         (syms_of_mule_charset): Add new function `get-composite-char', new
2740         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2741         `super' and `fraction'.
2742         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2743
2744 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2745
2746         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2747         character; copy the return value.
2748
2749 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2750
2751         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2752
2753         * mule-charset.c (range_charset_code_point): Must use make_int.
2754         (split_builtin_char): New function.
2755
2756 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2757
2758         * mule-charset.c (char_byte_table): Change name from
2759         "char-code-table" to "char-byte-table".
2760         (mark_char_code_table): New function.
2761         (char_code_table_equal): New function.
2762         (char_code_table_hash): New function.
2763         (char_code_table_description): New constant.
2764         (char_code_table): New type.
2765         (make_char_code_table): New function.
2766         (copy_char_code_table): New function.
2767         (get_char_code_table): Modify for `char_code_table' type.
2768         (put_char_code_table): Likewise.
2769         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2770         (Kashiwara).
2771
2772         * char-ucs.h (char_code_table): New type.
2773         (XCHAR_CODE_TABLE): New macro.
2774         (XSETCHAR_CODE_TABLE): New macro.
2775         (CHAR_CODE_TABLE_P): New macro.
2776         (GC_CHAR_CODE_TABLE_P): New macro.
2777         (struct Lisp_Char_Code_Table): New structure.
2778
2779 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2780
2781         * mule-charset.c (Fmake_charset): Setup byte_offset for
2782         {94|96}^n-set.
2783
2784 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2785
2786         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2787         character.
2788
2789 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2790
2791         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2792         is found.
2793
2794 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2795
2796         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2797         charset, it is regarded as a charset.
2798         (put_char_attribute): New function in UTF-2000.
2799         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2800         charset, mapping-table of the charset is modified.
2801         (Fdefine_char): New function in UTF-2000.
2802         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2803         `Fput_char_attribute'.
2804         (syms_of_mule_charset): Add new function `define-char' and new
2805         symbol `ucs' in UTF-2000.
2806         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2807
2808 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2809
2810         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2811         non-UTF-2000 configuration.
2812
2813 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2814
2815         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2816         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2817
2818         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2819         deleted.
2820         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2821         (Fset_charset_mapping_table): Likewise.
2822
2823         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2824         (CHARSET_ENCODING_TABLE): Delete.
2825         (XCHARSET_ENCODING_TABLE): Delete.
2826         (charset_code_point): New interface.
2827
2828 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2829
2830         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2831         instead of `charset_get_byte1' and `charset_get_byte2'.
2832
2833         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2834         (charset_get_byte2): Deleted.
2835
2836 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2837
2838         * char-ucs.h (SPLIT_CHAR): New inline function.
2839         (breakup_char_1): Use `SPLIT_CHAR'.
2840
2841         * mule-charset.c (range_charset_code_point): New function.
2842         (charset_code_point): New function.
2843
2844         * char-ucs.h (range_charset_code_point): New interface.
2845         (breakup_char_1): Use `range_charset_code_point'.
2846
2847 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2848
2849         * mule-charset.c (Fmake_charset): Delete unused local variable
2850         `code_offset'.
2851
2852         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2853         (breakup_char_1): Find a charset and code-point in
2854         `Vcharacter_attribute_table'.
2855
2856 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2857
2858         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2859         to 0.10 (Yao).
2860
2861 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2862
2863         * mule-charset.c (Vcharacter_attribute_table): New variable.
2864         (Fchar_attribute_alist): New function.
2865         (Fget_char_attribute): New function.
2866         (Fput_char_attribute): New function.
2867         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2868         too.
2869         (syms_of_mule_charset): Add new function `char-attribute-alist',
2870         `get-char-attribute' and `put-char-attribute'.
2871         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2872
2873 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2874
2875         * mule-charset.c (Fmake_charset): Just use
2876         `get_unallocated_leading_byte'.
2877
2878         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2879         sets; don't use final-byte based number for private sets.
2880
2881 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2882
2883         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2884         integer.
2885
2886 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2887
2888         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2889         to 0.9.
2890
2891 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2892
2893         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2894         of `CHAR_LEADING_BYTE' in UTF-2000.
2895
2896         * insdel.c (find_charsets_in_bufbyte_string): Use
2897         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2898         (find_charsets_in_emchar_string): Likewise.
2899
2900         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2901         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2902
2903         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2904         (CHAR_CHARSET_ID): New macro.
2905
2906 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2907
2908         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2909         charset-id - MIN_LEADING_BYTE.
2910         (put_char_table): Likewise.
2911
2912 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2913
2914         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2915         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2916         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2917         (CHARSET_ID_OFFSET): New macro.
2918         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2919         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2920         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2921         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2922         4).
2923         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2924         5).
2925         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2926         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2927         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2928         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2929         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2930
2931 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2932
2933         * mule-charset.c (next_allocated_leading_byte): New variable in
2934         UTF-2000.
2935         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2936         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2937         (get_unallocated_leading_byte): Simply use
2938         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2939         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2940         UTF-2000.
2941
2942         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2943         (MAX_LEADING_BYTE_PRIVATE): New macro.
2944         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2945         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2946
2947 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2948
2949         * mule-charset.c (Fmake_charset): Allocate final-byte based
2950         charset-id for 94-set, 96-set and 94x94-set.
2951
2952 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2953
2954         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2955         ambiguous `else'.
2956         (Fmake_charset): Likewise.
2957         (complex_vars_of_mule_charset): Modify the font registry of
2958         `ucs-bmp' not to match `Ethiopic-Unicode'.
2959
2960 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2961
2962         * mule-charset.c (complex_vars_of_mule_charset): Add font
2963         registory of `ucs-bmp'.
2964
2965 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2966
2967         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2968         coded-charsets in `default-coded-charset-priority-list' when
2969         breaking up a character.
2970
2971         * mule-charset.c (Vcharset_latin_viscii): New variable.
2972         (Qlatin_viscii): New variable.
2973         (make_charset): Don't use `decoding_table'.
2974         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2975         byte_offset.
2976         (Fset_charset_mapping_table): New implementation.
2977         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2978         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2979         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2980         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2981         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2982         charset `latin_viscii'.
2983
2984         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2985         (CHARSET_TYPE_94X94): Change to 1 from 2.
2986         (CHARSET_TYPE_96): Change to 2 from 1.
2987         (CHARSET_TYPE_128): New macro.
2988         (CHARSET_TYPE_128X128): Change to 5 from 4.
2989         (CHARSET_TYPE_256): New macro.
2990         (CHARSET_TYPE_256X256): Change to 7 from 5.
2991         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2992
2993 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2994
2995         * text-coding.c (char_encode_shift_jis): Refer
2996         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2997         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2998
2999         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
3000         (char_byte_table_equal): New function in UTF-2000.
3001         (char_byte_table_hash): New function in UTF-2000.
3002         (char_byte_table_description): New constant in UTF-2000.
3003         (char_byte_table): New type in UTF-2000.
3004         (make_char_byte_table): New function in UTF-2000.
3005         (copy_char_byte_table): New function in UTF-2000.
3006         (make_char_code_table): New macro in UTF-2000.
3007         (get_char_code_table): New function in UTF-2000.
3008         (put_char_code_table): New function in UTF-2000.
3009         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3010         (charset_description): Add setting in UTF-2000.
3011         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
3012         `CHARSET_TO_BYTE1_TABLE(cs)'.
3013         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
3014         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
3015         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
3016         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
3017         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
3018         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
3019         `CHARSET_TO_BYTE2_TABLE(cs)'.
3020
3021         * char-ucs.h (char_byte_table): New type.
3022         (XCHAR_BYTE_TABLE): New macro.
3023         (XSETCHAR_BYTE_TABLE): New macro.
3024         (CHAR_BYTE_TABLE_P): New macro.
3025         (GC_CHAR_BYTE_TABLE_P): New macro.
3026         (struct Lisp_Char_Byte_Table): New structure.
3027         (get_char_code_table): New interface.
3028         (Emchar_to_byte_table): Deleted.
3029         (get_byte_from_character_table): Deleted.
3030         (struct Lisp_Charset): Add `encoding_table'; delete
3031         `to_byte1_table' and `to_byte2_table'.
3032         (CHARSET_ENCODING_TABLE): New macro.
3033         (CHARSET_TO_BYTE1_TABLE): Deleted.
3034         (CHARSET_TO_BYTE2_TABLE): Deleted.
3035         (XCHARSET_ENCODING_TABLE): New macro.
3036         (XCHARSET_TO_BYTE1_TABLE): Deleted.
3037         (XCHARSET_TO_BYTE2_TABLE): Deleted.
3038
3039 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3040
3041         * mule-charset.c (syms_of_mule_charset): Delete charset alias
3042         `vietnamese-viscii-*'.
3043
3044 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3045
3046         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
3047         (Qvietnamese_viscii_upper): New variable.
3048         (Fdefine_charset_alias): New function.
3049         (syms_of_mule_charset): Add new function `define-charset-alias'.
3050         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
3051         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
3052         `latin-viscii-*'.
3053
3054 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
3055
3056         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
3057         (MAX_CHAR_OBS_94x94): New macro.
3058         (breakup_char_1): Support obsolete XEmacs-UCS private code space
3059         for 94x94 sets.
3060
3061         * mule-charset.c (put_byte_from_character_table): Change unit size
3062         from 128 to 256.
3063         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
3064         not defined.
3065         (Fmake_reverse_direction_charset): Modify dummy argument of
3066         `make_charset' for non-UTF-2000 environment.
3067
3068 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3069
3070         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
3071
3072         * mule-charset.c (destroy_byte_from_character_table): New macro.
3073         (latin_jisx0201_to_ucs): Deleted.
3074         (latin_iso8859_2_to_ucs): Deleted.
3075         (latin_iso8859_3_to_ucs): Deleted.
3076         (latin_iso8859_4_to_ucs): Deleted.
3077         (latin_iso8859_9_to_ucs): Deleted.
3078         (latin_viscii_lower_to_ucs): Deleted.
3079         (latin_viscii_upper_to_ucs): Deleted.
3080         (mark_charset): Mark `cs->decoding_table'.
3081         (Fcharset_mapping_table): Fix DOC-string.
3082         (Fset_charset_mapping_table): New function.
3083         (syms_of_mule_charset): Add nwe function
3084         `set-charset-mapping-table'.
3085         (complex_vars_of_mule_charset): Don't setup and use
3086         `latin_*_to_ucs'.
3087
3088 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3089
3090         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
3091         charset.
3092
3093 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3094
3095         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
3096         (Vcharset_katakana_jisx0208): New variable.
3097         (Qhiragana_jisx0208): New variable.
3098         (Qkatakana_jisx0208): New variable.
3099         (make_charset): Add new argument `byte_offset'.
3100         (charset_get_byte1): Modify for new coded-charset definition; use
3101         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3102         `XCHARSET_BYTE_OFFSET'.
3103         (Fmake_charset): Modify for `make_charset'.
3104         (Fmake_reverse_direction_charset): Likewise.
3105         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
3106         `katakana-jisx0208'.
3107         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
3108         `.'  in font registry of charset `katakana-jisx0201',
3109         `latin-jisx0201', `vietnamese-viscii-lower' and
3110         `vietnamese-viscii-upper'; modify DOC-string of charset
3111         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
3112         registry of charset `japanese-jisx0208' not to use font for JIS
3113         X0208:1990; add new charset `hiragana-jisx0208' and
3114         `katakana-jisx0208'.
3115
3116         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
3117         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
3118         (struct Lisp_Charset): Add `byte_offset'.
3119         (CHARSET_BYTE_OFFSET): New macro.
3120         (XCHARSET_UCS_MIN): New macro.
3121         (XCHARSET_UCS_MAX): New macro.
3122         (XCHARSET_CODE_OFFSET): New macro.
3123         (XCHARSET_BYTE_OFFSET): New macro.
3124         (MIN_CHAR_HIRAGANA): New macro.
3125         (MAX_CHAR_HIRAGANA): New macro.
3126         (MIN_CHAR_KATAKANA): New macro.
3127         (MAX_CHAR_KATAKANA): New macro.
3128         (MAKE_CHAR): Modify for new coded-charset definition; use
3129         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3130         `XCHARSET_BYTE_OFFSET'.
3131
3132 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3133
3134         * mule-charset.c (CHAR96): Deleted.
3135         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
3136         <Lisp_Object>.
3137         (latin_iso8859_2_to_ucs): Likewise.
3138         (latin_iso8859_3_to_ucs): Likewise.
3139         (latin_iso8859_4_to_ucs): Likewise.
3140         (latin_iso8859_9_to_ucs): Likewise.
3141         (latin_viscii_lower_to_ucs): Likewise.
3142         (latin_viscii_upper_to_ucs): Likewise.
3143         (latin_tcvn5712_to_ucs): Commented out.
3144         (make_charset): Change type of argument `decoding_table' from
3145         <Emchar*> to <Lisp_Object> [vector of characters].
3146         (Fmake_charset): Modify for `make_charset'.
3147         (Fmake_reverse_direction_charset): Likewise.
3148         (Fcharset_mapping_table): New function in UTF-2000.
3149         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
3150         UTF-2000.
3151         (complex_vars_of_mule_charset): Modify for type change of
3152         `*_to_ucs'; modify for `make_charset'.
3153
3154         * char-ucs.h (struct Lisp_Charset): Change type of
3155         `decoding_table' from <Emchar*> to <Lisp_Object>.
3156         (MAKE_CHAR): Modify for new specification of `decoding_table'.
3157
3158 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3159
3160         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
3161         error with non-UTF-2000-Mule.
3162
3163 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
3164
3165         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
3166         in lisp again].
3167         (Vcharset_chinese_cns11643_4): Likewise.
3168         (Vcharset_chinese_cns11643_5): Likewise.
3169         (Vcharset_chinese_cns11643_6): Likewise.
3170         (Vcharset_chinese_cns11643_7): Likewise.
3171         (Qchinese_cns11643_3): Likewise.
3172         (Qchinese_cns11643_4): Likewise.
3173         (Qchinese_cns11643_5): Likewise.
3174         (Qchinese_cns11643_6): Likewise.
3175         (Qchinese_cns11643_7): Likewise.
3176         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
3177         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3178         and `chinese-cns11643-7' to lisp/mule/chinese.el.
3179         (complex_vars_of_mule_charset): Likewise.
3180
3181 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3182
3183         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
3184         96-set.
3185         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
3186         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
3187
3188 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3189
3190         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
3191         0xFF60.
3192         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
3193         (breakup_char_1): Likewise.
3194
3195         * text-coding.c (char_encode_iso2022): Keep designated charsets if
3196         one of them includes the specified character.
3197
3198 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3199
3200         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
3201
3202 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3203
3204         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
3205
3206 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3207
3208         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
3209         definition for non-UTF-2000 Mule.
3210         (latin_iso8859_3_to_ucs): Likewise.
3211         (latin_iso8859_4_to_ucs): Likewise.
3212         (latin_iso8859_9_to_ucs): Likewise.
3213         (latin_jisx0201_to_ucs): Likewise.
3214         (MIN_CHAR_THAI): Likewise.
3215         (MAX_CHAR_THAI): Likewise.
3216         (MIN_CHAR_GREEK): Likewise.
3217         (MAX_CHAR_GREEK): Likewise.
3218         (MIN_CHAR_HEBREW): Likewise.
3219         (MAX_CHAR_HEBREW): Likewise.
3220         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
3221         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
3222         (MIN_CHAR_CYRILLIC): Likewise.
3223         (MAX_CHAR_CYRILLIC): Likewise.
3224
3225 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3226
3227         * char-ucs.h (breakup_char_1): Use
3228         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
3229         thai-tis620 and katakana-jisx0201 area.
3230
3231 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3232
3233         * char-ucs.h (breakup_char_1): Use
3234         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
3235         area.
3236
3237         * text-coding.c (reset_encoding_stream): Fixed.
3238         (char_encode_ucs4): Delete `& 255'.
3239
3240         * char-ucs.h (breakup_char_1): Use
3241         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3242
3243 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3244
3245         * file-coding.c (Fmake_coding_system): Don't set up
3246         `codesys->fixed.size'.
3247         (encode_coding_no_conversion): Don't refer
3248         `str->codesys->fixed.size'.
3249
3250 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3251
3252         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3253         (latin_a_char_to_byte1): Deleted.
3254         (latin_a_char_to_byte2): Deleted.
3255
3256 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3257
3258         * mule-charset.c (make_charset): Add new argument `ucs_min',
3259         `ucs_max' and `code_offset'.
3260         (charset_get_byte1): New implementation [delete specific charset
3261         depended implementations].
3262         (Fmake_charset): Modify for `make_charset'.
3263         (Fmake_reverse_direction_charset): Likewise.
3264         (complex_vars_of_mule_charset): Likewise.
3265
3266         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3267         `code_offset'.
3268         (CHARSET_UCS_MIN): New macro.
3269         (CHARSET_UCS_MAX): New macro.
3270         (CHARSET_CODE_OFFSET): New macro.
3271         (MAKE_CHAR): Delete charset depended definitions [except
3272         katakana-jisx0201].
3273
3274 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3275
3276         * char-ucs.h (breakup_char_1): Use
3277         `Vdefault_coded_charset_priority_list' for C0-Controls,
3278         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3279
3280 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3281
3282         * char-ucs.h (charset_get_byte1): New function.
3283         (XCHARSET_GET_BYTE1): Deleted.
3284         (charset_get_byte2): New function.
3285         (XCHARSET_GET_BYTE2): Deleted.
3286         (Vdefault_coded_charset_priority_list): New external variable.
3287         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3288         `Vdefault_preferred_coded_charset_list'.
3289
3290         * mule-charset.c (charset_get_byte1): New function.
3291         (charset_get_byte2): New function.
3292         (Vdefault_coded_charset_priority_list): New variable.
3293         (vars_of_mule_charset): Add new variable
3294         `default-coded-charset-priority-list'.
3295
3296 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3297
3298         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3299         (XCHARSET_GET_BYTE2): New inline function.
3300         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3301         `XCHARSET_GET_BYTE2'.
3302
3303 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3304
3305         * mule-charset.c (make_charset): Initialize
3306         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3307         NULL if table is not defined.
3308
3309 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3310
3311         * text-coding.c (char_encode_shift_jis): Use
3312         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3313         `ucs_to_latin_jisx0201'.
3314
3315         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3316         (ucs_to_latin_iso8859_2): Deleted.
3317         (ucs_to_latin_iso8859_3): Deleted.
3318         (ucs_to_latin_iso8859_4): Deleted.
3319         (ucs_to_latin_iso8859_9): Deleted.
3320         (ucs_to_latin_viscii_lower): Deleted.
3321         (ucs_to_latin_viscii_upper): Deleted.
3322         (ucs_to_latin_tcvn5712): Deleted.
3323         (make_charset): Add new argument `decoding_table'; set up
3324         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3325         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3326         `decoding_table' is defined in UTF-2000.
3327         (Fmake_charset): Modify for `make_charset'.
3328         (Fmake_reverse_direction_charset): Likewise.
3329         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3330         and `GENERATE_96_SET'.
3331
3332         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3333         (ucs_to_latin_jisx0201): Deleted.
3334         (latin_iso8859_2_to_ucs): Deleted.
3335         (ucs_to_latin_iso8859_2): Deleted.
3336         (latin_iso8859_3_to_ucs): Deleted.
3337         (ucs_to_latin_iso8859_3): Deleted.
3338         (latin_iso8859_4_to_ucs): Deleted.
3339         (ucs_to_latin_iso8859_4): Deleted.
3340         (latin_iso8859_9_to_ucs): Deleted.
3341         (ucs_to_latin_iso8859_9): Deleted.
3342         (latin_viscii_lower_to_ucs): Deleted.
3343         (ucs_to_latin_viscii_lower): Deleted.
3344         (latin_viscii_upper_to_ucs): Deleted.
3345         (ucs_to_latin_viscii_upper): Deleted.
3346         (struct Lisp_Charset): Renamed `encoding_table' to
3347         `to_byte1_table'; add `to_byte2_table'.
3348         (CHARSET_DECODING_TABLE): New macro.
3349         (CHARSET_TO_BYTE1_TABLE): New macro.
3350         (CHARSET_TO_BYTE2_TABLE): New macro.
3351         (XCHARSET_DECODING_TABLE): New macro.
3352         (XCHARSET_TO_BYTE1_TABLE): New macro.
3353         (XCHARSET_TO_BYTE2_TABLE): New macro.
3354         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3355         tables.
3356         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3357         don't use `ucs_to_*' tables.
3358
3359 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3360
3361         * text-coding.c (Fmake_coding_system): Don't set up
3362         `codesys->fixed.size'.
3363         (encode_coding_no_conversion): Use `if' instead of `switch'.
3364
3365         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3366
3367 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3368
3369         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3370         (Fmake_charset): Modify for `make_charset'.
3371         (Fmake_reverse_direction_charset): Likewise.
3372         (complex_vars_of_mule_charset): Likewise.
3373
3374 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3375
3376         * text-coding.c (char_encode_shift_jis): Use table
3377         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3378
3379 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3380
3381         * text-coding.c (text_encode_generic): Use `if' instead of
3382         `switch'.
3383         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3384         decode JIS-Latin.
3385
3386 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3387
3388         * text-coding.c (encode_coding_sjis): Deleted.
3389         (char_encode_shift_jis): New function.
3390         (char_finish_shift_jis): New function.
3391         (reset_encoding_stream): Set up `encode_char' and `finish' for
3392         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3393         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3394         (char_encode_utf8): Treat `eol_type'.
3395
3396 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3397
3398         * file-coding.c (decode_coding_iso2022): Use
3399         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3400
3401 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3402
3403         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3404         to 0.7 (Hirano).
3405
3406 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3407
3408         * char-lb.h (CHAR_COLUMNS): New macro.
3409
3410 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3411
3412         * text-coding.c (char_encode_ucs4): New function.
3413         (char_finish_ucs4): New function.
3414         (encode_coding_ucs4): Deleted.
3415         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3416         (text_encode_generic): Delete local variable `charset' and `half'.
3417         (ucs_to_mule_table): Deleted.
3418         (mule_to_ucs_table): Deleted.
3419         (Fset_ucs_char): Deleted.
3420         (ucs_to_char): Deleted.
3421         (Fucs_char): Deleted.
3422         (Fset_char_ucs): Deleted.
3423         (Fchar_ucs): Deleted.
3424         (decode_ucs4): Deleted.
3425         (mule_char_to_ucs4): Deleted.
3426         (encode_ucs4): Deleted.
3427         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3428         (decode_coding_utf8): Likewise.
3429         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3430         (char_encode_iso2022): Fixed.
3431         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3432         `Fset_char_ucs' and `Fchar_ucs'.
3433         (complex_vars_of_file_coding): Don't initialize
3434         `ucs_to_mule_table'.
3435
3436         * objects-tty.c (tty_initialize_font_instance): Don't use
3437         `XCHARSET_COLUMNS'.
3438
3439         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3440         UTF-2000.
3441
3442         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
3443         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3444
3445         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
3446         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3447         (emchar_string_displayed_columns): Likewise.
3448
3449         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
3450         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3451         (string_column_at_point): Likewise.
3452         (Fmove_to_column): Likewise.
3453
3454         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
3455         `encoding_table' and `decoding_table'.
3456         (CHARSET_REP_BYTES): Deleted.
3457         (XCHARSET_REP_BYTES): Deleted.
3458         (XCHARSET_COLUMNS): Deleted.
3459         (CHAR_COLUMNS): New macro.
3460         (lookup_composite_char): Deleted unconditionally.
3461         (composite_char_string): Likewise.
3462
3463 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3464
3465         * char-ucs.h (Emchar_to_byte_table): New type.
3466         (get_byte_from_character_table): New function interface.
3467         (Vcharset_latin_jisx0201): New variable.
3468         (latin_jisx0201_to_ucs): New variable.
3469         (ucs_to_latin_jisx0201): New variable.
3470         (Vcharset_latin_iso8859_2): New variable.
3471         (latin_iso8859_2_to_ucs): New variable.
3472         (ucs_to_latin_iso8859_2): New variable.
3473         (Vcharset_latin_iso8859_3): New variable.
3474         (latin_iso8859_3_to_ucs): New variable.
3475         (ucs_to_latin_iso8859_3): New variable.
3476         (Vcharset_latin_iso8859_4): New variable.
3477         (latin_iso8859_4_to_ucs): New variable.
3478         (ucs_to_latin_iso8859_4): New variable.
3479         (Vcharset_latin_iso8859_9): New variable.
3480         (latin_iso8859_9_to_ucs): New variable.
3481         (ucs_to_latin_iso8859_9): New variable.
3482         (Vcharset_latin_viscii_lower): New variable.
3483         (latin_viscii_lower_to_ucs): New variable.
3484         (ucs_to_latin_viscii_lower): New variable.
3485         (Vcharset_latin_viscii_upper): New variable.
3486         (latin_viscii_upper_to_ucs): New variable.
3487         (ucs_to_latin_viscii_upper): New variable.
3488         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
3489         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
3490         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
3491         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
3492         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
3493         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
3494         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
3495         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
3496         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
3497         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
3498
3499         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
3500         (Vcharset_latin_viscii_upper): New variable.
3501         (make_byte_from_character_table): New function.
3502         (put_byte_from_character_table): New function.
3503         (get_byte_from_character_table): New function.
3504         (CHAR96): New macro.
3505         (ucs_to_latin_jisx0201): New variable.
3506         (latin_jisx0201_to_ucs): New variable.
3507         (ucs_to_latin_iso8859_2): New variable.
3508         (latin_iso8859_2_to_ucs): New variable.
3509         (ucs_to_latin_iso8859_3): New variable.
3510         (latin_iso8859_3_to_ucs): New variable.
3511         (ucs_to_latin_iso8859_4): New variable.
3512         (latin_iso8859_4_to_ucs): New variable.
3513         (ucs_to_latin_iso8859_9): New variable.
3514         (latin_iso8859_9_to_ucs): New variable.
3515         (ucs_to_latin_viscii_lower): New variable.
3516         (latin_viscii_lower_to_ucs): New variable.
3517         (ucs_to_latin_viscii_upper): New variable.
3518         (latin_viscii_upper_to_ucs): New variable.
3519         (ucs_to_latin_tcvn5712): New variable.
3520         (latin_tcvn5712_to_ucs): New variable.
3521         (Qlatin_viscii_lower): New variable.
3522         (Qlatin_viscii_upper): New variable.
3523         (syms_of_mule_charset): Set up new symbol
3524         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
3525         (complex_vars_of_mule_charset): Set up new charset
3526         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
3527         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
3528         `ucs_to_<CHARSET>' tables.
3529
3530 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3531
3532         * text-coding.c: New file.
3533
3534 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3535
3536         * mule-charset.c (Fmake_char): Fix problem of 256-set.
3537
3538         * char-ucs.h (Vcharset_ucs_bmp): New variable.
3539         (MAKE_CHAR): Modify for `ucs-bmp'.
3540         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
3541         non-MULE characters of BMP.
3542
3543 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
3544
3545         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3546         to 0.6.
3547
3548 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3549
3550         * lstream.h:
3551         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
3552         - Include character.h for `CHAR_ASCII_P'.
3553
3554         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
3555
3556         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
3557         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
3558
3559         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
3560         (BYTE_C0_P): Likewise.
3561         (BYTE_C1_P): Likewise.
3562         (Lstream_get_emchar_1): Likewise.
3563         (Lstream_fput_emchar): Likewise.
3564         (Lstream_funget_emchar): Likewise.
3565         (copy_internal_to_external): Likewise.
3566         (copy_external_to_internal): Likewise.
3567
3568         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
3569         (BYTE_C0_P): Likewise.
3570         (BYTE_C1_P): Likewise.
3571         (Lstream_get_emchar_1): Likewise.
3572         (Lstream_fput_emchar): Likewise.
3573         (Lstream_funget_emchar): Likewise.
3574         (copy_internal_to_external): Likewise.
3575         (copy_external_to_internal): Likewise.
3576
3577         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3578         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3579
3580         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3581         (BYTE_ASCII_P): Moved to mb-1byte.h.
3582
3583 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3584
3585         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3586
3587         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3588         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3589         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3590         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3591         (VALIDATE_CHARPTR_FORWARD): Likewise.
3592         (simple_charptr_emchar): Moved to mb-multibyte.h.
3593         (simple_set_charptr_emchar): Likewise.
3594         (simple_charptr_copy_char): Likewise.
3595         (non_ascii_charptr_emchar): Likewise.
3596         (non_ascii_set_charptr_emchar): Likewise.
3597         (non_ascii_charptr_copy_char): Likewise.
3598         (charptr_emchar): Moved to mb-*byte.h.
3599         (set_charptr_emchar): Likewise.
3600         (charptr_copy_char): Likewise.
3601
3602         * mb-1byte.h, mb-multibyte.h: New files.
3603
3604 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3605
3606         * mb-utf-8.h (MULTIBYTE): New macro.
3607         (MAX_EMCHAR_LEN): Moved from buffer.h.
3608         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3609
3610         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3611
3612         * mb-lb.h, multibyte.h: New files.
3613
3614         * char-1byte.h (Charset_ID): Moved from buffer.h.
3615         (MIN_LEADING_BYTE): Likewise.
3616         (LEADING_BYTE_ASCII): Likewise.
3617         (NUM_LEADING_BYTES): Likewise.
3618         (CHARSETP): Likewise.
3619         (CHARSET_BY_LEADING_BYTE): Likewise.
3620         (XCHARSET_LEADING_BYTE): Likewise.
3621         (XCHARSET_GRAPHIC): Likewise.
3622         (XCHARSET_COLUMNS): Likewise.
3623         (XCHARSET_DIMENSION): Likewise.
3624         (CHAR_CHARSET): Likewise.
3625         (CHAR_LEADING_BYTE): Likewise.
3626         (BREAKUP_CHAR): Likewise.
3627         (Vcharset_ascii): Likewise.
3628
3629         * buffer.h: Include multibyte.h unconditionally.
3630         (VALID_CHARPTR_P): Moved to multibyte.h.
3631         (ASSERT_VALID_CHARPTR): Likewise.
3632         (REAL_INC_CHARPTR): Likewise.
3633         (REAL_INC_CHARBYTIND): Likewise.
3634         (REAL_DEC_CHARPTR): Likewise.
3635         (INC_CHARPTR): Likewise.
3636         (INC_CHARBYTIND): Likewise.
3637         (DEC_CHARPTR): Likewise.
3638         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3639         (VALIDATE_CHARPTR_FORWARD): Likewise.
3640         (charptr_n_addr): Likewise.
3641         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3642         (simple_charptr_emchar): Moved to multibyte.h.
3643         (simple_set_charptr_emchar): Likewise.
3644         (simple_charptr_copy_char): Likewise.
3645         (non_ascii_charptr_emchar): Likewise.
3646         (non_ascii_set_charptr_emchar): Likewise.
3647         (non_ascii_charptr_copy_char): Likewise.
3648         (charptr_emchar): Likewise.
3649         (set_charptr_emchar): Likewise.
3650         (charptr_copy_char): Likewise.
3651         (charptr_emchar_n): Likewise.
3652         (Charset_ID): Moved to char-1byte.h.
3653         (Vcharset_ascii): Likewise.
3654         (CHAR_CHARSET): Likewise.
3655         (CHAR_LEADING_BYTE): Likewise.
3656         (LEADING_BYTE_ASCII): Likewise.
3657         (NUM_LEADING_BYTES): Likewise.
3658         (MIN_LEADING_BYTE): Likewise.
3659         (CHARSETP): Likewise.
3660         (CHARSET_BY_LEADING_BYTE): Likewise.
3661         (XCHARSET_LEADING_BYTE): Likewise.
3662         (XCHARSET_GRAPHIC): Likewise.
3663         (XCHARSET_COLUMNS): Likewise.
3664         (XCHARSET_DIMENSION): Likewise.
3665         (BREAKUP_CHAR): Likewise.
3666
3667 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3668
3669         * character.h: Add document about interface for characters.
3670
3671         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3672         (MAKE_CHAR): Delete comment about
3673         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3674         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3675         (BREAKUP_CHAR): Modify name of arguments.
3676         (CHAR_CHARSET): Modify name of argument.
3677
3678         * buffer.h: Delete document about Emchar accessors.
3679
3680 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3681
3682         * character.h (CHAR_INTP): Moved from buffer.h
3683         (CHAR_OR_CHAR_INTP): Likewise.
3684         (XCHAR_OR_CHAR_INT): Likewise.
3685         (CHECK_CHAR_COERCE_INT): Likewise.
3686
3687         * buffer.h (CHAR_INTP): Moved to character.h
3688         (CHAR_OR_CHAR_INTP): Likewise.
3689         (XCHAR_OR_CHAR_INT): Likewise.
3690         (CHECK_CHAR_COERCE_INT): Likewise.
3691
3692 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3693
3694         * character.h:
3695         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3696         - Include char-1byte.h, char-lb.h or char-ucs.h.
3697
3698         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3699
3700         * buffer.h: Include character unconditionally.
3701         (valid_char_p): Moved to char-*.h.
3702         (non_ascii_valid_char_p): Moved to char-lb.h.
3703
3704         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3705
3706 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3707
3708         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3709         in UTF-2000 because it is not ported yet and not to use
3710         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3711         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3712         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3713
3714         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3715         (CHAR_ASCII_P): Moved from character.h.
3716
3717         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3718         (CHAR_ASCII_P): Likewise.
3719         (CHAR_FIELD1_MASK): Deleted.
3720         (CHAR_FIELD2_MASK): Deleted.
3721         (CHAR_FIELD3_MASK): Deleted.
3722         (MAX_CHAR_BASIC_LATIN): New macro.
3723         (CHAR_FIELD1): Deleted.
3724         (CHAR_FIELD2_INTERNAL): Deleted.
3725         (CHAR_FIELD3_INTERNAL): Deleted.
3726         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3727         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3728         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3729         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3730         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3731         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3732         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3733         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3734         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3735         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3736         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3737         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3738         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3739         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3740         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3741         (MIN_CHAR_COMPOSITION): Deleted.
3742         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3743         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3744
3745 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3746
3747         * buffer.h: Include mb-utf-8.h in UTF-2000.
3748
3749         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3750
3751         * mb-utf-8.h: New file.
3752
3753 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3754
3755         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3756         instead of `int'.
3757
3758         * mule-charset.h, buffer.h (Charset_ID): New type.
3759
3760 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3761
3762         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3763         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3764         instead of `MULE_CHAR_PRIVATE_OFFSET',
3765         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3766         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3767         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3768
3769         * character.h (Vcharset_japanese_jisx0212): New variable
3770         definition.
3771
3772 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3773
3774         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3775         (charset_by_attributes): Delete array about direction.
3776         (latin_a_char_to_charset): New variable in UTF-2000.
3777         (latin_a_char_to_byte1): New variable in UTF-2000.
3778         (latin_a_char_to_byte2): New variable in UTF-2000.
3779         (Qucs_bmp): New variable.
3780         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3781         `Bufbyte'.
3782         (next_allocated_2_byte_leading_byte): Likewise.
3783         (non_ascii_set_charptr_emchar): Likewise.
3784         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3785         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3786         `charset_by_attributes'.
3787         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3788         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3789         and `CHARSET_BY_LEADING_BYTE'.
3790         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3791         `utf-2000-version' to `vars_of_mule_charset'.
3792         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3793         define `leading-code-private-11' in UTF-2000; move setting of
3794         `utf-2000-version' from `syms_of_mule_charset'.
3795         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3796         UTF-2000.
3797
3798         * character.h (Charset_ID): New type.
3799         (LEADING_BYTE_UCS_BMP): New macro.
3800         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3801         (CHARSET_ID_OFFSET_94): New macro.
3802         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3803         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3804         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3805         final-byte.
3806         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3807         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3808         (CHARSET_ID_OFFSET_96): New macro.
3809         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3810         CHARSET_ID_OFFSET_96 and final-byte.
3811         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3812         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3813         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3814         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3815         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3816         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3817         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3818         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3819         (LEADING_BYTE_THAI_TIS620): Likewise.
3820         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3821         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3822         (CHARSET_ID_OFFSET_94x94): New macro.
3823         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3824         CHARSET_ID_OFFSET_94x94 and final-byte.
3825         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3826         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3827         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3828         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3829         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3830         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3831         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3832         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3833         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3834         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3835         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3836         (CHARSET_TYPE_128X128): New macro.
3837         (CHARSET_TYPE_256X256): New macro.
3838         (XCHARSET_PRIVATE_P): Delete unconditionally.
3839         (charset_by_attributes): Delete array about direction.
3840         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3841         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3842         (MIN_CHAR_94): New macro.
3843         (MAX_CHAR_94): New macro.
3844         (MIN_CHAR_96): New macro.
3845         (MAX_CHAR_96): New macro.
3846         (MIN_CHAR_94x94): New macro.
3847         (MAX_CHAR_94x94): New macro.
3848         (MIN_CHAR_96x96): New macro.
3849         (MAX_CHAR_96x96): New macro.
3850         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3851         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3852         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3853         - 32)'.
3854         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3855         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3856         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3857         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3858         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3859         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3860         `XCHARSET_LEADING_BYTE' to make code-point.
3861         (latin_a_char_to_charset): New variable.
3862         (latin_a_char_to_byte1): New variable.
3863         (latin_a_char_to_byte2): New variable.
3864         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3865         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3866         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3867
3868         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3869         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3870         (find_charsets_in_emchar_string): Likewise.
3871         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3872
3873         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3874         `int'.
3875         (decode_coding_iso2022): Likewise.
3876
3877         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3878         of `unsigned char'.
3879
3880         * redisplay.c (redisplay_text_width_emchar_string): Use
3881         `Charset_ID' instead of `unsigned char'.
3882         (redisplay_frame_text_width_string): Likewise.
3883
3884         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3885         `unsigned char'.
3886
3887         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3888         instead of `unsigned char'.
3889         (face_cachel_charset_font_metric_info): Likewise.
3890
3891         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3892         (get_non_ascii_char_table_value): Likewise.
3893         (get_char_table): Likewise.
3894         (put_char_table): Likewise.
3895         (map_over_other_charset): Likewise.
3896         (map_char_table): Likewise.
3897
3898         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3899         instead of `unsigned char'.
3900
3901 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3902
3903         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3904         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3905
3906         * mule-charset.c (leading_code_private_11): Don't define in
3907         UTF-2000.
3908
3909         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3910         in UTF-2000 because it is not ported yet and not to use
3911         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3912
3913 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3914
3915         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3916
3917 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3918
3919         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3920         in UTF-2000.
3921
3922         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3923         of unsigned char to store leading-byte.
3924
3925         * chartab.c (get_non_ascii_char_table_value): Don't use
3926         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3927
3928         * file-coding.c (encode_coding_big5): Delete bogus implementation
3929         in UTF2000.
3930
3931         * character.h (LEADING_BYTE_*): Delete definition for
3932         non-UTF-2000.
3933         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3934         (LEADING_BYTE_PREFIX_P): Deleted.
3935         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3936         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3937         (BUFBYTE_LEADING_BYTE_P): Deleted.
3938         (CHARSET_PRIVATE_P): Deleted unconditionally.
3939         (rep_bytes_by_first_byte): Deleted unconditionally.
3940         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3941         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3942         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3943         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3944         (CHAR_FIELD2): Deleted.
3945         (CHAR_FIELD3): Deleted.
3946         (MAKE_CHAR): Delete definition for non-UTF-2000.
3947         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3948         (breakup_char_1): New implementation.
3949         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3950         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3951
3952 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3953
3954         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3955         condition.
3956
3957 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3958
3959         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3960         (CHARSET_PRIVATE_P): Likewise.
3961         (XCHARSET_PRIVATE_P): Likewise.
3962         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3963
3964         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3965         UTF2000.
3966         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3967
3968 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3969
3970         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3971         (NUM_LEADING_BYTES): Changed from 128 to 256.
3972         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3973         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3974         UTF2000.
3975         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3976
3977         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3978         UTF2000.
3979         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3980         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3981         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3982         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3983         (Qchinese_cns11643_3): New variable in UTF2000.
3984         (Qchinese_cns11643_4): New variable in UTF2000.
3985         (Qchinese_cns11643_5): New variable in UTF2000.
3986         (Qchinese_cns11643_6): New variable in UTF2000.
3987         (Qchinese_cns11643_7): New variable in UTF2000.
3988         (syms_of_mule_charset): Define `chinese-cns11643-3',
3989         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3990         and `chinese-cns11643-7' in UTF2000.
3991         (vars_of_mule_charset): Initialize
3992         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3993         + 1 in UTF2000.
3994         (complex_vars_of_mule_charset): Setup charset
3995         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3996         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3997
3998 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3999
4000         * mule-charset.c: Move setting for `leading-code-private-11' from
4001         `syms_of_mule_charset' to `vars_of_mule_charset'.
4002
4003 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4004
4005         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
4006         and `NUM_LEADING_BYTES' in assert.
4007
4008 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4009
4010         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
4011         instead of 128.
4012         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
4013         `NUM_LEADING_BYTES' instead of 128.
4014
4015 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4016
4017         * mule-charset.h (charset_by_leading_byte): Use
4018         `NUM_LEADING_BYTES' instead of 128.
4019         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
4020
4021         * mule-charset.c (charset_by_leading_byte): Use
4022         `NUM_LEADING_BYTES' instead of 128.
4023         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
4024
4025         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
4026         128.
4027
4028 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4029
4030         * mule-charset.c (syms_of_mule_charset): Update to
4031         0.4 (Shin-Imamiya).
4032
4033 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4034
4035         * file-coding.c (encode_coding_sjis): New implementation for
4036         UTF2000.  (decode_coding_sjis): Ditto.
4037
4038 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4039
4040         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
4041         Don't define in UTF2000.
4042
4043         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
4044         defined.
4045
4046         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4047         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
4048         MULE.
4049
4050 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4051
4052         * config.h.in (CHAR_IS_UCS4): New macro.
4053
4054         * mule-charset.c (rep_bytes_by_first_byte): Modify for
4055         conventional MULE representation.
4056         (syms_of_mule_charset): Update to 0.3 (Imamiya).
4057
4058         * mule-charset.h: Reverted to original.
4059
4060         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4061         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
4062         "mule-charset.h" if CHAR_IS_UCS4 is defined.
4063
4064         * character.h: New file.
4065
4066         * file-coding.c (Fmake_coding_system): Set 1 to
4067         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
4068         defined.
4069         (encode_coding_no_conversion): New implementation for UTF2000.
4070
4071         * file-coding.h (struct Lisp_Coding_System): Add new member
4072         `fixed.size'.
4073
4074 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
4075
4076         * file-coding.c (decode_coding_iso2022): Code-point arguments of
4077         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
4078         (encode_coding_iso2022): New implementation for UTF2000.
4079
4080 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4081
4082         * mule-canna.c (c2mu): New implementation for UTF2000.
4083         (m2c): Likewise.
4084
4085 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4086
4087         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
4088
4089 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4090
4091         * file-coding.c (reset_encoding_stream): Set 0 to
4092         `str->iso2022.current_char_boundary' in UTF2000.
4093         (encode_utf8): Don't define in UTF2000.
4094         (encode_coding_utf8): New implementation for UTF-8 representation
4095         of UTF2000.
4096         (complex_vars_of_file_coding): Define coding-system `utf-8'.
4097
4098 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4099
4100         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
4101
4102         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
4103         UTF2000.
4104         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4105
4106         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
4107
4108         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
4109         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
4110         as UTF-8 in UTF2000.
4111         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
4112         (non_ascii_valid_char_p): Don't define in UTF2000.
4113         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
4114         (Lstream_get_emchar_1): Likewise.
4115         (utf-2000-version): New variable in UTF2000.
4116
4117         * lread.c (read_escape): Add new reader `u'.
4118
4119         * insdel.c (three_to_one_table): Don't define in UTF2000.
4120         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
4121         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4122         UTF2000.
4123         (bytind_to_bufpos_func): Likewise.
4124         (buffer_mule_signal_inserted_region): Likewise.
4125         (vars_of_insdel): Don't initialize `three_to_one_table'.
4126         (init_buffer_text): Use `buf->text->mule_size' instead of
4127         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4128         UTF2000.
4129
4130         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
4131         UTF-8 representation in UTF2000.
4132         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
4133         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
4134         (decode_coding_iso2022): Don't define local variable `lb' in
4135         UTF2000; don't use LEADING_BYTE in UTF2000; use
4136         `DECODE_ADD_UCS_CHAR' in UTF2000.
4137         (convert_to_external_format): Decode as UTF-8 in UTF2000.
4138
4139         * config.h.in (UTF2000): New macro.
4140
4141         * buffer.h (struct buffer_text): Add new member `mule_size' and
4142         don't add `mule_shifter' and `mule_three_p' in UTF2000.
4143         (valid_char_p): Return always 1 in UTF2000.
4144         (MAX_EMCHAR_LEN): 6 in UTF2000.
4145         (three_to_one_table): Don't define in UTF2000.
4146         (real_bufpos_to_bytind): Modify for UTF-8 representation in
4147         UTF2000.
4148         (real_bytind_to_bufpos): Likewise.
4149
4150         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
4151
4152 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4153
4154         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
4155         representation change.
4156         (Vutf_2000_version): New variable.
4157         (leading_code_private_11): New variable.
4158         (syms_of_mule_charset): Add new variables `utf-2000-version' and
4159         `leading-code-private-11'.
4160
4161         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
4162         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
4163         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
4164         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
4165         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
4166         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
4167         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
4168         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
4169         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
4170         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
4171         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
4172         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
4173         (MIN_CHAR_GREEK): New macro.
4174         (MAX_CHAR_GREEK): New macro.
4175         (MIN_CHAR_CYRILLIC): New macro.
4176         (MAX_CHAR_CYRILLIC): New macro.
4177         (MIN_CHAR_HEBREW): New macro.
4178         (MAX_CHAR_HEBREW): New macro.
4179         (MIN_CHAR_THAI): New macro.
4180         (MAX_CHAR_THAI): New macro.
4181         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
4182         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
4183         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
4184         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
4185         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
4186         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
4187         (CHAR_FIELD2): New inline function.
4188         (CHAR_FIELD3): New inline function.
4189         (MULE_CHAR_PRIVATE_OFFSET): New macro.
4190         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
4191         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
4192         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
4193         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
4194         (MIN_CHAR_COMPOSITION): Likewise.
4195         (CHAR_LEADING_BYTE): Modified for character representation change.
4196         (MAKE_CHAR): Likewise.
4197
4198         * lisp.h (Vcharset_latin_iso8859_1): New variable.
4199         (Vcharset_greek_iso8859_7): Likewise.
4200         (Vcharset_cyrillic_iso8859_5): Likewise.
4201         (Vcharset_hebrew_iso8859_8): Likewise.
4202         (Vcharset_thai_tis620): Likewise.
4203         (Vcharset_katakana_jisx0201): Likewise.
4204
4205 2001-02-08  Martin Buchholz <martin@xemacs.org>
4206
4207         * XEmacs 21.2.44 "Thalia" is released.
4208
4209 2001-02-06  Martin Buchholz  <martin@xemacs.org>
4210
4211         Fixes crashes in kill-emacs on some systems.
4212         * process-unix.c (unix_kill_child_process):
4213         It's OK for kill() to fail with ESRCH.
4214
4215 2001-02-07  Martin Buchholz  <martin@xemacs.org>
4216
4217         Contortions to make .gdbinit tricks work on most systems.
4218         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
4219         * alloc.c (dbg_valmask): Make non-const.
4220         * alloc.c (dbg_typemask): Make non-const.
4221         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
4222         * alloc.c (dbg_valbits): Make non-const.
4223         * alloc.c (dbg_gctypebits): Make non-const.
4224         * .gdbinit (decode_object): Make it work with AIX cc.
4225
4226 2001-02-06  Martin Buchholz  <martin@xemacs.org>
4227
4228         * elhash.c (make_general_lisp_hash_table):
4229         Use simpler and more efficient calloc to clear entries.
4230
4231 2001-02-07  Martin Buchholz  <martin@xemacs.org>
4232
4233         * window.c (window_scroll): Work around an AIX C compiler bug.
4234         Fixes 'scroll-up' does nothing problem with xlC.
4235
4236 2001-02-05  Martin Buchholz  <martin@xemacs.org>
4237
4238         * .gdbinit: Remove obsolete comment.
4239
4240 2001-01-31  Mike Alexander  <mta@arbortext.com>
4241
4242         * select.c (Fown_selection_internal): Set owned_p for device
4243         method correctly.
4244
4245 2001-02-01  Martin Buchholz  <martin@xemacs.org>
4246
4247         Port to g++ 2.97.
4248         "not" cannot be used as a macro name as it is an operator in C++
4249         * config.h.in: Stop #defining `not'.
4250         * chartab.c (check_category_char): not ==> not_p
4251         * chartab.h: Likewise.
4252         * regex.c (re_match_2_internal): Likewise.
4253
4254 2001-02-02  Martin Buchholz  <martin@xemacs.org>
4255
4256         * lisp-disunion.h: Fix up comments.
4257
4258 2001-01-31  Martin Buchholz  <martin@xemacs.org>
4259
4260         * keymap.c (define_key_check_and_coerce_keysym):
4261         (syms_of_keymap):
4262         Support mouse-6 and mouse-7 bindings in the obvious way.
4263
4264 2001-02-01  Martin Buchholz  <martin@xemacs.org>
4265
4266         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
4267
4268 2001-01-30  Martin Buchholz  <martin@xemacs.org>
4269
4270         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
4271         Previous patch missed DEFVAR_INT_MAGIC.
4272         Make sure future DEFVAR_foo use correct types.
4273         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
4274         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
4275         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
4276         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
4277         * (DEFVAR_INT): Likewise.
4278         * redisplay.c (vertical_clip): Should be of type Fixnum.
4279         * redisplay.c (horizontal_clip): Likewise.
4280         * lisp.h (dump_add_opaque_int): New.
4281         (dump_add_opaque_fixnum): New.
4282
4283 2001-01-29  Andy Piper  <andy@xemacs.org>
4284
4285         * glyphs-widget.c (check_valid_int_or_function): allow symbols
4286         since they can be eval'ed
4287
4288 2001-01-29  Martin Buchholz  <martin@xemacs.org>
4289
4290         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
4291         Oops, XEmacs redefines `class'.  Use `typename' instead.
4292
4293 2001-01-28  Martin Buchholz  <martin@xemacs.org>
4294
4295         * dumper.c: Fix C++ compile errors.
4296
4297 2001-01-29  Martin Buchholz  <martin@xemacs.org>
4298
4299         * tparam.c: Use correct prototypes.
4300
4301 2001-01-28  Martin Buchholz  <martin@xemacs.org>
4302
4303         * sysproc.h: #include util.h for NetBSD's openpty.
4304
4305 2001-01-27  Martin Buchholz  <martin@xemacs.org>
4306
4307         More 64-bit correctness.
4308         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
4309         Use a typedef `fixnum' for the type used for DEFVAR_INT.
4310         Fix up comments.
4311         This finally finishes the 64-bit SGI port.
4312         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
4313         * symbols.c: Fix up comments and type casts.
4314         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
4315         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
4316         * symeval.h (Fixnum): New type.
4317         * symeval.h (symbol_value_type): Fix up comment.
4318
4319         * commands.h:
4320         * nt.c:
4321         * emacs.c:
4322         * data.c:
4323         * redisplay.c:
4324         * abbrev.c:
4325         * dired-msw.c:
4326         * event-Xt.c:
4327         * eldap.c:
4328         * window.c:
4329         * sound.c:
4330         * event-stream.c:
4331         * eval.c:
4332         * buffer.c:
4333         * mule-canna.c: A million DEFVAR_INTs here...
4334         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
4335         * extents.c:
4336         * cmdloop.c:
4337         * lisp.h:
4338         * select-x.c:
4339         * console-x.h:
4340         * event-msw.c:
4341         * mule-wnnfns.c:
4342         * hpplay.c:
4343         * ralloc.c:
4344         * alloc.c:
4345         * keymap.c:
4346         * profile.c:
4347         s/int/Fixnum/g in DEFVAR_INT declarations.
4348
4349 2001-01-26  Martin Buchholz  <martin@xemacs.org>
4350
4351         Port pdump to SGI alignment-sensitive environment.
4352         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
4353         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
4354         properly aligned.
4355         Define and use aligned reading and writing macros.
4356         Use buffered stdio instead of posix i/o for faster dumping.
4357         Eliminate kludgy 256 byte space for header.
4358         Read and write from dump file using structs for alignment safety.
4359         * dumper.c (pdump_align_stream): New.
4360         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
4361         * dumper.c (PDUMP_READ_ALIGNED): New.
4362         * dumper.c (PDUMP_WRITE_ALIGNED): New.
4363         * dumper.c (pdump_static_Lisp_Object): New struct.
4364         * dumper.c (pdump_static_pointer): New struct.
4365         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
4366         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
4367         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
4368         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
4369
4370         * dumper.c (pdump_backtrace):
4371         * dumper.c (pdump_get_indirect_count):
4372         * dumper.c (pdump_register_object):
4373         * dumper.c (pdump_register_struct):
4374         * dumper.c (pdump_reloc_one):
4375         * dumper.c (pdump_scan_by_alignment):
4376         * dumper.c (pdump_dump_from_root_struct_ptrs):
4377         * dumper.c (pdump_dump_opaques):
4378         * dumper.c (pdump_dump_rtables):
4379         * dumper.c (pdump_dump_from_root_objects):
4380         * dumper.c (pdump):
4381         * dumper.c (pdump_load_finish):
4382         Use aligned reading and writing.
4383
4384         * dumper.c (pdump_free): Make static.
4385         * dumper.c (pdump_hFile): Likewise.
4386         * dumper.c (pdump_hMap): Likewise.
4387
4388 2001-01-26  Martin Buchholz <martin@xemacs.org>
4389
4390         * XEmacs 21.2.43 "Terspichore" is released.
4391
4392 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4393
4394         Type fiddling for window_config.saved_windows_count
4395         * window.c (struct window_config): 
4396         Make saved_windows_count member unsigned.
4397         * window.c (sizeof_window_config_for_n_windows): 
4398         Make parameter unsigned.
4399         * window.c (mark_window_config):
4400         * window.c (window_config_equal):
4401         * window.c (free_window_configuration):
4402         * window.c (Fset_window_configuration):
4403         * window.c (count_windows):
4404         * window.c (Fcurrent_window_configuration):
4405         * window.c (reinit_vars_of_window):
4406         Update all callers and users.
4407
4408 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4409
4410         Alignment correctness for flexible arrays.
4411         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
4412         Make alignment-correct. Add interesting comments.
4413         * alloc.c (size_vector):
4414         * alloc.c (make_vector_internal):
4415         * alloc.c (make_bit_vector_internal):
4416         * alloc.c (sweep_bit_vectors_1):
4417         * fns.c (size_bit_vector):
4418         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
4419         * window.c (sizeof_window_config_for_n_windows): 
4420         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
4421
4422 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4423
4424         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
4425
4426 2001-01-23  Andy Piper  <andy@xemacs.org>
4427
4428         * select.c (Fown_selection_internal): pass owned_p
4429
4430         * select-msw.c (mswindows_own_selection): New Signature.
4431
4432         * console.h (struct console_methods): add owned_p to
4433         _own_selection.
4434
4435         * select-x.c (x_own_selection): pass owned_p
4436         (hack_motif_clipboard_selection): use owned_p
4437         (vars_of_select_x): new variable -
4438         x_selection_strict_motif_ownership.
4439
4440 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4441
4442         * specifier.h (specifier_data_offset): Remove pointless parens.
4443         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
4444
4445 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4446
4447         Make Lisp_Object sizeof methods be alignment-correct.
4448         pdump must restore objects to the same alignment as the C compiler
4449         assumes.  It really matters on SGIs.
4450         * lstream.c (aligned_sizeof_lstream): New.
4451         (sizeof_lstream): Use aligned_sizeof_lstream.
4452         (Lstream_new): Likewise.
4453         * opaque.c (aligned_sizeof_opaque): New.
4454         (sizeof_opaque): Use aligned_sizeof_opaque.
4455         (make_opaque): Likewise.
4456         * specifier.c (aligned_sizeof_specifier): New.
4457         (sizeof_specifier): Use aligned_sizeof_specifier.
4458         (make_specifier_internal): Likewise.
4459
4460 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4461
4462         * lstream.h (struct lstream): Use max_align_t for trailing data.
4463         * specifier.h (struct Lisp_Specifier): Likewise.
4464
4465 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4466
4467         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
4468         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
4469         (CCL_SUSPEND): Likewise.
4470         (CCL_INVALID_CMD): Likewise.
4471         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
4472         (ccl_driver): Likewise.
4473         (CCL_WRITE_CHAR): Macro hygiene.
4474         (CCL_WRITE_STRING): Macro hygiene.
4475
4476 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4477
4478         Port "portable" dumper to SunOS 4 and HP-UX.
4479         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
4480         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
4481         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
4482
4483 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4484
4485         * lisp.h (ALIGNOF): A better definition for C++.
4486
4487 2001-01-20  Martin Buchholz  <martin@xemacs.org>
4488
4489         Macro hygiene.
4490         Fix printf warnings: int format, long int arg.
4491         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
4492         (PUSH_FAILURE_POINT): Use correct printf formats.
4493         (POP_FAILURE_POINT): Use correct printf formats.  
4494         Use do {...} while (0)
4495
4496 2001-01-20  Martin Buchholz <martin@xemacs.org>
4497
4498         * XEmacs 21.2.42 "Poseidon" is released.
4499
4500 2001-01-20  Martin Buchholz  <martin@xemacs.org>
4501
4502         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
4503
4504 2001-01-19  Martin Buchholz  <martin@xemacs.org>
4505
4506         De-kludgify FIXED_TYPE free list frobbing.
4507         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
4508         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
4509         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
4510         * alloc.c (Lisp_Free): New pseudo lisp object definition.
4511         * alloc.c (LRECORD_FREE_P): New.
4512         * alloc.c (MARK_LRECORD_AS_FREE): New.
4513         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
4514         * alloc.c (STRUCT_FREE_P): Deleted.
4515         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
4516         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
4517         * alloc.c (STRING_CHARS_FREE_P): New.
4518         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
4519         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
4520         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
4521         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
4522         * alloc.c (resize_string): Use new definitions.
4523         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
4524         * alloc.c (verify_string_chars_integrity): Use new definitions.
4525         * alloc.c (compact_string_chars): Use new definitions.
4526         * alloc.c: Update monster comments.
4527         * lrecord.h (lrecord_type): Add some new lrecord types for
4528         alloc.c's use.
4529
4530 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4531
4532         Improve alignment hackery.
4533         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
4534         (max_align_t): Moved from opaque.h - general purpose.
4535         (ALIGN_PTR): Use size_t, not long.
4536         * opaque.h (max_align_t): Move to lisp.h.
4537
4538 2001-01-18  Norbert Koch  <nk@LF.net>
4539
4540         * gui.h: Fix and add prototypes to fix build problems.
4541
4542 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4543
4544         temacs is going away, so `dump-temacs' is now a bad name.
4545         * .dbxrc (dump-temacs): Rename to `dmp'.
4546         * .gdbinit (dump-temacs): Rename to `dmp'.
4547
4548 2001-01-17  Andy Piper  <andy@xemacs.org>
4549
4550         * glyphs.c (print_image_instance): comment to make martin happy.
4551
4552         * glyphs-x.c (x_redisplay_widget): update faces after a frame
4553         change.
4554
4555         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
4556         activation.
4557         (mswindows_tab_control_redisplay): warning suppression.
4558
4559         * glyphs-widget.c (widget_update): re-write to cope with updated
4560         items.
4561         (widget_instantiate): use new gui_item functions.
4562         (tab_control_update): deleted.
4563         (progress_gauge_update): deleted.
4564         (image_instantiator_progress_guage): take out update reference.
4565         (image_instantiator_tree_view): ditto.
4566         (image_instantiator_tab_control): ditto.
4567
4568         * gui.c (widget_gui_parse_item_keywords): new function. Do things
4569         Right the new way.
4570         (gui_item_add_keyval_pair): re-write to cope with descriptors and
4571         return whether anything was changed.
4572         (update_gui_item_keywords): as it sounds.
4573
4574         * gui.h: declare widget_gui_parse_item_keywords.
4575
4576         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
4577         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
4578
4579 2001-01-17  Martin Buchholz <martin@xemacs.org>
4580
4581         * XEmacs 21.2.41 "Polyhymnia" is released.
4582
4583 2001-01-16  Didier Verna  <didier@xemacs.org>
4584
4585         * glyphs.c (image_instantiate): don't use fallbacks when
4586         instantiating a face's background pixmap by inheritance.
4587
4588 2001-01-14  Mike Sperber <mike@xemacs.org>
4589
4590         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
4591         Conditionalize accordingly.
4592
4593 2001-01-16  Martin Buchholz  <martin@xemacs.org>
4594
4595         * dumper.c (pdump_file_get): Fix a compiler warning.
4596
4597 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4598
4599         Make Purify happy when pdumping.
4600         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
4601         iniitalizing all bits of new lisp object memory.
4602         * symbols.c (Fmake_local_variable): Likewise.
4603         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
4604         * symbols.c (Fdefvaralias): Likewise.
4605         * mule-charset.c (vars_of_mule_charset): Likewise.
4606
4607 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4608         Add the `-nd' flag when running pre-dump operations under the debugger.
4609         * .dbxrc (run-temacs): Add `-nd'.
4610         * .dbxrc (update-elc): Likewise.
4611         * .dbxrc (dump-temacs): Likewise.
4612         * .gdbinit (run-temacs): Likewise.
4613         * .gdbinit (check-temacs): Likewise.
4614         * .gdbinit (update-elc): Likewise.
4615         * .gdbinit (dump-temacs): Likewise.
4616
4617 2001-01-14  Martin Buchholz  <martin@xemacs.org>
4618
4619         Allow building 64-bit executables on AIX with GNU malloc, e.g.
4620         export OBJECT_MODE=64
4621         configure --pdump --use-union-type=no
4622         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
4623         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
4624
4625         * miscplay.c (sndcnv8U_2mono):
4626         Avoid two uses of `++' in the same expression.
4627         Suppresses a GCC warning.
4628
4629 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4630
4631         Make sure future compilers don't miscompile alloc.c.
4632         * alloc.c:
4633         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
4634         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
4635
4636 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4637
4638         * dumper.c: A little post-pdump-rename comment fixup.
4639
4640 2001-01-09  Jerry James  <james@eecs.ku.edu>
4641
4642         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
4643
4644 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4645
4646         * *.[ch]: Globally rename symbols using the following `pdump-rename'
4647         script:
4648         #!/bin/sh
4649         replace_symbol () {
4650           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
4651         }
4652
4653         replace_symbol pdump_wire_lists pdump_weak_object_chains
4654         replace_symbol pdump_wire_list dump_add_weak_object_chain
4655
4656         replace_symbol pdump_wires pdump_root_objects
4657         replace_symbol pdump_wire dump_add_root_object
4658
4659         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
4660         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
4661
4662         replace_symbol dumpstructinfos pdump_root_struct_ptrs
4663         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
4664         replace_symbol dumpstructinfo pdump_root_struct_ptr
4665         replace_symbol dumpstruct dump_add_root_struct_ptr
4666
4667         replace_symbol dumpopaque dump_add_opaque
4668         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
4669         replace_symbol dumpopaqueinfos pdump_opaques
4670         replace_symbol dumpopaqueinfo pdump_opaque
4671
4672         replace_symbol nb_structdump nb_root_struct_ptrs
4673         replace_symbol nb_opaquedump nb_opaques
4674
4675         replace_symbol align_table pdump_align_table
4676         replace_symbol dump_header pdump_header
4677
4678         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
4679         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
4680
4681
4682 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4683
4684         * s/aix4.h: Keep the C for AIX compiler from overaggressively
4685         optimizing bytecount_to_charcount().
4686
4687 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4688
4689         * config.h.in:
4690         (HAVE_DLFCN_H): Removed.
4691         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
4692
4693 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4694
4695         Portable dumper maintainability improvements.
4696         * alloc.c (staticpro):
4697         * alloc.c (staticpro_nodump):
4698         * alloc.c (garbage_collect_1):
4699         * alloc.c (reinit_alloc_once_early):
4700         * alloc.c (init_alloc_once_early):
4701         * alloc.c: Move dumper functions to alloc.c.
4702         * dumper.c (pdump_backtrace):
4703         * dumper.c (pdump_dump_structs):
4704         * dumper.c (pdump_dump_opaques):
4705         * dumper.c (pdump_dump_rtables):
4706         * dumper.c (pdump_dump_wired):
4707         * dumper.c (pdump):
4708         * dumper.c (pdump_load_check):
4709         * dumper.c (pdump_load_finish):
4710         * dumper.c (pdump_file_unmap):
4711         * dumper.c (pdump_file_get):
4712         * dumper.c (pdump_resource_free):
4713         * dumper.c (pdump_resource_get):
4714         * dumper.c (pdump_file_free):
4715         * dumper.c (pdump_file_try):
4716         * dumper.c (pdump_load):
4717         Remove fixed size limits on staticpro(), staticpro_nodump(),
4718         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
4719         Remove custom code for dumping lrecord_implementations_table - use
4720         dumpopaque instead.
4721         Remove (most of the) custom code for dumping staticpros - dump it
4722         like any other dynarr.
4723
4724         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
4725         * dumper.c: Moved functions from alloc.c.
4726         * alloc.c (dumpstruct): Moved to dumper.c.
4727         * alloc.c (dumpopaque): Likewise.
4728         * alloc.c (pdump_wire): Likewise.
4729         * alloc.c (pdump_wire_list): Likewise.
4730
4731         * lisp.h (Dynarr_sizeof): New.
4732         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
4733         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
4734         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
4735
4736         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
4737         * lisp.h (dumpopaque): ditto.
4738         * lisp.h (pdump_wire): ditto.
4739         * lisp.h (pdump_wire_list): ditto.
4740
4741 2001-01-09  Martin Buchholz  <martin@xemacs.org>
4742
4743         * make-src-depend (PrintPatternDeps):
4744         Use `sort' to make output independent of perl version.
4745
4746 2001-01-08  Martin Buchholz  <martin@xemacs.org>
4747
4748         Port to Netbsd 1.5.
4749         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
4750         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
4751
4752 2001-01-03  Didier Verna  <didier@xemacs.org>
4753
4754         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
4755         that `focus_frame' is alive before thinking of calling
4756         `redisplay_redraw_cursor' on it.
4757
4758 2001-01-08  Martin Buchholz <martin@xemacs.org>
4759
4760         * XEmacs 21.2.40 is released.
4761
4762 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4763
4764         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
4765
4766 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4767
4768         * alloc.c (dbg_valmask): Make const.
4769         * alloc.c (dbg_typemask): Make const.
4770         * alloc.c (dbg_USE_UNION_TYPE): Make const.
4771         * alloc.c (dbg_valbits): Make const.
4772         * alloc.c (dbg_gctypebits): Make const.
4773
4774 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
4775
4776         * redisplay-x.c (x_bevel_area):
4777         redisplay.h (struct rune):
4778         Typo fixes in comments.
4779
4780 2001-01-05  Andy Piper  <andy@xemacs.org>
4781
4782         * glyphs-x.c (x_redisplay_widget): use size changed for offset
4783         adjustment.
4784
4785         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
4786
4787 2001-01-05  Martin Buchholz  <martin@xemacs.org>
4788
4789         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
4790
4791         * mule-ccl.c (stack_idx_of_map_multiple):
4792         Non const global data must not be initialized!
4793         Found by MIYASHITA Hisashi.
4794
4795 2001-01-02  Andy Piper  <andy@xemacs.org>
4796
4797         * frame.c (change_frame_size): make sure frame size is always
4798         marked as changed.
4799
4800         * glyphs.c (image_instance_layout): minor code reuse.
4801
4802         * window.c (Fcurrent_window_configuration): revert previous
4803         change.
4804
4805 2001-01-02  Martin Buchholz  <martin@xemacs.org>
4806
4807         * glyphs.h:
4808         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
4809
4810 2000-12-31  Andy Piper  <andy@xemacs.org>
4811
4812         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
4813         when widget gets unmapped.
4814
4815         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
4816         function. Make sure widgets losing focus don't just drop it.
4817         (handle_focus_event_1): record the widget with focus.
4818
4819 2000-12-31  Andy Piper  <andy@xemacs.org>
4820
4821         * window.c (allocate_window): use
4822         make_image_instance_cache_hash_table.
4823         (make_dummy_parent): ditto.
4824         (Fset_window_configuration): ditto.
4825
4826         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
4827
4828         * glyphs.c (process_image_string_instantiator): use
4829         INSTANTIATOR_TYPE.
4830         (get_image_instantiator_governing_domain): ditto.
4831         (normalize_image_instantiator): ditto.
4832         (instantiate_image_instantiator): ditto.
4833         (make_image_instance_1): ditto.
4834         (image_instantiate): ditto. Key on glyph *and* instantiator type.
4835         (instantiator_eq_equal): new function for use with instance hash
4836         tables.
4837         (instantiator_eq_hash): ditto.
4838         (make_image_instance_cache_hash_table): create a suitable hash
4839         table for storing image instances.
4840
4841         * elhash.h (hash_table_weakness): new internal weakness type
4842         HASH_TABLE_KEY_CAR_VALUE_WEAK.
4843         declare new functions.
4844
4845         * elhash.c (finish_marking_weak_hash_tables): introduce yet
4846         another weakness type for glyphs.
4847         (make_standard_lisp_hash_table): new function split out from
4848         make_general_lisp_hash_table.
4849         (make_lisp_hash_table): call make_standard_lisp_hash_table.
4850         (hash_table_instantiate): ditto.
4851         (Fmake_hash_table): ditto.
4852
4853 2000-12-31  Martin Buchholz <martin@xemacs.org>
4854
4855         * XEmacs 21.2.39 is released.
4856
4857 2000-12-29  Andy Piper  <andy@xemacs.org>
4858
4859         * menubar.c (menubar_visible_p_changed): signal the frame changed.
4860
4861         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
4862         the frame has changed so that we pick up geometry changes such as
4863         menubar visibility.
4864
4865 2000-12-28  Andy Piper  <andy@xemacs.org>
4866
4867         * lastfile.c (my_ebss): make a char array so we can pad the
4868         bss. Fixes cygwin unexec.
4869
4870         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
4871
4872 2000-12-26  Andy Piper  <andy@xemacs.org>
4873
4874         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
4875         comments and try and be more precise about a non-/SIGIO world.
4876         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
4877         SIGIO.
4878
4879         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
4880         we don't normalize to zero width or height.
4881
4882 2000-12-24  Andy Piper  <andy@xemacs.org>
4883
4884         * Makefile.in.in (ldflags): add -mwindows when appropriate.
4885
4886 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
4887
4888         * s/sco5.h: SCO 5 has pty support.
4889
4890 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
4891
4892         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
4893         input-method-xlib.c contains whole contents of input-method-xfs.c,
4894         so we can use input-method-xlib.c's code for USE_XFONTSET
4895         using #ifdefs.
4896         * input-method-xfs.c: removed.
4897
4898 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
4899
4900         * file-coding.h (enum coding_category_type): reorder enumerators to
4901         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
4902         (now one greater than largest real coding_category_type enumerator).
4903         * file-coding.c (coding_category_symbol, coding_category_by_priority,
4904         coding_category_system, fcd_descriptihon_1, decode_coding_category,
4905         Fcoding_category_list, Fset_coding_priority_list,
4906         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
4907         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
4908
4909 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4910
4911         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
4912         * redisplay-output.c (redisplay_output_window): Clear top of window
4913         when face is changed.
4914         * redisplay-x.c (x_redraw_exposed_window): Call
4915         redisplay_clear_top_of_window.
4916         * redisplay.h: Publish redisplay_clear_top_of_window.
4917
4918 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4919
4920         * buffer.c (Fkill_buffer): Map over all devices.
4921         * window.c (window_loop): Remove UNSHOW_BUFFER code.
4922         (list_windows): New function.
4923         (list_all_windows): Ditto.
4924         (Freplace_buffer_in_windows): Use them.
4925
4926 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4927
4928         * database.c (berkdb_subtype): Recognize new subtype `queue'.
4929         (Fopen_database): Use `db_create' instead of `db_open'.
4930         (syms_of_database): Initialize Qqueue.
4931
4932 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4933
4934         * buffer.c (common_init_complex_vars_of_buffer): Initialize
4935         buffer_local_face_property.
4936         * buffer.h (struct buffer): New member buffer_local_face_property.
4937         * window.c (Fset_window_buffer):  Mark window's face as changed
4938         when buffer has buffer local face.
4939         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
4940         * objects.c (color_after_change): Set buffer_local_face_property
4941         when locale of face specifier is buffer.
4942         * objects.c (font_after_change): Ditto.
4943         * objects.c (face_boolean_after_change): Ditto.
4944         * glyphs.c (image_after_change): Ditto.
4945
4946 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4947
4948         * nt.c (mswindows_fstat): Report file permissions, volume serial
4949         number, etc. Code adapted from FSF Emacs 20.7.
4950
4951 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4952
4953         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
4954         of stat when we don't have symbolic links, to make sure
4955         mswindows_stat is called on mswindows.
4956
4957 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
4958
4959         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
4960
4961 2000-12-12  Martin Buchholz  <martin@xemacs.org>
4962
4963         * doprnt.c (emacs_doprnt_1): More printing fixes.
4964         Make printing of numbers compatible with libc and FSF Emacs.
4965         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
4966         Use the system printf to do most of the hard work of formatting,
4967         instead of doprnt_1().
4968         Calculate memory to allocate for format string.
4969         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
4970         (doprnt_1): Cleaner code and documentation.
4971
4972 2000-12-01  Jerry James  <james@eecs.ukans.edu>
4973
4974         * Makefile.in.in: Use the loop variable to install headers.
4975
4976 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4977
4978         * window.c (Fsplit_window): Don't invalidate face cache.
4979
4980 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4981
4982         * minibuf.c (Fall_completions): Undo the previous change
4983         which removed checking elements start with space.
4984
4985 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4986
4987         * mule-canna.c: Didier suppression.
4988
4989 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4990
4991         * mule-canna.c: rename static unsigned char buf[] to key_buffer
4992         (warning suppression).  Add English comment translations.
4993
4994 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4995
4996         * unexelfsgi.c (unexec): Better test for mmap failure.
4997
4998 2000-12-05  Martin Buchholz <martin@xemacs.org>
4999
5000         * XEmacs 21.2.38 is released.
5001
5002 2000-12-05  Martin Buchholz  <martin@xemacs.org>
5003
5004         * redisplay.c (bar-cursor): Make a user variable.
5005
5006         * symsinit.h: Add init_postgresql_from_environment.
5007
5008 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
5009
5010         * regex.c: Convert to clean C.
5011
5012 2000-12-05  Dan Holmsand  <dan@eyebee.com>
5013
5014         * realpath.c:
5015         Don't #include sysfile.h. Revert to duplicating PATH_MAX
5016         initialization.
5017         (sys_readlink): renamed to system_readlink to avoid conflict with
5018         the other sys_readlink.
5019
5020 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
5021
5022         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
5023
5024 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
5025
5026         * postgresql.c (init_postgresql_from_environment): new function.
5027         (vars_of_postgresql): Move code initializing Lisp variables out and
5028         into init_postgresql_from_environment.
5029         emacs.c (main_1): Call init_postgresql_from_environment if and only
5030         if running a dumped XEmacs.
5031
5032 2000-08-31  Dan Holmsand  <dan@eyebee.com>
5033
5034         * buffer.c: Make find-file-compare-truenames default to true on
5035         windows.
5036
5037         * realpath.c (win32_abs_start):
5038         (cygwin_readlink):
5039         (win32_readlink): New functions.
5040         (xrealpath): Return really real filenames on windows.
5041
5042         * fileio.c (Ffile_truename): Make file-truename work on windows.
5043
5044 2000-11-29  Didier Verna  <didier@xemacs.org>
5045
5046         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
5047         * faces.c (update_face_cachel_data): use it.
5048         * faces.c (add_face_cachel): use it. Complete background pixmap
5049         frobbing in face cache if `update_face_cachel_data' has not done so.
5050
5051 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
5052
5053         * search.c (string_match_1): Don't set last_thing_searched
5054         when search failed.
5055
5056 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
5057
5058         * buffer.c: Include casetab.h
5059         (common_init_complex_vars_of_buffer): Use new case-table object.
5060         * buffer.h: Include casetab.h
5061         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
5062         (DOWNCASE_TABLE_OF): Ditto.
5063         * bufslots.h: Remove char-tables and add case-table.
5064         * casetab.c: Include casetab.h
5065         (CASE_TABLE_P): Removed.
5066         (mark_case_table): New function.
5067         (allocate_case_table): New function.
5068         (Fcase_table_p): Use new case-table.
5069         (case_table_char): New function.
5070         (Fget_case_table): Ditto.
5071         (Fput_case_table): Ditto.
5072         (Fput_case_table_pair): Ditto.
5073         (Fcopy_case_table): Ditto.
5074         (Fcurrent_case_table): Return case-table.
5075         (Fstandard_case_table): Return case-table.
5076         (Fset_case_table): Fix doc-string.
5077         (set_case_table): Use case-table
5078         (syms_of_casetab): DEFSUBR new functions.
5079         (complex_vars_of_casetab): Set up standard case-table.
5080         * casetab.h: New file.
5081         * editfns.c: Include casetab.h
5082         (Fcompare_buffer_substrings): Use case-table.
5083         * inline.c: Include casetab.h
5084         * lisp.h: Remove bogus extern.
5085         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
5086         * search.c: Include casetab.h
5087         (TRANSLATE_ASCII): Removed.
5088         (TRANSLATE): Unconditionally translate character.
5089         (looking_at_1): Use case-table.
5090         (string_match_1): Ditto.
5091         (fast_string_match): Ditto.
5092         (search_command): Ditto.
5093         (search_buffer): Separate boyer_moore.  Check whether
5094         boyer_moore is possible.
5095         (simple_search): New function.
5096         (boyer_moore): Separated from search_buffer. Translate char.
5097
5098 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
5099
5100         * regex.c (RE_TR_ASCII): Removed.
5101         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
5102         (PATFETCH): Call PATFETCH_RAW.
5103         (PATFETCH_RAW): Fetch Emchar.
5104         (PATUNFETCH): Decrement charptr.
5105         (GET_BUFFER_SPACE): Rename b to buf_end.
5106         (BUF_PUSH): Ditto.
5107         (BUF_PUSH_2): Ditto.
5108         (BUF_PUSH_3): Ditto.
5109         (EXTEND_BUFFER): Ditto.
5110         (SET_LIST_BIT): Ditto.
5111         (regex_compile): Ditto.  Translate non ASCII char.
5112         (compile_range): Ditto.
5113         (re_search_2): Ditto.
5114         (re_match_2_internal): Compare Emchar.
5115         (bcmp_translate): Ditto.
5116
5117 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
5118
5119         * lisp.h (basic char/int typedefs):  comment improvement.
5120
5121 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
5122
5123         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
5124         unstomp inhibit_site_lisp.  Improve comments.
5125
5126 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
5127
5128         * mule-charset.c (Fcharset_property):  improve type checking, comments.
5129
5130 2000-11-28  Andy Piper  <andy@xemacs.org>
5131
5132         * redisplay-output.c (redisplay_output_subwindow): make sure we do
5133         clipped display for windows in the gutter also.
5134         (redisplay_display_boxes_in_window_p): change semantics of return
5135         codes to be more intuitive.
5136
5137         * gutter.h: declare display_boxes_in_gutter_p.
5138
5139         * gutter.c (display_boxes_in_gutter_p): new function for
5140         redisplay.
5141
5142 2000-11-22  Andy Piper  <andy@xemacs.org>
5143
5144         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
5145         autodetect domain.
5146
5147 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
5148
5149         * callproc.c (Fold_call_process_internal):
5150         * gpm.c (Freceive_gpm_event):
5151         (tty_get_foreign_selection): Might be just warning supression.
5152         * fileio.c (Fwrite_region_internal):
5153         (Fset_visited_file_modtime):
5154         * keymap.c (event_matches_key_specifier_p):
5155         Initialize GCPROed variable.
5156
5157         * menubar-x.c (command_builder_find_menu_accelerator):
5158         Initialize before use.
5159
5160 2000-11-23  Andy Piper  <andy@xemacs.org>
5161
5162         * unexcw.c (unexec): make the resulting executable executable.
5163
5164 2000-11-21  Martin Buchholz  <martin@xemacs.org>
5165
5166         * doc.c (get_doc_string):
5167         Use size_t, not int, for result of XSTRING_LENGTH.
5168
5169         * cmds.c (Fdelete_char):
5170         * cmds.c (Fpoint_at_eol):
5171         * cmds.c (Fself_insert_command):
5172         Use EMACS_INT, not int, for result of XINT.
5173         Someday, someone will want to insert more than 2**31 identical characters.
5174
5175         * cmds.c (Fdelete_char):
5176         * cmds.c (Fdelete_backward_char):
5177         * syntax.c (Fforward_word):
5178         * syntax.c (Fforward_comment):
5179         Make COUNT argument optional, for consistency with forward-char et al.
5180
5181 2000-11-22  Martin Buchholz  <martin@xemacs.org>
5182
5183         * lisp.h:
5184         * print.c (long_to_string):
5185         Return a useful value: the pointer at end of data written.
5186
5187         * doprnt.c:
5188         Use `static const char * const' for constant strings.
5189         (union printf_arg): Delete `i', `ui' members.
5190         (get_doprnt_args):
5191         (emacs_doprnt_1):
5192         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
5193         Do all printf-ing via the `l' specifier.
5194         Use EMACS_INT instead of int.
5195         Optimize.
5196
5197 2000-11-20  Didier Verna  <didier@xemacs.org>
5198
5199         * faces.c (update_face_cachel_data): don't frob the background
5200         pixmap when the window is being created. The face is needed but
5201         does not exist yet.
5202
5203 2000-11-20  Andy Piper  <andy@xemacs.org>
5204
5205         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
5206         messing with a debug environment.
5207
5208 2000-11-20  Martin Buchholz  <martin@xemacs.org>
5209
5210         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
5211
5212 2000-11-20  Martin Buchholz  <martin@xemacs.org>
5213
5214         * casetab.c (Fcase_table_p): Fix compile error and crash.
5215
5216 2000-11-18  Philip Aston  <philipa@mail.com>
5217
5218         * s/cygwin32.h: Cygwin has SVR4-like pty support.
5219
5220 2000-11-18  Martin Buchholz  <martin@xemacs.org>
5221
5222         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
5223         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
5224
5225 2000-11-17  Martin Buchholz  <martin@xemacs.org>
5226
5227         * config.h.in: Define HAVE_ELF_H if elf.h exists.
5228         * unexelf.c: Use HAVE_ELF_H.
5229         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
5230         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
5231         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
5232         Greg Harrington <greg_harrington@hotmail.com> provided a machine
5233         for testing.
5234         So this is an unexelfsgi.c from a different line of development.
5235
5236 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
5237
5238         * regex.c (RE_TR_ASCII): New function.
5239         (RE_TRANSLATE): Call it.
5240
5241 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
5242
5243         * buffer.h (TRT_TABLE_OF): Remove assert.
5244         (IN_TRT_TABLE_DOMAIN): Removed.
5245
5246 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5247
5248         * free-hook.c (log_gcpro):
5249         (show_gcprohist): Add support for GCPRO5.
5250
5251 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
5252
5253         * emacs.c (main_1): Improve -sd error message when --pdump=no.
5254
5255 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
5256
5257         * symeval.h: Declare flush_all_buffer_local_cache.
5258
5259         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
5260         (flush_buffer_local_cache): Added.
5261         (flush_all_buffer_local_cache): Added.
5262
5263         * lrecord.h: Remove unused XD_LO_RESET_NIL.
5264
5265         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
5266         (pdump_dump_data): Ditto.
5267         (pdump_reloc_one): Ditto.
5268         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
5269         before dumping.
5270
5271
5272 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
5273
5274         * buffer.c: Remove if 0'ed entry.
5275         * buffer.h: Rewrite TRT to use char-table.
5276         * bufslots.h: Remove mirror tables.
5277         * casetab.c: Remove mirror tables.
5278         (CASE_TABLE_P): New macro.
5279         (Fcase_table_p): Element of a case table is string or char-table.
5280         (make_mirror_trt_table): Removed.
5281         (set_case_table): Setup char-table from strings for backward
5282         compatibility.
5283         * dired.c (Fdirectory_files):
5284         * dired-msw.c: (mswindows_get_files):
5285         * lisp.h: Change prototype of re_pattern_buffer.
5286         * regex.c: (RE_TRANSLATE): New macro.
5287         (TRANSLATE_P): Ditto.
5288         Change translate to type RE_TRANSLATE_TYPE.
5289         * regex.h: Define RE_TRANSLATE_TYPE
5290         * search.c (TRANSLATE): New macro.
5291         (TRANSLATE_ASCII): New macro.
5292         Translate table is changed to Lisp_Object.
5293         (signal_failure): Inhibit return.
5294
5295 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
5296
5297         * device-msw.c:
5298         * eldap.c:
5299         * event-Xt.c:
5300         * event-stream.c:
5301         * print.c:
5302         Do UNGCPRO before return.
5303
5304 2000-11-14  Martin Buchholz <martin@xemacs.org>
5305
5306         * XEmacs 21.2.37 is released.
5307
5308 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
5309
5310         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
5311         Add comments about discarded return value.
5312
5313 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
5314
5315         * callint.c:
5316         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
5317
5318 2000-10-27  Andy Piper  <andy@xemacs.org>
5319
5320         * gutter.c (Fset_default_gutter_position): default left and right
5321         gutters to visible.
5322         (calculate_gutter_size): calculate resonable heuristic for left
5323         and right gutter sizes.
5324         (specifier_vars_of_gutter): change left and right gutter sizes to
5325         autodetect.
5326         (calculate_gutter_size_from_display_lines): new function.
5327         (output_gutter): check for resizing on left and right gutters.
5328         (clear_gutter): don't special case top and left gutters.
5329         (specifier_vars_of_gutter): use new signature for
5330         set_specifier_caching.
5331
5332         * glyphs-x.c (x_redisplay_widget): spelling fix.
5333         * glyphs.c (specifier_vars_of_glyphs):
5334         * menubar.c (specifier_vars_of_menubar):
5335         * redisplay.c (specifier_vars_of_redisplay):
5336         * toolbar.c (specifier_vars_of_toolbar):
5337         * window.c (specifier_vars_of_window):
5338         * scrollbar.c (specifier_vars_of_scrollbar):
5339         (complex_vars_of_scrollbar): use new signature for
5340         set_specifier_caching.
5341
5342         * specifier.c (set_specifier_caching): include recompute flag.
5343         (recompute_one_cached_specifier_in_window): always recompute if
5344         flag set.
5345         (recompute_one_cached_specifier_in_frame): ditto.
5346
5347         * specifier.h (struct specifier_caching): add recompute flag.
5348
5349 2000-10-24  Andy Piper  <andy@xemacs.org>
5350
5351         * unexcw.c (copy_executable_and_dump_data_section): add new
5352         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
5353         5.0 happy.
5354
5355 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5356
5357         * console-x.h (x_device): New member modifier_release_time.
5358         * event-Xt.c (x_handle_sticky_modifiers):
5359         Bound interval modifier keys are sticky.
5360         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
5361         * events.h: extern it.
5362
5363 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5364
5365         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
5366
5367 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5368
5369         * event-stream.c (execute_command_event): Preserve current_events
5370         and the like when event is misc-user-event.
5371         Inhibit quit during the call to maybe_echo_keys.
5372
5373 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5374
5375         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
5376         symlink when buffer is killed.
5377         (inhibit_clash_detection): New variable.
5378
5379 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5380
5381         * console.c (Fset_input_method): Trigger redisplay on tty.
5382
5383 2000-11-07  Martin Buchholz  <martin@xemacs.org>
5384
5385         * process.c (Fprocess_status): Revert to previous behavior:
5386         (process-status "nosuchprocess") ==> nil
5387
5388 2000-11-06  Martin Buchholz  <martin@xemacs.org>
5389
5390         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
5391         Work around another GCC 2.95.2 optimizer bug.
5392
5393 2000-11-02  Martin Buchholz  <martin@xemacs.org>
5394
5395         * process.c (Fget_process): Use LIST_LOOP_2.
5396         (kill_buffer_processes): Use LIST_LOOP_2.
5397
5398         * minibuf.c (Fall_completions):
5399         Delete old non-functional code for FSF fourth argument.
5400
5401         * frame.c (frame_matches_frame_spec):
5402         Renamed from `frame_matches_frametype'.  Update all callers.
5403         (device_matches_device_spec):
5404         Renamed from 'device_matches_console_spec'.  Update all callers.
5405
5406         * doc.c (Fsubstitute_command_keys):
5407         Remove buffer overflow crash.  Small code cleanups.
5408
5409         * casetab.c (check_case_table): Simpler code.
5410
5411         * window.c (Freplace_buffer_in_windows):
5412         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
5413         (and similar implementation) as Fdelete_windows_on.
5414         Update all callers.
5415
5416         * alloc.c (Fmake_list):
5417         * alloc.c (make_vector):
5418         * alloc.c (Fmake_vector):
5419         * alloc.c (make_bit_vector):
5420         * alloc.c (Fmake_bit_vector):
5421         * alloc.c (Fbit_vector):
5422         * alloc.c (Fmake_string):
5423         * alloc.c (Fpurecopy):
5424         * alloc.c (Fmemory_limit):
5425         * buffer.c:
5426         * buffer.c (Fget_buffer):
5427         * buffer.c (Fkill_buffer):
5428         * buffer.c (complex_vars_of_buffer):
5429         * bytecode.c (Fcompiled_function_stack_depth):
5430         * callint.c (Fprefix_numeric_value):
5431         * event-stream.c:
5432         * event-stream.c (Fread_key_sequence):
5433         * casetab.c:
5434         * casetab.c (Fcase_table_p):
5435         * casetab.c (check_case_table):
5436         * casetab.c (Fset_case_table):
5437         * casetab.c (Fset_standard_case_table):
5438         * chartab.c:
5439         * chartab.c (Fchar_table_type):
5440         * chartab.c (Freset_char_table):
5441         * chartab.c (Fget_char_table):
5442         * chartab.c (Fget_range_char_table):
5443         * chartab.c (Fput_char_table):
5444         * chartab.c (Fmap_char_table):
5445         * chartab.c (Fcategory_table_p):
5446         * chartab.c (Fcheck_category_at):
5447         * chartab.c (Fchar_in_category_p):
5448         * chartab.c (Fcategory_table):
5449         * chartab.c (Fcopy_category_table):
5450         * chartab.c (Fset_category_table):
5451         * chartab.c (Fcategory_designator_p):
5452         * chartab.c (Fcategory_table_value_p):
5453         * cmds.c (Fdelete_char):
5454         * cmds.c (Fdelete_backward_char):
5455         * cmds.c (Fself_insert_command):
5456         * cmds.c (Fself_insert_internal):
5457         * console.c (Fvalid_console_type_p):
5458         * console.c (Fcdfw_console):
5459         * console.c (Fconsole_type):
5460         * console.c (Fconsole_name):
5461         * console.c (Fconsole_device_list):
5462         * console.c (Fconsole_on_window_system_p):
5463         * data.c:
5464         * data.c (Feq):
5465         * data.c (Fold_eq):
5466         * data.c (Fsubr_interactive):
5467         * data.c (Fchar_to_int):
5468         * data.c (Fint_to_char):
5469         * data.c (Fsetcar):
5470         * data.c (Fsetcdr):
5471         * data.c (Fnumber_to_string):
5472         * data.c (Fstring_to_number):
5473         * data.c (Frem):
5474         * database.c (mark_database):
5475         * database.c (finalize_database):
5476         * database.c (Fdatabase_live_p):
5477         * database.c (Fdatabasep):
5478         * device-x.c (Fx_get_resource):
5479         * device.c (Fdfw_device):
5480         * dired.c:
5481         * dired.c (Ffile_name_completion):
5482         * dired.c (Ffile_name_all_completions):
5483         * dired.c (Fuser_name_completion):
5484         * dired.c (Fuser_name_completion_1):
5485         * dired.c (Fuser_name_all_completions):
5486         * doc.c (Fdocumentation):
5487         * doc.c (Fdocumentation_property):
5488         * doc.c (Fsubstitute_command_keys):
5489         * editfns.c:
5490         * editfns.c (Fchar_to_string):
5491         * editfns.c (Fstring_to_char):
5492         * editfns.c (Ftemp_directory):
5493         * editfns.c (Finsert_char):
5494         * editfns.c (Fbuffer_substring_no_properties):
5495         * editfns.c (Fnarrow_to_region):
5496         * editfns.c (Fchar_equal):
5497         * editfns.c (Fchar_Equal):
5498         * editfns.c (Ftranspose_regions):
5499         * emacs.c (Fdump_emacs):
5500         * eval.c (Fthrow):
5501         * eval.c (Fcommand_execute):
5502         * eval.c (Fautoload):
5503         * eval.c (Fbacktrace):
5504         * eval.c (Fbacktrace_frame):
5505         * events.c:
5506         * events.c (Fcopy_event):
5507         * events.c (Fcharacter_to_event):
5508         * events.c (Fevent_button):
5509         * events.c (Fevent_process):
5510         * extents.c:
5511         * extents.c (Fnext_extent_change):
5512         * extents.c (Fextent_property):
5513         * faces.c (Ffacep):
5514         * faces.c (Fmake_face):
5515         * file-coding.c:
5516         * file-coding.c (Fencode_shift_jis_char):
5517         * file-coding.c (Fencode_big5_char):
5518         * fileio.c (Ffile_name_directory):
5519         * fileio.c (Ffile_name_nondirectory):
5520         * fileio.c (Ffile_name_as_directory):
5521         * fileio.c (Fdirectory_file_name):
5522         * fileio.c (Ffile_truename):
5523         * fileio.c (Fsubstitute_in_file_name):
5524         * fileio.c (Ffile_modes):
5525         * fileio.c (Fset_file_modes):
5526         * fileio.c (Fset_default_file_modes):
5527         * fileio.c (Fverify_visited_file_modtime):
5528         * floatfns.c (Facos):
5529         * floatfns.c (Fasin):
5530         * floatfns.c (Fatan):
5531         * floatfns.c (Fcos):
5532         * floatfns.c (Fsin):
5533         * floatfns.c (Ftan):
5534         * floatfns.c (Fbessel_j0):
5535         * floatfns.c (Fbessel_j1):
5536         * floatfns.c (Fbessel_jn):
5537         * floatfns.c (Fbessel_y0):
5538         * floatfns.c (Fbessel_y1):
5539         * floatfns.c (Fbessel_yn):
5540         * floatfns.c (Ferf):
5541         * floatfns.c (Ferfc):
5542         * floatfns.c (Flog_gamma):
5543         * floatfns.c (Fexp):
5544         * floatfns.c (Fexpt):
5545         * floatfns.c (Flog):
5546         * floatfns.c (Flog10):
5547         * floatfns.c (Fsqrt):
5548         * floatfns.c (Fcube_root):
5549         * floatfns.c (Facosh):
5550         * floatfns.c (Fasinh):
5551         * floatfns.c (Fatanh):
5552         * floatfns.c (Fcosh):
5553         * floatfns.c (Fsinh):
5554         * floatfns.c (Ftanh):
5555         * floatfns.c (Fabs):
5556         * floatfns.c (Ffloat):
5557         * floatfns.c (Flogb):
5558         * floatfns.c (Fceiling):
5559         * floatfns.c (Ffloor):
5560         * floatfns.c (Fround):
5561         * floatfns.c (Ftruncate):
5562         * floatfns.c (Ffceiling):
5563         * floatfns.c (Fffloor):
5564         * floatfns.c (Ffround):
5565         * floatfns.c (Fftruncate):
5566         * fns.c (Fstring_equal):
5567         * fns.c (Fstring_lessp):
5568         * fns.c (concat2):
5569         * fns.c (concat3):
5570         * fns.c (vconcat2):
5571         * fns.c (vconcat3):
5572         * fns.c (Fsubstring):
5573         * fns.c (Fassoc):
5574         * fns.c (Fold_assoc):
5575         * fns.c (assoc_no_quit):
5576         * fns.c (Fassq):
5577         * fns.c (Fold_assq):
5578         * fns.c (assq_no_quit):
5579         * fns.c (Frassoc):
5580         * fns.c (Fold_rassoc):
5581         * fns.c (Frassq):
5582         * fns.c (Fold_rassq):
5583         * fns.c (rassq_no_quit):
5584         * fns.c (Fremassoc):
5585         * fns.c (remassoc_no_quit):
5586         * fns.c (Fremassq):
5587         * fns.c (remassq_no_quit):
5588         * fns.c (Fremrassoc):
5589         * fns.c (Fremrassq):
5590         * fns.c (remrassq_no_quit):
5591         * fns.c (Fsort):
5592         * fns.c (Fplist_get):
5593         * fns.c (Fplist_put):
5594         * fns.c (Fplist_remprop):
5595         * fns.c (Fplist_member):
5596         * fns.c (Flax_plist_get):
5597         * fns.c (Flax_plist_put):
5598         * fns.c (Flax_plist_remprop):
5599         * fns.c (Flax_plist_member):
5600         * fns.c (Fequal):
5601         * fns.c (Fold_equal):
5602         * fns.c (Frequire):
5603         * fns.c (Fbase64_encode_region):
5604         * fns.c (Fbase64_encode_string):
5605         * fns.c (Fbase64_decode_region):
5606         * frame.c:
5607         * frame.c (frame_matches_frame_spec):
5608         * frame.c (device_matches_device_spec):
5609         * frame.c (next_frame):
5610         * frame.c (previous_frame):
5611         * frame.c (Fnext_frame):
5612         * frame.c (Fprevious_frame):
5613         * frame.c (Fframe_property):
5614         * frame.c (Fset_frame_height):
5615         * frame.c (Fset_frame_size):
5616         * frame.h:
5617         * glyphs.c:
5618         * glyphs.c (if):
5619         * glyphs.c (decode_error_behavior_flag):
5620         * glyphs.c (Fmake_image_instance):
5621         * indent.c (Findent_to):
5622         * intl.c (Fignore_defer_gettext):
5623         * keymap.c (Fkeymapp):
5624         * keymap.c (Flookup_key):
5625         * lread.c:
5626         * lread.c (Fload_internal):
5627         * lread.c (Feval_buffer):
5628         * lread.c (Feval_region):
5629         * macros.c (Fexecute_kbd_macro):
5630         * marker.c (set_marker_internal):
5631         * marker.c (Fset_marker):
5632         * marker.c (set_marker_restricted):
5633         * marker.c (Fcopy_marker):
5634         * marker.c (noseeum_copy_marker):
5635         * menubar.c:
5636         * menubar.c (Fpopup_menu):
5637         * minibuf.c:
5638         * mule-charset.c (Fcharset_name):
5639         * mule-charset.c (Fchar_charset):
5640         * mule-charset.c (Fchar_octet):
5641         * mule-charset.c (Fsplit_char):
5642         * mule-wnnfns.c (Fwnn_open):
5643         * mule-wnnfns.c (Fwnn_dict_comment):
5644         * mule-wnnfns.c (Fwnn_quit_henkan):
5645         * mule-wnnfns.c (Fwnn_word_toroku):
5646         * mule-wnnfns.c (Fwnn_word_sakujo):
5647         * mule-wnnfns.c (Fwnn_word_use):
5648         * mule-wnnfns.c (Fwnn_hindo_set):
5649         * objects.c:
5650         * objects.c (Fmake_color_instance):
5651         * objects.c (Fmake_font_instance):
5652         * print.c (Fwrite_char):
5653         * process.c:
5654         * process.c (mark_process):
5655         * process.c (print_process):
5656         * process.c (get_process_from_usid):
5657         * process.c (Fprocessp):
5658         * process.c (Fprocess_live_p):
5659         * process.c (Fget_process):
5660         * process.c (Fget_buffer_process):
5661         * process.c (get_process):
5662         * process.c (Fprocess_id):
5663         * process.c (Fprocess_name):
5664         * process.c (Fprocess_command):
5665         * process.c (init_process_io_handles):
5666         * process.c (start_process_unwind):
5667         * process.c (Fstart_process_internal):
5668         * process.c (Fopen_multicast_group_internal):
5669         * process.c (Fset_process_window_size):
5670         * process.c (read_process_output):
5671         * process.c (send_process):
5672         * process.c (Fprocess_tty_name):
5673         * process.c (Fset_process_buffer):
5674         * process.c (Fprocess_buffer):
5675         * process.c (Fprocess_mark):
5676         * process.c (set_process_filter):
5677         * process.c (Fset_process_filter):
5678         * process.c (Fprocess_filter):
5679         * process.c (Fprocess_send_region):
5680         * process.c (Fprocess_send_string):
5681         * process.c (exec_sentinel):
5682         * process.c (Fset_process_sentinel):
5683         * process.c (Fprocess_sentinel):
5684         * process.c (status_notify):
5685         * process.c (Fprocess_status):
5686         * process.c (Fprocess_exit_status):
5687         * process.c (process_send_signal):
5688         * process.c (Fprocess_send_eof):
5689         * process.c (deactivate_process):
5690         * process.c (remove_process):
5691         * process.c (Fdelete_process):
5692         * process.c (kill_buffer_processes):
5693         * process.c (Fprocess_kill_without_query):
5694         * process.c (Fprocess_kill_without_query_p):
5695         * rangetab.c:
5696         * rangetab.c (Fget_range_table):
5697         * rangetab.c (Fput_range_table):
5698         * rangetab.c (Fremove_range_table):
5699         * rangetab.c (Fclear_range_table):
5700         * search.c:
5701         * search.c (Fskip_chars_forward):
5702         * search.c (Fskip_chars_backward):
5703         * search.c (Fskip_syntax_forward):
5704         * search.c (Fskip_syntax_backward):
5705         * search.c (search_command):
5706         * search.c (Freplace_match):
5707         * search.c (Fregexp_quote):
5708         * select.c (Fown_selection_internal):
5709         * select.c (Fselection_owner_p):
5710         * select.c (Fselection_exists_p):
5711         * select.c (Fget_selection_internal):
5712         * specifier.c:
5713         * symbols.c:
5714         * symbols.c (Fintern):
5715         * symbols.c (Fintern_soft):
5716         * symbols.c (Funintern):
5717         * symbols.c (Fapropos_internal):
5718         * symbols.c (Fset_default):
5719         * syntax.c:
5720         * syntax.c (Fsyntax_table_p):
5721         * syntax.c (Fcopy_syntax_table):
5722         * syntax.c (Fset_syntax_table):
5723         * syntax.c (Fchar_syntax):
5724         * syntax.c (syntax_match):
5725         * syntax.c (Fmatching_paren):
5726         * syntax.c (Fforward_word):
5727         * syntax.c (scan_lists):
5728         * syntax.c (Fscan_lists):
5729         * syntax.c (Fscan_sexps):
5730         * syntax.c (Fparse_partial_sexp):
5731         * toolbar.c (Fcheck_toolbar_button_syntax):
5732         * tooltalk.doc:
5733         * window.c:
5734         * window.c (Fwindowp):
5735         * window.c (Fwindow_live_p):
5736         * window.c (Fwindow_point):
5737         * window.c (Fdelete_window):
5738         * window.c (Fnext_window):
5739         * window.c (Fprevious_window):
5740         * window.c (Fother_window):
5741         * window.c (window_loop):
5742         * window.c (Fget_lru_window):
5743         * window.c (Fsplit_window):
5744         * window.c (Fenlarge_window):
5745         * window.c (Fenlarge_window_pixels):
5746         * window.c (Fshrink_window):
5747         * window.c (Fshrink_window_pixels):
5748         * window.c (change_window_height):
5749         * window.c (Fwindow_configuration_p):
5750         * window.c (Fcurrent_window_configuration):
5751         * window.h:
5752         * casefiddle.c (casify_object):
5753         * casefiddle.c (Fupcase):
5754         * casefiddle.c (Fdowncase):
5755         * casefiddle.c (Fcapitalize):
5756         * casefiddle.c (Fupcase_initials):
5757         * casefiddle.c (casify_region_internal):
5758         * casefiddle.c (casify_region):
5759         * casefiddle.c (Fupcase_region):
5760         * casefiddle.c (Fdowncase_region):
5761         * casefiddle.c (Fcapitalize_region):
5762         * casefiddle.c (Fupcase_initials_region):
5763         * casefiddle.c (Fupcase_word):
5764         * casefiddle.c (Fdowncase_word):
5765         * casefiddle.c (Fcapitalize_word):
5766         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
5767         Replace 0 with '\0' when working with bytes.
5768         Replace initial "(" with "\(" in docstrings.
5769
5770 2000-11-01  Martin Buchholz  <martin@xemacs.org>
5771
5772         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
5773
5774         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
5775
5776 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5777
5778         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
5779
5780 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5781
5782         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
5783         correctly.
5784
5785 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5786
5787         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
5788         (inhibit_auto_save_session): New variable.
5789         (vars_of_fileio): Declare and initialize them.
5790         * fileio.c (Fdo_auto_save): Don't create session file if
5791         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
5792
5793 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5794
5795         * sgiplay.c (play_internal): C++ compilability.
5796         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
5797         * callproc.c (Fold_call_process_internal):
5798         Remove unused vars `env', `first'.
5799         * scrollbar.c (update_scrollbar_instance):
5800         #### unused var `current_window'.
5801         * redisplay-tty.c: Put currently unused vars insert_mode_on,
5802         etc. within #ifdef NOT_YET.
5803         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
5804         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
5805         * specifier.c (specifier_instance):
5806         #### unused var `tag'.
5807         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
5808
5809 2000-10-27  Martin Buchholz  <martin@xemacs.org>
5810
5811         * fns.c (Fbutlast):
5812         * fns.c (list_sort):
5813         * fns.c (Ffillarray):
5814         * fns.c (bytecode_nconc2):
5815         * fns.c (Fnconc):
5816         * fns.c (mapcar1):
5817         * fns.c (Fmapconcat):
5818         Be pedantically 64-bit correct.  For the time when someone will
5819         want to have a list with length > 2**32.
5820
5821         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
5822         Work around MIPSpro compiler bug.
5823
5824         * process-unix.c (unix_kill_child_process): Add snarky comment.
5825         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
5826
5827         * config.h.in: Oops, _getpt ==> _getpty
5828
5829 2000-10-26  Martin Buchholz  <martin@xemacs.org>
5830
5831         * config.h.in:
5832         * regex.c:
5833         Use void*, not char*, as return type of alloca().
5834
5835         * alloc.c (free_marker): Side effect inside assert expression!
5836
5837 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
5838
5839         * mule-charset.c (Fset_charset_ccl_program): To check
5840         if the given ccl program is valid, use setup_ccl_program()
5841         instead of CHECK_VECTOR().
5842         (Fmake_charset): Likewise.
5843
5844 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
5845
5846         * faces.c (get_extent_fragment_face_cache_index):
5847         Fix cachel.merged_faces memory leak.
5848
5849 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
5850
5851         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
5852         Reset MSB of octets obtained by DECODE_SJIS
5853         because of the incompatibility with Emacs.
5854         (ccl_driver)<CCL_ENCODE_SJIS>:
5855         Set MSB of octets before passing them to
5856         ENCODE_SJIS because of the incompatibility
5857         with Emacs.
5858
5859 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
5860
5861         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
5862         (DECLARE_LRECORD): Undo the last change.
5863         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
5864
5865 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
5866
5867         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
5868         the implementation to lrecord_implementations_table.
5869
5870 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
5871
5872         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
5873         initial value of `lrecord_type_##c_name' and
5874         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
5875         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
5876         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
5877         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
5878         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
5879
5880 2000-10-17  Martin Buchholz  <martin@xemacs.org>
5881
5882         * miscplay.c (sndcnv8S_2mono):
5883         (sndcnv2monounsigned):
5884         (sndcnvULaw_2linear):
5885         (sndcnv16swap):
5886         Remove implementation-defined behavior.
5887
5888 2000-10-12  Martin Buchholz  <martin@xemacs.org>
5889
5890         * input-method-xlib.c: Warning suppression.
5891
5892 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
5893
5894         * mule-ccl.c: Sync up with Emacs 21.0.90.
5895         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
5896         Do nothing.
5897         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
5898         Likewise.
5899         (ccl_driver[WriteMultibyteChar2]): Bug fix.
5900         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
5901         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
5902         leading char belongs to official 2-dimensional charset.
5903         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
5904         write the given character as is.  Otherwise,
5905         if it is a multibyte char, convert it by
5906         non_ascii_set_charptr_emchar, then write it.
5907         (CCL_WRITE_STRING): Likewise.
5908         (ccl_get_compiled_code): New function.
5909         (setup_ccl_program): When ccl_prog is invalid,
5910         return -1.
5911         (Fregister_code_conversion_map): New function.
5912         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
5913
5914         * mule-ccl.h: Sync up with Emacs 21.0.90.
5915         (Fregister_ccl_program): export it.
5916
5917         * redisplay-msw.c (separate_textual_runs):
5918         If ccl program is not valid, don't do ccl conversion.
5919
5920         * redisplay-x.c (separate_textual_runs): Ditto.
5921
5922         * file-coding.c (Fmake_coding_system):
5923         When type is ccl and value is vector, register it
5924         with a proper symbol.  And checks whether the
5925         given ccl program is valid.
5926         (mule_decode): When calling ccl_driver, if src indicates
5927         NULL pointer, set an empty string instead.
5928         (mule_encode): Likewise.
5929
5930 2000-10-11  Martin Buchholz  <martin@xemacs.org>
5931
5932         The following large batch of changes gets us back to a state of
5933         C++ compilability.  Extbyte is now a char, which means that
5934         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
5935
5936         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
5937
5938         * sound.c (Fplay_sound): Type correctness.
5939
5940         * select-x.c (hack_motif_clipboard_selection): Type correctness.
5941         (x_get_window_property): Type correctness.
5942         (receive_incremental_selection): unsigned char ==> Extbyte
5943         (selection_data_to_lisp_data): unsigned char ==> Extbyte
5944         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
5945         (Fx_store_cutbuffer_internal): Type correctness.
5946
5947         * process-unix.c (try_to_initialize_subtty): Type correctness.
5948
5949         * objects-x.c (x_print_color_instance): Type correctness.
5950         (x_print_font_instance): Type correctness.
5951         (x_list_fonts): SExtbyte ==> Extbyte.
5952         (valid_x_font_name_p): SExtbyte ==> Extbyte.
5953         (x_find_charset_font): SExtbyte ==> Extbyte.
5954         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
5955         (truename_via_XListFonts): SExtbyte ==> Extbyte.
5956         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
5957         Use bufbyte_strcmp.
5958
5959         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
5960         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
5961         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
5962         (BYTE_C0_P): Use bit ops for char-signedness safety.
5963         (BYTE_C1_P): Use bit ops for char-signedness safety.
5964         (CHARSET_BY_LEADING_BYTE):
5965         (CHARSET_BY_ATTRIBUTES):
5966         Always use inline function.
5967         Use type_checking_assert.
5968         Hide chlook.
5969
5970         * mule-charset.c (non_ascii_charptr_copy_char):
5971         Modify to work with both ASCII and non-ASCII characters.
5972         Improve docs and variable names.
5973         Replace over-clever fall-through switch with a simple loop.
5974         (Lstream_get_emchar_1):
5975         Replace over-clever fall-through switch with a simple loop.
5976
5977         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5978         Warning suppression.
5979
5980         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
5981         the return value of Lstream_getc, which could be EOF as well.
5982
5983         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
5984
5985         * lisp.h: Make Extbyte a char, not unsigned char, so that external
5986         APIs can be used on Extbytes without casts.  Risky!
5987         (SExtbyte): Remove.
5988         (UExtbyte): Remove.
5989
5990         * input-method-xlib.c (XIM_init_device):
5991         Use Xlib.h instead of IntrinsicP.h.
5992         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
5993         which will break in X11R7.
5994         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
5995         to call XRegisterIMInstantiateCallback with correct types.
5996
5997         * gui-x.c (button_item_to_widget_value): Type correctness.
5998
5999         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
6000
6001         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
6002         (xbm_instantiate_1): Type correctness.
6003         (BUILD_GLYPH_INST):  Type correctness.
6004
6005         * fileio.c (Fsubstitute_in_file_name): Type correctness.
6006
6007         * file-coding.c:
6008         (decode_coding_sjis):
6009         (decode_coding_big5):
6010         (decode_coding_ucs4):
6011         (decode_coding_utf8):
6012         (decode_coding_iso2022):
6013         (decode_coding_no_conversion):
6014         Make all decoding functions take an Extbyte * arg.
6015         (encode_coding_sjis):
6016         (encode_coding_big5):
6017         (encode_coding_ucs4):
6018         (encode_coding_utf8):
6019         (encode_coding_iso2022):
6020         (encode_coding_no_conversion):
6021         Make all encoding functions take a Bufbyte * arg.
6022         Use size_t instead of unsigned int for memory sizes.
6023         Only cast to unsigned char whenever dereferencing Extbyte *.
6024
6025         * doc.c (unparesseuxify_doc_string): Type correctness.
6026
6027         * console-x.c (split_up_display_spec):
6028         Rewrite without using details of internal string representation.
6029         (x_semi_canonicalize_device_connection): Type correctness.
6030
6031         * config.h.in:
6032         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
6033         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
6034         (HAVE_XFREE386): Removed.
6035
6036         * buffer.h (DEC_CHARPTR): `const' correctness.
6037         (bufbyte_strcmp): New.
6038         (bufbyte_memcmp): New.
6039
6040         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
6041
6042         * buffer.h (XCHAR_OR_CHAR_INT):
6043         Always use inline function.
6044         Remove redundant type checking assert() - XINT will abort quite nicely.
6045
6046 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
6047
6048         * search.c (Freplace_match): Set newtext to an empty string.
6049
6050 2000-10-10  Martin Buchholz  <martin@xemacs.org>
6051
6052         * s/decosf1-3.h: Remove #include of stropts.h
6053         * s/ptx.h: Remove #include of stropts.h
6054         * s/usg5-4.h: Remove #include of stropts.h
6055         * sysproc.h:
6056         * config.h.in:
6057         Use stropts.h, not sys/stropts.h.
6058         Use strtio.h, not sys/strtio.h.
6059
6060 2000-10-04  Martin Buchholz <martin@xemacs.org>
6061
6062         * XEmacs 21.2.36 is released.
6063
6064 2000-09-21  Andy Piper  <andy@xemacs.org>
6065
6066         * glyphs-x.c (x_redisplay_widget): make sure non-structural
6067         changes still involve copying the widget tree.
6068         (update_widget_face): make sure a change is register in the widget
6069         tree. Call update_tab_widget_face appropriately.
6070         (update_tab_widget_face): ditto.
6071         (x_tab_control_redisplay): make sure non-structural changes still
6072         involve copying the widget tree.
6073
6074 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
6075
6076         * lread.c (locate_file): Check the path element is non-nil.
6077
6078 2000-10-02  Martin Buchholz  <martin@xemacs.org>
6079
6080         * lisp.h: Warning suppression for SCO compilers.
6081
6082         * redisplay-tty.c (reset_tty_modes): Fix crash.
6083         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
6084
6085 2000-09-27  Martin Buchholz  <martin@xemacs.org>
6086
6087         Big signal/process handling overhaul.  Bugs fixed:
6088         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
6089         M-x comint-kill-subjob should work for both values nil and t of
6090         process-connection-type. It was broken on most platforms.
6091         Testing on Irix and Cygwin still needed.  Other plaforms tested.
6092         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
6093         * process-unix.c: Signal/Process handling overhaul.
6094         (pty_name): make 64 bytes, as `expect' does, for paranoia.
6095         (allocate_pty): Use all available modern methods of allocating
6096         ptys, falling back to old style BSD allocation as a last resort.
6097         Use allegedly more secure Unix98 pty allocation by default.
6098         (allocate_pty_the_old_fashioned_way): New. the last resort.
6099         (unix_create_process): Push ptem, ldterm, ttcompat where
6100         available.  Autoconfiscate.
6101         (try_to_initialize_subtty): New.
6102         (unix_kill_child_process): Proper signal handling for ptys on most
6103         platforms, using special knowledge of AIX, BSD, etc...
6104         (unix_create_process): Always disconnect_controlling_terminal() for
6105         subprocesses, whether using ptys or not.
6106         * process.h: Remove old getpt-dependent PTY code.
6107         * process.c (Fprocess_send_signal): New, obvious generic function.
6108         (decode_signal): New.
6109         (Finterrupt_process):
6110         (Fkill_process):
6111         (Fquit_process):
6112         (Fstop_process):
6113         (Fcontinue_process):
6114         (Fsignal_process): Use decode_signal.
6115         (process_send_signal):
6116         Many docstring corrections.
6117         Allow any signal to be sent to a process object.
6118         * config.h.in: Add symbols for big signal/process overhaul.
6119         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
6120         * sysproc.h: Include process-related headers, where available:
6121         sys/stropts.h sys/strtio.h pty.h libutil.h
6122         * s/irix4-0.h:
6123         * s/irix5-0.h:
6124         * s/cygwin32.h:
6125         * s/gnu.h:
6126         * s/linux.h:
6127         * s/hpux.h:
6128         * s/aix3-1.h:
6129         Remove old S&M pty stuff.
6130         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
6131         * systty.h: Simplify cpp hackery, improve comments.
6132         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
6133
6134         * editfns.c (Fformat_time_string):
6135         Be a little more paranoid with the return value of ctime.
6136
6137         * fileio.c (check_executable):
6138         (check_writable):
6139         Use symbolic constants X_OK, W_OK.
6140
6141         * console-x.c (split_up_display_spec): Fix a warning.
6142
6143 2000-10-02  Martin Buchholz  <martin@xemacs.org>
6144
6145         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
6146         * ntproc.c (sys_spawnve): make_string ==> build_string
6147         Small clarity improvements.
6148
6149 2000-09-30  Martin Buchholz  <martin@xemacs.org>
6150
6151         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
6152
6153         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
6154
6155         * config.h.in (HAVE_STRCASECMP): Remove.
6156
6157 2000-09-29  Martin Buchholz  <martin@xemacs.org>
6158
6159         * redisplay-output.c (redisplay_output_pixmap):
6160         Cleaner and possibly more 64-bit correct code.
6161
6162 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
6163
6164         * dumper.c (pdump_load_finish): move restoration of
6165         `noninteractive1' to emacs.c (main_1).
6166         * emacs.c (main_1): protect LISP-visible command-line flags
6167         from pdump_load().
6168
6169 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
6170
6171         * Makefile.in.in (versionclean):  Use EXE_TARGET and
6172         DUMP_TARGET instead of literal program names.
6173
6174 2000-09-20  Martin Buchholz  <martin@xemacs.org>
6175
6176         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
6177
6178 2000-09-19  Martin Buchholz  <martin@xemacs.org>
6179
6180         * *: Spelling mega-patch
6181
6182 2000-09-19  Martin Buchholz  <martin@xemacs.org>
6183
6184         * fns.c (bad_bad_turtle):
6185         Delete "Eek!" comment, since we fixed the bug to which it refers.
6186
6187 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6188
6189         * alloca.c: Replace REGISTER with register.
6190
6191 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
6192
6193         * file-coding.c (ucs_to_char): Use countof.
6194
6195 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6196
6197         * file-coding.c: (ucs_to_char):
6198         (complex_vars_of_file_coding):
6199         Use countof instead of sizeof.
6200         Use CHECK_NATNUM instead of CHECK_INT.
6201
6202         * sysdep.c (strcasecmp): Remove.
6203         * device-x.c (ascii_strcasecmp): New.
6204         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
6205         Avoid using non-standard non-portable strcasecmp.
6206
6207 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6208
6209         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
6210         * font-lock.c: remove reference to emacsfns.h.
6211         * search.c: small doc improvement.
6212         * event-Xt.c: correct file names in comments.
6213         * console-x.h Correct file names in comments.
6214         * frame.c: Correct file names in comments.
6215         * event-stream.c: remove Energize from comments.
6216
6217 2000-09-15  Martin Buchholz  <martin@xemacs.org>
6218
6219         * symeval.h (DEFERROR_STANDARD):
6220         (DEFERROR):
6221         (DEFSYMBOL):
6222         (DEFSYMBOL_NO_DUMP):
6223         (DEFSYMBOL_MULTIWORD_PREDICATE):
6224         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
6225         (DEFKEYWORD):
6226         The construct &##name is not sensible C.
6227         Fixes compilation errors with Unixware native compiler.
6228
6229 2000-09-14  Martin Buchholz  <martin@xemacs.org>
6230
6231         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
6232         (next_frame_internal): Removed.  We now just have next_frame.
6233         (next_frame):
6234         Write a simpler and cleaner one-pass algorithm.
6235         Remove called_from_delete_device arg and #ifdefed-out code.
6236         (previous_frame):
6237         Renamed from prev_frame.  Update callers.
6238         Cleaned up to have an analogous implementation to next_frame.
6239         (other_visible_frames_internal): Remove the
6240         called_from_delete_device bogus arg, and hence, remove this
6241         function.  Just use other_visible_frames().
6242
6243         * window.c (Fnext_window):
6244         Prettify docstring.
6245         Since next_frame() is guaranteed to return a frame, remove check
6246         for nil inserted in previous patch.
6247         (Fprevious_window):
6248         Prettify docstring.
6249         Make code look more like Fnext_window.
6250         (window_loop):
6251         Respect the `console' arg when iterating through windows.
6252         Fixes bug: (get-buffer-window buffer t device) not respecting
6253         the `device' arg.
6254         This function needs more work, as others have pointed out.
6255
6256         * frame.h: Rename prev_frame to previous_frame.
6257         device_matches_console_spec no longer takes a `frame' arg.
6258
6259         * s/gnu.h:
6260         * s/linux.h:
6261         * s/hpux.h:
6262         Use EMACS_BLOCK_SIGNAL instead of sigblock.
6263         From "Golubev I. N." <gin@mo.msk.ru>.
6264
6265         * make-src-depend: Fix typo.
6266
6267 2000-09-13  Martin Buchholz  <martin@xemacs.org>
6268
6269         * window.c (Fnext_window):
6270         next_frame() might return nil, not a frame.
6271         Fixes this crash:
6272         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
6273
6274         * frame.c (next_frame_internal):
6275         We've passed a frame if we've passed its device.
6276         Fixes this crash:
6277         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
6278 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
6279
6280 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6281
6282         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6283         Allow option to suppress accelerators in menu/dialog items.
6284         (populate_or_checksum_helper): Pass dialog title through above.
6285
6286 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6287
6288         * event-msw.c (mswindows_key_to_emacs_keysym):
6289         Add "pause" key, fix "menu" key.
6290
6291 2000-09-09  Martin Buchholz  <martin@xemacs.org>
6292
6293         * eval.c (reinit_vars_of_eval):
6294         Increase max_lisp_eval_depth to 1000,
6295         required for thai-xtis.el to byte-compile under some circumstances.
6296
6297 2000-09-04  Martin Buchholz  <martin@xemacs.org>
6298
6299         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
6300         From Kenichi Handa.
6301
6302 2000-09-01  Martin Buchholz  <martin@xemacs.org>
6303
6304         * make-src-depend: Make the generated Makefiles smaller.
6305
6306         * s/hpux.h (SETUP_SLAVE_PTY):
6307         Provide a %d in the format string for the errno argument.
6308
6309         * editfns.c (Ftemp_directory):
6310         Warning fix.
6311         Avoid buffer overrun on very long file name.
6312
6313         * input-method-xlib.c (XIM_init_device):
6314         6th parameter of XRegisterIMInstantiateCallback has different
6315         pointer types on different OSes, so simply cast to (void *).
6316
6317         * unexhp9k800.c: Warning fixes.  Fiddly changes.
6318
6319         * sysdll.c (dll_open):
6320         shl_load will hang hard if passed a NULL filename.
6321         Simply return NULL for compatibility with dlopen.
6322         * sysdll.c: Conform to XEmacs coding standards.
6323
6324         * sysdep.c (get_pty_max_bytes):
6325         Support pty input lines longer than 512 bytes on HP-UX 10.20.
6326
6327 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6328
6329         * tooltalk.c: Add #include <syssignal.h>
6330
6331 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
6332
6333         * s/hpux.h: Don't use undefined function sigunblock().
6334
6335 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6336
6337         * config.h.in: Add HAVE_BALLOON_HELP.
6338         * emacs.c: Use HAVE_BALLOON_HELP.
6339         * Makefile.in.in (x_objs):
6340         Make Balloon Help conditional on finding shape.h.
6341
6342 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
6343
6344         * syntax.c (regex_emacs_buffer_p): New variable.
6345         * syntax.h (regex_emacs_buffer_p): extern.
6346         * search.c (looking_at_1):
6347         (string_match_1):
6348         (fast_string_match):
6349         (search_buffer): Set regex_emacs_buffer_p.
6350         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
6351         when before_dot, at_dot, after_dot.
6352
6353 2000-08-23  Andy Piper  <andy@xemacs.org>
6354
6355         * gui-x.c (popup_selection_callback): Only set action_occurred
6356         when we really have an image instance.
6357         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
6358
6359 2000-08-23  Andy Piper  <andy@xemacs.org>
6360
6361         * gui-msw.c (mswindows_handle_gui_wm_command): set
6362         action_occurred.
6363         * gui-x.c (popup_selection_callback): ditto.
6364
6365         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
6366         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
6367         (struct Lisp_Image_Instance): add action_occurred flag.
6368
6369         * glyphs.c (redisplay_subwindow): use action_occurred flag.
6370         (image_instance_changed): ditto.
6371         (reset_frame_subwindow_instance_cache): only unmap windows - do
6372         not remove them from the cache also.
6373
6374         * glyphs-widget.c (tab_control_update): better debug.
6375         (progress_gauge_update): ditto.
6376         (layout_update): ditto.
6377         (layout_instantiate): ditto.
6378         (tab_control_order_only_changed): cope with null pending items.
6379
6380         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
6381         debug. Force selection of an item when an action occurred. Cope
6382         with null pending_items.
6383         (mswindows_progress_gauge_redisplay): better debug.
6384         * glyphs-x.c (x_tab_control_redisplay): ditto.
6385
6386         * redisplay.c (redisplay_frame): reset the frame cache if the
6387         frame is garbaged.
6388
6389         * window.c (Fset_window_configuration): potentially re-enable
6390         frame cache reset.
6391         (window_unmap_subwindows): need to finalize instances here since
6392         it is only used in mark_window_as_deleted.
6393
6394 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
6395
6396         * nas.c (SndOpenDataForReading):
6397         nas.c (WaveOpenDataForReading):
6398         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
6399         Somehow escaped from the 2000-08-14 patch.
6400
6401 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6402
6403         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
6404         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
6405
6406 2000-08-21  Andy Piper  <andy@xemacs.org>
6407
6408         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
6409         window if it is not already displayed.
6410
6411         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
6412         it is not already displayed.
6413
6414         * window.c (Fset_window_configuration): don't reset the frame
6415         cache.
6416
6417         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
6418         instances from the frame cache if we are actually finalizing them.
6419         (reset_frame_subwindow_instance_cache): reset frame cache only
6420         after unmapping everything.
6421         (map_subwindow): set displayed flag after mapping.
6422
6423 2000-08-21  Martin Buchholz  <martin@xemacs.org>
6424
6425         * data.c (indirect_function):
6426         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
6427
6428         * eval.c (function_argcount):
6429         Use original function when signaling errors.
6430
6431 2000-08-18  Andy Piper  <andy@xemacs.org>
6432
6433         * frame.c (delete_frame_internal): use new
6434         free_frame_subwindow_instances name.
6435
6436         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
6437         (add_tab_item): make return type correct.
6438         (mswindows_tab_control_instantiate): assert index of tab.
6439         (mswindows_tab_control_redisplay): Re-code to use
6440         gui_item_equal_sans_selected and gui_item_list_find_selected.
6441
6442         * glyphs-widget.c (tab_control_update): Correct comment.
6443
6444         * window.c (window_unmap_subwindows): use new
6445         unmap_subwindow_instance_cache_mapper.
6446         (window_unmap_subwindows_cache_mapper): deleted.
6447         (Fset_window_configuration): comparisons should now be with
6448         EQ. Preserve the subwindow instance cache across configuration
6449         changes.
6450         (allocate_window): ditto.
6451         (make_dummy_parent): ditto.
6452
6453         * glyphs.c (free_frame_subwindow_instances): rename from
6454         free_frame_subwindow_instance_cache. finalize all instances rather
6455         than just those in the display cache.
6456         (finalize_all_subwindow_instances): walk windows unmapping and
6457         finalizing subwindows.
6458         (unmap_subwindow_instance_cache_mapper): moved from
6459         window.c. Allow finalization as well as unmapping.
6460
6461         * gui.c (gui_item_list_find_selected): new function.
6462
6463         * gui.h (gui_item_list_find_selected): declare.
6464
6465         * glyphs-x.c (x_tab_control_redisplay): pick tab
6466         explicitly. Re-code to use gui_item_equal_sans_selected and
6467         gui_item_list_find_selected.
6468
6469         * glyphs-x.h: add lwlib-utils.h
6470
6471         * buffer.c (Frecord_buffer): undo previous change.
6472
6473 2000-08-09  Vin Shelton  <acs@xemacs.org>
6474
6475         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
6476         possible.  Create temporary files more securely.  The patch was
6477         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
6478         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
6479         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
6480         for details.
6481
6482 2000-08-07  Ben Wing  <ben@xemacs.org>
6483
6484         * getloadavg.c: remove duplicate (and windows-breaking)
6485         includes of fcntl.h and sys/file.h.
6486
6487         * nt.c: remove duplicate getloadavg() definition.
6488
6489         * sysdll.h (Qdll_filename_encoding): add missing stand-in
6490         encodings.
6491
6492 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6493
6494         * eval.c (function_argcount): If function needs to be autoloaded
6495         actually use the loaded definition.
6496         GCPRO function.
6497
6498 2000-08-05  Ben Wing  <ben@xemacs.org>
6499
6500         * getloadavg.c: add prototype for getloadavg().  remove
6501         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
6502         of the code).  remove duplicate header includes.
6503
6504         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
6505
6506         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
6507         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
6508         useful load average.
6509
6510         * alloc.c (reinit_alloc_once_early): removed references to
6511         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
6512         the lisp vars are the only things referencing the malloc_sbrk_*
6513         vars, and they were already if 0'd out.  these vars only exist
6514         in the older malloc.c, which is basically unused, and they're
6515         only for informational purposes.
6516
6517         * m\*.h: removed useless VIRT_ADDR_VARIES.
6518
6519         * m\powerpc.h: removed stray NO_ARG_ARRAY.
6520
6521 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
6522
6523         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
6524         color if the image is a mono pixmap.
6525
6526 2000-07-30  Ben Wing  <ben@xemacs.org>
6527
6528         * Makefile.in.in (release):
6529         Remove stray @.
6530
6531         * buffer.c (directory_is_current_directory):
6532         * dired-msw.c (mswindows_get_files):
6533         * dired.c:
6534         * dired.c (Fdirectory_files):
6535         * dired.c (file_name_completion_stat):
6536         * dired.c (Ffile_attributes):
6537         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
6538         preprocessor tricks, to avoid problems on some machines
6539         (e.g. SCO).
6540
6541         * callproc.c (egetenv): GC docs.
6542
6543         * console-msw.h:
6544         * console-msw.h (struct mswindows_dialog_id):
6545         * lrecord.h (lrecord_type):
6546         New object for use with MSW dialogs.
6547
6548         * console.h (struct console_methods):
6549         New enable/disable frame methods, for proper modal dialogs.
6550
6551         * device-msw.c (msprinter_default_printer): Fix to follow
6552         proper Mule conventions.
6553
6554         * device-msw.c:
6555         * device-msw.c (signal_open_printer_error):
6556         * device-msw.c (msprinter_init_device):
6557         * device-msw.c (ensure_not_printing):
6558         * device-msw.c (plist_get_margin):
6559         * device-msw.c (Fmsprinter_select_settings):
6560         * device-msw.c (finalize_devmode):
6561         * device-msw.c (Fmsprinter_settings_despecialize):
6562         * device-msw.c (signal_enum_priner_error):
6563         * extents.c (decode_extent):
6564         * extents.c (decode_map_extents_flags):
6565         * extents.c (decode_extent_at_flag):
6566         * extents.c (Fextent_at):
6567         * extents.c (Fextents_at):
6568         * extents.c (symbol_to_glyph_layout):
6569         [[[[2]]]] Use structured errors.
6570
6571         * dialog-msw.c:
6572         * dialog-msw.c (mswindows_is_dialog_msg):
6573         * dialog-msw.c (mark_mswindows_dialog_id):
6574         * dialog-msw.c (dialog_proc):
6575         * dialog-msw.c (handle_question_dialog_box):
6576         * dialog-msw.c (syms_of_dialog_mswindows):
6577         Define new object to clean up marking; use it as a dialog identifier.
6578         Call new delete-dialog-box-hook.
6579
6580         * dialog-x.c (dbox_selection_callback):
6581         * dialog-x.c (dbox_descriptor_to_widget_value):
6582         * dialog-x.c (x_make_dialog_box_internal):
6583         Call new delete-dialog-box-hook.
6584         Return an id.
6585
6586         * dialog.c:
6587         * dialog.c (syms_of_dialog):
6588         * dialog.c (vars_of_dialog):
6589         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
6590
6591         * eval.c:
6592         * eval.c (signal_call_debugger):
6593         when noninteractive, output stack traces on the console instead
6594         of in a (never-seen) buffer.
6595
6596         * eval.c (signal_type_error):
6597         * eval.c (invalid_argument_2):
6598         * lisp.h:
6599         new funs for use w/structured errors.
6600
6601         * event-Xt.c:
6602         * event-Xt.c (x_to_emacs_keysym):
6603         * event-Xt.c (describe_event):
6604         * event-Xt.c (emacs_Xt_event_handler):
6605         * event-Xt.c (vars_of_event_Xt):
6606         * event-msw.c:
6607         * event-msw.c (mswindows_wnd_proc):
6608         * event-msw.c (vars_of_event_mswindows):
6609         rename {x,mswindows}-debug-events to debug-{}-events for
6610         consistency with other debug-foo variables.
6611
6612         * event-stream.c:
6613         document next-event more clearly.
6614
6615         * fileio.c (Ffile_name_directory):
6616         * fileio.c (Ffile_name_nondirectory):
6617         * fileio.c (Funhandled_file_name_directory):
6618         * fileio.c (file_name_as_directory):
6619         * fileio.c (Ffile_name_as_directory):
6620         * fileio.c (directory_file_name):
6621         * fileio.c (Fdirectory_file_name):
6622         * fileio.c (Fmake_temp_name):
6623         * fileio.c (Ffile_truename):
6624         * fileio.c (Fsubstitute_in_file_name):
6625         * fileio.c (expand_and_dir_to_file):
6626         * fileio.c (barf_or_query_if_file_exists):
6627         * fileio.c (check_executable):
6628         * fileio.c (Ffile_exists_p):
6629         * fileio.c (Ffile_writable_p):
6630         * fileio.c (Ffile_directory_p):
6631         * fileio.c (Ffile_regular_p):
6632         * fileio.c (Ffile_modes):
6633         * fileio.c (Ffile_newer_than_file_p):
6634         * fileio.c (Fverify_visited_file_modtime):
6635         * fileio.c (Fset_visited_file_modtime):
6636         * fileio.c (auto_save_1):
6637         (1). (2).
6638         fix up gcpro's.
6639
6640         * frame-msw.c:
6641         * frame-msw.c (mswindows_init_frame_1):
6642         * frame-msw.c (mswindows_enable_frame):
6643         * frame-msw.c (error_frame_unsizable):
6644         * frame-msw.c (msprinter_init_frame_1):
6645         * frame-msw.c (msprinter_init_frame_3):
6646         * frame-msw.c (console_type_create_frame_mswindows):
6647         (2).
6648         implement new enable/disable frame methods.
6649
6650         * frame-x.c:
6651         * frame-x.c (x_enable_frame):
6652         * frame-x.c (console_type_create_frame_x):
6653         implement new enable/disable frame methods.
6654
6655         * frame.c:
6656         * frame.c (Fdisable_frame):
6657         * frame.c (syms_of_frame):
6658         * frame.h (struct frame):
6659         implement new enable/disable frame methods/functions.
6660
6661         * general-slots.h:
6662         add initial-focus.
6663
6664         * glyphs-msw.c (mswindows_widget_instantiate):
6665         comment that initial-focus should be implemented.
6666
6667         * glyphs-widget.c:
6668         * glyphs-widget.c (check_valid_instantiator):
6669         * glyphs-widget.c (check_valid_orientation):
6670         * glyphs-widget.c (check_valid_tab_orientation):
6671         * glyphs-widget.c (check_valid_justification):
6672         * glyphs-widget.c (check_valid_border):
6673         * glyphs-widget.c (check_valid_callback):
6674         * glyphs-widget.c (check_valid_int_or_function):
6675         * glyphs-widget.c (check_valid_string_or_vector):
6676         * glyphs-widget.c (check_valid_item_list_1):
6677         * glyphs-widget.c (widget_validate):
6678         * glyphs-widget.c (combo_box_validate):
6679         * glyphs-widget.c (widget_instantiate):
6680         * glyphs-widget.c (syms_of_glyphs_widget):
6681         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
6682         * glyphs-widget.c (image_instantiator_combo_box):
6683         * glyphs-widget.c (image_instantiator_scrollbar):
6684         * glyphs-widget.c (image_instantiator_tab_control):
6685         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
6686         (2).
6687         support (unimplemented) keyword initial-focus.
6688         reindent long macros.
6689
6690         * glyphs-x.c (x_redisplay_widget):
6691         * glyphs-x.c (x_button_instantiate):
6692         * glyphs-x.c (x_button_redisplay):
6693         * glyphs-x.c (x_progress_gauge_instantiate):
6694         * glyphs-x.c (x_edit_field_instantiate):
6695         * glyphs-x.c (x_combo_box_instantiate):
6696         * glyphs-x.c (x_tab_control_instantiate):
6697         * glyphs-x.c (x_label_instantiate):
6698         * gui-x.c:
6699         * gui-x.c (button_item_to_widget_value):
6700         * gui-x.c (gui_items_to_widget_values_1):
6701         * gui-x.c (gui_item_children_to_widget_values):
6702         * gui-x.c (gui_items_to_widget_values):
6703         * gui-x.h:
6704         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6705         add new flag to gui-parsing routines to indicate whether
6706         accelerator specs should be supported.
6707
6708         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
6709
6710         * glyphs.h (struct Lisp_Image_Instance):
6711         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
6712         add initial-focus flag.
6713
6714         * gui.c:
6715         * gui.c (syms_of_gui):
6716         * gui.c (vars_of_gui):
6717         clean up menu-no-selection-hook.
6718
6719         * gui.h:
6720         support delete-dialog-box-hook.
6721
6722         * lread.c (Fload_internal):
6723         * lread.c (locate_file_in_directory_mapper):
6724         (1).
6725
6726         * lrecord.h:
6727         * lrecord.h (struct toolbar_button):
6728         * lrecord.h (syms_of_toolbar):
6729         document how to create a new object.
6730
6731         * menubar-msw.c (mswindows_char_is_accelerator):
6732         may be called on frames w/o menus.
6733
6734         * menubar.c (vars_of_menubar):
6735         clean up :filter docs.
6736
6737         * nt.c (readdir):
6738         * ntproc.c:
6739         (1).
6740
6741         * process-nt.c:
6742         * process-nt.c (validate_signal_number):
6743         * process-nt.c (signal_cannot_launch):
6744         * process-nt.c (nt_create_process):
6745         * process-nt.c (nt_send_process):
6746         * process-nt.c (nt_kill_child_process):
6747         * process-nt.c (nt_open_network_stream):
6748         * process-nt.c (syms_of_process_nt):
6749         (2).
6750         delete quote-handling.  call new lisp code that does it better.
6751
6752         * process-unix.c (connect_to_file_descriptor):
6753         * process-unix.c (allocate_pty):
6754         * process-unix.c (unix_send_process):
6755         * process-unix.c (unix_kill_child_process):
6756         * process-unix.c (unix_open_network_stream):
6757         * process-unix.c (unix_open_multicast_group):
6758         (1). (2).
6759
6760         * process.c:
6761         * process.c (Fstart_process_internal):
6762         (2).  need to canonicalize process path even if absolute.
6763
6764         * select-msw.c (symbol_to_ms_cf):
6765         * select-msw.c (ms_cf_to_symbol):
6766         * select-msw.c (cf_is_autofreed):
6767         * select-msw.c (mswindows_destroy_selection):
6768         * select.c:
6769         * select.c (syms_of_select):
6770         * select.h:
6771         support dibv5, fix bugs. (from Mike Alexander)
6772
6773         * select.c (Fget_selection_internal):
6774         * select.c (select_convert_out):
6775
6776         * sysdep.c:
6777         * sysdep.c (xemacs_stat):
6778         renamed.
6779
6780         * sysdep.c (mkdir):
6781         * sysdep.c (rmdir):
6782         but keep original stat() here because we provide encapsulation
6783         around these funs.
6784
6785         * sysfile.h:
6786         * sysfile.h (fstat):
6787         remove stat garbage.
6788
6789         * syswindows.h:
6790         fix X/MSW conflict.
6791         don't include tchar.h.  it's inappropriate because it makes
6792         compile-time distinctions when we want runtime distinctions.
6793         (we provide our own tchar replacements)
6794
6795         * toolbar.c:
6796         use default object printer for toolbar-button.
6797
6798         * unexcw.c:
6799         make sure we don't encapsulate.
6800
6801         * window.c (vars_of_window):
6802         emphasize that temp-buffer-show-hook is obsolete.
6803
6804 2000-08-05  Martin Buchholz  <martin@xemacs.org>
6805
6806         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
6807         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
6808
6809         * events.c (Fevent_timestamp_lessp):
6810         Not 64-bit clean.  Use EMACS_INT, not int.
6811
6812 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
6813
6814         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
6815         unsigned int and changed the last enum to
6816         lrecord_type_last_built_in_type.
6817         (lrecord_implementations_table): changed prototype to know how
6818         long the array is supposed to be.
6819         (lrecord_type_count): new unsigned int to keep track of the
6820         current number of lisp lrecord types.
6821         (DEFINE_EXTERNAL_LRECORD):
6822         (DECLARE_EXTERNAL_LRECORD): Added these two for external
6823         dynamic-modules to declare new lisp types. They are the same
6824         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
6825         int for each new type, and increment lrecord_type_count by 1.
6826
6827         * alloc.c (lrecord_implementations_table): Changed to reference
6828         lrecord_type_last_built_in_type for the size of the array.
6829         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
6830
6831 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
6832
6833         * glyphs.h (check_valid_item_list): Renamed from
6834         check_valid_item_list_1.
6835
6836 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
6837
6838         * select.c (Qselect_coerce): New.
6839         * select.c (Vselection_coercion_alist): New.
6840         * select.c (syms_of_select): Declare.
6841         * select.c (get-selection-internal): Use it.
6842         Use the new select-coerce functionality.
6843
6844         * select.c (select_coerce): New.
6845         * select.h (select_coerce): Declare.
6846         New function to coerce one type of data into another.
6847
6848 2000-08-03  Martin Buchholz  <martin@xemacs.org>
6849
6850         * callproc.c (Fcall_process_internal):
6851         (Fcall_process_internal):
6852         * process-unix.c (unix_create_process):
6853         Save and restore the value of errno, so that error messages are accurate.
6854
6855 2000-08-01  Martin Buchholz  <martin@xemacs.org>
6856
6857         * elhash.c (print_hash_table):
6858         Fix printing of hash tables to also use `key-and-value' instead of `t'.
6859         Prettify docstrings and indentation.
6860
6861 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
6862
6863         * window.c (Fwindow_pixel_edges): Subtract frame border and
6864         gutter size.
6865
6866 2000-07-31  Andy Piper  <andy@xemacs.org>
6867
6868         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
6869         will acknowledge the change.
6870
6871         * glyphs.h: declare tab_control_order_only_changed.
6872
6873         * glyphs-x.c (x_tab_control_redisplay): use
6874         tab_control_order_only_changed.
6875
6876         * glyphs-widget.c (tab_control_order_only_changed): new function.
6877
6878         * glyphs-msw.c (mswindows_tab_control_redisplay): use
6879         tab_control_order_only_changed.
6880
6881         * gui.c (gui_item_equal_sans_selected): new function.
6882         (gui_item_equal): use it.
6883
6884         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
6885         :properties in favor of :items..
6886
6887         * glyphs-widget.c (check_valid_item_list): rename from
6888         check_valid_item_list_1.
6889         (check_valid_item_list_1): renamed.
6890         (combo_box_validate): deprecate :properties in favor of :items.
6891         (widget_instantiate): ditto.
6892         (tab_control_update): ditto.
6893         (image_instantiator_combo_box): ditto.
6894         (image_instantiator_tree_view): ditto.
6895         (image_instantiator_tab_control): ditto.
6896         (layout_post_instantiate): remove dead code.
6897
6898         * print.c (debug_print_no_newline): only write to debugger if in
6899         WIN32_NATIVE.
6900
6901         * elhash.c (Fmake_hash_table): update doc string.
6902
6903         * event-msw.c (mswindows_wnd_proc): don't allow processing of
6904         messages whilst in GC. This at least stops XEmacs crashing but has
6905         the potential for wierd behaviour.
6906
6907 2000-07-31  Martin Buchholz  <martin@xemacs.org>
6908
6909         * config.h.in:
6910         Make existence of s&m files optional.
6911
6912         * s/bsd386.h: Remove HAVE_GETLOADAVG.
6913         * s/freebsd.h: Remove HAVE_GETLOADAVG.
6914         * s/gnu.h: Remove HAVE_GETLOADAVG.
6915         * s/netbsd.h: Remove HAVE_GETLOADAVG.
6916         * s/sol2.h: Remove HAVE_GETLOADAVG.
6917         * lisp.h: Remove getloadavg() declaration.
6918         * fns.c:
6919         Include <sys/loadavg.h> if available.
6920         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
6921         * config.h.in:  Group together getloadavg()-related macros.
6922         Use only configure-time tests to detect getloadavg().
6923
6924 2000-07-30  Martin Buchholz  <martin@xemacs.org>
6925
6926         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
6927
6928 2000-07-25  Andy Piper  <andy@xemacs.org>
6929
6930         * syswindows.h: add tchar.h for native builds.
6931
6932         * frame.c (syms_of_frame): remove set-glyph-image.
6933
6934         * general-slots.h: add Qset_glyph_image.
6935
6936         * glyphs-widget.c (layout_update): add domain arg to
6937         set-glyph-image.
6938         (syms_of_glyphs_widget): remove set-glyph-image.
6939
6940 2000-07-23  Ben Wing  <ben@xemacs.org>
6941
6942         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
6943         Vpopup_frame_list.
6944
6945 2000-07-22  Andy Piper  <andy@xemacs.org>
6946
6947         * symsinit.h: add syms_of_win32().
6948
6949         * gui-msw.c (syms_of_gui_mswindows): remove
6950         Fmswindows_shell_execute.
6951         (Fmswindows_shell_execute): moved to win32.c.
6952
6953         * emacs.c (main_1): add syms_of_win32 ().
6954
6955         * win32.c (init_potentially_nonexistent_functions): rewrite in
6956         compiler-friendly terms.
6957         (Fmswindows_shell_execute): move here from gui-msw.c.
6958         (syms_of_win32): new.
6959
6960         * device-msw.c (Fmswindows_printer_list): clean up args to
6961         EnumPrinters.
6962         Don't include tchar under cygwin or mingw.
6963         (msprinter_default_printer): make cygwin-friendly.
6964
6965 2000-07-21  Andy Piper  <andy@xemacs.org>
6966
6967         * glyphs-widget.c (image_instantiator_tree_view): use tab
6968         control's update function.
6969         (layout_property): new function. Retrieve items.
6970
6971         * glyphs-msw.c (mswindows_tree_view_redisplay): new
6972         function. Re-populate the tree view from the pending items.
6973
6974         * glyphs.c (instantiate_image_instantiator): Make sure the domain
6975         is designated the parent if the domain is an image instance. This
6976         is needed so that dirtiness can be cascade up the hierarchy and
6977         thus for layout children to be redisplayed correctly.
6978         (allocate_image_instance): rename glyph -> parent.
6979
6980         * redisplay.h: change redisplay_output_layout signature.
6981
6982         * redisplay-msw.c (mswindows_output_display_block): use domain
6983         arg.
6984
6985         * redisplay-x.c (x_output_display_block): use domain arg.
6986
6987 2000-07-10  Andy Piper  <andy@xemacs.org>
6988
6989         * window.c (Fset_window_configuration): add comment.
6990
6991         * redisplay-output.c (compare_runes):
6992         (redisplay_output_subwindow): redisplay rather than update subwindow.
6993         (redisplay_output_layout): ditto.
6994
6995         * redisplay-msw.c (mswindows_frame_output_end):
6996         (mswindows_frame_output_end): make defer window pos optional.
6997
6998         * lisp.h: add Flast.
6999
7000         * glyphs.h (struct image_instantiator_methods): add dest_mask top
7001         normalize method. Change update method to be for changed
7002         instantiators. Add redisplay method. Change signature of layout
7003         method.
7004         (struct Lisp_Image_Instance): add instantiator.
7005         (IMAGE_INSTANCE_INSTANTIATOR): new.
7006         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
7007         (XIMAGE_INSTANCE_INSTANTIATOR): new.
7008         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
7009
7010         * glyphs.c:
7011         (find_instantiator_differences): new function.
7012         (Fset_instantiator_property): new convenience function.
7013         (check_image_instance_structure): strictly check for vector
7014         instantiators.
7015         (normalize_image_instantiator): make non-static.
7016         (instantiate_image_instantiator): pass on dest_mask and use new
7017         signatures for image_instance_layout and friends.
7018         (mark_image_instance): mark the instantiator. Mark the subwindow
7019         face not the widget face.
7020         (image_instance_equal): add instantiator.
7021         (image_instance_hash): ditto.
7022         (allocate_image_instance): ditto.
7023         (Fset_image_instance_property): removed.
7024         (Fimage_instance_file_name): ditto.
7025         (Fcolorize_image_instance): ditto.
7026         (image_instance_layout): add offsets to be set.
7027         (update_image_instance): new function. update an image instance
7028         from its changed instantiator.
7029         (inherit_normalize): add dest_mask.
7030         (xbm_normalize): ditto.
7031         (xface_normalize): ditto.
7032         (xpm_normalize): ditto.
7033         (text_update): set_property -> update.
7034         (image_instantiate): use the glyph identity as a hash key, not the
7035         instantiator.
7036         (glyph_width): use new image_instance_layout signature.
7037         (glyph_ascent): ditto.
7038         (glyph_descent): ditto.
7039         (glyph_height): ditto.
7040         (glyph_query_geometry): ressurrect.
7041         (glyph_layout): ditto.
7042         (redisplay_subwindow): update -> redisplay.
7043         (syms_of_glyphs): add Fset_instantiator_property.
7044         (image_instantiator_format_create): set_property -> update.
7045
7046         * glyphs-x.c:
7047         (autodetect_normalize): add dest_maks to signature.
7048         (x_redisplay_subwindow): update -> redisplay.
7049         (x_redisplay_widget): ditto.
7050         (x_button_redisplay): ditto.
7051         (x_progress_gauge_redisplay): ditto.
7052         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
7053         stacking order.
7054         (console_type_create_glyphs_x): update -> redisplay.
7055         (image_instantiator_format_create_glyphs_x): ditto.
7056
7057         * glyphs-widget.c:
7058         (check_valid_instantiator): disallow glyphs in the instantiator,
7059         they must now be vectors.
7060         (check_valid_instantiator_list): ditto.
7061         (glyph_instantiator_to_glyph): use internal symbol rather than
7062         intern.
7063         (widget_update): renamed from widget_set_property. Call cascaded
7064         update methods.
7065         (redisplay_widget): renamed from update_widget.
7066         (widget_layout): image_instance_layout now takes position as well
7067         as size.
7068         (widget_normalize): ditto.
7069         (widget_instantiate): ditto.
7070         (tab_control_query_geometry) ditto.:
7071         (tab_control_update): renamed from tab_control_set_property.
7072         (progress_gauge_update): set_property -> update.
7073         (layout_normalize): rewrite so that child instantiators are
7074         normalized also.
7075         (layout_update): new function. Create glyphs from the normalized
7076         children and cope with any other layout keywords. We do not
7077         instantiate children here that will be take care of by
7078         redisplay_output_layout.
7079         (layout_instantiate): call layout_update and not much else.
7080         (layout_post_instantiate): not sure whether this is needed
7081         anymore.
7082         (layout_query_geometry): query glyph geometry rather than
7083         image_instance geometry.
7084         (layout_layout): set offsets from pass in parameters. Use glyph
7085         geometry and layout functions rather than image instance ones.
7086         (native_layout_layout): ditto.
7087         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
7088         (image_instantiator_widget): set_property -> update.
7089         (image_instantiator_buttons): ditto.
7090         (image_instantiator_progress_guage): ditto.
7091         (image_instantiator_tab_control): ditto.
7092         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
7093         (image_instantiator_layout): add update method.
7094
7095         * glyphs-msw.c (bmp_normalize):
7096         (mswindows_resource_normalize): add dest_mask so that it can be
7097         proprogated by layout_normalize.
7098         (begin_defer_window_pos): make optional because it may not be the
7099         right thing to do and it introduces differences with X.
7100         (mswindows_unmap_subwindow): ditto.
7101         (mswindows_map_subwindow): ditto.
7102         (mswindows_redisplay_subwindow): renamed from
7103         mswindows_update_subwindow.
7104         (mswindows_redisplay_widget): ditto.
7105         (mswindows_button_redisplay): renamed from
7106         mswindows_button_update. Update is now what the instantiation
7107         function does for a changed instantiator.
7108         (mswindows_progress_gauge_instantiate): set the progress value
7109         here if appropriate.
7110         (mswindows_tab_control_redisplay): cope with re-ordering of the
7111         members of the tab widget by simply selecting the new top
7112         widget. This makes things appear ok if you click on a tab.
7113         (mswindows_combo_box_instantiate): image_instance_layout now takes
7114         position as well as size.
7115         (mswindows_progress_gauge_redisplay): renamed from
7116         mswindows_progress_gauge_update.
7117         (console_type_create_glyphs_mswindows): fix update -> redisplay.
7118         (image_instantiator_format_create_glyphs_mswindows): ditto.
7119
7120         * glyphs-eimage.c (jpeg_normalize):
7121         (gif_normalize):
7122         (png_normalize):
7123         (tiff_normalize): add dest_mask so that it can be proprogated by
7124         layout_normalize.
7125
7126         * elhash.c:
7127         (print_hash_table):
7128         (hash_table_weakness_validate):
7129         (decode_hash_table_weakness):
7130         (Fhash_table_weakness):
7131         (Fhash_table_type):
7132         (syms_of_elhash): use Ben's naming scheme for hashtable types..
7133
7134         * console.h (struct console_methods): move update_* to
7135         redisplay_*.
7136
7137 2000-07-20  Ben Wing  <ben@xemacs.org>
7138
7139         * *.[ch] (XSETOBJ): remove unused middle argument.
7140         lisp-disunion.h: correct wrap_object() to one argument.
7141
7142 2000-07-15  Ben Wing  <ben@xemacs.org>
7143
7144         * s/cygwin32.h:
7145         * s/cygwin32.h (CYGWIN_CONV_PATH):
7146         Add missing logb prototype for v1.1.
7147         Use post-b20 names and alias to pre-b20 names when pre-b20.
7148
7149         * s/windowsnt.h: [5].
7150
7151 2000-07-15  Ben Wing  <ben@xemacs.org>
7152
7153         * Makefile.in.in (x_objs):
7154         * Makefile.in.in (sheap_objs):
7155         * Makefile.in.in (objs):
7156         added win32.o, cosmetic cleanups.
7157
7158         * alloc.c (Fmake_byte_code):
7159         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
7160         etc. macros which declare their own args now.
7161
7162         * alloc.c (syms_of_alloc):
7163         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
7164
7165         * buffer.c:
7166         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
7167
7168         * buffer.c (Fget_file_buffer):
7169         Fixed GCPRO problem.
7170
7171         * buffer.c (get_truename_buffer):
7172         Fixed comment about GC checking.
7173
7174         * buffer.c (syms_of_buffer):
7175         Undeclared those dedicated frame funs.
7176         [2].
7177
7178         * buffer.h:
7179         Define convenience macros for internal/external conversions.
7180         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
7181         and Qenvironment_variable_encoding for cleaner code.
7182
7183         * bufslots.h:
7184         Remove dedicated-frame; in lisp.
7185
7186         * bytecode.c (funcall_compiled_function):
7187         [1].
7188
7189         * bytecode.c (syms_of_bytecode):
7190         [2].
7191
7192         * console-msw.c:
7193         * console-msw.c (mswindows_show_console): Rewrote.
7194
7195         * console-msw.c (Fmswindows_debugging_output): New.
7196         Sends to OutputDebugString (special MSWin debugger interface).
7197
7198         * console-msw.c (Fmswindows_message_box):
7199         Fixed stupid bugs so it works when called from kill-emacs.
7200
7201         * console-msw.c (syms_of_console_mswindows):
7202         Declare Fmswindows_debugging_output.
7203
7204         * console-msw.h:
7205         New MSWin prototypes.
7206
7207         * console-msw.h (struct mswindows_frame):
7208         New entry last-click-mods for improved button-modifier support.
7209
7210         * console-msw.h (FRAME_MSWINDOWS_POPUP):
7211         New struct entry `popup' with corresponding accessor.
7212
7213         * console-x.c:
7214         * console-x.c (split_up_display_spec):
7215         * console-x.c (get_display_arg_connection):
7216         * console-x.c (x_semi_canonicalize_console_connection):
7217         * console-x.c (x_canonicalize_device_connection):
7218         [[[6]]]: Change char to more specific type.
7219         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
7220
7221         * console-x.c (x_semi_canonicalize_console_connection):
7222         * console-x.c (x_canonicalize_device_connection):
7223         [[[9]]]: Fix up error signalling to use new structured error system.
7224
7225         * console-x.h:
7226         [[[4]]]: Define codesys aliases:
7227         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
7228         Qx_color_name_encoding, Qx_display_name_encoding.
7229
7230         * console.h (struct console_methods):
7231         New method make_dialog_box_internal supersedes older
7232         popup_dialog_box method.
7233
7234         * data.c:
7235         Define many new errors, part of new structured errors.
7236
7237         * data.c (init_errors_once_early):
7238         * data.c (syms_of_data):
7239         [2].
7240
7241         * device-msw.c (mswindows_init_device):
7242         [[[5]]]: Cleanup to support NT 3.51.
7243
7244         * device-msw.c (decode_devmode): Cleanup.
7245
7246         * device-msw.c (mswindows_handle_print_setup_dialog_box):
7247         * device-msw.c (mswindows_handle_print_dialog_box):
7248         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7249         * device-msw.c (syms_of_device_mswindows):
7250         Delete the dialog box primitives recently introduced by Kirill and
7251         instead interface to general dialog box interface.
7252
7253         * device-x.c:
7254         * device-x.c (compute_x_app_name):
7255         * device-x.c (x_init_device):
7256         * device-x.c (Fx_valid_keysym_name_p):
7257         * device-x.c (Fx_set_font_path):
7258         [6].
7259         [7].
7260
7261         * device.h (wrap_device): New.
7262         First of its kind; meant to replace XSETDEVICE.
7263
7264         * dialog-msw.c: Many file-dialog symbols.
7265
7266         * dialog-msw.c (mswindows_register_popup_frame): New.
7267         * dialog-msw.c (mswindows_is_dialog_msg): New.
7268         For supporting kbd traversal in dialog boxes.
7269
7270         * dialog-msw.c (dialog_proc):
7271         Support hitting ESC in dialogs.
7272
7273         * dialog-msw.c (struct):
7274         Common dialog box errors.
7275
7276         * dialog-msw.c (handle_file_dialog_box): New.
7277         Add file dialog code.
7278
7279         * dialog-msw.c (handle_question_dialog_box):
7280         Redo existing code to support new question dialog syntax.
7281
7282         * dialog-msw.c (console_type_create_dialog_mswindows):
7283         We support new dialog console method.
7284
7285         * dialog-msw.c (syms_of_dialog_mswindows):
7286         * dialog-msw.c (vars_of_dialog_mswindows):
7287         New file dialog symbols, vars.
7288
7289         * dialog-x.c:
7290         * dialog-x.c (maybe_run_dbox_text_callback):
7291         * dialog-x.c (dbox_descriptor_to_widget_value):
7292         * dialog-x.c (x_make_dialog_box_internal):
7293         * dialog-x.c (console_type_create_dialog_x):
7294         Mule-ize entire file.
7295         Redo to support question dialog syntax.
7296         [6].
7297
7298         * dialog.c:
7299         * dialog.c (Fmake_dialog_box_internal):
7300         * dialog.c (syms_of_dialog):
7301         Kill old popup-dialog-box, replace with new primitive.
7302         Just call device method or signal error.
7303
7304         * eldap.c (Fldap_open):
7305         * eldap.c (Fldap_search_basic):
7306         * eldap.c (Fldap_add):
7307         * eldap.c (Fldap_modify):
7308         [1].
7309         [7].
7310
7311         * emacs.c:
7312         * emacs.c (make_arg_list_1):
7313         * emacs.c (make_arg_list):
7314         Mule-ize call to dll_init().
7315         [6].
7316         [8].
7317
7318         * emacs.c (make_argc_argv):
7319         * emacs.c (free_argc_argv):
7320         * emacs.c (init_cmdargs):
7321         * emacs.c (main_1):
7322         * emacs.c (Fkill_emacs):
7323         * emacs.c (Fdump_emacs):
7324         Update comments about what can be used in syms_* etc.
7325         Call init_win32() when necessary.
7326         Fix up MS Win dialog box in kill-buffer to actually work right.
7327         [7].
7328
7329         * eval.c:
7330         * eval.c (For):
7331         * eval.c (Fand):
7332         * eval.c (Fprogn):
7333         * eval.c (Fprog1):
7334         * eval.c (Fprog2):
7335         * eval.c (FletX):
7336         * eval.c (Flet):
7337         * eval.c (condition_case_3):
7338         * eval.c (Feval):
7339         * eval.c (function_argcount):
7340         * eval.c (funcall_lambda):
7341         [1].
7342
7343         * eval.c (type_error): New.
7344         * eval.c (maybe_type_error): New.
7345         * eval.c (continuable_type_error): New.
7346         * eval.c (maybe_continuable_type_error): New.
7347         * eval.c (type_error_with_frob): New.
7348         * eval.c (maybe_type_error_with_frob): New.
7349         * eval.c (continuable_type_error_with_frob): New.
7350         * eval.c (maybe_continuable_type_error_with_frob): New.
7351         New functions for use with structured errors.
7352
7353         * event-Xt.c:
7354         * event-Xt.c (x_event_to_emacs_event):
7355         Buttons are now modifiers too.
7356
7357         * event-Xt.c (emacs_Xt_current_event_timestamp):
7358         Implement new event method.
7359         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
7360
7361         * event-msw.c:
7362         * event-msw.c (ntpipe_shove_writer): [5].
7363         * event-msw.c (mswindows_enqueue_mouse_button_event):
7364         * event-msw.c (mswindows_drain_windows_queue):
7365         * event-msw.c (mswindows_wnd_proc): [7].
7366         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
7367         * event-msw.c (mswindows_modifier_state):
7368         Throughout: support new button modifiers.
7369
7370         * event-msw.c (emacs_mswindows_current_event_timestamp):
7371         Implement new event method.
7372         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
7373
7374         * event-stream.c:
7375         * event-stream.c (event_stream_current_event_timestamp): New.
7376         * event-stream.c (maybe_kbd_translate): New functionality.
7377         * event-stream.c (vars_of_event_stream):
7378         Document new kbd-translate-table functionality.
7379
7380         * event-stream.c (Fcurrent_event_timestamp): New.
7381         New primitive for use in fabricated events.
7382         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
7383
7384         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
7385
7386         * events.c:
7387         * events.c (Fmake_event):
7388         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
7389         [1].
7390         [9].
7391
7392         * events.c (format_event_object): fix gcc warnings.
7393
7394         * events.c (Fevent_timestamp): Document new primitives.
7395
7396         * events.c (TIMESTAMP_HALFSPACE): New.
7397
7398         * events.c (Fevent_timestamp_lessp): New.  New primitive for
7399         comparing timestamps correctly (half-space algorithm).
7400
7401         * events.c (Fevent_modifier_bits): Doc fix.
7402
7403         * events.c (Fevent_modifiers): Major doc addition.
7404         * events.c (event_x_y_pixel_internal): Typo fix.
7405         * events.c (syms_of_events): Declare new primitives.
7406
7407         * events.h:
7408         Update long comment for button modifiers, timestamps.
7409
7410         * events.h (struct event_stream):
7411         New current_event_timestamp method.
7412
7413         * extents.c:
7414         * extents.c (extent_in_region_p):
7415         * extents.c (decode_extent):
7416         * extents.c (Fset_extent_parent):
7417         * extents.c (decode_map_extents_flags):
7418         Fix gcc warnings.
7419         [9].
7420
7421         * extents.c (struct extent_at_arg):
7422         * extents.c (decode_extent_at_flag):
7423         * extents.c (extent_at_mapper):
7424         * extents.c (extent_at_bytind):
7425         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
7426         * extents.c (Fextents_at): New primitive. [9].
7427         * extents.c (symbol_to_glyph_layout): [9].
7428         Support new primitive `extents-at'.
7429
7430
7431         * extents.c (get_text_property_bytind):
7432         extent_at_bytind has another arg.
7433         [9].
7434
7435         * extents.c (syms_of_extents): New primitive.
7436
7437         * file-coding.c (Fmake_coding_system): [1].
7438         * file-coding.c (subsidiary_coding_system): fix gcc warning
7439         * file-coding.c (syms_of_file_coding): [2].
7440
7441         * fileio.c (Fexpand_file_name):
7442         * fileio.c (Fsysnetunam):
7443         * fileio.c (Ffile_exists_p):
7444         * fileio.c (Ffile_executable_p):
7445         * fileio.c (Fverify_visited_file_modtime):
7446         Clean up GCPROing.
7447
7448         * fileio.c (syms_of_fileio): [2].
7449
7450         * filelock.c (lock_file_1):
7451         * filelock.c (current_lock_owner):
7452         * filelock.c (lock_if_free):
7453         * filelock.c (lock_file):
7454         * filelock.c (unlock_file):
7455         Clean up GCPROing.
7456
7457         * fns.c (concat): Fix gcc warning.
7458
7459         * fns.c (Fmember):
7460         * fns.c (Fold_member):
7461         * fns.c (Fmemq):
7462         * fns.c (Fold_memq):
7463         * fns.c (memq_no_quit):
7464         * fns.c (Fassoc):
7465         * fns.c (Fold_assoc):
7466         * fns.c (Fassq):
7467         * fns.c (Fold_assq):
7468         * fns.c (assq_no_quit):
7469         * fns.c (Frassoc):
7470         * fns.c (Fold_rassoc):
7471         * fns.c (Frassq):
7472         * fns.c (Fold_rassq):
7473         * fns.c (rassq_no_quit):
7474         * fns.c (Fdelete):
7475         * fns.c (Fold_delete):
7476         * fns.c (Fdelq):
7477         * fns.c (Fold_delq):
7478         * fns.c (delq_no_quit):
7479         * fns.c (Fremassoc):
7480         * fns.c (Fremassq):
7481         * fns.c (remassq_no_quit):
7482         * fns.c (Fremrassoc):
7483         * fns.c (Fremrassq):
7484         * fns.c (remrassq_no_quit):
7485         * fns.c (Freverse):
7486         * fns.c (mapcar1):
7487         [1].
7488
7489         * frame-msw.c (mswindows_init_frame_1):
7490         * frame-msw.c (mswindows_delete_frame):
7491         Register popups with dialog code so keyboard traversing works.
7492
7493         * frame-tty.c (tty_raise_frame_no_select): [1].
7494
7495         * frame-x.c:
7496         * frame-x.c (x_set_frame_text_value):
7497         * frame-x.c (x_set_frame_properties):
7498         * frame-x.c (x_create_widgets):
7499         [7].
7500
7501         * frame.c:
7502         * frame.c (Fmouse_pixel_position): Minor doc fixes.
7503
7504         * frame.h (wrap_frame): New.
7505         Macro like wrap_device.
7506
7507         * general.c:
7508         * general.c (SYMBOL):
7509         * general.c (syms_of_general):
7510         Major reorg.  This is now just a wrapper and symbols themselves
7511         are listed in general-slots.h.
7512
7513         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
7514         * glyphs-msw.c (mswindows_resource_instantiate): [5].
7515
7516         * glyphs-msw.c (mswindows_native_layout_instantiate):
7517         Add DS_CONTROL so keyboard traversal will work.
7518
7519         * glyphs-widget.c:
7520         * glyphs-widget.c (syms_of_glyphs_widget):
7521         Move some symbols to general-slots.h.
7522
7523         * glyphs-x.c:
7524         * glyphs-x.c (xbm_instantiate_1):
7525         * glyphs-x.c (x_xbm_instantiate):
7526         * glyphs-x.c (x_xface_instantiate):
7527         * glyphs-x.c (autodetect_instantiate):
7528         * glyphs-x.c (cursor_font_instantiate):
7529         * glyphs-x.c (x_update_widget):
7530         * glyphs-x.c (x_widget_instantiate):
7531         * glyphs.c (bitmap_to_lisp_data):
7532         * glyphs.c (pixmap_to_lisp_data):
7533         [7].
7534
7535         * glyphs.c (syms_of_glyphs):
7536         [2].
7537
7538         * gui-x.c:
7539         * gui-x.c (print_widget_value):
7540         * gui-x.c (menu_separator_style_and_to_external):
7541         * gui-x.c (add_accel_and_to_external):
7542         * gui-x.c (button_item_to_widget_value):
7543         * gui-x.c (gui_items_to_widget_values_1):
7544         * gui-x.c (gui_items_to_widget_values):
7545         * gui-x.c (syms_of_gui_x):
7546         * gui-x.c (vars_of_gui_x):
7547         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
7548         [9].
7549
7550         * gui-x.h:
7551         Muleize, prototype changes matching gui-x.c.
7552
7553         * gui.c:
7554         * gui.c (separator_string_p):
7555         * gui.c (gui_item_add_keyval_pair):
7556         * gui.c (make_gui_item_from_keywords_internal):
7557         * gui.c (signal_too_long_error):
7558         * gui.c (parse_gui_item_tree_item):
7559         * gui.c (syms_of_gui):
7560         * gui.c (vars_of_gui):
7561         * gui.h:
7562         menu-no-selection-hook moved here (used by MSWin).
7563         Move some symbols to general-slots.h.
7564         [6].
7565         [9].
7566
7567         * insdel.c (get_buffer_pos_char):
7568         * insdel.c (get_buffer_range_char):
7569         Add GC comments.
7570
7571         * keymap.c (keymap_lookup_directly):
7572         * keymap.c (keymap_store):
7573         * keymap.c (ensure_meta_prefix_char_keymapp):
7574         * keymap.c (describe_map):
7575         * keymap.h:
7576         Support new button modifiers.
7577
7578         * lisp-disunion.h (wrap_object):
7579         * lisp-disunion.h (XSETOBJ):
7580         Rename make_obj to wrap_object.
7581
7582         * lisp-union.h:
7583         * lisp-union.h (make_int):
7584         * lisp-union.h (make_char):
7585         Support wrap_object.
7586
7587         * lisp.h:
7588         * lisp.h (LIST_LOOP):
7589         * lisp.h (EXTERNAL_LIST_LOOP):
7590         * lisp.h (LIST_LOOP_2):
7591         * lisp.h (EXTERNAL_LIST_LOOP_1):
7592         * lisp.h (EXTERNAL_LIST_LOOP_2):
7593         * lisp.h (EXTERNAL_LIST_LOOP_3):
7594         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
7595         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
7596         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
7597         * lisp.h (EXTERNAL_ALIST_LOOP_5):
7598         * lisp.h (EXTERNAL_ALIST_LOOP_6):
7599         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
7600         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
7601         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
7602         * lisp.h (struct Lisp_Symbol):
7603         * lisp.h (maybe_continuable_error_with_frob):
7604         Fix up section comments.
7605         Add new types for char to indicate usage.
7606         Delete symbols auto-generated from general-slots.h.
7607         Add prototypes for structured error functions.
7608         Add long comments describing looping macros and change interface
7609         so that lvalues are automatically declared.
7610         Add NO_DECLARE macro in case callers want to declare lvalues
7611         themselves.
7612
7613         * lread.c (read_syntax_error):
7614         * lread.c (continuable_read_syntax_error):
7615         * lread.c (read_structure):
7616         * lread.c (sequence_reader):
7617         * lread.c (read_list_conser):
7618         * lread.c (read_compiled_function):
7619         Rename syntax_error and continuable_syntax_error to avoid clash
7620         with same-named structured error functions.
7621
7622         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7623         * menubar-msw.c (populate_menu_add_item):
7624         * menubar-msw.c (populate_or_checksum_helper):
7625         [5].
7626         [9].
7627
7628         * menubar-x.c:
7629         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
7630         Mule-ize whole file.
7631
7632         * menubar.c (Fnormalize_menu_item_name): Add optimization.
7633
7634         * mule-charset.c (Fmake_charset):
7635         * mule-wnnfns.c (Fwnn_set_param):
7636         [1].
7637
7638         * ntproc.c (create_child):
7639         * ntproc.c (Fwin32_set_current_locale):
7640         Add comments portending doom.
7641
7642         * objects-msw.c:
7643         * objects-msw.c (old_font_enum_callback_2):
7644         * objects-msw.c (font_enum_callback_1):
7645         * objects-msw.c (mswindows_enumerate_fonts):
7646         [5].
7647
7648         * objects-x.c:
7649         * objects-x.c (allocate_nearest_color):
7650         * objects-x.c (x_parse_nearest_color):
7651         * objects-x.c (x_initialize_color_instance):
7652         * objects-x.c (x_print_color_instance):
7653         * objects-x.c (x_finalize_color_instance):
7654         * objects-x.c (x_valid_color_name_p):
7655         * objects-x.c (x_initialize_font_instance):
7656         * objects-x.c (x_print_font_instance):
7657         * objects-x.c (valid_x_font_name_p):
7658         * objects-x.c (truename_via_FONT_prop):
7659         * objects-x.c (truename_via_random_props):
7660         * objects-x.c (truename_via_XListFonts):
7661         * objects-x.c (x_font_truename):
7662         * objects-x.c (x_font_instance_truename):
7663         * objects-x.c (x_font_instance_properties):
7664         * objects-x.c (x_list_fonts):
7665         * objects-x.c (x_find_charset_font):
7666         Mule-ize entire file.
7667         [7].
7668
7669         * objects-x.h:
7670         Mule-verify.
7671
7672         * print.c:
7673         * print.c (std_handle_out_external):
7674         * print.c (debug_print_no_newline):
7675         * print.c (syms_of_print):
7676         Output to all debugger kinds in debug-print.
7677         Fix console-output code under MSWin to actually work.
7678
7679         * process-nt.c (send_signal):
7680         * process-nt.c (nt_create_process):
7681         Use newer Unicode macros.
7682
7683         * process-unix.c (unix_create_process):
7684         * process-unix.c (unix_canonicalize_host_name):
7685         * process-unix.c (unix_open_network_stream):
7686         [7].
7687
7688         * scrollbar-x.c:
7689         Mule-verify.
7690
7691         * search.c (syms_of_search):
7692         [2].
7693
7694         * select-msw.c (mswindows_destroy_selection):
7695         Use LIST_LOOP_2.
7696
7697         * select-x.c (symbol_to_x_atom):
7698         [7].
7699
7700         * select.c (syms_of_select):
7701         [2].
7702
7703         * sound.c (Fplay_sound_file):
7704         [7].
7705
7706         * specifier.c:
7707         * specifier.c (decode_specifier_type):
7708         * specifier.c (Fvalid_specifier_locale_type_p):
7709         * specifier.c (check_valid_locale_or_locale_type):
7710         * specifier.c (decode_locale):
7711         * specifier.c (decode_locale_type):
7712         * specifier.c (decode_locale_list):
7713         * specifier.c (check_valid_domain):
7714         * specifier.c (decode_specifier_tag_set):
7715         * specifier.c (Fcanonicalize_tag_set):
7716         * specifier.c (Fdefine_specifier_tag):
7717         * specifier.c (Fspecifier_tag_predicate):
7718         * specifier.c (check_valid_inst_list):
7719         * specifier.c (check_valid_spec_list):
7720         * specifier.c (decode_how_to_add_specification):
7721         * specifier.c (check_modifiable_specifier):
7722         * specifier.c (specifier_add_spec):
7723         * specifier.c (boolean_validate):
7724         * specifier.c (display_table_validate):
7725         [9].
7726
7727         * specifier.c (syms_of_specifier):
7728         Move some symbols to general-slots.h.
7729         [2].
7730
7731         * symbols.c:
7732         * symbols.c (Fmapatoms):
7733         * symbols.c (Fapropos_internal):
7734         Add GCPROs.
7735
7736         * symbols.c (set_default_buffer_slot_variable):
7737         * symbols.c (set_default_console_slot_variable):
7738         [1].
7739
7740         * symbols.c (defsymbol_massage_name_1):
7741         * symbols.c (defkeyword_massage_name):
7742         * symbols.c (deferror_1):
7743         * symbols.c (deferror):
7744         * symbols.c (deferror_massage_name_and_message):
7745         * symeval.h:
7746         * symeval.h (DEFSYMBOL):
7747         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
7748
7749         * symbols.c (syms_of_symbols):
7750         [2].
7751
7752         * symsinit.h:
7753         * symsinit.h (init_win32): New.
7754         Also new is syms_of_dialog_mswindows.
7755
7756         * syswindows.h:
7757         Add new Unicode macros, missing Cygwin wide-char functions,
7758         convenience conversion macros for Qmswindows_tstr, macros for
7759         encapsulating required MSWin <-> Cygwin filename conversions,
7760         prototype for dynamically-extracted (not in NT 3.51) functions.
7761
7762         * toolbar-x.c:
7763         Mule-verify.
7764
7765         * tooltalk.c (Fadd_tooltalk_message_arg):
7766         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
7767         * tooltalk.c (Fadd_tooltalk_pattern_arg):
7768         [7].
7769
7770         * tooltalk.c (syms_of_tooltalk):
7771         [2].
7772
7773         * unexnt.c:
7774         * unexnt.c (unexec):
7775         Fix up headers, declaration of unexec() to be more standard.
7776
7777 2000-07-20  Martin Buchholz  <martin@xemacs.org>
7778
7779         * offix.h: Revert change to guard macros - they're used in offix.c!
7780
7781 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7782
7783         * lisp.h: Defsubred Fdelete.
7784
7785         * console-msw.h:  (msprinter_default_printer): Added.
7786
7787         * console-msw.c (msprinter_canonicalize_console_connection):
7788         (msprinter_canonicalize_device_connection): Added.
7789
7790         * device-msw.c (msprinter_default_printer):
7791         (Fmswingows_get_default_printer):
7792         (signal_enum_priner_error):
7793         (Fmswingows_printer_list): Added.
7794
7795 2000-07-19  Martin Buchholz <martin@xemacs.org>
7796
7797         * XEmacs 21.2.35 is released.
7798
7799 2000-07-19  Martin Buchholz  <martin@xemacs.org>
7800
7801         * select-x.c (x_handle_selection_request):
7802         Text selected in xemacs and pasted into xterm failed to appear.
7803         Spelling fixes and cosmetic changes.
7804
7805 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7806
7807         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
7808         XEmacs frame (fix for doubling chars in dialog boxes).
7809
7810 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7811
7812         * select.c (select_convert_in, select_convert_out):
7813         Don't call intern() every time.
7814
7815         * select.c (Qselect_convert_in, Qselect_convert_out): New.
7816         * select.c (vars_of_select): Initialise them.
7817
7818 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7819
7820         * select.c (selection-coercible-types): New.
7821
7822         * select.c (own-selection-internal):
7823         * select.c (get-selection-internal):
7824         MULE bug fix - these should default to COMPOUND_TEXT and not
7825         STRING for MULE. I think.
7826
7827         * select.c (select_convert_out): Use selection-coercible-types
7828         to find types that we can attempt to perform coercions on.
7829
7830 2000-07-18  Martin Buchholz  <martin@xemacs.org>
7831
7832         * mule-wnnfns.c:
7833         * mule-canna.c:
7834         Add coding: cookie to identify encoding.
7835
7836         * mule-canna.c (CANNA_mode_keys): make static.
7837         Use proper prototypes, even for functions of no arguments.
7838         Remove external prototype for Fding().
7839
7840         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
7841
7842         * select.c (syms_of_select): Add missing DEFSUBR.
7843
7844 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7845
7846         * select.c (get_selection_internal, own_selection_internal):
7847         Make the type default to STRING, rather than placing a nil type
7848         into Vselection_alist.
7849
7850 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7851
7852         * gpmevent.c (tty_selection_exists_p):
7853         * gpmevent.c (tty_own_selection):
7854         Updated parameter lists.
7855
7856 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
7857
7858         * select.h (selection-alist): Removed declaration.
7859
7860         * select.h (get_local_selection):
7861         * select.c (get_local_selection):
7862         Made static.
7863
7864         * select.h (convert_selection): Removed declaration.
7865         * select.c (convert_selection): Removed.
7866         This function belongs in Lisp.
7867
7868         * select.h (select_convert_in): Declare.
7869         * select.h (select_convert_out): Declare.
7870         * select.c (select_convert_in): New.
7871         * select.c (select_convert_out): New.
7872         New conversion functions for other files to call.
7873
7874         * select.h (select_notify_buffer_kill): Declare.
7875         * select.c (select_notify_buffer_kill): New.
7876         New functions that get called from kill-buffer.
7877
7878         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
7879         X-specific lisp code.
7880
7881         * select.h: Declare some of the lisp-visible functions for
7882         external use.
7883
7884         * select.c (clean_local_selection_data): Removed. This was
7885         a disgusting function, and previously should have been in
7886         select-x.c in any case. The functionality is now provided
7887         in select-convert-from-integer (select.el).
7888
7889         * select.c (available-selection-types): Fixed stupidity where
7890         INTEGER and ATOM got added twice. Also add STRING when we see an
7891         extent.
7892
7893         * select.c (get-selection-internal): Removed symbol stripping. No
7894         longer causes conversion when data comes from the internal cache.
7895
7896         * select.c (syms_of_select): Added new functions.
7897
7898         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
7899         error checking - previously this called abort!
7900
7901         * select-x.c (x_own_selection): Changed comment.
7902
7903         * select-x.c (x_handle_selection_request): Use select_convert_out.
7904         Don't mess with selection-alist; it's an internal variable of select.c.
7905
7906         * select-x.c (x_get_foreign_selection): Use select_convert_in.
7907
7908         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
7909         rather than messing with selection-alist.
7910
7911         * select-msw.c (mswindows_get_foreign_selection):
7912         Use TO_INTERNAL_FORMAT rather than hacking.
7913
7914 2000-07-14  Martin Buchholz  <martin@xemacs.org>
7915
7916         * process-unix.c (unix_open_multicast_group):
7917         (unix_open_multicast_group): Remove useless casts.
7918
7919 2000-07-13  Martin Buchholz  <martin@xemacs.org>
7920
7921         * sound.c (Fplay_sound): Fix `unused variable' warning.
7922
7923         * emacs.c (main): Use correct type for _environ on SCO5.
7924
7925 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
7926
7927         * console.h (own_selection_method):
7928         * console.h (selection_exists_p_method):
7929         * console.h (available_selection_types_method): New.
7930         * console.h (register_selection_data_type_method): New.
7931         * console.h (selection_data_type_name): New.
7932
7933         * console-msw.h (mswindows_destroy_selection): Declare it.  New
7934         function & alist to track GlobalAlloc()'d handles that need
7935         releasing when the clipboard data gets replaced or emptied.
7936
7937         * event-msw.c (mswindows_wnd_proc): Call it.
7938
7939         * lisp.h, general.c (Qappend): New symbol representing a
7940         `how-to-add' mode.
7941
7942         * select.c (own-selection-internal):
7943         * select.c (selection-exists-p):
7944         * select.c (available-selection-types): New.
7945         * select.c (register-selection-data-type): New.
7946         * select.c (selection-data-type-name): New.  New functions to deal
7947         with device-specific selection data formats.
7948         * select.c (selection-converter-out-alist): Renamed.
7949         * select.c (selection-converter-in-alist): New.
7950         * select.c (selection-appender-alist): New.  Added new alists.
7951         * select.c (syms_of_select, vars_of_select): Added new symbols &
7952         variables.
7953         * select.c (get_local_selection): Split.
7954         * select.c: Removed spurious type checking - selections may now be
7955         of any type, not just strings.
7956         * select.c (own-selection-internal):
7957
7958         * select.h, select.c (convert_selection): New. Created
7959         convert_selection() function based on get_local_selection().
7960         * select.h, select.c (QCF_*): New symbols representing mswindows
7961         clipboard formats.
7962         * select.h, select.c (Qreplace_all, Qreplace_existing): New
7963         symbols representing `how-to-add' modes.
7964
7965         * select-msw.c (x_sym_p): New.
7966         * select-msw.c (symbol_to_ms_cf): New.
7967         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
7968         symbols & clipboard formats. Can also handle string names.
7969         * select-msw.c (mswindows_own_selection):
7970         * select-msw.c (mswindows_selection_exists_p):
7971         Added `data-type' parameter. Use it.
7972         * select-msw.c (mswindows_available_selection_types): New.
7973         * select-msw.c (mswindows_register_selection_data_type): New.
7974         * select-msw.c (mswindows_selection_data_type_name): New.
7975         * select-msw.c (mswindows_own_selection):
7976         * select-msw.c (mswindows_get_foreign_selection):
7977         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
7978         * select-msw.c (console_create_select_mswindows): Added new methods.
7979         * select-msw.c (mswindows_destroy_selection): New.
7980         * select-msw.c (Vhandle_alist): New list.
7981         * select-msw.c (mswindows_own_selection):
7982
7983         * select-x.c (x_own_selection):
7984         * select-x.c (x_selection_exists_p):
7985         * select-x.c: Added some comments about maybe using new
7986         functionality.
7987         * select-x.c (x_own_selection):
7988
7989         * specifier.c: Remove definition of Qappend (now in general.c)
7990         * specifier.c (syms_of_specifier): Remove Qappend.
7991
7992 2000-07-12  Martin Buchholz  <martin@xemacs.org>
7993
7994         * config.h.in: Add socklen_t.
7995
7996         * s/decosf4-0.h: No special compiler flags needed or desired.
7997         In particular, undefine _BSD for DEC OSF 4.0.
7998
7999 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8000
8001         * redisplay-msw.c (msprinter_frame_output_end): Added.
8002         (console_type_create_redisplay_mswindows): Referred the above.
8003
8004         * frame.c (setup_frame_without_minibuffer): Do not create a
8005         default minibuffer frame on a printer device.
8006
8007         * frame-msw.c (apply_dc_geometry): Added.
8008         (msprinter_start_page):
8009         (msprinter_init_frame_3):
8010         (msprinter_eject_page): Use it.
8011
8012         * console-msw.h (struct msprinter_frame): Added pix_left and top,
8013         and removed residual duplex and orientation properties.
8014
8015 2000-07-11  Martin Buchholz  <martin@xemacs.org>
8016
8017         * eval.c (function_argcount): Work around a DEC CC compiler bug.
8018
8019         * unexalpha.c: Remove system prototypes from C sources!
8020
8021 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
8022
8023         * eval.c: Remove references to M-x edit-options in DEFUNs for
8024         `defvar' and `defconst'.
8025
8026 2000-07-09  Martin Buchholz  <martin@xemacs.org>
8027
8028         * config.h.in: Remove SMART_INCLUDE hackery.
8029
8030         PostgreSQL hacking:
8031         * config.h.in: Don't use SMART_INCLUDE.
8032
8033         * postgresql.h: Include libpq-fe.h here.  Fix typo.
8034         * inline.c: Simply #include "postgresql.h"
8035         * postgresql.c:
8036         - Don't use SMART_INCLUDE
8037         - Use simply "const".
8038         - Use standard doc string conventions.
8039         - Use correct type for result of PQstatus.
8040
8041 2000-07-09  Martin Buchholz  <martin@xemacs.org>
8042
8043         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
8044
8045         C++ compilation changes.
8046         * config.h.in (EXTERN_C): Define.
8047         * config.h.in (not): This is also a C++ keyword.
8048         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
8049         * cm.c: Use EXTERN_C.
8050         * redisplay-tty.c: Use EXTERN_C.
8051         * sysdep.c: Use EXTERN_C.  Remove Gould support.
8052
8053 2000-07-09  Martin Buchholz  <martin@xemacs.org>
8054
8055         * general.c: Remove duplicate definition for Qfunction.
8056
8057 2000-07-08  Ben Wing  <ben@xemacs.org>
8058
8059         * device-msw.c (msprinter_init_device):
8060         * device-msw.c (sync_printer_with_devmode):
8061         * device-msw.c (handle_devmode_changes):
8062         * device-msw.c (print_dialog_worker):
8063         * device-msw.c (Fmsprinter_apply_settings):
8064         * device-msw.c (hash_devmode):
8065         * device-msw.c (Fmsprinter_settings_despecialize):
8066         use Qmswindows_tstr, not Qctext.
8067
8068         * vm-limit.c (check_memory_limits):
8069         avoid infinite loop printing warning messages.
8070
8071 2000-07-05  Craig Lanning  <lanning@scra.org>
8072
8073         * Makefile.in.in: Add support for including the Windows resources
8074         when building with the cygwin and mingw targets.
8075
8076         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
8077         not set or not correct.
8078         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
8079         (init_initial_directory): Don't try to use $PWD on the
8080         WIN32_NATIVE target.
8081
8082         * s\cygwin32.h:
8083         [[Add -mwindows to eliminate console window.]] not required --ben
8084         (HAVE_NATIVE_SOUND): removed; now handled by configure.
8085         (MAIL_USE_POP): removed; now handled by configure.
8086
8087         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
8088         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
8089         (HAVE_NATIVE_SOUND): removed; now handled by configure.
8090         (MAIL_USE_POP): removed; now handled by configure.
8091         (ENCAPSULATE_STAT): from Dan Holmsand, added.
8092         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
8093         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
8094         constant string.
8095         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
8096         up from <winsock.h> via systime.h.
8097         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
8098         (getpagesize): from Dan Holmsand, added.
8099         Added #endif which was left dangling by Ben's mega patch; added
8100         comment to help prevent this in the future.
8101
8102         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
8103
8104 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8105
8106         * console-msw.h (struct mswindows_device): Removed unnecessary
8107         cached device geometry values.
8108         Added update_tick and an accessor macro.
8109         (Lisp_Devmode): Added lrecord declaration.
8110         (struct msprinter_device): Contain devmode as a Lisp object.
8111         Added mswindows_get_selected_frame_hwnd();
8112
8113         * console.h (struct console_methods): Indentation nitpicking.
8114
8115         * device-msw.c (mswindows_init_device): Do not initialize geometry
8116         cache. Initialize update tick.
8117         (mswindows_device_system_metrics): Ask the device for its geometry.
8118         (global_free_2_maybe):
8119         (devmode_to_hglobal):
8120         (handle_printer_changes):
8121         (ensure_not_printing):
8122         (print_dialog_worker):
8123         (Fmsprinter_print_setup_dialog):
8124         (Fmsprinter_print_dialog):
8125         (plist_get_margin):
8126         (plist_set_margin):
8127         (Fmsprinter_page_setup_dialog): Added functions.
8128         (sync_printer_with_devmode):
8129         (handle_devmode_changes):
8130         (Fmsprinter_get_settings):
8131         (Fmsprinter_select_settings):
8132         (Fmsprinter_apply_settings):
8133         (allocate_devmode):
8134         (Fmsprinter_settings_copy):
8135         (Fmsprinter_settings_despecialize):
8136         (print_devmode):
8137         (finalize_devmode):
8138         (equal_devmode):
8139         (hash_devmode): Added functions
8140         (syms_of_device_mswindows): Init devmode lrecord class.
8141
8142         * device.h: Added an exfun for find-device.
8143
8144         * event-msw.c (mswindows_wnd_proc): Do not update the cached
8145         geometry; although, recreate the device compatible DC.
8146
8147         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
8148         (msprinter_init_frame_3):
8149         (msprinter_frame_property):
8150         (msprinter_internal_frame_property_p):
8151         (msprinter_frame_properties):
8152         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
8153         print job properties (will move to device settings).
8154
8155         * lisp.h: Added symbols.
8156
8157         * general.c (syms_of_general): Declared them.
8158
8159         * hash.c (string_hash): Added.
8160
8161         * lrecord.h (lrecord_type): Added devmode lrecord type.
8162
8163 2000-07-02  Mike Sperber <mike@xemacs.org>
8164
8165         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
8166         FreeBSD 4.0.
8167
8168 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
8169
8170         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
8171         integer.
8172
8173 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
8174
8175         * data.c (Fstring_to_number): Don't recognize floating point if
8176         base is not 10.
8177
8178 2000-06-22  Martin Buchholz  <martin@xemacs.org>
8179
8180         * glyphs-widget.c (tab_control_query_geometry):
8181         (widget_query_geometry):
8182         (button_query_geometry):
8183         * glyphs.c (text_query_geometry):
8184         Enforce type correctness.
8185
8186 2000-06-18  Martin Buchholz  <martin@xemacs.org>
8187
8188         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
8189         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
8190
8191 2000-06-17  Martin Buchholz  <martin@xemacs.org>
8192
8193         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
8194         conflicts with gcc's fixincluded version of FOO.h.
8195
8196         * glyphs.h (image_instance_geometry): Remove trailing `,'
8197
8198 2000-06-08  Mike Alexander  <mta@arbortext.com>
8199
8200         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
8201         (shove_thread): Don't write the same output twice
8202         (make_ntpipe_output_stream): Increase priority of shove thread
8203         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
8204         chance to run
8205         (ntpipe_shove_closer): Don't delete the pipe until we're done with
8206         it.
8207
8208 2000-06-12  Ben Wing  <ben@xemacs.org>
8209
8210         * s\mingw32.h (sigset):
8211         * s\windowsnt.h (sigset):
8212         rename msw_ to mswindows_ for consistency with general convention.
8213
8214 2000-06-12  Ben Wing  <ben@xemacs.org>
8215
8216         * console-msw.c:
8217         * console-msw.c (mswindows_get_console_hwnd):
8218         * console-msw.c (mswindows_ensure_console_allocated):
8219         * console-msw.c (mswindows_hide_console):
8220         * console-msw.c (mswindows_show_console):
8221         * console-msw.c (mswindows_ensure_console_buffered):
8222         * console-msw.c (mswindows_output_console_string):
8223         * console-msw.c (mswindows_windows9x_p):
8224         * console-msw.h:
8225         * device-msw.c (mswindows_get_workspace_coords):
8226         * device-msw.c (mswindows_device_system_metrics):
8227         * dialog-msw.c (mswindows_popup_dialog_box):
8228         * event-msw.c (mswindows_wnd_proc):
8229         * frame-msw.c (mswindows_size_frame_internal):
8230         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8231         * menubar-msw.c (displayable_menu_item):
8232         * menubar-msw.c (mswindows_char_is_accelerator):
8233         * nt.c:
8234         * nt.c (mswindows_sigset):
8235         * nt.c (mswindows_sigrelse):
8236         * nt.c (mswindows_sigpause):
8237         * nt.c (mswindows_raise):
8238         * nt.c (timer_proc):
8239         * ntproc.c:
8240         * ntproc.c (find_child_console):
8241         * ntproc.c (sys_kill):
8242         * print.c:
8243         * print.c (std_handle_out_external):
8244         * process-nt.c (find_child_console):
8245         * process-nt.c (send_signal_the_95_way):
8246         * process-nt.c (ensure_console_window_exists):
8247         * process-nt.c (nt_create_process):
8248         * syssignal.h:
8249         rename msw_ to mswindows_ for consistency with general convention.
8250
8251         * emacs.c:
8252         * dumper.c:
8253         include nt.h, not syswindows.h.
8254
8255         * nt.c (mswindows_fstat):
8256         * nt.c (mswindows_stat):
8257         prefix mswindows_ instead of attempting to directly override the
8258         library functions.  fix declarations.
8259
8260         * nt.h:
8261         include syswindows.h.  move some sysdep.h stuff here.
8262
8263         * ntheap.h:
8264         include syswindows.h, not <windows.h>.
8265
8266         * ntplay.c:
8267         clean up headers.
8268
8269         * sysdep.c:
8270         clean up headers.
8271
8272         * sysdep.c (sys_fstat):
8273         * sysdep.c (sys_stat):
8274         call mswindows versions when appropriate.
8275
8276         * sysdep.h:
8277         move mswin decls to nt.h.
8278
8279         * syswindows.h:
8280         add long comment describing appropriate use of the various windows
8281         headers.
8282
8283 2000-06-11  Ben Wing  <ben@xemacs.org>
8284
8285         * device-x.c: Correct doc string for sixth arg of x-get-resource.
8286
8287 2000-06-10  Ben Wing  <ben@xemacs.org>
8288
8289         * Makefile.in.in (release):
8290         Correction to make sure xemacs.exe always dumped when correct.
8291
8292         * alloca.c:
8293         * balloon_help.c:
8294         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
8295
8296         * buffer.c (set_buffer_internal):
8297         [[[[2]]]]: Remove HAVE_FEP code.
8298
8299         * buffer.c (init_initial_directory):
8300         [3].
8301
8302         * bytecode.c:
8303         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
8304         individual files.
8305
8306         * callproc.c:
8307         * callproc.c (call_process_cleanup):
8308         * callproc.c (Fold_call_process_internal):
8309         * callproc.c (child_setup):
8310         * callproc.c (getenv_internal):
8311         * callproc.c (init_callproc):
8312         * callproc.c (vars_of_callproc):
8313         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
8314         __CYGWIN32__ -> CYGWIN.
8315         DOS_NT -> WIN32_NATIVE.
8316         Remove MSDOS support/references, converting to WIN32_NATIVE
8317           where correct.
8318         __MINGW32__ -> MINGW.
8319         Fix windows.h includes.
8320         Remove bogus HAVE_NTGUI.
8321
8322         * config.h.in:
8323         [2].
8324
8325         * console-msw.c:
8326         mswindows_message_outputted added for use in allowing startup
8327         errors on the console to be seen.
8328
8329         * console-msw.c (msw_ensure_console_allocated):
8330         * console-msw.c (msw_output_console_string):
8331         * console-msw.c (DHEADER):
8332         * console-msw.c (DOPAQUE_DATA):
8333         * console-msw.c (DEVENT):
8334         * console-msw.c (DCONS):
8335         * console-msw.c (DCONSCDR):
8336         * console-msw.c (DSTRING):
8337         * console-msw.c (DVECTOR):
8338         * console-msw.c (DSYMBOL):
8339         * console-msw.c (DSYMNAME):
8340         Fix warnings.
8341
8342         * console-stream.c (stream_init_console):
8343         Fix text/binary problems.
8344
8345         * device-msw.c:
8346         * device-msw.c (mswindows_finish_init_device):
8347         * device-msw.c (mswindows_delete_device):
8348         [1].
8349
8350         * device.c (handle_asynch_device_change):
8351         [3].
8352
8353         * dgif_lib.c:
8354         * dgif_lib.c (DGifOpenFileName):
8355         * dgif_lib.c (DGifOpenFileHandle):
8356         * dgif_lib.c (DGifGetLine):
8357         * dgif_lib.c (DGifGetPixel):
8358         Added config.h/lisp.h, fix up includes.
8359         [1].
8360
8361         * dired-msw.c:
8362         [4].
8363
8364         * dired.c:
8365         * dired.c (file_name_completion):
8366         * dired.c (Ffile_attributes):
8367         * dired.c (syms_of_dired):
8368         [1].
8369
8370         * dumper.c:
8371         * dumper.c (pdump_file_unmap):
8372         * dumper.c (pdump_load):
8373         [1].
8374
8375         * editfns.c:
8376         * editfns.c (Ftemp_directory):
8377         * editfns.c (user_login_name):
8378         * editfns.c (Fuser_real_login_name):
8379         * editfns.c (get_home_directory):
8380         [1].
8381
8382         * elhash.c (finish_marking_weak_hash_tables):
8383         [[[[5]]]]: Fix GCC warnings.
8384
8385         * emacs.c:
8386         * emacs.c (mswindows_handle_hardware_exceptions):
8387         * emacs.c (make_arg_list_1):
8388         * emacs.c (main_1):
8389         * emacs.c (Fkill_emacs):
8390         * emacs.c (Fdump_emacs):
8391         [1].
8392         Fix problems with nested crashes, add long comment.
8393
8394         * event-Xt.c (init_event_Xt_late):
8395         [1].
8396
8397         * event-msw.c:
8398         * event-msw.c (mswindows_dde_callback):
8399         * event-msw.c (mswindows_handle_sticky_modifiers):
8400         * event-msw.c (mswindows_wnd_proc):
8401         [1].
8402         [5].
8403
8404         * events.c (character_to_event):
8405         [1].
8406
8407         * fileio.c:
8408         * fileio.c (Ffile_name_directory):
8409         * fileio.c (Ffile_name_nondirectory):
8410         * fileio.c (directory_file_name):
8411         * fileio.c (Fexpand_file_name):
8412         * fileio.c (Fsubstitute_in_file_name):
8413         * fileio.c (Ffile_name_absolute_p):
8414         * fileio.c (check_executable):
8415         * fileio.c (Ffile_readable_p):
8416         * fileio.c (Ffile_accessible_directory_p):
8417         * fileio.c (Ffile_modes):
8418         * fileio.c (Funix_sync):
8419         * fileio.c (vars_of_fileio):
8420         [1]. [4].
8421
8422         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
8423
8424         Expand getdefdir defn.
8425         Fix bogus rename() comment.
8426
8427         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
8428         to use standard XEmacs include files, e.g. sysfile.h, rather
8429         than system-specific includes.
8430
8431         * fns.c:
8432         * fns.c (Fsubseq):
8433         [5]. [6].
8434
8435         * frame.c (vars_of_frame):
8436         [1].
8437
8438         * getloadavg.c:
8439         * getloadavg.c (getloadavg):
8440         [1]. [6].
8441         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
8442         (We don't use it elsewhere in the code; just add a comment.)
8443
8444         * gif_io.c:
8445         [6].
8446         Add config.h.
8447
8448         * glyphs-msw.c:
8449         * glyphs-msw.c (mswindows_resource_instantiate):
8450         [1].
8451
8452         * glyphs-x.c (x_native_layout_instantiate):
8453         [5].
8454
8455         * gui-msw.c (Fmswindows_shell_execute):
8456         [1].
8457
8458         * insdel.c:
8459         [4].
8460
8461         * lisp.h:
8462         [4]. [5].
8463
8464         * lread.c (locate_file_in_directory_mapper):
8465         [1].
8466
8467         * lstream.c:
8468         [4].
8469
8470         * mem-limits.h:
8471         * mem-limits.h (get_lim_data):
8472         [1].
8473
8474         * menubar-msw.c:
8475         [4].
8476
8477         * ndir.h:
8478         [1].
8479
8480         * nt.c:
8481         * nt.c (getwd):
8482         * nt.c (closedir):
8483         * nt.c (rva_to_section):
8484         * nt.c (mswindows_executable_type):
8485         [1]. [6].
8486         Fix closedir() defn.
8487
8488         * nt.h:
8489         [[[[8]]]]: *_OK defs moved to sysfile.h.
8490
8491         * ntproc.c:
8492         [6]. [7].
8493
8494         * objects-x.c:
8495         [4].
8496
8497         * print.c:
8498         * print.c (std_handle_out_external):
8499         [1]. [4].
8500
8501         * process-nt.c:
8502         * process-nt.c (nt_create_process):
8503         [6].
8504         try to fix process quoting somewhat.
8505
8506         * process-unix.c (unix_create_process):
8507         [1].
8508
8509         * process.c:
8510         * process.c (vars_of_process):
8511         Add Vnull_device.
8512
8513         * process.h:
8514         [1].
8515
8516         * realpath.c:
8517         * realpath.c (xrealpath):
8518         [1].
8519
8520         * redisplay-tty.c (init_tty_for_redisplay):
8521         [3].
8522
8523         * redisplay.c:
8524         [4]. [6].
8525
8526         * scrollbar-msw.c:
8527         [4].
8528
8529         * sheap.c:
8530         * sheap.c (more_static_core):
8531         * sheap.c (report_sheap_usage):
8532         [5]. [6].
8533
8534         * signal.c:
8535         * signal.c (alarm_signal):
8536         [1]. [6].
8537
8538         * sound.c:
8539         [6].
8540
8541         * strftime.c:
8542         * strftime.c (zone_name):
8543         [1]. [5].
8544
8545         * symsinit.h (init_sunpro):
8546         [1].
8547
8548         * syscommctrl.h:
8549         commctrl.h not in Cygwin b20.1.
8550
8551         * sysdep.c:
8552         * sysdep.c (endif):
8553         * sysdep.c (sys_subshell):
8554         * sysdep.c (init_baud_rate):
8555         * sysdep.c (emacs_get_tty):
8556         * sysdep.c (emacs_set_tty):
8557         * sysdep.c (tty_init_sys_modes_on_device):
8558         * sysdep.c (init_system_name):
8559         * sysdep.c (sys_open):
8560         * sysdep.c (interruptible_open):
8561         * sysdep.c (sys_fopen):
8562         * sysdep.c (sys_mkdir):
8563         * sysdep.c (sys_rename):
8564         * sysdep.c (get_process_times_1):
8565         [1]. [6].
8566
8567         * sysdep.h:
8568         [1].
8569
8570         * sysdir.h:
8571         * sysdir.h (DIRENTRY_NONEMPTY):
8572         [1]. [6].
8573
8574         * sysdll.c (dll_init):
8575         * sysdll.h:
8576         [1].
8577
8578         * sysfile.h:
8579         [1]. [6]. [8].
8580         added text/binary defs.
8581
8582         * sysfloat.h:
8583         [1].
8584
8585         * sysproc.h:
8586         * sysproc.h (EDESTADDRREQ):
8587         * sysproc.h (poll_fds_for_input):
8588         [1]. [6].
8589
8590         * syspwd.h:
8591         [6].
8592
8593         * syssignal.h:
8594         [1].
8595
8596         * systime.h:
8597         [1]. [6].
8598
8599         * systty.h:
8600         [1].
8601
8602         * syswindows.h:
8603         [1].
8604         Always define WIN32_LEAN_AND_MEAN.
8605
8606         * unexcw.c (unexec):
8607         [5].
8608
8609         * unexec.c:
8610         * unexec.c (copy_text_and_data):
8611         * unexec.c (adjust_lnnoptrs):
8612         [1].
8613
8614         * unexnt.c:
8615         * unexnt.c (_start):
8616         [1].
8617
8618 2000-06-07  Ben Wing  <ben@xemacs.org>
8619
8620         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
8621         was used only as a model.  We've long since extracted any useful
8622         logic or code out of this. (I just did an exhaustive search.)
8623
8624         * s\msdos.h: Removed.
8625
8626         * s\windows95.h: Removed.
8627
8628 2000-06-10  Ben Wing  <ben@xemacs.org>
8629
8630         * s\cygwin32.h:
8631         [1]. [5].
8632         Don't use extern with fun defs.
8633
8634         * s\mingw32.h:
8635         [1]. [7].
8636         Remove nt\inc include.
8637         Remove getdisk, getdefdir. (The former is unused, the latter
8638         expanded in fileio.h.)
8639
8640         * s\windowsnt.h:
8641         * s\windowsnt.h (WIN32_NATIVE):
8642         * s\windowsnt.h (HAVE_STRCASECMP):
8643         [1]. [7].
8644         Add long comment about preprocessor changes.
8645         Remove getdisk, getdefdir. (The former is unused, the latter
8646         expanded in fileio.h.)
8647
8648 2000-06-10  Ben Wing  <ben@xemacs.org>
8649
8650         * m\arm.h:
8651         * m\delta.h:
8652         * m\intel386.h:
8653         * m\sequent.h:
8654         * m\template.h:
8655         * m\windowsnt.h:
8656         [1].
8657         Remove bogus/unused NO_SOCK_SIGIO.
8658
8659 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
8660
8661         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
8662         not an Emchar.
8663
8664 2000-06-04  Mike Sperber <mike@xemacs.org>
8665
8666         * casetab.c (set_case_table): For `set-standard-case-table',
8667         actually deposit the new case tables where the rest of XEmacs can
8668         see them.
8669
8670 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
8671
8672         * data.c (Faset): Don't cast XCHAR() to unsigned char.
8673
8674 2000-06-05  Ben Wing  <ben@xemacs.org>
8675
8676         * callproc.c (child_setup): Don't do close_load_descs() under
8677         MS Windows.  Put in a comment explaining why.
8678
8679 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
8680
8681         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
8682         Toolkit shell" which breaks `kill-compilation' on Windows NT
8683         native, retaining STDERR handling improvements.
8684
8685 2000-06-01  Andreas Jaeger  <aj@suse.de>
8686
8687         * s/s390.h: Support for S390, based on a patch by Martin
8688         Schwidefsky <schwidefsky@de.ibm.com>.
8689
8690 2000-05-30  Andy Piper  <andy@xemacs.org>
8691
8692         * window.c (allocate_window):
8693         (make_dummy_parent):
8694         (Fset_window_configuration): use new hashtable type.
8695
8696         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
8697         (struct image_instantiator_methods):
8698         (struct Lisp_Image_Instance): make instance geometry signed.
8699
8700         * glyphs.c (instantiate_image_instantiator):
8701         (image_instance_query_geometry):
8702         (image_instance_layout):
8703         (image_instance_layout):
8704         (query_string_geometry):
8705         (text_query_geometry):
8706         (image_instantiate):
8707         (image_instantiate):
8708         (cache_subwindow_instance_in_frame_maybe):
8709         (subwindow_query_geometry): make instance geometry signed.
8710
8711         * glyphs-widget.c (widget_query_geometry):
8712         (widget_layout):
8713         (button_query_geometry):
8714         (tree_view_query_geometry):
8715         (tab_control_query_geometry):
8716         (layout_query_geometry):
8717         (layout_layout):
8718         (native_layout_layout): make instance geometry signed.
8719
8720 2000-05-29  Olivier Galibert  <galibert@pobox.com>
8721
8722         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
8723         constant.
8724
8725         * general.c (syms_of_general): Add Qfull_assoc symbol.
8726
8727         * data.c (finish_marking_weak_lists): Mark full-assoc lists
8728         correctly.
8729         (decode_weak_list_type): Decode full-assoc type.
8730         (encode_weak_list_type): Encode full-assoc type.
8731         (Fmake_weak_list): Update doc string.
8732
8733 2000-05-30  Andy Piper  <andy@xemacs.org>
8734
8735         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
8736
8737         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
8738         (decode_hash_table_weakness): ditto.
8739         (Fhash_table_weakness): ditto.
8740         (Fhash_table_type): ditto.
8741         (finish_marking_weak_hash_tables): ditto.
8742         (hash_table_weakness_validate): ditto.
8743         (syms_of_elhash): ditto.
8744
8745 2000-05-28  Martin Buchholz <martin@xemacs.org>
8746
8747         * XEmacs 21.2.34 is released.
8748
8749 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8750
8751         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
8752         start cache.
8753         (updating_line_start_cache): Gone.
8754         (regenerate_window): Replace resetting of VERTICAL_CLIP by
8755         generic code to force a minimum of 1 line laid out in the
8756         CMOTION_DISP case.
8757
8758 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8759
8760         * glyphs.c (instantiate_image_instantiator): Check for initialized
8761         height & width no longer special cases IMAGE_NOTHING.
8762         (nothing_instantiate): Set height and width of instance.
8763
8764 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8765
8766         * unexelf.c (unexec): Search for ".data" section.
8767         Initialize new_data2_offset from old_data_index.
8768         Remove redundant check for ElfW.
8769
8770 2000-05-23  Andy Piper  <andy@xemacs.org>
8771
8772         * glyphs.c (get_image_instantiator_governing_domain): allow more
8773         specific domains as the governing domain rather than expecting an
8774         exact match. This fixes problems with layouts.
8775
8776 2000-05-22  Andy Piper  <andy@xemacs.org>
8777
8778         * redisplay-output.c (compare_runes): check for non-images
8779
8780         * glyphs.c (set_glyph_dirty_p): ditto.
8781         (update_glyph_cachel_data): ditto.
8782
8783         * glyphs-widget.c (layout_post_instantiate): ditto.
8784         (layout_post_instantiate): ditto.
8785
8786         * event-msw.c (mswindows_wnd_proc): warning removal.
8787
8788 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
8789
8790         * s\mingw32.h: Added #undef for CLASH_DETECTION.
8791
8792         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
8793
8794         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
8795
8796         * nt.c (rva_to_section): mingw32 needs rva_to_section.
8797         (mswindows_executable_type): mingw32 now has enough headers for
8798         this to work.
8799
8800 2000-05-20  Andy Piper  <andy@xemacs.org>
8801
8802         * console-msw.c (mswindows_output_last_error): ; -> ,
8803
8804 2000-05-12  Andy Piper  <andy@xemacs.org>
8805
8806         * console-msw.c (FROB): compare ints with ints.
8807
8808 2000-05-11  Andy Piper  <andy@xemacs.org>
8809
8810         * glyphs-x.c (x_finalize_image_instance): make minimal build
8811         happy.
8812
8813 2000-05-20  Ben Wing  <ben@xemacs.org>
8814
8815         * event-Xt.c:
8816         * event-Xt.c (vars_of_event_Xt):
8817         move modifier-keys-are-sticky to event-stream.c.
8818
8819         * event-msw.c:
8820         * event-msw.c (mswindows_enqueue_mouse_button_event):
8821         * event-msw.c (key_needs_default_processing_p):
8822         * event-msw.c (XEMSW_LCONTROL):
8823         * event-msw.c (mswindows_handle_sticky_modifiers):
8824         * event-msw.c (FROB):
8825         * event-msw.c (clear_sticky_modifiers):
8826         * event-msw.c (output_modifier_keyboard_state):
8827         * event-msw.c (output_alt_keyboard_state):
8828         * event-msw.c (mswindows_wnd_proc):
8829         * event-msw.c (mswindows_modifier_state):
8830         * event-msw.c (emacs_mswindows_handle_magic_event):
8831         implement sticky modifiers.
8832
8833         * event-stream.c:
8834         * event-stream.c (vars_of_event_stream):
8835         move modifier-keys-are-sticky here.
8836
8837         * lisp.h:
8838         add CHECK_FUNCTION.
8839
8840         * rangetab.c:
8841         implement map-range-table.
8842
8843
8844 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
8845
8846         * redisplay-tty.c (reset_tty_modes):
8847         (tty_redisplay_shutdown): Adjust argument type to
8848         tty_frame_output_end.
8849
8850 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8851
8852         * eval.c (Fbacktrace): Don't output a line with only right
8853         parenthesis.
8854
8855 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
8856
8857         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
8858         (Fpq_reset_poll): Ditto.
8859
8860 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
8861
8862         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
8863
8864 2000-05-16  Ben Wing  <ben@xemacs.org>
8865
8866         * buffer.c:
8867         * buffer.c (dfc_convert_to/from_internal_format):
8868         * buffer.c (reinit_vars_of_buffer):
8869         Fix conversion functions to allow reentrancy.
8870
8871         * console-msw.c:
8872         * console-msw.c (mswindows_output_last_error):
8873         New fun, generally useful -- output a human-readable
8874         version of GetLastError() on the console.
8875
8876         * console-msw.h:
8877         * console-msw.h (struct mswindows_frame):
8878         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
8879
8880         * console-stream.c (stream_output_begin):
8881         * console-stream.c (stream_output_end):
8882         * console-stream.c (stream_output_vertical_divider):
8883         * console-stream.c (stream_clear_region):
8884         * console-stream.c (stream_flash):
8885         * console-stream.c (console_type_create_stream):
8886         Delete blank stream methods, not needed.
8887
8888         * console.h (struct console_methods):
8889         Split begin/end methods into window and frame.
8890
8891         * event-msw.c:
8892         * event-msw.c (mswindows_handle_paint):
8893         * event-msw.c (output_alt_keyboard_state):
8894         * event-msw.c (mswindows_wnd_proc):
8895         * event-msw.c (vars_of_event_mswindows):
8896         Comment about problems with ignored-expose.
8897         Define mswindows-debug-events; not really implemented.
8898
8899         * frame-msw.c (mswindows_init_frame_1):
8900         random cleanups.
8901
8902         * glyphs-msw.c:
8903         * glyphs-msw.c (begin_defer_window_pos):
8904         * glyphs-msw.c (mswindows_unmap_subwindow):
8905         * glyphs-msw.c (mswindows_map_subwindow):
8906         * glyphs-msw.c (mswindows_resize_subwindow):
8907         Use DeferWindowPos to reduce flashing when mapping/unmapping.
8908
8909         * glyphs.c (make_image_instance_1):
8910         Fix crash.
8911
8912         * gutter.c (Fredisplay_gutter_area):
8913         Use new begin/end methods.
8914
8915         * lisp.h (Dynarr_new2):
8916         New creation fun.
8917
8918         * redisplay-msw.c:
8919         * redisplay-msw.c (mswindows_frame_output_begin):
8920         * redisplay-msw.c (mswindows_frame_output_end):
8921         * redisplay-msw.c (console_type_create_redisplay_mswindows):
8922         New begin/end methods -- handle DeferWindowPos.
8923
8924         * redisplay-output.c (redisplay_move_cursor):
8925         * redisplay-output.c (redraw_cursor_in_window):
8926         * redisplay-output.c (redisplay_update_line):
8927         * redisplay-output.c (redisplay_output_window):
8928         New begin/end methods.
8929
8930         * redisplay-tty.c:
8931         * redisplay-tty.c (tty_frame_output_begin):
8932         * redisplay-tty.c (tty_frame_output_end):
8933         * redisplay-tty.c (console_type_create_redisplay_tty):
8934         New begin/end methods.
8935
8936         * redisplay-x.c:
8937         * redisplay-x.c (x_window_output_begin):
8938         * redisplay-x.c (x_window_output_end):
8939         * redisplay-x.c (console_type_create_redisplay_x):
8940         New begin/end methods.
8941
8942         * redisplay.c (redisplay_frame):
8943         * redisplay.c (Fredisplay_echo_area):
8944         New begin/end methods.
8945         use MAYBE_DEVMETH for clear_frame; it may not exist.
8946
8947         * window.h (WINDOW_XFRAME):
8948         WINDOW_XFOO macros -- get locale and decode struct pointer.
8949
8950
8951 2000-05-12  Ben Wing  <ben@xemacs.org>
8952
8953         * emacs.c:
8954         * emacs.c (ensure_no_quitting_from_now_on):
8955         * emacs.c (fatal_error_signal):
8956         * emacs.c (mswindows_handle_hardware_exceptions):
8957         * emacs.c (main):
8958         * emacs.c (Fkill_emacs):
8959         * emacs.c (shut_down_emacs):
8960         * emacs.c (assert_failed):
8961         various improvements in fatal error handling.
8962
8963         * eval.c:
8964         move preparing_for_armageddon to emacs.c.
8965
8966         * lisp.h:
8967         declare fatal_error_in_progress.
8968
8969         * print.c:
8970         * print.c (std_handle_out_external):
8971         * print.c (std_handle_out_va):
8972         * print.c (stderr_out):
8973         * print.c (stdout_out):
8974         use console under mswin when no standard output.
8975         don't do code conversion during fatal error.
8976
8977         * scrollbar.c (Fscrollbar_page_up):
8978         * scrollbar.c (Fscrollbar_page_down):
8979         fix missing else.  reindent.
8980
8981 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
8982
8983         Emergency fix.
8984
8985         * glyphs.h (GLYPH_CACHEL_DESCENT):
8986         (GLYPH_CACHEL_DESCENT):
8987         (GLYPH_CACHEL_DESCENT):
8988         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
8989         used in case these are inline functions.
8990         Use more absurd values to error check.
8991
8992         include window.h for error check functions.
8993
8994 2000-05-11  Ben Wing  <ben@xemacs.org>
8995
8996         * cmdloop.c (Freally_early_error_handler):
8997         Display message box under windows; otherwise, message will disappear
8998         before it can be viewed.
8999
9000         * console-msw.c:
9001         * console-msw.c (Fmswindows_message_box):
9002         * console-msw.c (FROB):
9003         * console-msw.c (syms_of_console_mswindows):
9004         Define new fun `mswindows-message-box'.
9005         #### I will merge this into `popup-dialog-box'; just give me
9006         a bit of time.
9007
9008         * general.c:
9009         * general.c (syms_of_general):
9010         Some new symbols used in `mswindows-message-box'.
9011
9012         * glyphs.c:
9013         * glyphs.c (Fset_image_instance_property):
9014         put warning in this fun.
9015
9016         * glyphs.h:
9017         * glyphs.h (GLYPH_CACHEL_WIDTH):
9018         * glyphs.h (GLYPH_CACHEL_ASCENT):
9019         * glyphs.h (GLYPH_CACHEL):
9020         * glyphs.h (GLYPH_CACHEL_GLYPH):
9021         define error-checking versions to try to catch a bug i've seen --
9022         redisplay gets in an infinite loop because the glyph width of the
9023         continuation glyph is 65535.
9024
9025         * lisp.h:
9026         Extern message-box stuff.
9027
9028         * window.c (allocate_window):
9029         * window.c (make_dummy_parent):
9030         * window.c (Fset_window_configuration):
9031         Use EQUAL not EQ for subwindow caches to make them work a bit
9032         better. (Something is still very broken.)
9033
9034
9035 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
9036
9037         * glyphs.c (image_instantiate): Suppress gcc warnings.
9038         (Fmake_image_instance): Fix doc string.
9039         * specifier.c (Fmake_specifier): Ditto.
9040
9041 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
9042
9043         * paths.h.in (PATH_LOCK): Removed.
9044         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
9045         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
9046
9047 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
9048
9049         * fns.c (Ffeaturep): Update e-mail address in doc-string.
9050         Document (featurep '(and xemacs 21.02)).
9051
9052 2000-05-09  Ben Wing  <ben@xemacs.org>
9053
9054         * buffer.c (complex_vars_of_buffer):
9055         update modeline-format doc.
9056
9057         * device.h:
9058         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
9059
9060         * emacs.c:
9061         timeline of all released versions of Emacs, for use in creating
9062         authorship comments and in synching up.
9063
9064         * glyphs-widget.c (image_instantiator_buttons):
9065         * glyphs-widget.c (image_instantiator_edit_fields):
9066         * glyphs-widget.c (image_instantiator_combo_box):
9067         * glyphs-widget.c (image_instantiator_scrollbar):
9068         * glyphs-widget.c (image_instantiator_progress_guage):
9069         * glyphs-widget.c (image_instantiator_tree_view):
9070         * glyphs-widget.c (image_instantiator_tab_control):
9071         * glyphs-widget.c (image_instantiator_labels):
9072         * glyphs-widget.c (image_instantiator_layout):
9073         * glyphs-widget.c (image_instantiator_native_layout):
9074         rename decode_domain method to governing_domain.
9075
9076         * glyphs.c:
9077         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
9078         * glyphs.c (add_entry_to_device_ii_format_list):
9079         make sure we don't put an entry more than once into the list.
9080         * glyphs.c (check_instance_cache_mapper):
9081         *************************************************************
9082         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
9083         HAVE BEEN GETTING.
9084         *************************************************************
9085         * glyphs.c (get_image_instantiator_governing_domain):
9086         clean up, expand on new concept of governing domain.
9087         * glyphs.c (instantiate_image_instantiator):
9088         * glyphs.c (allocate_image_instance):
9089         use governing_domain instead of cache_domain in naming.
9090         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
9091         * glyphs.c (make_image_instance_1):
9092         * glyphs.c (Fmake_image_instance):
9093         allow for any domain (not just device), and process the
9094         governing domain correctly.  very big doc fix.
9095         * glyphs.c (Fimage_instance_domain):
9096         new primitive, to retrieve the governing domain of an image instance.
9097         * glyphs.c (image_instantiate):
9098         use new governing_domain stuff.  this fixes a crash you could get
9099         by instantiating certain widget glyphs in frame locales. (should
9100         signal an error instead of crashing.)
9101         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
9102         * glyphs.c (Fglyphp): clean up doc.
9103         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
9104         * glyphs.c (syms_of_glyphs):
9105         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
9106         * glyphs.c (image_instantiator_format_create): add some comments about
9107         bogus code.
9108         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
9109         for current-display-table. (Apparently Hrjove implemented in 1998 a
9110         design I wrote up in 1996, but didn't update the doc string.)
9111
9112         * glyphs.h: clean up a doc string.
9113         * glyphs.h (governing_domain):
9114         * glyphs.h (struct image_instantiator_methods):
9115         changes for governing_domain stuff.
9116
9117         * gutter.c:
9118         * gutter.c (Fgutter_specifier_p):
9119         * gutter.c (Fgutter_size_specifier_p):
9120         * gutter.c (Fgutter_visible_specifier_p):
9121         * objects.c:
9122         * objects.c (Fcolor_specifier_p):
9123         * objects.c (Ffont_specifier_p):
9124         * objects.c (Fface_boolean_specifier_p):
9125         doc strings moved to make-*-specifier.
9126
9127         * redisplay.c (add_disp_table_entry_runes_1):
9128         * redisplay.c (generate_fstring_runes):
9129         * redisplay.c (screen):
9130         add random comments and doc strings.
9131
9132         * specifier.c:
9133         * specifier.c (Fmake_specifier):
9134         major overhaul of this doc string.
9135
9136         * specifier.c (Fvalid_specifier_domain_p):
9137         comment about the bogosity of image instances being domains.
9138         * specifier.c (decode_domain):
9139         now non-static, used in glyphs.c.
9140         * specifier.c (specifier_instance):
9141         comment about the bogosity of image instances being domains.
9142         * specifier.c (Fgeneric_specifier_p):
9143         move doc string to make-generic-specifier.
9144         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
9145         rebackslashify.
9146
9147         * specifier.h:
9148         * specifier.h (DOMAIN_FRAME):
9149         * specifier.h (DOMAIN_LIVE_P):
9150         * specifier.h (DOMAIN_XDEVICE):
9151         rebackslashify.
9152         add comments about problems with these macros.
9153         prototype for decode_domain.
9154
9155         * toolbar.c:
9156         * toolbar.c (Ftoolbar_specifier_p):
9157         move doc string to `make-toolbar-specifier'.
9158
9159         * window.c (window_unmap_subwindows_cache_mapper):
9160         *************************************************************
9161         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
9162         HAVE BEEN GETTING.
9163         *************************************************************
9164
9165 2000-05-09  Andy Piper  <andy@xemacs.org>
9166
9167         * glyphs.h: declare reset_frame_subwindow_instance_cache.
9168
9169         * window.c (Fset_window_configuration): reset the frame subwindow
9170         cache and re-initialize the window subwindow caches.
9171
9172         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
9173
9174 2000-05-09  Ben Wing  <ben@xemacs.org>
9175
9176         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
9177         DWORD.
9178
9179 2000-04-26  Mike Woolley  <mike@bulsara.com>
9180
9181         * ntheap.c: Changed recreate_heap to limit the amount reserved
9182         for the heap to that which is actually available. Also now
9183         displays a message box (with some dignostics) in the event that
9184         it still can't start.
9185
9186 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
9187
9188         * callproc.c (Fold_call_process_internal): GCPRO path
9189
9190 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
9191
9192         Patch by Bill Perry.
9193
9194         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
9195         back data instead of #ifdef.
9196         (Fscrollbar_page_down): ditto.
9197
9198 2000-05-07  Ben Wing  <ben@xemacs.org>
9199
9200         * buffer.h:
9201         Kludge for defining Qmswindows_tstr.
9202
9203         * nt.c:
9204         * nt.c (open_input_file):
9205         * nt.c (open_output_file):
9206         * nt.c (rva_to_section):
9207         * nt.c (mswindows_executable_type):
9208         Move all memory-mapped-file routines here (some were in unexnt.c,
9209         which is bad because they are used by process-nt.c, and unexnt
9210         won't be around when portable dumping).  Synched the above routines
9211         with FSF 20.6.
9212
9213         * nt.h:
9214         Removed ifdef'd out bogus code.
9215         Fixed some prototypes.
9216
9217         * nt.h (file_data):
9218         * nt.h (OFFSET_TO_RVA):
9219         * nt.h (RVA_TO_OFFSET):
9220         * nt.h (RVA_TO_PTR):
9221         Moved the memory-mapped-file structures, macros and prototypes
9222         here, to parallel nt.c.  ntheap.h should really be removed
9223         entirely, and it's a non-portable-dumper specific file.
9224
9225         * ntheap.h (round_to_next):
9226         Moved the memory-mapped-file structures, macros and prototypes
9227         to nt.h.
9228
9229         * ntproc.c (compare_env):
9230         Moved rva_to_section and mswindows_executable_type to nt.c.
9231         Moved compare_env to process-nt.c.
9232         ntproc.c will die, one day.
9233
9234         * ntproc.c (sys_spawnve):
9235         Account for win32_ -> mswindows_.
9236
9237         * process-nt.c:
9238         * process-nt.c (struct nt_process_data):
9239         * process-nt.c (ensure_console_window_exists):
9240         * process-nt.c (compare_env):
9241         * process-nt.c (nt_create_process):
9242         * process-nt.c (nt_kill_process_by_pid):
9243         * process-nt.c (syms_of_process_nt):
9244         * process-nt.c (vars_of_process_nt):
9245         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
9246         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
9247         changes).  Eliminate our old `nt-quote-process-args' mechanism.
9248         Synch up nt_create_process with FSF 20.6 sys_spawnve.
9249         Move compare_env here from ntproc.c.
9250
9251         * process.c (Fprocess_send_region):
9252         Takes an optional fourth argument, BUFFER, which should fix some
9253         problems with call-process.
9254
9255         * syscommctrl.h:
9256         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
9257
9258         * syswindows.h:
9259         Move ICC_BAR_CLASSES to syscommctrl.h.
9260         Add preliminary macros for MSWindows/Mule.  More to come.
9261
9262         * unexnt.c:
9263         * unexnt.c (unexec):
9264         open_output_file moved to nt.c.
9265
9266
9267 2000-05-05  Andy Piper  <andy@xemacs.org>
9268
9269         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
9270         instance from the frame cache also since GC may catch up too late
9271         to make frame deletion sane.
9272
9273 2000-05-04  Andy Piper  <andy@xemacs.org>
9274
9275         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
9276         (x_finalize_image_instance): ungcpro on deletion.
9277
9278         * glyphs.c (image_instantiator_format_create): give pointers a
9279         query geometry method so that the geometry is at least set.
9280
9281         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
9282         initialize layouts if using widgets.
9283
9284 2000-05-03  Andy Piper  <andy@xemacs.org>
9285
9286         * nt.c: remove bogus reference to sysmmsystem.h
9287
9288         * gui-x.c (popup_selection_callback): fix no selection abort.
9289
9290 2000-05-02  Andy Piper  <andy@xemacs.org>
9291
9292         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
9293         (mswindows_widget_instantiate): ditto.
9294
9295         * glyphs-widget.c (initialize_widget_image_instance): initialize
9296         children correctly.
9297         (widget_instantiate): cope with children and items in the same
9298         instance.
9299
9300         * glyphs.c (mark_image_instance): cope with children as a first
9301         class member.
9302         (image_instance_equal): ditto.
9303         (image_instance_hash): ditto.
9304         (image_instance_changed): ditto.
9305
9306 2000-04-30  Andy Piper  <andy@xemacs.org>
9307
9308         * glyphs.c (subwindow_query_geometry): new function. Return some
9309         defaults.
9310         (subwindow_instantiate): don't assign dimensions if none have been
9311         given.
9312         (image_instantiator_format_create): add subwindow_query_geometry.
9313         (print_image_instance): cope with layouts as widgets.
9314
9315 2000-04-29  Andy Piper  <andy@xemacs.org>
9316
9317         * frame.c (delete_frame_internal): call
9318         free_frame_subwindow_instance_cache so that all subwindows are
9319         finalized before their parent.
9320         (mark_frame): remove subwindow_cachels.
9321         (Fmake_frame): remove subwindow_cachel manipulation.
9322         (allocate_frame_core): subwindow_instance_cache is a weak list.
9323         (delete_frame_internal): set subwindow_instance_cache to nil.
9324
9325         * glyphs-msw.c (mswindows_finalize_image_instance): make double
9326         finalization safe.
9327         (mswindows_finalize_image_instance): use the device
9328         not the domain as the domain may have died already.
9329
9330         * glyphs-x.c (x_finalize_image_instance): ditto.
9331         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
9332         HEIGHT.
9333
9334         * redisplay-output.c (redisplay_unmap_subwindows): update for
9335         subwindow instance cache as a weak list.
9336         (redisplay_unmap_subwindows_maybe): ditto.
9337         (redisplay_unmap_subwindows_except_us): ditto.
9338
9339         * glyphs.c (unmap_subwindow): error checking will check the domain
9340         so don't deal with it here. Don't use cachels anymore.
9341         (map_subwindow): ditto.
9342         (update_subwindow_cachel_data): remove old accessor names.
9343         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
9344         (Fresize_subwindow): don't update cachel.
9345         (mark_subwindow_cachels):
9346         (update_subwindow_cachel_data):
9347         (add_subwindow_cachel):
9348         (get_subwindow_cachel_index):
9349         (update_subwindow_cachel):
9350         (reset_subwindow_cachels):
9351         (mark_subwindow_cachels_as_not_updated): deleted.
9352         (cache_subwindow_instance_in_frame_maybe): new function. Add a
9353         subwindow instance to the frame cache.
9354         (find_matching_subwindow): update for subwindow instance cache as
9355         a weak list.
9356         (update_widget_instances): ditto.
9357         (image_instance_type_to_mask):inlined.
9358         (free_frame_subwindow_instance_cache): new function. finalize all
9359         subwindows that are instantiated.
9360
9361         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
9362         of cachel information.
9363         (IMAGE_INSTANCE_DISPLAY_X):
9364         (IMAGE_INSTANCE_DISPLAY_Y):
9365         (IMAGE_INSTANCE_DISPLAY_WIDTH):
9366         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
9367         (XIMAGE_INSTANCE_DISPLAY_X):
9368         (XIMAGE_INSTANCE_DISPLAY_Y):
9369         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
9370         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
9371         remove subwindow_cachel structure and function references.
9372         (image_instance_type_to_mask): inline from glyphs.c
9373
9374         * redisplay.c (redisplay_frame): remove subwindow_cachel
9375         references.
9376
9377         * frame.h (struct frame): remove subwindow_cachels.
9378         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
9379
9380         * frameslots.h: add subwindow_instance_cache.
9381
9382         * window.c (replace_window): check subwindow cache of replacement.
9383         (window_unmap_subwindows_cache_mapper):
9384         (window_unmap_subwindows): new functions. Unmap all subwindows
9385         cached on this window.
9386         (mark_window_as_deleted): unmap all subwindows.
9387
9388 2000-04-27  Andy Piper  <andy@xemacs.org>
9389
9390         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
9391
9392         * glyphs-widget.c (widget_layout): return something.
9393         (layout_layout): return something. Fail if not initialized.
9394         (layout_query_geometry): ditto.
9395         (image_instantiator_native_layout): new function. Initialized the
9396         native layout type.
9397         (widget_instantiate): don't do layout stuff here.
9398
9399         * glyphs.c (instantiate_image_instantiator): reorded calling or
9400         instantiate and post_instantiate with layout in between.
9401         (image_instance_layout): be more selective about deciding whether
9402         the layout has been done or not.
9403
9404         * glyphs.h (struct image_instantiator_methods): return a value
9405         from layout_method.
9406
9407 2000-04-26  Andy Piper  <andy@xemacs.org>
9408
9409         * glyphs.c (allocate_image_instance): make initial width and
9410         height unspecified. Set initialized to 0.
9411
9412         * syscommctrl.h new file. Encapsulates commctrl.h.
9413
9414         * syswindows.h new file. Encapsulates windows.h.
9415
9416         * ntplay.c: use new syswindows.h and syscommctrl.h header.
9417         * nt.c: ditto.
9418         * console-msw.h: ditto.
9419
9420         * redisplay-tty.c (tty_output_display_block): remove layout references.
9421
9422         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
9423         window handle rather than just the frame.
9424
9425         * glyphs.c (mark_image_instance): remove layout references.
9426         (print_image_instance): ditto.
9427         (image_instance_equal): ditto.
9428         (image_instance_hash): ditto.
9429         (decode_image_instance_type): ditto.
9430         (encode_image_instance_type): ditto.
9431         (image_instantiate): ditto.
9432         (allocate_glyph): ditto.
9433         (Fimage_instance_height): ditto.
9434         (Fimage_instance_width): ditto.
9435         (update_subwindow): ditto.
9436
9437         * redisplay-x.c (x_output_display_block): recode for layouts as
9438         widgets.
9439
9440         * redisplay-output.c (redisplay_output_layout): recode for layouts
9441         as widgets.
9442         (compare_runes): remove layout references.
9443
9444         * redisplay-msw.c (mswindows_output_display_block): recode for
9445         layouts as widgets.
9446
9447         * glyphs-widget.c (image_instantiator_layout): remove
9448         layout_possible_dest_types.
9449         (layout_possible_dest_types): deleted.
9450
9451         * glyphs.h (image_instance_type): remove layout references.
9452         (struct Lisp_Image_Instance): ditto. Add initialized flag.
9453         (IMAGE_INSTANCE_INITIALIZED): new accessor.
9454         (XIMAGE_INSTANCE_INITIALIZED): ditto.
9455
9456 2000-04-25  Andy Piper  <andy@xemacs.org>
9457
9458         * glyphs-widget.c (image_instantiator_buttons):
9459         (image_instantiator_edit_fields):
9460         (image_instantiator_combo_box):
9461         (image_instantiator_scrollbar):
9462         (image_instantiator_progress_guage):
9463         (image_instantiator_tree_view):
9464         (image_instantiator_tab_control):
9465         (image_instantiator_labels):
9466         (image_instantiator_layout): call default post_instantiate method.
9467         (widget_post_instantiate): new function. Simply lays out the
9468         widgets.
9469
9470         * glyphs.h (struct image_instantiator_methods): add
9471         post_instantiate method.
9472
9473         * glyphs.c (instantiate_image_instantiator): add post_instantiate
9474         method calls.
9475
9476 2000-04-23  Andy Piper  <andy@xemacs.org>
9477
9478         * glyphs.h (struct image_instantiator_methods): add
9479         decode_domain_method.
9480         (struct Lisp_Image_Instance): remove subwindow frame - it can be
9481         derived from the domain.
9482         (IMAGE_INSTANCE_FRAME): new accessor.
9483         (XIMAGE_INSTANCE_FRAME): ditto.
9484
9485         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
9486         instead of _SUBWINDOW_FRAME.
9487         (finalize_image_instance): ditto.
9488         (Fimage_instance_foreground): ditto.
9489         (Fimage_instance_background): ditto.
9490         (image_instantiate): ditto.
9491         (update_subwindow_cachel): ditto.
9492         (update_subwindow): ditto.
9493         (unmap_subwindow): ditto.
9494         (map_subwindow): ditto
9495         (subwindow_instantiate): ditto.
9496         * glyphs-msw.c (mswindows_update_widget): ditto.
9497         (mswindows_progress_gauge_instantiate): ditto.
9498         (mswindows_tab_control_update): ditto.
9499         * glyphs-x.c (x_update_widget): ditto.
9500         (x_widget_instantiate): ditto.
9501         (x_tab_control_instantiate): ditto.
9502         (x_tab_control_update): ditto.
9503         * event-msw.c (mswindows_wnd_proc): ditto
9504
9505         * glyphs-widget.c (image_instantiator_layout): use
9506         subwindow_decode_domain.
9507         (image_instantiator_buttons): ditto.
9508         (image_instantiator_edit_fields): ditto.
9509         (image_instantiator_combo_box): ditto.
9510         (image_instantiator_scrollbar): ditto.
9511         (image_instantiator_progress_guage): ditto.
9512         (image_instantiator_tree_view): ditto.
9513         (image_instantiator_tab_control): ditto.
9514         (image_instantiator_labels): ditto.
9515         (image_instantiator_layout): ditto.
9516
9517         * glyphs.c: add instance error checking to many functions.
9518         (instantiate_image_instantiator): decode device from cache_domain.
9519         (image_instantiate): partially rewrite by using
9520         decode_image_instantiator_domain to determine what domain the
9521         instance needs to be cached in.
9522         (decode_image_instantiator_domain): new function. Determine what
9523         domain the image needs to be cached in.
9524         (check_window_subwindow_cache): new error checking function.
9525         (check_instance_cache_mapper): ditto.
9526         (check_image_instance_structure): ditto.
9527         (subwindow_decode_domain): new function. Encodes a window as a
9528         subwindow's cache domain.
9529         (image_instantiator_format_create): use it for text and
9530         subwindows.
9531
9532 2000-04-21  Andy Piper  <andy@xemacs.org>
9533
9534         * glyphs.c (image_instance_device): new function.
9535         (image_instance_frame): new function.
9536         (image_instance_window): new function.
9537         (image_instance_live_p): new function.
9538
9539         * window.c (mark_window_as_deleted): reset the subwindow_instance_
9540         cache to nil.
9541
9542         * glyphs.h (struct Lisp_Image_Instance): device->domain.
9543         (IMAGE_INSTANCE_DOMAIN): new accessor.
9544         (XIMAGE_INSTANCE_DOMAIN): ditto.
9545
9546         * glyphs-x.c (x_finalize_image_instance): device->domain.
9547
9548         * glyphs-msw.c (init_image_instance_geometry): device->domain.
9549         (mswindows_finalize_image_instance): ditto.
9550
9551         * glyphs-eimage.c (jpeg_instantiate): device->domain.
9552         (gif_instantiate): ditto.
9553         (png_instantiate): ditto.
9554         (tiff_instantiate): ditto.
9555
9556         * glyphs.c (instantiate_image_instantiator): use domain rather
9557         than device.
9558         (mark_image_instance): device -> domain.
9559         (print_image_instance): ditto.
9560         (finalize_image_instance): ditto.
9561         (image_instance_equal): ditto.
9562         (allocate_image_instance): ditto.
9563         (Fcolorize_image_instance): ditto.
9564         (query_string_geometry): ditto.
9565         (image_instantiate): ditto
9566         (query_string_font): ditto.
9567         (image_instantiate): ditto.
9568         (update_subwindow): ditto.
9569         (unmap_subwindow): ditto.
9570         (map_subwindow): ditto.
9571         (subwindow_instantiate): ditto.
9572
9573         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
9574         (DOMAIN_FRAME): ditto.
9575         (DOMAIN_WINDOW): ditto.
9576         (DOMAIN_LIVE_P): ditto.
9577         (XDOMAIN_DEVICE): ditto.
9578         (XDOMAIN_FRAME): ditto.
9579         (XDOMAIN_WINDOW): ditto.
9580
9581         * specifier.c (Fvalid_specifier_domain_p): add image instances as
9582         a valid specifier domain.
9583
9584 2000-04-19  Andy Piper  <andy@xemacs.org>
9585
9586         * glyphs-widget.c (syms_of_glyphs_widget): remove
9587         widget-callback-current-channel.
9588         (vars_of_glyphs_widget): ditto.
9589         * glyphs.h: ditto
9590
9591         * gui.c (get_gui_callback): revert to previous behaviour.
9592
9593 2000-04-18  Andy Piper  <andy@xemacs.org>
9594
9595         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
9596         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
9597         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
9598
9599         * glyphs.c (image_instance_equal): add margin_width.
9600         (image_instance_hash): ditto.
9601
9602         * glyphs-widget.c (widget_instantiate): deal with margin-width.
9603         (layout_query_geometry): ditto.
9604         (layout_layout): ditto.
9605         (syms_of_glyphs_widget): add margin-width.
9606         (image_instantiator_layout): allow margin-width.
9607
9608         * glyphs.c (update_widget_instances): make a normal function.
9609         (syms_of_glyphs): remove Qupdate_widget_instances.
9610         * glyphs.h: ditto.
9611
9612         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
9613         so that we don't corrupt ideas about the last event or
9614         command. Remove widget-callback-current-channel fiddling.
9615         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9616
9617 2000-05-01  Martin Buchholz <martin@xemacs.org>
9618
9619         * XEmacs 21.2.33 is released.
9620
9621 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
9622
9623         * make-src-depend: Allow dots in header file name.
9624
9625 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
9626
9627         * mule-charset.h (struct charset_lookup): Add
9628         next_allocated_1_byte_leading_byte and
9629         next_allocated_2_byte_leading_byte.
9630         * mule-charset.c: Move above two variables so that those values
9631         will be dumped.
9632
9633 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
9634
9635         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
9636         when string length is zero.
9637         (find_charsets_in_emchar_string): Ditto.
9638
9639 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
9640
9641         * lisp.h: extern Qdialog and Qmenubar.
9642
9643         * gui-x.c: added events.h.
9644                 also fixed typo which made the file uncompilable.
9645
9646         * general.c: Added Qmenubar and Qdialog
9647
9648 2000-04-28  Ben Wing  <ben@xemacs.org>
9649
9650         * frame-msw.c (mswindows_init_frame_1):
9651         * frame-msw.c (mswindows_mark_frame):
9652         * event-msw.c (mswindows_enqueue_dispatch_event):
9653         * console-msw.h:
9654         * console-msw.h (struct mswindows_frame):
9655         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
9656         there are now three hash tables for callbacks.
9657         mswindows_enqueue_dispatch_event is no longer static.
9658
9659         * dialog-x.c (maybe_run_dbox_text_callback):
9660         * dialog-x.c (dbox_descriptor_to_widget_value):
9661         switch to new cons3 form for callbacks.
9662
9663         * glyphs-msw.c (mswindows_register_gui_item):
9664         * glyphs-msw.c (mswindows_widget_instantiate):
9665         * glyphs-msw.c (add_tree_item):
9666         * glyphs-msw.c (add_tab_item):
9667         new image instance parameter, so it can be passed to callback-ex.
9668         respect :callback-ex as well as :callback.
9669
9670         * glyphs-widget.c (VALID_GUI_KEYWORDS):
9671         add :callback-ex.
9672
9673         * glyphs.c (print_image_instance):
9674         prettify, e.g. now prints widget type.
9675
9676         * gui-x.h:
9677         certain funs have new image instance parameter.
9678
9679         * gui.c:
9680         * gui.c (get_gui_callback):
9681         * gui.c (gui_item_add_keyval_pair):
9682         * gui.c (gui_item_init):
9683         * gui.c (gui_add_item_keywords_to_plist):
9684         * gui.c (mark_gui_item):
9685         * gui.c (gui_item_hash):
9686         * gui.c (gui_item_equal):
9687         * gui.c (copy_gui_item):
9688         * gui.c (syms_of_gui):
9689         recognize callback-ex in a number of places.
9690         also, fix the annoying "can't get out of yes-no dialog" bug.
9691
9692         * gui.h:
9693         * gui.h (struct Lisp_Gui_Item):
9694         recognize callback-ex in a number of places.
9695
9696         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9697         new parameter in button_item_to_widget_value.
9698
9699         * glyphs-x.c (x_update_widget):
9700         * glyphs-x.c (x_button_instantiate):
9701         * glyphs-x.c (x_button_update):
9702         * glyphs-x.c (x_progress_gauge_instantiate):
9703         * glyphs-x.c (x_edit_field_instantiate):
9704         * glyphs-x.c (x_combo_box_instantiate):
9705         * glyphs-x.c (x_tab_control_instantiate):
9706         * glyphs-x.c (x_label_instantiate):
9707         new image instance parameter in various places.
9708
9709         * event-Xt.c:
9710         * event-Xt.c (enqueue_Xt_dispatch_event):
9711         this fun gets exported.
9712
9713         * gui-msw.c:
9714         * gui-msw.c (mswindows_handle_gui_wm_command):
9715         handle both :callback and :callback-ex, and generate our own
9716         event because it's one of the callback-ex arguments.
9717
9718         * gui-x.c:
9719         * gui-x.c (popup_selection_callback):
9720         handle both :callback and :callback-ex, and generate our own
9721         event because it's one of the callback-ex arguments.
9722         * gui-x.c (button_item_to_widget_value):
9723         * gui-x.c (gui_items_to_widget_values_1):
9724         * gui-x.c (gui_item_children_to_widget_values):
9725         * gui-x.c (gui_items_to_widget_values):
9726         new image instance parameter in various places.
9727
9728         * fns.c (Freplace_list):
9729         fix small typo in doc string.
9730
9731         * lisp.h:
9732         declare enqueue_Xt_dispatch_event.
9733
9734 2000-04-28  Ben Wing  <ben@xemacs.org>
9735
9736         * buffer.c:
9737         * buffer.c (Frecord_buffer):
9738         * buffer.c (syms_of_buffer):
9739         delete record-buffer-hook.
9740
9741         * fns.c:
9742         * fns.c (Freplace_list):
9743         * fns.c (syms_of_fns):
9744         new primitive replace-list.
9745
9746         * frameslots.h:
9747         slot for old buffer-alist.
9748
9749         * lisp.h:
9750         exfun replace-list.
9751
9752         * redisplay.c:
9753         * redisplay.c (redisplay_frame):
9754         * redisplay.c (syms_of_redisplay):
9755         * redisplay.c (vars_of_redisplay):
9756         new hook buffer-list-changed-hook.
9757         call it.
9758
9759 2000-04-27  Ben Wing  <ben@xemacs.org>
9760
9761         * extents.h: extern in_modeline_generation.
9762
9763         * redisplay.c (generate_formatted_string_db): set
9764         in_modeline_generation.
9765
9766         * extents.c (extent_changed_for_redisplay): don't mark redisplay
9767         flags if in modeline generation.  otherwise frame-modified-tick
9768         is ticked far too often.
9769         Declare in_modeline_generation.
9770
9771 2000-04-26  Ben Wing  <ben@xemacs.org>
9772
9773         * emacs.c (vars_of_emacs): document quick-build "error-checking"
9774         option.
9775         (vars_of_emacs): add quick-build as an error-checking option.
9776         A bit kludgy, but there doesn't seem much point in creating
9777         a real var for this.
9778
9779         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
9780
9781 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9782
9783         * redisplay.h (struct display_line): Add a new variable,
9784         line_continuation.
9785
9786         * redisplay.c (create_text_block): Set dl->line_continuation if
9787         the line continues.
9788         (create_string_text_block): Ditto.
9789         (regenerate_window_incrementally): Use line_continuation instead
9790         of searching continuation glyph.
9791         (add_margin_runes): Call add_glyph_rune.
9792         (add_glyph_rune): Handle margin glyph.
9793
9794 2000-04-20  Martin Buchholz  <martin@xemacs.org>
9795
9796         * filelock.c (fill_in_lock_file_name):
9797         ANSIfy.
9798         Check for IS_ANY_SEP instead of '/'.
9799         (lock_file_1):
9800         Avoid generating gratuitous garbage.  Call user_login_name() directly.
9801         Never check errno without first seeing that system call failed.
9802         (unlock_file): Add GCPRO.
9803         (Flock_buffer): Fix docstring.
9804         (Ffile_locked_p): Fix docstring.  Add GCPRO.
9805
9806 2000-04-19  Martin Buchholz  <martin@xemacs.org>
9807
9808         * sysdep.c (get_pty_max_bytes):
9809         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
9810         strings longer than 252 bytes.
9811
9812         * md5.c: Unconditionally include ANSI header <limits.h>
9813
9814         * glyphs-x.c (convert_EImage_to_XImage):
9815         * lisp-union.h (union Lisp_Object):
9816         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
9817
9818 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9819
9820         * filelock.c (current_lock_owner): Remove unused variable o, p.
9821
9822 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
9823
9824         * callint.c: Remove multiply defined symbol Qlet
9825         (syms_of_callint): ditto.
9826
9827 2000-04-14  Andy Piper  <andy@xemacs.org>
9828
9829         * general.c (syms_of_general): add last-command, this-command, let
9830         and funcall.
9831
9832         * lisp.h: declare various symbols.
9833
9834         * glyphs.h: declare Qwidget_callback_current_channel;
9835
9836         * glyphs-widget.c (syms_of_glyphs_widget): add
9837         Qgui_callback_current_channel.
9838         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
9839
9840         * gui-msw.c (mswindows_handle_gui_wm_command): bind
9841         widget-callback-current-channel when invoking the interactive
9842         arg. Also bind last-command and next-command when invoking the
9843         widget updates.
9844         * gui-x.c (popup_selection_callback): ditto.
9845
9846         * gui.c (get_gui_callback): massage args so that we are always
9847         calling eval. This allows us to add our own variable bindings
9848         outside.
9849
9850         * glyphs-x.c (x_button_instantiate): use
9851         gui_items_to_widget_values since this is GC safe.
9852         (x_progress_gauge_instantiate): ditto.
9853         (x_edit_field_instantiate): ditto.
9854         (x_label_instantiate): ditto.
9855
9856         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
9857         (emacs_Xt_event_widget_focus_out): new function
9858         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
9859         focus.
9860         (emacs_Xt_event_add_widget_actions): new function. add focus
9861         functions as actions.
9862         (init_event_Xt_late): use it.
9863
9864 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
9865
9866         * event-stream.c (Fdispatch_event): Doc fix.
9867
9868 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
9869
9870         * postgresql.c: Remove all references to PQsetenv*.
9871
9872         * postgresql.h: Remove references to PGsetenvHandler object.
9873         * lrecord.h (lrecord_type): Ditto.
9874
9875 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9876
9877         * glyphs-msw.h (struct mswindows_image_instance_data): Added
9878         real_heigh and real_width members, and accessor macros for these.
9879
9880         * glyphs-msw.c (init_image_instance_geometry): New function.
9881         (init_image_instance_from_dibitmap): Use it.
9882         (mswindows_resource_instantiate): Use it.
9883         (init_image_instance_from_xbm_inline): Use it.
9884         (mswindows_initialize_image_instance_mask): Use real bitmap
9885         geometry.
9886         (mswindows_create_resized_bitmap): Ditto.
9887         (mswindows_create_resized_mask): Ditto.
9888
9889         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
9890         and bitmap to their surface size.
9891
9892 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
9893
9894         * process-unix.c (unix_send_process): Guard against process MIA
9895         after Faccept_process_output.
9896
9897 2000-04-11  Ben Wing  <ben@xemacs.org>
9898
9899         * eval.c (unbind_to_hairy): fix brokenness introduced by
9900         nanosecond speed improvements.
9901
9902 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
9903
9904         * sunplay.c (init_device): To play sounds correctly, the device
9905         apparently needs to be initialized at least once by XEmacs.  Make
9906         it so.
9907
9908 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9909
9910         * redisplay.c (add_margin_runes): Add text image glyph
9911           handling.
9912
9913 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9914
9915         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
9916         gcc is newer than 2.5.
9917
9918 2000-04-06  Colin Rafferty  <colin@xemacs.org>
9919
9920         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
9921
9922         * fns.c (size_bit_vector):
9923         * alloc.c (size_vector):
9924         (make_vector_internal):
9925         (make_bit_vector_internal):
9926         (sweep_bit_vectors_1):
9927         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
9928
9929 2000-04-06  Andy Piper  <andy@xemacs.org>
9930
9931         * gmalloc.c (malloc): undo previous change.
9932         (malloc): ditto.
9933         (free): ditto.
9934         (realloc): ditto.
9935
9936 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
9937
9938         * line-number.c (buffer_line_number): Revert to former version.
9939
9940 2000-04-06  Andy Piper  <andy@xemacs.org>
9941
9942         * gmalloc.c (malloc): add error checking.
9943         (malloc): ditto.
9944         (free): ditto.
9945         (realloc): ditto.
9946
9947         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
9948         button_item_to_widget_value arg.
9949
9950         * glyphs-x.c (x_button_instantiate): add extra
9951         button_item_to_widget_value arg.
9952         (x_progress_gauge_instantiate): ditto.
9953         (x_edit_field_instantiate): ditto.
9954         (x_label_instantiate): ditto.
9955
9956         * gui-x.c (gui_items_to_widget_values_1): add extra
9957         button_item_to_widget_value arg.
9958         (button_item_to_widget_value): add extra menu_item_p arg.
9959
9960         * gui-x.h: change signature of button_item_to_widget_value.
9961
9962         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
9963         button_item_to_widget_value arg.
9964
9965 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9966
9967         * buffer.h (struct buffer): auto_save_modified should be long.
9968
9969 2000-04-05  Andy Piper  <andy@xemacs.org>
9970
9971         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
9972         type.
9973         (button_query_geometry): give a little more room so that athena
9974         buttons fit.
9975
9976 2000-04-05  Andy Piper  <andy@xemacs.org>
9977
9978         * faces.c (complex_vars_of_faces): The widget face should inherit
9979         the font of the gui-element face.
9980
9981 2000-04-04  Andy Piper  <andy@xemacs.org>
9982
9983         * glyphs-x.c (x_button_update): new function. unconditionally
9984         update a button's state when the instance is dirty.
9985         (image_instantiator_format_create_glyphs_x): add x_button_update.
9986         (x_widget_instantiate): remove old resize cruft.
9987
9988 2000-04-02  Andy Piper  <andy@xemacs.org>
9989
9990         * frame.c (change_frame_size_1): The introduction of gutters means
9991         that we need to allow 0 as a potential frame dimension.
9992
9993 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9994
9995         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
9996         image glyph if allow_cursor.
9997         (add_hscroll_rune): Don't allow cursor to border glyph.
9998         (create_text_block): Ditto.
9999
10000         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
10001         text not in buffer.
10002         (redisplay_output_layout): Call ensure_face_cachel_complete for
10003         text image glyph.
10004
10005
10006 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
10007
10008         * redisplay.c (add_glyph_rune): Adding text image as text runes.
10009
10010         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
10011         not in buffer
10012
10013         * redisplay-tty.c (tty_output_display_block): Delete the routine
10014         for text image glyph
10015         * redisplay-x.c (x_output_display_block): ditto
10016         * redisplay-msw.c (mswindows_output_display_block): ditto
10017
10018 2000-02-02  Mike Alexander  <mta@arbortext.com>
10019
10020         Note: Some of these were committed by accident as part of other
10021         patches.
10022
10023         * regex.c (regex_compile): Avoid compiler warnings.
10024
10025         * ntproc.c (sys_spawnve): Avoid compiler warnings.
10026
10027         * nt.h: Declare term_ntproc correctly.
10028
10029         * nt.c: Remove incorrect declaration of get_home_directory which
10030         is declared correctly in lisp.h.
10031
10032         * keymap.c (get_keyelt): Avoid compiler warnings.
10033         (raw_lookup_key_mapper): Avoid compiler warnings.
10034
10035         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
10036
10037         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
10038
10039         * filemode.c (mode_string): Avoid compiler warnings.
10040
10041         * file-coding.c (Fcoding_system_aliasee): Add return statement to
10042         avoid warning.
10043
10044         * events-mod.h: Undef some things that winuser.h defines differently.
10045
10046         * data.c (Faset): Avoid compiler warnings.
10047
10048         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
10049
10050 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10051
10052         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
10053         Fall through to simple beep on error.
10054         Replace "extern" by real header file.
10055
10056         * linuxplay.c: Use nativesound.h
10057         (play_sound_data): Return error code. Be less verbose on error.
10058
10059         * sunplay.c: Use nativesound.h
10060         (play_sound_data): Return error code. Be less verbose on error.
10061
10062         * ntplay.c: Use nativesound.h
10063         (play_sound_data): Return fake error code
10064
10065         * sgiplay.c: Use nativesound.h
10066         (play_sound_data): Return error code
10067
10068         * hpplay.c: Use nativesound.h, partially implement
10069         new error code. Break compilation until finished.
10070         (play_sound_data): error code.
10071
10072         * nativesound.h (play_sound_file):
10073           (play_sound_data): Prototype in new header.
10074
10075 2000-03-31  Andy Piper  <andy@xemacs.org>
10076
10077         * glyphs-widget.c: (button_query_geometry): new function. Adjust
10078         for toggle and radio buttons.
10079         (image_instantiator_buttons): use it.
10080
10081 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10082
10083         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
10084         (x_update_horizontal_scrollbar_callback): Return if no mirror was
10085         found. Scrollbar event probably belonged to some old config.
10086
10087 2000-03-31  Andy Piper  <andy@xemacs.org>
10088
10089         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
10090         than 1.
10091         (initialize_widget_image_instance): default layout to
10092         LAYOUT_HORIZONTAL rather than 0.
10093         (widget_instantiate): reverse the item list at the end rather than
10094         every iteration.
10095         (layout_layout): re-code for the border text at the front of the
10096         item list rather than at the end.
10097         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
10098         provided by the user.
10099         (widget_query_geometry): comment.
10100
10101 2000-03-30  Andy Piper  <andy@xemacs.org>
10102
10103         * glyphs-widget.c (image_instantiator_layout): allow standard
10104         widget keywords in layouts.
10105
10106         * gutter.c (output_gutter): cope with nil gutter contents.
10107
10108         * frame.c (Fset_frame_properties): add gutter docs.
10109
10110 2000-03-29  Andy Piper  <andy@xemacs.org>
10111
10112         * toolbar-msw.c (TBSTYLE_FLAT): add.
10113         (mswindows_output_toolbar): minor fiddling.
10114
10115 2000-03-29  Andy Piper  <andy@xemacs.org>
10116
10117         * gutter.c (output_gutter): force gutter size recalculation if
10118         what we are trying to display won't fit.
10119         (update_gutter_geometry): new function. A per-gutter version of
10120         update_frame_gutter_geometry.
10121         (update_frame_gutter_geometry): use it.
10122         (redraw_exposed_gutter): add extra debugging output.
10123
10124 2000-03-28  Mike Alexander  <mta@arbortext.com>
10125
10126         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
10127         (pdump_file_unmap): Implement it on Windows
10128         (pdump_file_get): Save alocated handles for pdump_file_unmap
10129
10130 2000-03-28  Andy Piper  <andy@xemacs.org>
10131
10132         * gui.c (get_gui_callback): treat Quit specially.
10133
10134 2000-03-27  Andy Piper  <andy@xemacs.org>
10135
10136         * glyphs.c (image_instantiate): be careful to check in the same
10137         way we assigned.
10138
10139 2000-03-27  Didier Verna  <didier@xemacs.org>
10140
10141         * config.h.in: define the proper SMART_INCLUDE macro.
10142         handle renaming of `foo_h_path' to `foo_h_file'.
10143
10144         * database.c: ditto.
10145
10146         * emacs.c: ditto.
10147
10148         * linuxplay.c: ditto.
10149
10150         * terminfo.c: ditto.
10151
10152         * tooltalk.h: ditto.
10153
10154 2000-03-27  Andy Piper  <andy@xemacs.org>
10155
10156         * glyphs-msw.c (mswindows_update_widget): make sure the widget
10157         gets updated whenever the face might have changed.
10158
10159 2000-03-26  Mike Alexander  <mta@arbortext.com>
10160
10161         * dumper.c (pdump_resource_free): Fix the comment.
10162
10163 2000-03-21  Olivier Galibert  <galibert@pobox.com>
10164
10165         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
10166
10167 2000-03-22  Mike Alexander  <mta@arbortext.com>
10168
10169         * dumper.c: Include Windows headers on Windows
10170         (pdump_resource_free): Add a body to the function
10171         (pdump_load): exe_name -> exe_path and add some comments.
10172
10173 2000-03-25  Mike Alexander  <mta@arbortext.com>
10174
10175         * gui.c (copy_gui_item_tree): Return a value in all cases
10176
10177 2000-03-21  Didier Verna  <didier@xemacs.org>
10178
10179         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
10180         lwlib/config.h.in.
10181         (SMART_INCLUDE): new macro.
10182         (POSTGRES_INCLUDE): new macro to include postgresql headers from
10183         the proper location.
10184
10185         * postgresql.c: use it.
10186
10187         * inline.c: ditto.
10188
10189 2000-03-24  Andy Piper  <andy@xemacs.org>
10190
10191         * gutter.c (redraw_exposed_gutters): must be "in display" when we
10192         do this.
10193
10194 2000-03-24  Andy Piper  <andy@xemacs.org>
10195
10196         * redisplay-output.c (compare_runes): use image_instance_changed
10197         to detect changes. Do not depend on glyphs_changed, only depend on
10198         dirtiness.
10199          (redisplay_output_layout): add debug messages.
10200         (compare_runes): ditto.
10201
10202         * glyphs.h: declare new functions.
10203         (struct Lisp_Image_Instance): remove percent and associated
10204         accessors.
10205
10206         * gui.h: declare new copying functions.
10207
10208         * gui.c (copy_gui_item_tree): new function.
10209         (copy_gui_item): new function.
10210         (gui_item_id_hash): revert to standard hash.
10211         (gui_item_hash): ditto.
10212         (gui_item_hash_internal): deleted.
10213         (mark_gui_item): mark value.
10214         (gui_item_add_keyval_pair): add value.
10215         (gui_item_init): ditto.
10216         (gui_add_item_keywords_to_plist): ditto.
10217         (gui_item_equal): ditto.
10218         (syms_of_gui): add Q_value.
10219
10220         * glyphs-x.c (x_progress_gauge_update): use pending items and
10221         value for setting the state.
10222         (x_update_widget): don't set items from pending here.
10223
10224         * glyphs-widget.c (update_widget): update items here.
10225         (progress_gauge_set_property): use items for storing value. Put
10226         new value in pending items.
10227
10228         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
10229         items for new value. Convert percent -> value.
10230         (mswindows_tab_control_update): don't update items here.
10231
10232         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
10233         (update_subwindow): ditto.
10234         (image_instance_changed): new function. Compare hash values and
10235         past and present widget items.
10236         (image_instantiate): We more careful about where we instantiate
10237         things.
10238         (image_instantiate): add error checking.
10239
10240         * gutter.c (syms_of_gutter): use -hook.
10241
10242 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
10243
10244         * console-tty.c (Fset_console_tty_input_coding_system): Use
10245         Qkeyboard.
10246         (Fset_console_tty_output_coding_system): Use Qterminal.
10247         (tty_init_console): Use Qkeyboard and Qterminal.
10248
10249 2000-03-21  Ben Wing  <ben@xemacs.org>
10250
10251         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
10252         From Mike Alexander <mta@arbortext.com>.
10253
10254 2000-03-21  Ben Wing  <ben@xemacs.org>
10255
10256         * event-msw.c (mswindows_need_event): Horrible kludge to fix
10257         process brokenness.  Proper implementation to come.
10258         * callproc.c:
10259         Rename call-process-internal to old-call-process-internal.
10260         New impl. in process.el.
10261
10262 2000-03-21  Martin Buchholz  <martin@xemacs.org>
10263
10264         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
10265
10266 2000-03-20  Andy Piper  <andy@xemacs.org>
10267
10268         * glyphs.c (full_list_hash): make hashes of the same elements in
10269         different orders return different values.
10270
10271 2000-03-20  Martin Buchholz <martin@xemacs.org>
10272
10273         * XEmacs 21.2.32 is released.
10274
10275 2000-03-20  Martin Buchholz  <martin@xemacs.org>
10276
10277         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
10278         (DFC_MALLOC_USE_CONVERTED_DATA):
10279         Add aliasing-safe casts to allow use with char* or unsigned char*
10280         lvalues.
10281
10282         * eldap.c (Fldap_open):
10283         (Fldap_search_basic):
10284         (Fldap_add):
10285         (Fldap_modify):
10286         Make C++-compilable.
10287         Make sure GCPRO'ed variables are initialized.
10288         Use temp variables to avoid repeated calls to Flength.
10289
10290 2000-03-16  Martin Buchholz  <martin@xemacs.org>
10291
10292         * sysfile.h:
10293         Make sure PATH_MAX is always defined.
10294         Include limits.h for PATH_MAX.
10295         Deprecate use of MAXPATHLEN.
10296
10297 2000-03-10  Martin Buchholz  <martin@xemacs.org>
10298
10299         * emacs.c: Add reinit_vars_of_fileio.
10300         * symsinit.h: Add reinit_vars_of_fileio.
10301         * fileio.c (reinit_vars_of_fileio): New.
10302         * fileio.c (Fmake_temp_name):
10303         Initialize temp_name random number from microseconds to make
10304         collisions even less likely.  Initialize always at process startup
10305         time.  (make-temp-name) used to return the same file name twice in
10306         a row when PDUMP.
10307         Random stylistic fiddling.
10308         Comment fixes.
10309
10310 2000-03-20  Andy Piper  <andy@xemacs.org>
10311
10312         * glyphs.c (image_instantiate): allow text glyphs to be
10313         instantiated in the minibuffer window.
10314
10315 2000-03-19  Andy Piper  <andy@xemacs.org>
10316
10317         * glyphs.c (image_instance_hash): be careful about which items we
10318         hash on.
10319
10320         * glyphs-widget.c (tab_control_set_property): record into pending
10321         items rather than the actual items.
10322
10323         * glyphs-x.c (x_update_widget): use pending items to update with.
10324
10325         * glyphs-msw.c (mswindows_tab_control_update): use pending items
10326         to update with.
10327
10328         * glyphs.c (mark_image_instance): mark pending items.
10329
10330         * window.c (Fset_window_configuration): record the buffer.
10331         (Fselect_window): totally revert previous change which breaks many
10332         things.
10333
10334 2000-03-18  Andy Piper  <andy@xemacs.org>
10335
10336         * glyphs-msw.c (mswindows_tab_control_update): force selected
10337         item.
10338
10339         * glyphs.c (image_instantiate): don't allow the minibuffer as a
10340         window domain cache, otherwise we get inconsistencies at
10341         startup. There is something fishy at startup which can lead to the
10342         minibuffer being the selected window when the gutter content is
10343         instantiated.
10344
10345         * gui.c (parse_gui_item_tree_list): add probably unnecessary
10346         gcpros.
10347         (parse_gui_item_tree_children): ditto.
10348         (parse_gui_item_tree_item): ditto.
10349
10350         * glyphs.c (Fupdate_widget_instances): return something.
10351
10352 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
10353
10354         * window.c (Fselect_window): Undo 2000-03-17 change.
10355
10356 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
10357
10358         * postgresql.c (Fpq_setenv): Remove this turkey when linking
10359         against v7.0 libraries.  Insta-coredump city until the postgres
10360         folks fix it.
10361
10362 2000-03-17  Andy Piper  <andy@xemacs.org>
10363
10364         * faces.c (complex_vars_of_faces): don't give the widget face an
10365         inherited background pixmap.
10366
10367         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
10368         selected item.
10369
10370         * event-stream.c (Fdispatch_non_command_events): return something.
10371
10372         * gutter.c (output_gutter): use widget face.
10373         (clear_gutter): ditto.
10374
10375         * NEWS: adjust again.
10376
10377         * window.c (Fselect_window): make sure this runs to completion to
10378         avoid oddities with Fset_window_configuration.
10379         (Fcurrent_window_configuration): in general do not save the
10380         minibuffer as the selected window.
10381
10382         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
10383
10384 2000-03-16  Olivier Galibert  <galibert@pobox.com>
10385
10386         * emacs.c (Frunning_temacs_p): Revert previous patch.
10387         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
10388
10389 2000-03-16  Andy Piper  <andy@xemacs.org>
10390
10391         * glyphs-x.c (x_tab_control_update): if no widget values then
10392         return.
10393
10394         * NEWS: update for new features.
10395
10396         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
10397         synthetic event to the native system.
10398         (reinit_vars_of_event_Xt): set force_event_pending to
10399         emacs_Xt_force_event_pending.
10400
10401         * events.h (struct event_stream): add force_event_pending.
10402
10403         * specifier.c (recompute_one_cached_specifier_in_window): add
10404         comment.
10405
10406         * redisplay.c (redisplay_frame): don't call
10407         update_frame_subwindows. Reset subwindow cachels when
10408         subwindows_changed, removing this was an optimization too far.
10409
10410         * redisplay-output.c (compare_runes): reorganize so that we catch
10411         glyph changes when we want them. Set optimize_output when this
10412         would help layouts.
10413         (redisplay_output_layout): remove frame_really_changed, use
10414         optimize_output instead.
10415
10416         * redisplay-msw.c (mswindows_output_display_block): reset
10417         optimize_output after outputting a glyph.
10418         * redisplay-x.c (x_output_display_block): ditto.
10419         * redisplay-tty.c (tty_output_display_block): ditto.
10420
10421         * gutter.c: (specifier_vars_of_gutter): use new spec changed
10422         functions.
10423         (gutter_specs_changed): do specific gutter positions.
10424         (top_gutter_specs_changed): new function. Only update the
10425         specified gutter specs.
10426         (bottom_gutter_specs_changed): ditto.
10427         (left_gutter_specs_changed): ditto.
10428         (right_gutter_specs_changed): ditto.
10429
10430         * gui.c (gui_item_hash_internal): new function, does a real hash.
10431         (gui_item_id_hash): use it.
10432         (gui_item_hash): hash the eval'ed gui_item.
10433
10434         * gui-x.c (popup_selection_callback): send an eval event to call
10435         Fupdate_widget_instances.
10436
10437         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
10438         to call Fupdate_widget_instances.
10439
10440         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
10441         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
10442
10443         * glyphs.c: (update_frame_subwindows): deleted.
10444         (Fupdate_widget_instances): new function for updating the dirty
10445         state of widgets that might have changed.
10446         (syms_of_glyphs): add Qupdate_widget_instances.
10447         (full_list_hash): hash a list completely.
10448         (image_instance_hash): use it for items and properties.
10449
10450         * frame-msw.c (mswindows_size_frame_internal): remove unused
10451         variable.
10452
10453         * faces.h (struct face_cachel): fix comment.
10454
10455         * event-stream.c (Fdispatch_non_command_events): new
10456         function. Process non-command events, forcing an event cycle
10457         beforehand.
10458         (syms_of_event_stream): declare.
10459         (event_stream_force_event_pending): new function. Force an event
10460         on the native event queue so that an event cycle will occur next
10461         time we check.
10462
10463         * event-msw.c:
10464         (struct ntpipe_shove_stream):
10465         (mswindows_enqueue_dispatch_event):
10466         (mswindows_dequeue_dispatch_event):
10467         (mswindows_cancel_dispatch_event):
10468         (mswindows_pump_outstanding_events):
10469         (mswindows_drain_windows_queue):
10470         (mswindows_handle_paint):
10471         (mswindows_wnd_proc):
10472         (mswindows_key_to_emacs_keysym):
10473         (get_process_input_waitable):
10474         (emacs_mswindows_delete_stream_pair): re-indent file.
10475         (mswindows_need_event): do not process further fds if the windows
10476         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
10477         fixes the 100% cpu problem.
10478         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
10479
10480 2000-03-15  Olivier Galibert  <galibert@pobox.com>
10481
10482         * alloc.h: New.
10483         * dumper.h: New.
10484         * dumper.c: New.
10485
10486         * emacs.c: Moved dump file searching to dumper.c.
10487         (Frunning_temacs_p): Fixed.
10488
10489         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
10490         last_lrecord_type_index_assigned.
10491
10492 2000-02-20  Olivier Galibert  <galibert@pobox.com>
10493
10494         * symsinit.h: Added reinit parameter to init_console_stream
10495         declaration.
10496
10497         * lisp.h: Added file parameter to pdump_load declaration.
10498
10499         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
10500         support.  Added dump file searching.
10501
10502         * config.h.in: Added EMACS_PROGNAME.
10503
10504         * console-stream.c (init_console_stream): Fix reinitialisation
10505         when running from temacs.
10506
10507         * alloc.c (pdump): Add id support.
10508         (pdump_load): Add file parameter and signature/id support.
10509
10510         * Makefile.in.in: Add full pdump support.
10511
10512 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
10513
10514         * postgresql.c: Update documentation to reflect latest code
10515         status.
10516         (print_result): Show tuple counts in printed representation when
10517         appropriate.
10518         (Fpq_put_nbytes): MULE-ize.
10519         (Fpq_get_line_async): Ditto.
10520
10521 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10522
10523         * postgresql.c (Fpq_lo_import): Fix return value.
10524         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
10525
10526 2000-03-13  Ben Wing  <ben@xemacs.org>
10527
10528         * alloc.c (pdump_load):
10529         Fix compile warning under mswin.
10530
10531 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10532
10533         * postgresql.c: Mule-ization, bug fixes.
10534         Use PG_CODING to encapsulate coding system name changes.
10535         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
10536         (pg-coding-system): Create.
10537
10538         (Fpq_conn_defaults): Mule-ize.
10539         (Fpq_connectdb): Mule-ize & bug fix.
10540         (Fpq_connect_start): Mule-ize.
10541         (Fpq_set_client_encoding): Mule-ize.
10542         (Fpq_finish): Document `DEAD' connection status.
10543         (Fpq_clear): Ditto.
10544         (Fpq_pgconn): Mule-ize.
10545         (Fpq_exec): Mule-ize & bug fix.
10546         (Fpq_send_query): Ditto.
10547         (Fpq_get_result): Ditto.
10548         (Fpq_res_status): Mule-ize.
10549         (Fpq_result_error_message): Mule-ize.
10550         (Fpq_ntuples): fix comments.
10551         (Fpq_fname): Mule-ize.
10552         (Fpq_fnumber): Mule-ize.
10553         (Fpq_ftype): fix comments.
10554         (Fpq_get_value): Mule-ize.
10555         (Fpq_cmd_status): Ditto.
10556         (Fpq_cmd_tuples): Ditto.
10557         (Fpq_oid_value): Ditto.
10558         (Fpq_notifies): Ditto.
10559         (Fpq_lo_import): Ditto.
10560         (Fpq_lo_export): Ditto.
10561         (Fpq_get_line): Ditto.
10562         (Fpq_put_line): Mule-ize and bug fix.
10563         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
10564
10565 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10566
10567         * postgresql.c (vars_of_postgresql): Mule-ize.
10568         (Fpq_conn_defaults): Ditto.
10569
10570 2000-03-12  Ben Wing  <ben@xemacs.org>
10571
10572         * alloc.c (Fmake_byte_code):
10573         * alloc.c (debug_string_purity_print):
10574         * alloc.c (pdump_backtrace):
10575         * alloc.c (pdump_get_indirect_count):
10576         * alloc.c (pdump_register_sub):
10577         * alloc.c (pdump_register_object):
10578         * alloc.c (pdump_register_struct):
10579         * alloc.c (pdump_dump_data):
10580         * alloc.c (pdump_reloc_one):
10581         Minor cleanups.
10582
10583         * console-msw.c:
10584         * console-msw.c (GetConsoleHwnd):
10585         * console-msw.c (msw_hide_console):
10586         * console-msw.c (msw_show_console):
10587         * console-msw.c (msw_ensure_console_buffered):
10588         * console-msw.c (msw_output_console_string):
10589         * console-msw.c (console_type_create_mswindows):
10590
10591         a) Added functions to manipulate the console window for use with
10592         shell support.
10593
10594         b) Added support for writing text to the console, which is now
10595         used under Windows when xemacs is not being run non-interactively,
10596         to write text that would otherwise be destined for stdout because
10597         under these circumstances, text written to stdout tends to
10598         disappear and not be seen.
10599
10600         * console-msw.h:
10601         * event-Xt.c:
10602         * event-Xt.c (x_event_to_emacs_event):
10603         * event-Xt.c (describe_event_window):
10604         * events-mod.h (XEMACS_MOD_CONTROL):
10605         * events.c:
10606         * events.c (Fmake_event):
10607         * events.c (character_to_event):
10608         * events.c (event_to_character):
10609         * events.c (format_event_object):
10610         * events.c (Fevent_modifiers):
10611         * events.h:
10612         * events.h (struct key_data):
10613         * events.h (struct button_data):
10614         * events.h (struct misc_user_data):
10615         * frame-x.c (Fcde_start_drag_internal):
10616         * frame-x.c (Foffix_start_drag_internal):
10617         * gpmevent.c (Freceive_gpm_event):
10618         * keymap.c:
10619         * keymap.c (bucky_sym_to_bucky_bit):
10620         * keymap.c (control_meta_superify):
10621         * keymap.c (make_key_description):
10622         * keymap.c (keymap_lookup_directly):
10623         * keymap.c (create_bucky_submap):
10624         * keymap.c (keymap_store):
10625         * keymap.c (define_key_check_and_coerce_keysym):
10626         * keymap.c (define_key_parser):
10627         * keymap.c (define_key_alternate_name):
10628         * keymap.c (Fdefine_key):
10629         * keymap.c (raw_lookup_key_mapper):
10630         * keymap.c (struct map_keymap_unsorted_closure):
10631         * keymap.c (map_keymap_unsorted_mapper):
10632         * keymap.c (map_keymap_sort_predicate):
10633         * keymap.c (map_keymap_sorted):
10634         * keymap.c (accessible_keymaps_mapper_1):
10635         * keymap.c (where_is_recursive_mapper):
10636         * keymap.c (describe_map_mapper):
10637         * keymap.c (describe_map_sort_predicate):
10638         * keymap.c (describe_map):
10639         * keymap.c (complex_vars_of_keymap):
10640         And a number of other files, the key modifier preprocessor
10641         constants that xemacs uses have names that conflict with constants
10642         defined under MS Windows for other purposes, so they were renamed
10643         to begin with the prefix XEMACS_. The variables that hold such
10644         modifiers were changed to consistently be of type int to fix
10645         various compile warnings.
10646
10647         * console.c (complex_vars_of_console):
10648         * device.c:
10649         * device-msw.c:
10650         * device-msw.c (mswindows_finish_init_device):
10651         * device-msw.c (msw_get_workspace_coords):
10652         * device-msw.c (mswindows_device_system_metrics):
10653         and various other files, added support for a new
10654         device property called offset-workspace which returns the position
10655         of the upper left corner of the workspace area and goes along with
10656         the existing size-workspace property.
10657
10658         * dialog-msw.c:
10659         * dialog-msw.c (push_bufbyte_string_as_unicode):
10660         * dialog-msw.c (mswindows_popup_dialog_box):
10661         Added support for XEmacs-style accelerator specifications in
10662         button text.  Note: I didn't add support for this under X Windows,
10663         and somebody needs to do this.
10664
10665         * dialog.c:
10666         * dialog.c (Fpopup_dialog_box):
10667         Documented the support for accelerators that was just mentioned.
10668
10669         editfns.c (get_home_directory): Changed behavior under Windows
10670         when HOME not defined; former behavior was irretrievably broken.
10671
10672         * emacs.c:
10673         * emacs.c (main_1):
10674         * emacs.c (main):
10675         * minibuf.c (clear_echo_area_internal):
10676         * minibuf.c (echo_area_append):
10677         * print.c:
10678         * print.c (std_handle_out_external):
10679         * print.c (std_handle_out_va):
10680         * print.c (fatal):
10681         * print.c (write_string_to_stdio_stream):
10682         * print.c (output_string):
10683         * print.c (debug_print):
10684         * print.c (debug_backtrace):
10685         * print.c (debug_short_backtrace):
10686         Cleaned up the code that prints text to stdout so that this can be
10687         changed to output into a console window instead under MS Windows,
10688         as described above.
10689
10690         * eval.c:
10691         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
10692         * eval.c (internal_catch):
10693         * eval.c (unwind_to_catch):
10694         * eval.c (throw_or_bomb_out):
10695         * eval.c (condition_case_1):
10696         * eval.c (signal_1):
10697         * eval.c (check_error_state_sanity):
10698         * eval.c (call_with_suspended_errors_1):
10699         * eval.c (call_with_suspended_errors):
10700         * eval.c (reinit_vars_of_eval):
10701         Added code to catch throw loops and check for a pesky bug that may
10702         be gone now.
10703
10704         * event-msw.c:
10705         * event-msw.c (key_needs_default_processing_p):
10706         * event-msw.c (mswindows_wnd_proc):
10707         * event-msw.c (mswindows_modifier_state):
10708         * event-msw.c (emacs_mswindows_quit_p):
10709         * event-msw.c (vars_of_event_mswindows):
10710         a) Added support for using the alt key to select menu items as is
10711         standard under MS Windows.  This is controlled using the variable
10712         menu-accelerator-enabled, just like under X Windows.  There is an
10713         option on the options menu to turn this support on.  I really
10714         think that it should be on by default under Windows, but I'm not
10715         going to make this change yet.
10716
10717         b)  Added support for dynamic display size changes under Windows.
10718
10719         * event-stream.c:
10720         * event-stream.c (maybe_echo_keys):
10721         * event-stream.c (Fnext_event):
10722         * event-stream.c (command_builder_find_leaf):
10723         * event-stream.c (lookup_command_event):
10724         * event-stream.c (execute_command_event):
10725         * event-stream.c (pre_command_hook):
10726         * event-stream.c (post_command_hook):
10727         * event-stream.c (syms_of_event_stream):
10728         * event-stream.c (vars_of_event_stream):
10729         * event-stream.c (complex_vars_of_event_stream):
10730         * events.h (struct command_builder):
10731
10732         a) Tried to clean up a little bit the horribly written x-specific
10733         accelerator code that crept into this file.  I moved this code
10734         into menubar-x.c where it belongs. I also needed to move the
10735         command builder structure into the file events.h because it is
10736         accessed directly by this accelerator code.  What I didn't do, but
10737         which should be done at some point, is to properly abstract this
10738         code using device methods instead of the kludgy way that it
10739         currently hooks into the event code.
10740
10741         b) Added the lisp variables this-command-properties and
10742         last-command- properties, which should be used to synchronize two
10743         adjacent commands in preference to playing games with the variable
10744         this-command, which is typically what happens.
10745
10746         c) Added some slightly nasty code to hook into the lisp support
10747         for shifted- motion-key selection.  This is actually necessary for
10748         somewhat complicated reasons, which are described in
10749         simple.el. (NB: I think the proper thing would be to have the code
10750         that calls the pre and post command hooks also call out to generic
10751         lisp functions in simple.el, where all built-in stuff could be
10752         added.  I will think about this more.)
10753
10754         * event-unixoid.c (poll_fds_for_input):
10755         * lread.c (readchar):
10756         * redisplay-tty.c (tty_clear_frame):
10757         * redisplay-x.c (x_get_gc):
10758         * signal.c (interrupt_signal):
10759         And a whole bunch of other files: fixed up places that printed
10760         directly to stderr to instead call the function stderr_out so that
10761         the changes I made under Windows work correctly.
10762
10763         * filemode.c (mode_string):
10764         Warning fixes.
10765
10766         * frame-msw.c:
10767         * frame-msw.c (mswindows_size_frame_internal):
10768         Fixed the computation of frame size and position to keep the frame
10769         within the workspace area, rather than within the physical
10770         dimensions of the screen, so that the frame doesn't overlap window
10771         manager decorations, such as the start menu and toolbar, typically
10772         at the bottom of the screen.
10773
10774         * frame.c (vars_of_frame):
10775         Changed the default frame title format under MS Windows to consist
10776         of buffername-XEmacs, which is standard under MS Windows.  I think
10777         it might be a good idea to change this everywhere because I think
10778         it is superior to the current frame title format, but this is the
10779         kind of change that is likely to cause some people to get annoyed,
10780         so I'm not making it.
10781
10782         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
10783
10784         * gui-msw.c (mswindows_handle_gui_wm_command):
10785         Fixed compile warnings.
10786
10787         * gui-x.c:
10788         * gui-x.c (strdup_and_add_accel):
10789         * gui-x.c (button_item_to_widget_value):
10790         * gui-x.h:
10791         Added code to automatically put an accelerator onto the beginning
10792         of menu items that don't have one as is now the standard, and is
10793         described more later.  Also fixed things so that the menu item
10794         name can be an evaluated expression, again a new standard.
10795
10796         * gui.c:
10797         * gui.c (gui_item_add_keyval_pair):
10798         * gui.c (make_gui_item_from_keywords_internal):
10799         * gui.c (gui_add_item_keywords_to_plist):
10800         * gui.c (gui_item_accelerator):
10801         * gui.c (gui_name_accelerator):
10802         * gui.c (gui_item_included_p):
10803         * gui.c (gui_item_display_flush_left):
10804         * gui.c (gui_item_display_flush_right):
10805         * gui.c (parse_gui_item_tree_item):
10806         * gui.c (parse_gui_item_tree_children):
10807         * gui.c (parse_gui_item_tree_list):
10808         Mule-ized.  Cleanup.  GCPRO addition.
10809
10810         * line-number.c (buffer_line_number):
10811         * lisp.h:
10812         * lisp.h (EMACS_INT_MAX):
10813         Added the manifest constant EMACS_INT_MIN corresponding to the
10814         existing constant EMACS_INT_MAX.  This is partially to fix compile
10815         warnings under Windows, and partly for cleanliness.
10816
10817         * menubar-msw.c:
10818         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
10819         * menubar-msw.c (msw_translate_menu_or_dialog_item):
10820         * menubar-msw.c (displayable_menu_item):
10821         * menubar-msw.c (populate_menu_add_item):
10822         * menubar-msw.c (populate_or_checksum_helper):
10823         * menubar-msw.c (populate_menu):
10824         * menubar-msw.c (update_frame_menubar_maybe):
10825         * menubar-msw.c (prune_menubar):
10826         * menubar-msw.c (msw_char_is_accelerator):
10827         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
10828         * menubar-msw.c (mswindows_handle_wm_command):
10829         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
10830         * menubar-msw.c (mswindows_handle_wm_initmenu):
10831         * menubar-msw.c (mswindows_update_frame_menubars):
10832         * menubar-msw.c (mswindows_free_frame_menubars):
10833         * menubar-msw.c (mswindows_popup_menu):
10834         Fixed a bug in handling accelerators where an extra character
10835         would be displayed in the menu item.  Also generalized the
10836         function displayable_menu_item because it is now used by the
10837         dialog box code as well.  And finally, added code in the functions
10838         that create the menubar to extract a list of accelerators for the
10839         top level menubar, which is used in the event code to determine
10840         whether a particular alt-key combination should be used to invoke
10841         a menu item, or should be passed through to access the standard
10842         XEmacs keymap binding for this key combination.
10843
10844         Much needed GCPROing.
10845
10846         * menubar-x.c:
10847         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10848         * menubar-x.c (menu_item_descriptor_to_widget_value):
10849         * menubar-x.c (restore_in_menu_callback):
10850         * menubar-x.c (x_popup_menu):
10851         * menubar-x.c (menu_move_up):
10852         * menubar-x.c (menu_move_down):
10853         * menubar-x.c (menu_move_left):
10854         * menubar-x.c (menu_move_right):
10855         * menubar-x.c (menu_select_item):
10856         * menubar-x.c (command_builder_operate_menu_accelerator):
10857         * menubar-x.c (menu_accelerator_junk_on_error):
10858         * menubar-x.c (command_builder_find_menu_accelerator):
10859         * menubar-x.c (Faccelerate_menu):
10860         * menubar.h:
10861         Moved a whole bunch of code here that was previously in
10862         event-stream.c as described above.  There is also code connected
10863         to the new standard of adding an accelerator to the beginning of
10864         menu items that don't have one as described above and below.
10865
10866         * menubar.c:
10867         * menubar.c (menu_parse_submenu_keywords):
10868         * menubar.c (Fmenu_find_real_submenu):
10869         * menubar.c (Fnormalize_menu_item_name):
10870         * menubar.c (syms_of_menubar):
10871         * menubar.c (vars_of_menubar):
10872         * menubar.c (complex_vars_of_menubar):
10873
10874         a) Cleaned up a bunch of documentation and improved it.
10875
10876         b) XEmacs now automatically adds an accelerator onto the beginning
10877         of any menu items that don't have one.  I did this because there
10878         will inevitably be some menu items on the main menubar that don't
10879         have accelerators on them because the package that adds that
10880         particular menu item hasn't yet been fixed up to have accelerators
10881         in them and it looked rather strange to have some items with and
10882         some items without accelerators, especially since even in items
10883         without accelerators, you can, at least under windows, still
10884         access the item through an accelerator corresponding to the first
10885         character in the item's name.  If people don't like this behavior,
10886         I can add a variable to turn it off optionally, but I'm not sure
10887         this is a good idea because we really do need to have accelerators
10888         on all of the menu items, and if a package doesn't like the
10889         accelerators being put on the first character, then it should put
10890         the accelerators where they belong.
10891
10892         c) I made a behavior change, which is that the descriptor that
10893         specifies the text of the menu item, which formerly was just a
10894         string, can now also be an evaluated expression.  This makes this
10895         descriptor parallel with all of the others, which could also be
10896         evaluated expressions.  This also obviates the need for the
10897         keyword :label, which was previously listed in the documentation
10898         as unimplemented, and which was for the same purpose.
10899
10900         d) GCPROing.
10901
10902         * ntproc.c:
10903         * ntproc.c (new_child):
10904         * ntproc.c (sys_spawnve):
10905         * ntproc.c (find_child_console):
10906         * ntproc.c (sys_kill):
10907         Fixed compile warnings.  By the way, this file should really go
10908         away entirely, and this will happen as soon as Kirill makes his
10909         final round of process cleanups, which affect the function
10910         call-process.
10911
10912         * process-nt.c:
10913         * process-nt.c (struct nt_process_data):
10914         * process-nt.c (find_process_from_pid):
10915         * process-nt.c (send_signal_the_nt_way):
10916         * process-nt.c (enable_child_signals):
10917         * process-nt.c (find_child_console):
10918         * process-nt.c (send_signal_the_95_way):
10919         * process-nt.c (nt_finalize_process_data):
10920         * process-nt.c (ensure_console_window_exists):
10921         * process-nt.c (nt_create_process):
10922         * process-nt.c (nt_kill_child_process):
10923         * process-nt.c (nt_kill_process_by_pid):
10924         * process-nt.c (nt_open_network_stream):
10925         * process-nt.c (vars_of_process_nt):
10926         Copied over code from Emacs 20.5 to correctly send signals to sub-
10927         processes under Windows 95.  Also added code to automatically
10928         create and hide console window when a sub-process is created under
10929         Windows 95, which obviates the need for the separate runemacs.exe
10930         executable, and finally implemented some variables that were
10931         implemented in Emacs 20.5, but previously not in XEmacs.  These
10932         include mswindows- start-process-share-console and
10933         mswindows-start-process-inherit-error-mode. (Both of these only
10934         apply to Windows 95.)
10935
10936         * regex.c (regex_compile): Fixed a compile warning.
10937
10938         * select-msw.c:
10939         * select-msw.c (mswindows_own_selection):
10940         * select-msw.c (mswindows_get_foreign_selection):
10941         * select-msw.c (mswindows_disown_selection):
10942         * select-msw.c (console_type_create_select_mswindows):
10943         * select-msw.c (syms_of_select_mswindows):
10944         Cleaned up the file and implemented the device method
10945         selection_exists_p, which had accidentally been left out.  Also
10946         removed four lisp functions that were remnants from before the
10947         time when the selection code was properly device abstracted.
10948         These functions are no longer needed because there are generic
10949         equivalents, and because they were added recently and don't exist
10950         in FSF Emacs, I don't think there's any problem with just deleting
10951         them.
10952
10953         * sysdep.c:
10954         * sysdep.c (sys_subshell):
10955         Fixed a compile warning, although in this case there's probably
10956         something wrong with this code, and it ought to be looked into
10957         more thoroughly by somebody who understands it.
10958
10959         * window.c:
10960         * window.c (Fwindow_text_area_height):
10961         * window.c (Fwindow_width):
10962         * window.c (Fwindow_full_width):
10963         * window.c (Fwindow_pixel_width):
10964         * window.c (debug_print_window):
10965         * window.c (syms_of_window):
10966         Added functions window-text-area-height and window-full-width,
10967         which are functions for returning various width and height
10968         characteristics of a window. (One of these functions is necessary
10969         for making the file dialog box work correctly, and the other one
10970         was added for completeness.)  Also added a table to the
10971         documentation for window-height which describes the entire scheme
10972         for accessing width and height characteristics of a window.
10973
10974 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10975
10976         * nt.c (fstat): Added a comment for another problem with
10977         non-encapsulated [f]stat(), reported by Adrian Aichner
10978         <aichner@ecf.teradyne.com>.
10979
10980 2000-03-11  Andy Piper  <andy@xemacs.org>
10981
10982         * window.c (make_dummy_parent): initialize subwindow instance
10983         cache.
10984         (Fset_window_configuration): zero extent_modiff.
10985
10986 2000-03-10  Andy Piper  <andy@xemacs.org>
10987
10988         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
10989         more changes can be triggered.
10990         (Fredisplay_frame): ditto.
10991         (Fredraw_device): ditto.
10992         (Fredisplay_device): ditto.
10993         (redisplay_frame): make non-static.
10994         (redisplay_frame): call update_frame_gutter_geometry outside of
10995         display proper.
10996
10997         * gutter.h: declare update_frame_gutter_geometry.
10998
10999         * redisplay.h: declare redisplay_frame.
11000
11001         * gutter.c (update_frame_gutter_geometry): move geometry changes
11002         in update_frame_gutters here. Geometry changes can only occur
11003         outside of redisplay.
11004         (update_frame_gutters): remove geometry change code.
11005         (Fredisplay_gutter_area): make sure that we are in display when we
11006         update and that we have flushed any size changes.
11007
11008 2000-03-11  Andy Piper  <andy@xemacs.org>
11009
11010         * alloc.c (pdump_dump_data): remove i & count shadows.
11011
11012 2000-02-27  Mike Alexander  <mta@arbortext.com>
11013
11014         * sysdep.h: Declare pdump_read_file
11015
11016         * sysdep.c (pdump_read_file): New function
11017
11018         * alloc.c (pdump_load): Call pdump_read_file to get the portable
11019         dump data
11020
11021 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
11022
11023         * lrecord.h: add `lrecord_type_pgsetenv'.
11024
11025 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
11026
11027         * symsinit.h: declare (vars|syms)_of* functions.
11028         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
11029
11030 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
11031
11032         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
11033
11034         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
11035         GCCs.
11036
11037         * emacs.c (main_1): Call postgres initialization code.
11038
11039         * postgresql.h: New file.  PostgreSQL RDBMS support.
11040         * postgresql.c: New file.
11041
11042 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
11043
11044         * redisplay-output.c (redisplay_output_display_block): Disable
11045         redundant code.
11046
11047 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11048
11049         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
11050         (Fcanna_henkan_next): Ditto.
11051         (Fcanna_bunsetu_henkou): Ditto.
11052         (Fcanna_henkan_kakutei): Ditto.
11053         (Fcanna_henkan_end): Ditto.
11054         (Fcanna_henkan_quit): Ditto.
11055         (Fcanna_henkan_next): Set retun value correctly.
11056         (c2mu): Use unsigned char instead of signed char.
11057
11058 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11059
11060         * emacs.c (main_1): Always call syms_of_gui.
11061         * inline.c: include gui.h
11062
11063 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11064
11065         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
11066         converted to Lisp_Object.
11067         (Qtop_bottom): New variable.
11068         (syms_of_redisplay): Initialize it.
11069         * redisplay.h (Vvisible_bell): Ditto.
11070         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
11071         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
11072         only flash top and bottom.
11073
11074 2000-03-08  Andy Piper  <andy@xemacs.org>
11075
11076         * buffer.c (Frename_buffer): record new buffer name the right way.
11077
11078 2000-03-08  Andy Piper  <andy@xemacs.org>
11079
11080         * glyphs.c (update_subwindow): increase hash depth so that widget
11081         items get picked up properly.
11082
11083         * redisplay-output.c (compare_runes): increase hash depth so that
11084         widget items get picked up properly.
11085
11086 2000-03-08  Andy Piper  <andy@xemacs.org>
11087
11088         * gutter.c (output_gutter): add some debug.
11089
11090         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
11091         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
11092         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
11093
11094         * redisplay-output.c (compare_runes): use display_hash to
11095         determine if glyphs really are not the same.
11096
11097         * glyphs.c (update_subwindow): check display_hash to see if
11098         anything really needs to be updated. If not then do
11099         nothing. Record the display_hash after updating.
11100         (image_instance_equal): compare the image_instance face also.
11101
11102 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
11103
11104         * redisplay.h: Fix comment style.
11105
11106 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11107
11108         * consle-msw.h (struct mswindows_frame):
11109         Added new member paint_pending to indicate whether a WM_PAINT
11110         magic event has been queued for this frame.
11111
11112         * event-msw.c (mswindows_drain_windows_queue):
11113         Don't queue a WM_PAINT magic event if one is already queued.
11114         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
11115
11116         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
11117
11118 2000-03-07  Didier Verna  <didier@xemacs.org>
11119
11120         * dired.c: #include `regex.h' after `sysfile.h'.
11121
11122 2000-03-06  Martin Buchholz  <martin@xemacs.org>
11123
11124         * sound.c (init_nas_sound): Fix compiler warning.
11125
11126         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
11127         (FREE_STRUCT_P):
11128         (MARK_STRUCT_AS_FREE):
11129         (MARK_STRUCT_AS_NOT_FREE):
11130         Make `gcc -fstrict-aliasing' work properly.
11131
11132 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11133
11134         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
11135         (mswindows_delete_device): Call CoUnnitialize().
11136
11137         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
11138
11139 2000-02-25    <CraigL@DyCon.com>
11140
11141         * process-nt.c: MinGW now has <shellapi.h>, but still needs
11142         <errno.h>.
11143
11144         * sysdep.c: This extern declaration for environ prevents MinGW
11145         from finding the variable in CRTDLL.DLL.
11146
11147         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
11148         windows headers.
11149         (SHGFI_EXETYPE): ..
11150         (WM_MOUSEWHEEL): ..
11151         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
11152         definitions.
11153         (MMRESULT): Removed, now defined in cygwin's windows headers.
11154         (TIMECAPS): ..
11155         (uid_t,gid_t,pid_t,ssize_t): ..
11156         (_timeb): Removed, MinGW defines both _timeb and timeb.
11157         (HAVE_H_ERRNO): Added.
11158         (HAVE_TZNAME): Added, configure is not detecting this.
11159
11160 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
11161
11162         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
11163         * syntax.c (syntax_match): Use it.
11164
11165         * cmds.c: Import auto-fill-chars from FSF Emacs.
11166         (Vauto_fill_chars): New variables.
11167         (internal_self_insert): Check Vauto_fill_chars.
11168         (vars_of_cmds):
11169         Declare auto-fill-chars as a Lisp variable and initialize it.
11170
11171 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11172
11173         * fileio.c (Fmake_symbolic_link):
11174         (Ffile_symlink_p):
11175         Run handlers even if local machine doesn't have symlinks.
11176
11177 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11178
11179         * event-msw.c (mswindows_drain_windows_queue):
11180         Don't generate paint magic events for non-XEmacs frames.
11181
11182 2000-03-05  Andy Piper  <andy@xemacs.org>
11183
11184         * redisplay.c (redisplay_frame): generate_displayable_area and
11185         friends assumes that we are not in GC, we therefore have to make
11186         sure that this doesn't happen.
11187
11188         * gutter.c (calculate_gutter_size): generate_displayable_area
11189         assumes that we are not in GC, we therefore have to make sure that
11190         this doesn't happen.
11191
11192 2000-03-05  Martin Buchholz  <martin@xemacs.org>
11193
11194         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
11195
11196 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
11197
11198         * redisplay.c (regenerate_window): Make sure we set a sane value
11199         for end_pos even if we jump out of the loop.
11200         (regenerate_window): Answer Ben's question :-).
11201         (start_end_of_last_line): Add may_error argument.
11202         (start_of_last_line):
11203         (end_of_last_line): Pass may_error = 0.
11204         (end_of_last_line_may_error): New function.
11205         (pixel_to_glyph_translation): Use it, so we don't crash in
11206         event_to_glyph.
11207
11208 2000-03-04  Andy Piper  <andy@xemacs.org>
11209
11210         * window.h (struct window): add gutter_extent_modiff.
11211
11212         * window.c (allocate_window): zero out gutter_extent_modiff.
11213
11214         * redisplay.h: declare sync_display_line_structs.
11215
11216         * redisplay.c (add_glyph_rune): add a better comment.
11217
11218         * redisplay-output.c (sync_display_line_structs): made non-static.
11219         (compare_runes): remove unneccesary glyph cachel access.
11220
11221         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
11222
11223         * gutter.c (output_gutter): don't output the gutter if extent
11224         changes only involve extents in buffers. use 4 sets of display
11225         lines.
11226         (gutter_extent_signal_changed_region_maybe): new function. Mark
11227         extents in gutters as changed.
11228         (update_frame_gutters): use 4 sets of display lines.
11229         (reset_gutter_display_lines): ditto.
11230         (free_frame_gutters): ditto.
11231         (redraw_exposed_gutter): force output of gutters.
11232
11233         * frame.h (struct frame): add 4 sets of gutter display lines.
11234
11235         * extents.c: (extent_changed_for_redisplay): signal changes to
11236         extents in strings in the gutter as well as extents in buffers.
11237
11238 2000-03-02  Andy Piper  <andy@xemacs.org>
11239
11240         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
11241
11242         * frame.c (Fmake_frame): make sure the gutters get initialized
11243         after the frame is visible.
11244         (set_frame_selected_window): re-arrange compilation macros a
11245         little.
11246         (change_frame_size_1): mark gutters changed.
11247
11248         * device.c (Fset_device_class): mark gutters changed.
11249
11250 2000-03-01  Andy Piper  <andy@xemacs.org>
11251
11252         * window.c (window_top_frame_gutter_height): deleted.
11253         (window_bottom_frame_gutter_height): ditto.
11254         (window_left_frame_gutter_height): ditto.
11255         (window_right_frame_gutter_height): ditto.
11256         (window_top_gutter_height): don't use them.
11257         (window_bottom_gutter_height): ditto.
11258         (window_left_gutter_width): ditto.
11259         (window_right_gutter_width): ditto.
11260         (Fsplit_window): ditto.
11261         (Fwindow_pixel_edges): don't use border dimensions here.
11262
11263         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
11264         (update_scrollbar_instance): ditto.
11265
11266         * redisplay.c (generate_modeline): don't take gutters into account.
11267         (generate_modeline): ditto.
11268         (redisplay_frame): small gutter display optimization.
11269
11270         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
11271
11272         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
11273         gutters into account.
11274
11275         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
11276         for window position and type.
11277
11278         * gutter.c (get_gutter_coords): fix for frame gutters.
11279         (update_frame_gutters): update frame geometry if the gutters have
11280         changed.
11281         (init_frame_gutters): record current gutter geometries.
11282
11283         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
11284         var.
11285         (mswindows_widget_instantiate): ditto.
11286
11287         * frame.h (struct frame): add current_gutter_bounds.
11288
11289         * frame.c (change_frame_size_1): position window and minibuffer
11290         appropriately taking into account the frame gutters.
11291
11292         * frame-x.c: (x_initialize_frame_size): take into account the
11293         frame gutters.
11294
11295 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
11296
11297         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
11298
11299 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
11300
11301         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
11302
11303 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11304
11305         * file-coding.c (reset_decoding_stream): Clear previous
11306         detection state when autodetect.
11307
11308 2000-02-29  Didier Verna  <didier@xemacs.org>
11309
11310         * extents.c (set_extent_glyph_1): don't require extents to be
11311         attached.
11312
11313 2000-02-27  Andy Piper  <andy@xemacs.org>
11314
11315         * gutter.c (Fset_default_gutter_position): don't default left and
11316         right gutter visibility to t.
11317         (Fset_default_gutter_position): run
11318         default-gutter-position-changed-hook.
11319         (syms_of_gutter): add default-gutter-position-changed-hook.
11320
11321 2000-02-26  Andy Piper  <andy@xemacs.org>
11322
11323         * specifier.c (Fmake_specifier): add gutter references.
11324
11325         * gutter.h (RAW_WINDOW_GUTTER): new macro.
11326
11327         * lisp.h: declare Fvalid_plist_p.
11328
11329         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
11330         as changed.
11331         (default_gutter_visible_p_changed_in_window): invalidate gutter as
11332         well as its visibility so that it gets reconstructed.
11333         (construct_window_gutter_spec): new function. Construct a string
11334         to be displayed in the gutter from a plist of strings. Take care
11335         to only use elements that are declared as visible.
11336         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
11337         WINDOW_GUTTER.
11338         (gutter_validate): allow plists of strings in the specifier.
11339         (gutter_specs_changed): construct the real_gutter from the gutter
11340         specs using construct_window_gutter_spec.
11341         (gutter_visible_validate): gutter-visible is a new specifier type.
11342         (Fgutter_visible_specifier_p): new function for the new specifier.
11343         (syms_of_gutter): declare gutter-visible and
11344         Fgutter_visible_specifier_p.
11345         (specifier_type_create_gutter): intitalize new gutter-visible
11346         specifier.
11347         (reinit_specifier_type_create_gutter): ditto.
11348         (specifier_vars_of_gutter): use new specifier type for gutter
11349         visibility.
11350         (init_frame_gutters): construct real_gutter correctly.
11351         (Fgutter_specifier_p): beef up documentation.
11352         (Fgutter_size_specifier_p): ditto.
11353
11354         * winslots.h: add real_gutter slots.
11355
11356 2000-02-25  Andy Piper  <andy@xemacs.org>
11357
11358         * device-msw.c: Be kind to older cygwin versions. From Raymond
11359         Toy <toy@rtp.ericsson.se>.
11360
11361         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
11362         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
11363
11364 2000-02-25  Martin Buchholz  <martin@xemacs.org>
11365
11366         * elhash.c (MARK_OBJ): Practice macro hygiene.
11367
11368 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11369
11370         * miscplay.c: s/__inline__/inline/g;
11371         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
11372         (get_device_compdc): INLINE ==> static inline
11373         * *.[ch]: Change INLINE to INLINE_HEADER globally.
11374         find -name '*.h' | \
11375         xargs global-replace \
11376         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
11377
11378 2000-02-25  Andy Piper  <andy@xemacs.org>
11379
11380         * window.c (window_top_frame_gutter_height): new function.
11381         (window_top_window_gutter_height): ditto.
11382         (window_top_gutter_height): use them.
11383         (window_bottom_frame_gutter_height): new function.
11384         (window_bottom_window_gutter_height): ditto.
11385         (window_bottom_gutter_height): use them.
11386         (window_left_window_gutter_width): new function.
11387         (window_left_frame_gutter_width): ditto.
11388         (window_left_gutter_width): use them.
11389         (window_right_window_gutter_width): new function.
11390         (window_right_frame_gutter_width): ditto.
11391         (window_right_gutter_width): use them.
11392         (window_pixel_height): new function. calulate window pixel height
11393         with frame gutter involvement.
11394         (Fsplit_window): calculate new sizes taking frame gutters into
11395         account.
11396         (window_char_height_to_pixel_height): don't include frame gutters.
11397         (window_char_height): use window_pixel_height.
11398         (window_pixheight): rename from window_pixel_height.
11399         (change_window_height): use it.
11400         (window_pixel_height_to_char_height): don't include frame gutters.
11401         (window_char_width_to_pixel_width): ditto.
11402
11403 2000-02-25  Andy Piper  <andy@xemacs.org>
11404
11405         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
11406         if it is.
11407
11408 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11409
11410         * alloc.c (staticpro):
11411         (staticpro_nodump):
11412         (dumpstruct):
11413         (dumpopaque):
11414         (pdump_wire):
11415         (pdump_wire_list):
11416         (compact_string_chars):
11417         (pdump_dump_wired):
11418         Convert:  if (foo) abort();  ==>  assert (! foo);
11419
11420         * eldap.c (Fldap_search_basic):
11421         (Fldap_add):
11422         (Fldap_modify):
11423         (Fldap_delete):
11424         Fix compiler warnings, and possible crashes if (random) return
11425         value were to be used.
11426
11427 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11428
11429         * device-msw.c: Workaround ResetDC failure.
11430
11431         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
11432         applying a devmode.
11433
11434         * redisplay-msw.c (get_frame_dc): Added start_page_p.
11435         (mswindows_text_width): Do not start printer page.
11436
11437         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
11438
11439         * glyphs-msw.c: Added image methods to msprinter console and
11440         msprinter-specific image instantiation.
11441
11442 2000-02-20  Mike Alexander  <mta@arbortext.com>
11443
11444         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
11445         to avoid crashes when selection-sets-clipboard is on
11446         (mswindows_own_selection): ditto
11447
11448 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11449
11450         * glyphs-msw.c:
11451         * redisplay-msw.c (get_frame_dc):
11452         (get_frame_compdc):
11453         * console-msw.h:
11454         * device-msw.c (mswindows_init_device):
11455         (mswindows_delete_device):
11456         (msprinter_init_device):
11457         (msprinter_delete_device):
11458         * frame-msw.c (mswindows_init_frame_1):
11459         (mswindows_delete_frame):
11460         (msprinter_init_frame_3):
11461         (msprinter_delete_frame): Move compatible DC to device object from
11462         frame object, for both mswindows and msprinter. Only one at a time
11463         is needed, it is a real waste to have one per frame!
11464
11465 2000-02-23  Andy Piper  <andy@xemacs.org>
11466
11467         * glyphs.c: add dynamic width and height elements.
11468         (image_instance_equal): ditto.
11469
11470         * glyphs-widget.c (widget_query_geometry): calculate width and
11471         height dynamically if required.
11472         (initialize_widget_image_instance): initialize dynamic dimensions.
11473         (widget_instantiate): pick-up dynamic dimensions.
11474
11475         * glyphs.h (struct Lisp_Image_Instance): add width and height for
11476         dynamic determination. Add appropriate macros.
11477
11478         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
11479         dimensions safe.
11480         (WINDOW_GUTTER_SIZE): ditto.
11481         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
11482
11483         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
11484         inline.
11485         (get_frame_dc): ditto.
11486
11487         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
11488         here.
11489
11490 2000-02-23  Martin Buchholz <martin@xemacs.org>
11491
11492         * XEmacs 21.2.31 is released.
11493
11494 2000-02-22  Ben Wing <ben@xemacs.org>
11495
11496         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
11497
11498 2000-02-22  Andy Piper  <andy@xemacs.org>
11499
11500         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
11501
11502 2000-02-21  Mike Sperber <mike@xemacs.org>
11503
11504         * .dbxrc:
11505         * .gdbinit:
11506         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
11507         variables.
11508
11509 2000-02-21  Mike Sperber <mike@xemacs.org>
11510
11511         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
11512
11513 2000-02-21  Martin Buchholz <martin@xemacs.org>
11514
11515         * XEmacs 21.2.30 is released.
11516
11517 2000-02-20  Martin Buchholz  <martin@xemacs.org>
11518
11519         Performance hacking.
11520         * *.c (syms_of_*):
11521         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
11522         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
11523         * emacs.c (main_1):
11524         * lisp.h (DEFUN):
11525         * console.c (DEFVAR_CONSOLE_LOCAL_1):
11526         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
11527         * symeval.h (DEFVAR_SYMVAL_FWD):
11528         * symbols.c (guts_of_unbound_marker):
11529         Make all c_readonly objects also lisp_readonly and marked for life.
11530         * lrecord.h (struct lrecord_implementation):
11531         Document flags better.
11532         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
11533         * lrecord.h (DECLARE_LRECORD):
11534         * lrecord.h (XSETRECORD):
11535         * lrecord.h (RECORDP):
11536         * lrecord.h (RECORD_TYPEP):
11537         * lrecord.h (RECORD_MARKER): New.
11538         * lrecord.h (error_check_*):
11539         * lrecord.h (CONCHECK_NONRECORD):
11540         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
11541         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
11542         * lrecord.h (set_lheader_implementation):
11543         * lrecord.h (enum lrecord_type): New.
11544         * symeval.h (SYMBOL_VALUE_MAGIC_P):
11545         * alloc.c (disksave_object_finalization_1):
11546         * alloc.c (mark_object):
11547         * alloc.c (lrecord_type_index):
11548         * alloc.c (tick_lcrecord_stats):
11549         * alloc.c (Fgarbage_collect):
11550         * alloc.c (init_alloc_once_early):
11551         * alloc.c (pdump_load):
11552         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
11553         * alloc.c (lrecord_type_index): Delete.
11554         Make lisp object type indexes be constant.
11555           Makes (byte-compile) 5% faster.
11556         Put all marker functions into their own array.
11557           Makes (garbage-collect) 5% faster.
11558         Optimize SYMBOL_VALUE_MAGIC_P.
11559           Makes (byte-compile) 2-3% faster.
11560         * config.h.in (gc_checking_assert): New.
11561         * alloc.c: Use gc_checking_assert().
11562         * .dbxrc: Make compatible with new object type implementation.
11563         * .gdbinit: Make compatible with new object type implementation.
11564         * alloc.c: Delete all symbols defined only for debugging, such as
11565         Lisp_Type_Vector and lrecord_charset.
11566
11567 2000-02-21  Andy Piper  <andy@xemacs.org>
11568
11569         * gui-msw.c (Fmswindows_shell_execute): fix file location
11570         problems.
11571
11572         * buffer.c (Fkill_buffer): remove buffer from alist buffer
11573         unshowing so that set_window_buffer doesn't undo
11574         kill_buffer_hook's hard work.
11575
11576         * glyphs-widget.c (tab_control_query_geometry): don't count the
11577         first item when calculating geometry.
11578
11579         * glyphs.c (map_subwindow): remove redundant code.
11580         (update_frame_subwindows): be more circumspect about when to
11581         update subwindows.
11582
11583         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
11584         when items haven't changed. Update faces if faces have changed as
11585         well as just the widget face.
11586         (x_tab_control_update): Update faces if faces have changed as well
11587         as just the widget face.
11588
11589 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11590
11591         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
11592         registration.
11593         (build_syscolor_string): Use mswindows_color_to_string to try to
11594         get a named color.
11595         (mswindows_device_system_metrics): Reverse the foreground and
11596         background colors so that they match the documentation.
11597
11598         * objects-msw.c: (mswindows_X_color_map): tweak some values so
11599         they match the default Windows palette.
11600         (mswindows_color_to_string): New function.
11601
11602 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11603
11604         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
11605
11606 2000-02-18  Olivier Galibert  <galibert@pobox.com>
11607
11608         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
11609         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
11610
11611         * symbols.c (init_symbols_once_early): Removed obsolete
11612         DATA_SEG_BITS related kludge.
11613         (defvar_magic): Ditto.
11614
11615         * malloc.c: Removed obsolete DATA_SEG_BITS
11616         * ralloc.c: Ditto.
11617         * mem-limits.h: Ditto.
11618
11619         * Makefile.in.in: Removed obsolete HAVE_SHM
11620         * emacs.c: Ditto.
11621
11622 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11623
11624         *  device-msw.c (mswindows_delete_device): Free DDE string
11625         handles.
11626
11627 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11628
11629         * keymap.c (get_keyelt):
11630         * unexnt.c (unexec):
11631         * vm-limit.c (memory_warnings):
11632         * ntheap.c (recreate_heap):
11633         * ntheap.h (UNINIT_PTR):
11634         * select-msw.c (Fmswindows_get_clipboard):
11635         (Fmswindows_set_clipboard):
11636         * objects-msw.h (MSWINDOWS_BAD_HFONT):
11637         * objects-msw.c:
11638         * menubar-msw.c (displayable_menu_item):
11639         * glyphs-msw.c:
11640         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
11641         * sysdep.c (sys_subshell):
11642         * process-nt.c (nt_create_process):
11643         * nt.c (normalize_filename):
11644         (dostounix_filename):
11645         (unixtodos_filename):
11646         * ntproc.c (win32_executable_type):
11647         * ntplay.c (play_sound_data_1):
11648         (play_sound_file):
11649         * editfns.c (get_home_directory):
11650         * event-msw.c (struct winsock_stream):
11651         (mswindows_dde_callback):
11652         * device-msw.c (msprinter_init_device):
11653         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
11654
11655         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
11656         mswindows_clear_toolbar were swapped!
11657
11658         * objects-msw.c:(colormap_t):
11659         (fontmap_t):
11660         * emacs.c (struct standard_args): Fixed const jumble.
11661
11662         * glyphs-widget.c (update_widget): Fixed comparison notation.
11663
11664         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
11665
11666         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
11667         __declspec(noreturn) syntax.
11668
11669 2000-02-19  Martin Buchholz  <martin@xemacs.org>
11670
11671         * eldap.c (Fldap_open):
11672         (Fldap_search_basic):
11673         (Fldap_add):
11674         (Fldap_modify):
11675         Use new coding system conversion macros.
11676
11677 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11678
11679         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
11680
11681 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
11682
11683         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
11684         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11685
11686         * eldap.c (Qadd, Qreplace): New constant symbols
11687         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
11688         interruptions by XEmacs signals
11689         Remove unnecessary calls to slow_down_interrupts and
11690         speed_up_interrupts
11691         (Fldap_search_basic): Renamed from Fldap_search_internal
11692         Added new optional parameter VERBOSE that triggers the
11693         display of progress messages
11694         Remove unnecessary calls to slow_down_interrupts and
11695         speed_up_interrupts
11696         LDAP result code analysis rewritten
11697         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11698         (syms_of_eldap): Define the new symbols and functions
11699
11700
11701 2000-02-17  Martin Buchholz  <martin@xemacs.org>
11702
11703         * realpath.c: Determine PATH_MAX maximally portably.
11704
11705         * insdel.c (bytecount_to_charcount): Optimize.
11706         The function used to be optimized for entirely ASCII sequences.
11707         Now it is optimized for successive characters from the same
11708         charset.  This also wins big for _mostly_ ASCII sequences.
11709
11710         * fileio.c (Ffile_truename): convert return from realpath() using
11711         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
11712         - Rewrite GCPROing slightly.
11713
11714         * sysdep.c (sys_open): Do filename conversion, like all other
11715         sys_* functions.  Fixes bug:
11716         (let ((file-name-coding-system 'iso-8859-2))
11717            (write-region x y latin2-name))
11718         ==> writes filename using internal encoding.
11719
11720 2000-02-18  Martin Buchholz  <martin@xemacs.org>
11721
11722         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
11723         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
11724         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
11725         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
11726         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
11727         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
11728         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
11729         (CONST_IF_NOT_DEBUG): Delete.
11730         * alloc.c (this_one_is_unmarkable): Delete.
11731         (mark_object): Don't check for this_one_is_unmarkable. Use the
11732         c_readonly flag instead.
11733         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
11734
11735 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11736
11737         * event-msw.c (mswindows_drain_windows_queue):
11738         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
11739         away redundant repaint events.
11740
11741 2000-02-17  Andy Piper  <andy@xemacs.org>
11742
11743         * redisplay.h: declare mark_redisplay_structs.
11744
11745         * redisplay.c (redisplay_window):
11746         (redisplay_frame): don't check subwindows_state_changed.
11747         (mark_redisplay): mark gutters here.
11748
11749         * glyphs.c: (instantiate_image_instantiator): always layout if we
11750         haven't done so already.
11751         (allocate_image_instance): don't mark as dirty.
11752         (update_subwindow): bind inhibit_quit.
11753
11754         * gutter.c (mark_gutters): new function.
11755
11756         * glyphs-x.c (x_update_widget): Always resize to get round a
11757         widget bug.
11758
11759         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
11760         breaking absolutely everything.
11761
11762         * gutter.h: declare mark_gutters.
11763
11764 2000-02-16  Martin Buchholz <martin@xemacs.org>
11765
11766         * XEmacs 21.2.29 is released.
11767
11768 2000-02-15  Olivier Galibert  <galibert@pobox.com>
11769
11770         * fns.c (size_bit_vector): Fix computation of the size.
11771
11772 2000-02-15  Martin Buchholz  <martin@xemacs.org>
11773
11774         * *.[ch]: Change CONST to const globally.
11775         find -name '*.[ch]' | \
11776         xargs global-replace \
11777         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
11778         - Remove vestigial references to CONST_IS_LOSING
11779
11780 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11781
11782         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
11783         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
11784         events instead of dispatching them directly.
11785         (mswindows_handle_paint): New function to do repainting.
11786         (mswindows_wnd_proc):
11787         (emacs_mswindows_handle_magic_event): Call above function.
11788
11789 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11790
11791         * objects-msw.c (mswindows_create_font_variant): Return the new
11792         font handle.
11793         (initialize_font_instance): Get font metrics from the underlined
11794         variant of the font to cope with the case where the underlined
11795         font has a bigger descent.
11796
11797 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11798
11799         * gui.c (gui_item_accelerator): Return the first underlined
11800         character in item name.
11801
11802 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11803
11804         * lisp.h: Added Qprinter.
11805
11806         * general.c (syms_of_general): Initialized it.
11807
11808         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
11809         (get_frame_dc):
11810         (get_frame_compdc): Made inline.
11811
11812         * console.h (struct console_methods): Added eject_page method.
11813
11814         * frame.h: Added FRAME_DISPLAY_P and friends.
11815         Aligned backslahes in many macros in more readable fashion.
11816         Added page_number to struct frame, and an accessor macro
11817         for it.
11818
11819         * defice.h: Added DEVICE_DISPLAY_P and friends.
11820
11821         * device.c (Fdevice_printer_p): Used these.
11822
11823         * frame.c (allocate_frame_core): Initialize page number.
11824         (Fprint_job_page_number):
11825         (Fprint_job_eject_page): Implemented.
11826
11827         * frame-msw.c (msprinter_eject_page): Added method.
11828         (msprinter_start_page): Added.
11829
11830         * window.c (Fwindow_truncated_p): Fixed docstring.
11831         (Fwindow_last_line_visible_height): Implemented.
11832
11833 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11834
11835         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
11836
11837 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11838
11839         * syntax.c (scan_words): Always advance at least one character.
11840
11841 2000-02-13  Andy Piper  <andy@xemacs.org>
11842
11843         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
11844         to make sure the glyph is in the cachels.
11845
11846         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
11847         global image instance flag.
11848         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
11849         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
11850
11851         * glyphs.c (allocate_image_instance): set dirty bits correctly.
11852         (Fset_image_instance_property): mark layout as changed.
11853         (invalidate_glyph_geometry_maybe): mark layout as changed.
11854         (glyph_width): use new NEEDS_LAYOUT macro.
11855         (glyph_ascent): ditto.
11856         (glyph_descent): ditto.
11857         (glyph_height): ditto.
11858         (image_instance_layout): mark layout as clean after laying out.
11859         (update_subwindow): don't mark layout as clean here.
11860
11861         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
11862         should no longer be needed.
11863
11864         * glyphs-x.c (x_update_widget): sanitize asserts.
11865         (x_finalize_image_instance): sanitize assignment to widgets.
11866
11867         * glyphs-widget.c (widget_instantiate): don't need to clear the
11868         layout flag here.
11869
11870 2000-02-13  Martin Buchholz  <martin@xemacs.org>
11871
11872         * sysdep.c (getcwd): Use standard prototype.
11873         * sysdep.h (getcwd): Use standard prototype.
11874
11875         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
11876         (sequence, start, end).
11877         Remove redundant type checking.
11878         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
11879         view of `caller-protects') to avoid a crash where the real fix was
11880         found elsewhere.
11881
11882 2000-02-12  Martin Buchholz  <martin@xemacs.org>
11883
11884         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
11885
11886         * s/sol2.h: Remove feature macro initialization.
11887
11888         * alloc.c (alloc_lcrecord): Add more type checking assertions.
11889         (vector_hash): New.  Code from internal_hash.
11890         * lrecord.h:
11891         Fix up allocation subsystem comments.
11892
11893         * config.h.in: Add __EXTENSIONS__ for Solaris.
11894
11895         * systime.h (EMACS_GETTIMEOFDAY): New.
11896         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
11897         Remove Solaris-specific code.
11898         Use void* for the (ignored) second arg for gettimeofday().
11899
11900         * elhash.c (hash_table_hash): Implement it, finally.
11901         * elhash.c:  Use hashcode_t.
11902
11903         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
11904         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
11905
11906         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
11907         * fns.c (size_bit_vector):
11908         * alloc.c (size_vector):
11909         (make_vector_internal):
11910         (make_bit_vector_internal):
11911         (sweep_bit_vectors_1):
11912         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
11913
11914 2000-02-10  Martin Buchholz  <martin@xemacs.org>
11915
11916         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
11917         Include strings.h to avoid warnings for bzero and strcasecmp.
11918
11919 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11920
11921         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
11922         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
11923
11924         * fns.c (size_bit_vector): New.  Declare bit vectors as a
11925         sequence.
11926
11927 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11928
11929         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
11930         use a value field instead.
11931         (symbol_value_forward_forward): Use value field.
11932         (DEFVAR_SYMVAL_FWD): Use value field.
11933         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
11934         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
11935         (DEFVAR_CONST_INT): Ditto.
11936         (DEFVAR_BOOL): Ditto.
11937         (DEFVAR_CONST_BOOL): Ditto.
11938         (DEFVAR_INT_MAGIC): Ditto.
11939         (DEFVAR_BOOL_MAGIC): Ditto.
11940
11941         * symbols.c (guts_of_unbound_marker): Use value field.
11942         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
11943         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
11944
11945         * lisp.h: Declare dumpopaque and noninteractive1.
11946
11947         * alloc.c (dumpopaque): Added.
11948         (pdump_dump_opaquevec): Added.
11949         (pdump): Call pdump_dump_opaquevec to dump opaque data.
11950         (pdump_load): Reload opaque data.  Sync noninteractive1 with
11951         noninteractive.
11952
11953 2000-02-10  Andy Piper  <andy@xemacs.org>
11954
11955         * glyphs.c (image_instance_layout): if the size changes, mark it
11956         as such.
11957
11958         * redisplay-output.c (redisplay_output_layout): Update the
11959         subwindow here.
11960         (redisplay_output_subwindow): ditto.
11961
11962         * glyphs.c (update_subwindow): make sure we reset flags for
11963         layouts as well as everything else.
11964
11965         * glyphs-widget.c (layout_layout): don't need to set the instances
11966         dimensions here.
11967
11968 2000-02-09  Martin Buchholz  <martin@xemacs.org>
11969
11970         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
11971         not HAVE_DLOPEN, which is a lower-level thing.
11972
11973         * .cvsignore: Ignore gmon.out
11974
11975 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
11976
11977         * .cvsignore: Ignore portable dumper xemacs.dmp file
11978
11979 2000-02-09  Andy Piper  <andy@xemacs.org>
11980
11981         * redisplay-output.c (redisplay_output_layout): be more clever
11982         about when we output based on the changed flags.
11983
11984         * glyphs.h (struct image_instantiator_methods): add update_method.
11985         (struct Lisp_Image_Instance): add changed flags. Declare new
11986         macros for manipulating them.
11987
11988         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
11989         (image_instance_parent_glyph): find an image_instance's parent
11990         glyph or image_instance.
11991         (image_instance_layout): mark the size as changed.
11992         (set_image_instance_dirty_p): new function. mark an image
11993         instance, plus all of its parents, as dirty.
11994         (Fset_image_instance_property): use it.
11995         (Fglyph_animated_timeout_handler): use it.
11996         (update_subwindow): call update_widget and device methods for
11997         update_subwindow. Mark all changed flags as clean.
11998         (Fresize_subwindow): mark size as changed.
11999
12000         * glyphs-x.c (x_finalize_image_instance): try and detect gc
12001         failures.
12002         (x_update_subwindow): only resize subwindows here.
12003         (x_update_widget): new function. Update all changed properties of
12004         a widget.
12005         (x_resize_subwindow): deleted.
12006         (x_widget_set_property): deleted.
12007         (x_progress_gauge_set_property): deleted.
12008         (x_progress_gauge_update): new function. Implement recorded
12009         changes.
12010         (x_tab_control_update): ditto.
12011         (x_tab_control_set_property): deleted.
12012         (console_type_create_glyphs_x): declare new functions.
12013         (image_instantiator_format_create_glyphs_x): ditto.
12014
12015         * glyphs-widget.c (widget_set_property): mark text changed.
12016         (update_widget): new function. Update properties of a widget.
12017         (widget_instantiate): for layouts make sure we set their
12018         children's parent correctly.
12019         (tab_control_set_property): new function. Record changes that will
12020         take place under redisplay's control.
12021         (progress_gauge_set_property): ditto.
12022         (image_instantiator_progress_guage): declare new functions.
12023         (image_instantiator_tab_control): ditto.
12024
12025         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
12026         now.
12027         (mswindows_update_widget): new function. Update all properties on
12028         a widget that have changed.
12029         (mswindows_button_update): new function. Update a button's set
12030         state.
12031         (mswindows_tab_control_update): new function. Update the items in
12032         a tab.
12033         (mswindows_tab_control_set_property): deleted.
12034         (mswindows_progress_gauge_update): new function. Update the
12035         progress gauge's progress.
12036         (mswindows_widget_set_property): deleted. This is all done
12037         asynchronously now.
12038         (mswindows_progress_gauge_set_property): ditto.
12039         (console_type_create_glyphs_mswindows): declare new methods.
12040         (image_instantiator_format_create_glyphs_mswindows): ditto.
12041
12042         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
12043         (msprinter_set_frame_properties): ditto.
12044
12045         * console.h (struct console_methods): Add update_widget_method.
12046
12047 2000-02-09  Andy Piper  <andy@xemacs.org>
12048
12049         * gui-msw.c (Fmswindows_shell_execute): Make
12050         mswindows-shell-execute industrial strength.
12051
12052 2000-02-08  Martin Buchholz  <martin@xemacs.org>
12053
12054         * lrecord.h: Make macro argument `props' match member function `plist'.
12055         * fns.c (Fget):
12056         * fns.c (Fput):
12057         * fns.c (Fremprop):
12058         * fns.c (Fobject_plist):
12059         * alloc.c:
12060         * symbols.c:
12061         Object property list frobbing cleanup.
12062         - Allow any lisp object (compared with `eq'), not just symbols, as
12063           keys in object plists.
12064         - Move symbol plist frobbing into symbols.c, where it belongs.
12065         - Move string plist frobbing into alloc.c, where it belongs.
12066         - Everything's an lrecord now, so no need to test for symbolp, etc.
12067         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
12068
12069         * extents.c: Reorder code to remove declarations.
12070
12071         * frame.h (store_in_alist): Remove useless declaration.
12072
12073 2000-02-07  Martin Buchholz  <martin@xemacs.org>
12074
12075         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
12076         * config.h.in: Add HAVE_XCONVERTCASE.
12077
12078 2000-02-07  Andy Piper  <andy@xemacs.org>
12079
12080         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
12081         it breaks many things.
12082
12083 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
12084
12085         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
12086         actually can start a common comment type.
12087         * src/syntax.h (SYNTAX_END_P): ditto for end.
12088
12089 2000-02-07  Martin Buchholz <martin@xemacs.org>
12090
12091         * XEmacs 21.2.28 is released.
12092
12093 2000-02-06  Martin Buchholz  <martin@xemacs.org>
12094
12095         * event-Xt.c (x_keysym_to_character): New.
12096         (maybe_define_x_key_as_self_inserting_character): New.
12097         (x_has_keysym): New.
12098         Auto-define all keys on the keyboard as self-insert-key.
12099
12100 2000-02-02  Martin Buchholz  <martin@xemacs.org>
12101
12102         * menubar.c (vars_of_menubar): A small code simplification.
12103
12104         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
12105
12106         * ExternalShell.c:
12107         * ExternalClient.c:
12108         * EmacsShell-sub.c:
12109         * EmacsManager.c:
12110         * EmacsFrame.c:
12111         Use consistent style for specifying X resources.
12112
12113         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
12114         This makes (dontusethis-set-symbol-value-handler) actually usable.
12115
12116         * lrecord.h (lrecord_decription_type):
12117         * alloc.c (pdump_register_sub):
12118         (pdump_dump_data):
12119         (pdump_reloc_one):
12120         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
12121         Comply with XEmacs coding style.
12122         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
12123         args, and XD_LISP_OBJECT_ARRAY with 3 args.
12124
12125         * keymap.c (Faccessible_keymaps):
12126         Make (accessible-keymaps map "\C-h") do the Right Thing.
12127         Make (accessible-keymaps map []) do the Right Thing.
12128         Make (accessible-keymaps map "") do the Right Thing.
12129         (check_keymap_definition_loop): New function.
12130         (keymap_store_internal): Keep luser from shooting self in foot,
12131           via (define-key ctl-x-4-map "p" global-map).
12132         Remove fullness slot from struct Lisp_Keymap, since hash tables
12133         are now reliable.
12134         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
12135
12136 2000-01-30  Martin Buchholz  <martin@xemacs.org>
12137
12138         * redisplay.c (init_redisplay): Fix small memory leak.
12139         * elhash.h:
12140         * elhash.c (pdump_reorganize_hash_table):
12141         Rename from reorganize_hash_table. Change prototype.
12142         Reuse the original memory for hentries.  Save 100k.
12143         * alloc.c (PDUMP_READ): new macro.
12144         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
12145         * alloc.c: No need to #ifndef before #undef.
12146
12147         * print.c: Allow debug_print() to print readably by modifying
12148         debug_print_readably.  Use consistent variable names.
12149
12150         * .dbxrc: Try to get things to work even if stopped in a function
12151         without source available by explicitly specifying source files.
12152 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12153
12154         * unexnt.c (_start): Removed bogus code which caused loading heap
12155         from differrent executable file.
12156         Removed bogus assignment to _fmode, which caused inconsistencies.
12157
12158 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12159
12160         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
12161         Have spawnve encapsulation regard DONT_ENCAPSULATE.
12162         Do not preliminary `#define signal sigset'.
12163
12164         * systime.h: Do not prototype environ on windows nt and cygwin,
12165         this conflicts with system header.
12166
12167         * syssignal.h: Use correct define for WINDOWSNT
12168
12169         * sysdep.h: Do not prototype environ on windows nt, this conflicts
12170         with system header.
12171
12172         * sysdep.c (near start of file): Fixed commentary and rearranged
12173         ifdefs in readable order.
12174         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
12175         (start_of_text):
12176         (end_of_text):
12177         (end_of_data): Do not compile in if using PDUMP.
12178
12179         * symsinit.h: Prototyped vars_of_nt().
12180
12181         * ntproc.c (windows9x_p): Added, instead of os_subtype.
12182         (find_child_console): Use it.
12183         (sys_kill): Use it.
12184
12185         * ntheap.h: Do not extern os_subtype.
12186
12187         * ntheap.c (cache_system_info): Do not cache unneeded:
12188         nt_major_version, nt_minor_version and os_subtype.
12189         (recreate_heap): Do not compile in when PDUMPing.
12190
12191         * nt.c (geteuid and friends): Use the new varibale
12192         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
12193         (init_user_info): Removed the above mentioned hackery.
12194         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
12195         stat has been fixed in the C runtime.
12196         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
12197
12198         * file-coding.c (struct file_coding_dump): Do not define
12199         ucs_to_mule_table in the struct if not MULE.
12200         (struct struct lrecord_description fcd_description_1): Do not dump
12201         the above.
12202
12203         * emacs.c (main_1): Call vars_of_nt().
12204         (right before Fdump_emacs_data): Don't need lastfile if using both
12205         portabe dumper and system malloc.
12206
12207         * alloc.c (Fmemory_limit): Conditionalized out.
12208         (pdump): Use OPEN_BINARY for the portable dump file.
12209         (pdump_load): Ditto.
12210
12211 2000-02-02  Mike Alexander  <mta@arbortext.com>
12212
12213         * nt.c (convert_time): Set tm_isdst before calling mktime and
12214         avoid calling it at all if the compiler supports 64 bit integers.
12215         Also initialize utc_base_ft before using it.
12216
12217 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
12218
12219         * frame.c (change_frame_size_1): Take f->internal_border_width
12220         into consideration when calculating the width of the frame.
12221
12222 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12223
12224         * window.c (frame_min_height):
12225         (frame_size_valid_p):
12226         (frame_pixsize_valid_p): Added.
12227         (check_frame_size): Generalized.
12228
12229         * window.h: Prototyped the above.
12230
12231         * lisp.h:
12232         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
12233         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
12234         Deleted Vwin32_* and Vbinary_process_* unused variables.
12235
12236         * device-msw.c (msprinter_init_device): Do not get printer font
12237         list; Added DEVMODE functions.
12238
12239         * frame-msw.c: Added lots of printer code.
12240
12241         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
12242         general.c.
12243
12244         * console-msw.h: Added more msprinter device private slots.
12245
12246 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12247
12248         * event-msw.c (key_needs_default_processing_p): Added.
12249         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
12250
12251 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12252
12253         * glyphs.c (image_instance_layout): Mark image instance as clean
12254         after layout.
12255         (glyph_dirty_p): Removed redundant function.
12256         (invalidate_glyph_geometry_maybe): Added.
12257         (update_glyph_cachel_data): Call it.
12258
12259         * glyphs.h: Prototyped it.
12260
12261         * redisplay.c (add_glyph_rune): Call it.
12262         (redisplay_window): Reset glyphs cachels when frame faces have
12263         changed, thus forcing recomputation of built-in border glyphs.
12264
12265 2000-01-30  Martin Buchholz  <martin@xemacs.org>
12266
12267         * Makefile.in.in: Make portable dumper and purify play well together.
12268         Add imperfect, but better than nothing, support for pdump.
12269         Remove xemacs.dmp when temacs is re-generated.
12270         Don't ignore errors when dumping xemacs.
12271
12272         * symbols.c (maybe_call_magic_handler): Remove one magic number.
12273
12274 2000-01-28  Andy Piper  <andy@xemacs.org>
12275
12276         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
12277         (setup_normal_frame): ditto.
12278         (setup_frame_without_minibuffer): ditto.
12279         (setup_minibuffer_frame): ditto.
12280         (delete_frame_internal): ditto.
12281         (Fmake_frame_invisible): ditto.
12282         (Ficonify_frame): ditto.
12283
12284         * window.h: change Fset_window_buffer signature.
12285
12286         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
12287         (Fset_window_buffer): allow recording of buffer if the window is
12288         the selected window.
12289         (window_loop): Use new Fset_window signature.
12290
12291 2000-01-23  Daniel Pittman  <daniel@danann.net>
12292
12293         * config.h.in: Added template for `HAVE_ATHENA_3D'
12294
12295 2000-01-29  Andy Piper  <andy@xemacs.org>
12296
12297         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
12298
12299         * gutter.c (output_gutter): Don't output if the window isn't live.
12300
12301 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12302
12303         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
12304         of 01/12/00: Moved SetFocus back here where it belongs.
12305
12306 2000-01-23  Andy Piper  <andy@xemacs.org>
12307
12308         * s/cygwin32.h: declare printer things.
12309
12310 2000-01-26  Andy Piper  <andy@xemacs.org>
12311
12312         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
12313         Alexander.
12314
12315 2000-01-24  Andy Piper  <andy@xemacs.org>
12316
12317         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
12318         (mswindows_button_instantiate): Make sure glyph is a pixmap.
12319
12320         * glyphs-widget.c (widget_instantiate): Avoid shadows.
12321
12322         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
12323
12324         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
12325
12326         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
12327         (mswindows_output_display_block): Avoid local shadows.
12328
12329         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
12330         (mswindows_enqueue_mouse_button_event): ditto.
12331         (mswindows_handle_gui_wm_command): remove declaration.
12332
12333         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
12334         warnings.
12335
12336         * console-msw.h: Avoid shadows.
12337         (mswindows_get_toolbar_button_text):
12338         (emacs_mswindows_create_stream_pair):
12339         (emacs_mswindows_delete_stream_pair):
12340         (mswindows_handle_toolbar_wm_command): declare.
12341
12342         * device-msw.c (build_syscolor_string): Avoid shadows.
12343
12344 2000-01-23  Andy Piper  <andy@xemacs.org>
12345
12346         * glyphs-widget.c (widget_instantiate): reverse the items for
12347         layouts so that children are in the expected order.
12348
12349 2000-01-28  Martin Buchholz  <martin@xemacs.org>
12350
12351         * ralloc.c: safe_bcopy ==> memmove
12352         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
12353         * s/msdos.h: Remove BCOPY macros.
12354         * insdel.c (gap_right): Remove BCOPY conditional code.
12355         * insdel.c (gap_left): Remove BCOPY conditional code.
12356         XEmacs demands a working ANSI C compiler - hence memmove.
12357
12358         * regex.c (regex_compile): Remove accidental use of trigraphs.
12359
12360 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12361
12362         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
12363         event timestamp.
12364
12365 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12366
12367         * event-msw.c (mswindows_drain_windows_queue): Added the
12368         parameter.
12369         (mswindows_need_event): Commented the call to
12370         mswindows_drain_windows_queue().
12371         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
12372         only.
12373
12374         * console-msw.h: Moved a few function prototypes here from
12375         event-msw.c.
12376
12377         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
12378         parameter from unsigned short to unsigned long.
12379         (Fmswindows_shell_execute): Added return value.
12380
12381 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12382
12383         * sysdep.c (init_system_name):
12384           process-unix.c (unix_canonicalized_host_name):
12385         Don't call freeaddrinfo() if getaddrinfo() fails.
12386
12387         * process-unix.c (unix_open_unix_network_stream):
12388         Moved the code to get a port # into address loop.
12389
12390 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12391
12392         * buffer.c (reinit_vars_of_buffer):
12393         The right place to initialize conversion_in_dynarr and
12394         conversion_out_dynarr.
12395
12396         * alloc.c (pdump): Use the real open() till sys_open() is functional.
12397
12398         * process-unix.c (unix_canonicalize_host_name): Muleize.
12399         (unix_open_network_stream): Muleize.
12400
12401         * buffer.h: Fix up prototypes for ralloc.c functions.
12402
12403 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12404         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
12405         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
12406                 instead of gethostbyname()
12407         * process-unix.c: In unix_canonicalize_host_name() and
12408                 unix_open_network_stream(), add code to use getaddrinfo()
12409                 instead of gethostbyname().
12410
12411 2000-01-27  Daniel Pittman <daniel@danann.net>
12412
12413         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
12414         libs when built with flat Athena.
12415
12416 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12417
12418         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
12419         Use coding standards for function prototypes.
12420
12421 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12422
12423         * dialog-msw.c (push_lisp_string_as_unicode):
12424         * doc.c (unparesseuxify_doc_string):
12425         * dired.c (Fuser_name_completion_1):
12426         * dired.c (Fuser_name_all_completions):
12427         * dired.c (free_user_cache):
12428         * dired.c (user_name_completion):
12429         * console-x.c (get_display_arg_connection):
12430         * minibuf.c (clear_echo_area_internal):
12431         * minibuf.c (echo_area_append):
12432         * eldap.c (Fldap_open):
12433         * eldap.c (Fldap_search_internal):
12434         * frame-x.c (x_set_frame_text_value):
12435         * frame-x.c (x_set_frame_properties):
12436         * frame-x.c (x_create_widgets):
12437         * redisplay-tty.c (term_get_fkeys_1):
12438         * objects-x.c (x_parse_nearest_color):
12439         * objects-x.c (x_valid_color_name_p):
12440         * objects-x.c (x_initialize_font_instance):
12441         * objects-x.c (x_list_fonts):
12442         * objects-x.c (x_find_charset_font):
12443         * tooltalk.c (Fadd_tooltalk_message_arg):
12444         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12445         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12446         * process-unix.c (unix_create_process):
12447         * ntproc.c (sys_spawnve):
12448         * sound.c (Fplay_sound_file):
12449         * sound.c (Fplay_sound):
12450         * buffer.c (init_initial_directory):
12451         * buffer.c (init_buffer):
12452         * editfns.c (init_editfns):
12453         * editfns.c (Ftemp_directory):
12454         * editfns.c (Fuser_full_name):
12455         * editfns.c (uncache_home_directory):
12456         * editfns.c (get_home_directory):
12457         * editfns.c (Fuser_home_directory):
12458         * editfns.c (Fformat_time_string):
12459         * editfns.c (Fcurrent_time_string):
12460         * gui-x.c (button_item_to_widget_value):
12461         * database.c (Fopen_database):
12462         * event-Xt.c (x_to_emacs_keysym):
12463         * event-Xt.c (x_event_to_emacs_event):
12464         * event-Xt.c (describe_event_window):
12465         * event-msw.c (mswindows_wnd_proc):
12466         * glyphs-eimage.c (jpeg_instantiate):
12467         * glyphs-eimage.c (gif_instantiate):
12468         * glyphs-eimage.c (png_instantiate):
12469         * glyphs-eimage.c (tiff_instantiate):
12470         * glyphs-x.c (xbm_instantiate_1):
12471         * glyphs-x.c (x_xbm_instantiate):
12472         * glyphs-x.c (x_xface_instantiate):
12473         * glyphs-x.c (autodetect_instantiate):
12474         * glyphs-x.c (cursor_font_instantiate):
12475         * glyphs-x.c (x_widget_instantiate):
12476         * glyphs-x.c (x_widget_set_property):
12477         * glyphs-x.c (x_widget_property):
12478         * glyphs-x.c (BUILD_GLYPH_INST):
12479         * print.c (write_string_to_stdio_stream):
12480         * print.c (output_string):
12481         * print.c (Falternate_debugging_output):
12482         * print.c (Fexternal_debugging_output):
12483         * glyphs-msw.c (extract_xpm_color_names):
12484         * glyphs-msw.c (mswindows_xpm_instantiate):
12485         * glyphs-msw.c (bmp_instantiate):
12486         * glyphs-msw.c (resource_name_to_resource):
12487         * glyphs-msw.c (mswindows_resource_instantiate):
12488         * glyphs-msw.c (xbm_instantiate_1):
12489         * glyphs-msw.c (mswindows_xbm_instantiate):
12490         * glyphs-msw.c (mswindows_xface_instantiate):
12491         * glyphs-msw.c (mswindows_widget_instantiate):
12492         * glyphs-msw.c (add_tree_item):
12493         * glyphs-msw.c (add_tab_item):
12494         * glyphs-msw.c (mswindows_combo_box_instantiate):
12495         * glyphs-msw.c (mswindows_widget_property):
12496         * glyphs-msw.c (mswindows_combo_box_property):
12497         * glyphs-msw.c (mswindows_widget_set_property):
12498         * console.c (stuff_buffered_input):
12499         * objects-msw.c (mswindows_initialize_color_instance):
12500         * objects-msw.c (mswindows_valid_color_name_p):
12501         * objects-msw.c (mswindows_list_fonts):
12502         * objects-msw.c (mswindows_font_instance_truename):
12503         * bytecode.c (optimize_compiled_function):
12504         * select-x.c (symbol_to_x_atom):
12505         * select-x.c (x_atom_to_symbol):
12506         * select-x.c (hack_motif_clipboard_selection):
12507         * select-x.c (selection_data_to_lisp_data):
12508         * select-x.c (lisp_data_to_selection_data):
12509         * select-x.c (Fx_get_cutbuffer_internal):
12510         * select-x.c (Fx_store_cutbuffer_internal):
12511         * buffer.h (TO_EXTERNAL_FORMAT): New function.
12512         * buffer.h (TO_INTERNAL_FORMAT): New function.
12513         * emacs.c (make_arg_list_1):
12514         * emacs.c (make_argc_argv):
12515         * emacs.c (main_1):
12516         * emacs.c (Fdump_emacs):
12517         * emacs.c (split_string_by_emchar_1):
12518         * file-coding.h:
12519         * lisp.h:
12520         * lstream.h:
12521         * symsinit.h:
12522         * device-x.c (x_init_device):
12523         * device-x.c (Fx_valid_keysym_name_p):
12524         * device-x.c (Fx_get_font_path):
12525         * device-x.c (Fx_set_font_path):
12526         * glyphs.c (bitmap_to_lisp_data):
12527         * glyphs.c (pixmap_to_lisp_data):
12528         * alloc.c (make_ext_string): Use coding system arguments.  Update
12529         all callers.
12530         * alloc.c (build_string):
12531         * callproc.c (child_setup):
12532         * callproc.c (init_callproc):
12533         * fileio.c (lisp_strerror):
12534         * fileio.c (directory_file_name):
12535         * fileio.c (Fexpand_file_name):
12536         * fileio.c (Ffile_truename):
12537         * fileio.c (Fsysnetunam):
12538         * fileio.c (Fdo_auto_save):
12539         * sysdep.c (sys_readdir):
12540         * tests.c: New file.  Allow adding C tests.
12541         Replace GET_* macros with a more comprehensible and flexible
12542         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
12543         Modify all calls.
12544         Any coding system can be used to do format conversion.
12545         Eliminate enum external_data_format.
12546         Eliminate convert_to_external_format.
12547         Eliminate convert_to_internal_format.
12548         Make sure file-name, keyboard, terminal, and ctext are always
12549         defined as coding systems or aliases.  Make
12550         file-name-coding-system, terminal-coding-system, and
12551         keyboard-coding-system magical variables that are equivalent to
12552         defining the corresponding coding system aliases.
12553
12554         * file-coding.c (Fcoding_system_canonical_name_p): New function.
12555         * file-coding.c (Fcoding_system_alias_p): New function.
12556         * file-coding.c (Fcoding_system_aliasee): New function.
12557         * file-coding.c (append_suffix_to_symbol): New function.
12558         * file-coding.c (dangling_coding_system_alias_p): New function.
12559         * file-coding.c (Ffind_coding_system):
12560         * file-coding.c (Fcopy_coding_system):
12561         * file-coding.c (encode_coding_no_conversion):
12562         * file-coding.c (syms_of_file_coding):
12563         * file-coding.c (vars_of_file_coding):
12564         Rewrite coding system alias code.
12565         Allow nested aliases, like symbolic links.
12566         Allow redefinition of coding system aliases.
12567         Prevent existence of dangling coding system aliases.
12568
12569         * dired.c (Fuser_name_completion_1):
12570         * dired.c (Fuser_name_all_completions):
12571         A crash would happen if user did QUIT in the middle of building
12572         user_name_cache.  Remove redundant code in mainline and unwind_protect.
12573
12574         * lisp.h:
12575         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
12576
12577         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
12578         an unsigned char *.  Update all callers.
12579
12580 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12581
12582         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
12583
12584 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12585
12586         * elhash.c (hentry_description): Use more portable definition.
12587         (resize_hash_table): Initialize new hentries using
12588         xnew_array_and_zero, thereby simplifying the code.
12589
12590         * mule-charset.c (make_charset): Make sure entire object is
12591         initialized, to avoid Purify warnings.
12592
12593         * alloc.c (resize_string): Fix unlikely crash with big strings.
12594
12595 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12596
12597         * realpath.c (xrealpath):
12598         Don't call getwd().
12599
12600 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12601
12602         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
12603
12604 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
12605
12606         * unexelfsgi.c (unexec): Change the way we decide which segment
12607         should be extended.
12608
12609         Assumption that .bss section should be outside the PT_LOADable
12610         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
12611         it's present) is inside the 'data' segment. This would fail the
12612         test which was used to find a segment to grow and cover new
12613         heap. Instead of this assumption, I created another one - on IRIX
12614         the segment to grow should start below .bss and it's address
12615         should extent above the end of .bss. Once this segment is
12616         identified, it's grown to accommodate the new heap and new
12617         zero-length .bss section is added at the end of .data2.
12618
12619 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12620
12621         * eval.c (Feval): Wrong number of arguments should use original
12622         function, not the indirect_function version of it.
12623
12624 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
12625
12626         * glyphs-x.c (x_button_instantiate): Don't add image if
12627         it is not a pixmap.
12628         (x_locate_pixmap_file): Call Fexpand_file_name when file name
12629         is relative.
12630
12631 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
12632
12633         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
12634         declaration.
12635         (DEFVAR_INT_MAGIC): Ditto.
12636         (DEFVAR_BOOL_MAGIC): Ditto.
12637         * glyphs.h: Reindent backslash.
12638
12639 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12640
12641         * glyphs-widget.c (layout_query_geometry):
12642         (layout_layout): Use correct types for gheight, gwidth.
12643
12644 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12645
12646         * EmacsManager.c (QueryGeometry): Purified.
12647
12648 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12649
12650         * alloc.c (make_float): Make sure entire object is initialized, to
12651         avoid Purify warnings.
12652         (pdump_register_sub): Remove useless assignment.
12653         (pdump): Use xmalloc, not malloc.
12654         (pdump_load): Use xmalloc, not malloc.
12655
12656 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12657
12658         * callproc.c:
12659         * dired-msw.c:
12660         * fileio.c:
12661         * process-nt.c:
12662         * redisplay-msw.c:
12663         * sysdep.c: Removed redundant #include <windows.h>
12664
12665 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12666
12667         * frame.c (delete_frame_internal): Do not delete device when its
12668         implementation so declares.
12669         (delete_frame_internal): Set device selected frame to nil when
12670         last frame goes away.
12671
12672         * device-msw.c (msprinter_device_system_metrics): Implemented.
12673         (mswindows_device_system_metrics): Added 'device-dpi property.
12674
12675         * device.c: (Fdevice_printer_p): Added.
12676         Added 'offset-workspace device metric.
12677
12678         * console.h (device_metrics): Declared DM_offset_workspace.
12679
12680 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12681
12682         * fileio.c (Ffile_truename): Remove pointless and confusing
12683         initialization of elen.
12684
12685         * glyphs-widget.c: Compiler warning fixes.
12686
12687 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
12688
12689         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
12690         instead of a Lisp_Object as argument to make it consistent with
12691         the other LIVE_P macros.
12692         (CHECK_LIVE_PROCESS): New macro.
12693
12694         * process.c: Declare Qprocess_live_p.
12695         (Fprocess_live_p): New function.
12696         (create_process): Use PROCESS_LIVE_P.
12697         (read_process_output): Ditto.
12698         (set_process_filter): Ditto.
12699         (Fdelete_process): Ditto.
12700         (kill_buffer_processes): Ditto
12701         (process_send_signal): Use CHECK_LIVE_PROCESS.
12702         (Fprocess_input_coding_system): Check whether process is still
12703         alive (fix PR#1061).
12704         (Fprocess_output_coding_system): Ditto.
12705         (Fprocess_coding_system): Ditto.
12706         (Fset_process_input_coding_system): Ditto.
12707         (Fset_process_output_coding_system): Ditto.
12708
12709 2000-01-23  Andy Piper  <andy@xemacs.org>
12710
12711         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
12712         layout and widget.
12713
12714         * glyphs.c (mark_image_instance): take into account changed
12715         image_instance format.
12716         (image_instance_equal): ditto.
12717         (image_instance_hash): ditto.
12718
12719         * glyphs-widget.c (widget_instantiate): Incorporate layout
12720         instantiation here. Delay layout of the layout until later.
12721         (layout_instantiate): deleted.
12722         (layout_query_geometry): new function. get the geometry of a
12723         layout.
12724         (layout_layout): layout a layout dynamically.
12725         (image_instantiator_widget): New function - splitting up
12726         image_instantiator_format_create_glyphs_widget for netwinder
12727         compilation.
12728         (image_instantiator_buttons):
12729         (image_instantiator_edit_fields):
12730         (image_instantiator_combo_box):
12731         (image_instantiator_scrollbar):
12732         (image_instantiator_progress_guage):
12733         (image_instantiator_tree_view):
12734         (image_instantiator_tab_control):
12735         (image_instantiator_labels):
12736         (image_instantiator_layout): ditto.
12737         (image_instantiator_format_create_glyphs_widget): Call preceding
12738         functions.
12739
12740 2000-01-22  Martin Buchholz  <martin@xemacs.org>
12741
12742         * process.c (Fset_process_coding_system):
12743         * device-x.c (Fx_keysym_hash_table):
12744         Docstring fixes.
12745
12746         * lstream.c (Lstream_write): Return documented value, not 0.
12747
12748         * fileio.c (directory_file_name):
12749         (Fsubstitute_in_file_name):
12750         (Fsubstitute_insert_file_contents_internal):
12751         (Fwrite_region_internal):
12752         * emacs.c:
12753         * sysdep.c:
12754         * getloadavg.c:
12755         * systty.h:
12756         Remove vestigial APOLLO-conditional code.
12757
12758 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12759
12760         * getpagesize.h: Add guard macros.
12761         * libsst.h: Add guard macros.
12762         * libst.h: Add guard macros.
12763         * line-number.h: Add guard macros.
12764         * ndir.h: Add guard macros.
12765         * sysfloat.h: Add guard macros.
12766         * sysfile.h: Add guard macros.
12767         * sysproc.h: Add guard macros.
12768         * syswait.h: Add guard macros.
12769         * xintrinsic.h: Add guard macros.
12770         * xintrinsicp.h: Add guard macros.
12771         * xmmanager.h: Add guard macros.
12772         * xmmanagerp.h: Add guard macros.
12773         * xmprimitive.h: Add guard macros.
12774         * xmu.h: Add guard macros.
12775         * gpmevent.h: Add copyright statement. Add guard macros.
12776         * miscplay.h: Add guard macros.
12777         * *.h: Use consistent C-standards-approved guard macro names.
12778
12779         * opaque.c (make_opaque): Switch parameter order.
12780         * opaque.h (make_opaque): Switch parameter order.
12781         Update all callers.
12782         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
12783
12784         * config.h.in (type_checking_assert): Added.
12785         (bufpos_checking_assert): Added.
12786
12787 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12788
12789         * alloc.c: Harmless pdump changes.
12790         - Use countof().
12791         - spell alignment correctly.
12792         * sysdep.c: Use countof()
12793
12794 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12795
12796         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
12797         initially_selected_for_input() console method, default to 0.
12798         (semi_canonicalize_console_connection): Try to delegate to
12799         canonicalize_console_connection if no such console method.
12800         (canonicalize_console_connection): Vice versa.
12801         (print_console): Do not print nil connection.
12802
12803         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
12804         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
12805         (XDEVIMPF_FRAMELESS_OK): Added.
12806         (CONSOLE_INHERITS_METHOD): Added.
12807
12808         * console-msw.c (mswindows_canonicalize_console_connection):
12809         Added.
12810         (mswindows_canonicalize_device_connection): Added.
12811
12812         * console-msw.h (struct msprinter_device): Added this struct and
12813         accessor macros.
12814         (mswindows_device): Made fontlist a lisp object.
12815
12816         * device.c (semi_canonicalize_device_connection):  Try to delegate
12817         to canonicalize_device_connection if no such console method.
12818         (canonicalize_device_connection): Vice versa.
12819         (print_device): Do not print nil connection.
12820
12821         * device-msw.c (mswindows_init_device): Call InitCommonControls
12822         when have widgets.
12823         (mswindows_delete_device): Removed fontlist deallocation.
12824         (mswindows_mark_device): Added.
12825
12826         * events.c (event_equal): Added abort() at unreached code.
12827         (event_hash): Ditto.
12828
12829         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
12830         fallback tags of Windows devices.
12831
12832         * general.c (syms_of_general): Initialized Qmsprinter.
12833
12834         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
12835         of fallback tags of Windows devices.
12836
12837         * lisp.h: Declared Qmsprinter.
12838
12839         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
12840         of strings.
12841         (mswindows_list_fonts): Ditto.
12842         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
12843         that it can be used by both mswindows and msprinter devices.
12844         (initialize_font_instance): Added.
12845         (mswindows_initialize_font_instance): Use it.
12846         (msprinter_initialize_font_instance): Added.
12847
12848         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
12849         and implementation flags check.
12850         (redisplay_without_hooks): Changed the call to the above.
12851         (Fredraw_device): Ditto.
12852         (Fredisplay_device): Ditto.
12853
12854         * redisplay-msw.c (get_frame_dc): Implemented.
12855         (get_frame_compdc): Implemented.
12856         (many functions): Use the two functions above to get device
12857         contexts, ether for a window or a printer.
12858
12859 2000-01-21  Olivier Galibert  <galibert@pobox.com>
12860
12861         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
12862         initialization here.
12863         (init_symbols_once_early): Call it.
12864         * emacs.c (main_1): Call it.
12865         * symsinit.h: Declare it.
12866
12867 2000-01-19  Olivier Galibert  <galibert@pobox.com>
12868
12869         * alloc.c: Use a lrecord_header * in the backtrace instead of a
12870         Lisp_Object.
12871         (pdump_backtrace): Ditto.
12872         (pdump_register_object): Ditto.  Cleanup use of the pointers.
12873         (pdump_get_entry): Abort if trying to register a null pointer.
12874         (pdump_dump_data): Cleanup types when relocating.
12875         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
12876         (pdump_dump_rtables): Remove bad casts.
12877         (pdump_load): Cleanup relocation w.r.t union type.  Use a
12878         Lisp_Object instead of a EMACS_INT for the hashtable
12879         reorganization.
12880
12881 2000-01-20  Martin Buchholz  <martin@xemacs.org>
12882
12883         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
12884
12885         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
12886
12887         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
12888
12889         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
12890
12891 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12892
12893         * faces.h (FACE_STRIKETHRU_P): Added.
12894
12895         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
12896         of font variants.
12897
12898         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
12899         (mswindows_set_dc_font): New function, aware of font variants,
12900         separated from mswindows_update_dc.
12901
12902         * objects-msw.h (struct mswindows_font_instance_data): Added
12903         definition.
12904
12905         * objects-msw.c (mswindows_finalize_font_instance): Delete all
12906         cached fonts and the data structure.
12907         (mswindows_initialize_font_instance): Added creation of font data
12908         structure.
12909         (mswindows_print_font_instance): Print at least something.
12910         (mswindows_create_font_variant): Implemented.
12911         (mswindows_get_hfont): Implemented.
12912
12913 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
12914
12915         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
12916         prototyping problem with msvc.
12917
12918         * emacs.c (main_1): added syms_of_gui_mswindows() call
12919
12920         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
12921         syms_of_gui_mswindows() function
12922
12923         * symsinit.h: added the prototype for syms_of_gui_mswindows()
12924
12925 2000-01-18  Martin Buchholz <martin@xemacs.org>
12926
12927         * XEmacs 21.2.27 is released.
12928
12929 2000-01-18  Martin Buchholz  <martin@xemacs.org>
12930
12931         * glyphs-eimage.c (struct tiff_error_struct):
12932         (tiff_error_func):
12933         (tiff_warning_func):
12934         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
12935
12936         * unexmips.c:
12937         * unexhp9k3.c:
12938         * unexfreebsd.c:
12939         * unexec.c: Remove vestigial Lucid C code.
12940         * unexalpha.c:
12941         * unexaix.c:
12942         * termcap.c:
12943         * libsst.c: Ansify.
12944         Remove declarations of errno and strerror().
12945
12946         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
12947
12948         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
12949
12950 2000-01-16  Martin Buchholz  <martin@xemacs.org>
12951
12952         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
12953         Optimize.
12954
12955 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12956
12957         * md5.c:
12958         * file-coding.c:
12959         * file-coding.h:
12960         Change enum eol_type to eol_type_t.
12961
12962 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12963
12964         * gui.c (get_gui_callback): Check cons before accessing car.
12965
12966 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12967
12968         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
12969         (XSETSPECIFIER_TYPE): Ditto.
12970
12971 2000-01-17  Didier Verna  <didier@xemacs.org>
12972
12973         * redisplay.c (generate_fstring_runes): compute string size in
12974         characters, not bytes.
12975
12976 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12977
12978         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
12979
12980 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
12981
12982         * print.c (print_error_message): Call print_prepare().
12983
12984 2000-01-14  Martin Buchholz  <martin@xemacs.org>
12985
12986         * .dbxrc: Renamed from dbxrc.
12987
12988         * events.c (event_to_character):
12989         Use `assert (foo)' instead of `if (!foo) abort()'
12990
12991         * .gdbinit (xtype): Add documentation.
12992         * .gdbinit (check-temacs): New function.
12993         * .gdbinit (check-xemacs): New function.
12994         * dbxrc (check-xemacs): New function.
12995         * dbxrc (check-xemacs): New function.
12996
12997 2000-01-14  Andy Piper  <andy@xemacs.org>
12998
12999         * glyphs-widget.c (widget_query_geometry): Make sure that we
13000         calculate default dimensions correctly.
13001
13002 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13003
13004         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
13005
13006         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
13007         pdump_wire'd variable.
13008
13009         * emacs.c: (main_1): Conditionalized calls to
13010         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
13011
13012 2000-01-13  Martin Buchholz  <martin@xemacs.org>
13013
13014         * window.c (Fset_window_configuration):
13015         * sysdep.c (_start):
13016         * input-method-motif.c (res):
13017         * event-Xt.c (Xt_process_to_emacs_event):
13018         Simple compiler warning fixes.
13019
13020         * bytecode.c (funcall_compiled_function): Use the original
13021         function symbol on the backtrace list in preference to the
13022         compiled_function object in error messages.
13023
13024 2000-01-13  Andy Piper  <andy@xemacs.org>
13025
13026         * glyphs-x.c (update_widget_face): Make sure we update the widget
13027         background as well as foreground.
13028
13029 2000-01-13  Andy Piper  <andy@xemacs.org>
13030
13031         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
13032         fields to subwindow.
13033         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
13034         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
13035         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
13036         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
13037
13038         * glyphs-widget.c (check_valid_tab_orientation): new function.
13039         (initialize_widget_image_instance): zero orientation and
13040         justification.
13041         (widget_instantiate): pick up orientation.
13042         (tab_control_query_geometry): return appropriate values for
13043         vertical tabs.
13044
13045         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
13046         appropriate creation flags for left, right and bottom tabs.
13047
13048         * s/cygwin32.h: add tab definitions.
13049
13050 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13051
13052         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
13053         frame upon hiding a subwindow.
13054         (mswindows_button_instantiate): Changed the push button style to
13055         BS_PUSHBUTTON.
13056         (mswindows_button_instantiate): Removed button BS_NOTIFY
13057         style.
13058         (mswindows_button_instantiate): Removed redundant check for
13059         a disabled gui item.
13060         (mswindows_button_instantiate): Made use of WS_TABSTOP
13061         consistent: "operable" controls (edit, button, tree, scroll) have
13062         this style, "display-only" ones (static, progress gauge) do
13063         not. This style is currently ignored by XEmacs though. Also,
13064         removed the WS_EX_CONTROLPARENT style - it is not for children,
13065         it is for their parents!
13066         (mswindows_edit_field_instantiate): Ditto.
13067         (mswindows_progress_gauge_instantiate): Ditto.
13068         (mswindows_tree_view_instantiate): Ditto.
13069         (mswindows_tab_control_instantiate): Ditto.
13070         (mswindows_scrollbar_instantiate): Ditto.
13071         (mswindows_combo_box_instantiate): Ditto.
13072         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
13073         style to the "clip" window.
13074         (mswindows_button_instantiate): Removed compilation warning by
13075         equally typing terms of the ?: operator.
13076
13077 2000-01-12  Didier Verna  <didier@xemacs.org>
13078
13079         * redisplay.c (generate_fstring_runes): new parameter holding the
13080         last modeline-format extent.
13081         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
13082         extent, fill the glyph block with it.
13083         (generate_fstring_runes): handle these parameters.
13084         (generate_formatted_string_db): ditto.
13085
13086         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
13087         glyphs'extents in the modeline.
13088
13089 1999-01-11  Mike Woolley  <mike@bulsara.com>
13090
13091         * ntheap.c: Reduced the reserved heap space from 1Gb down to
13092         256Mb, as a workaround for the non-starting problem many people
13093         have experienced.
13094
13095 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13096
13097         * console-tty.c (Fset_console_tty_output_coding_system):
13098         Force redrawing tty frame.
13099
13100 2000-01-10  Didier Verna  <didier@xemacs.org>
13101
13102         * redisplay.c (generate_fstring_runes): fix size computation bug.
13103
13104 2000-01-09  William M. Perry <wmperry@aventail.com>
13105
13106         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
13107
13108 2000-01-09  Andy Piper  <andy@xemacs.org>
13109
13110         * glyphs-msw.c: index -> i to avoid shadows.
13111         (xbm_create_bitmap_from_data): make static.
13112         (check_valid_string_or_int): deleted.
13113         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
13114
13115         * glyphs-x.c (x_update_subwindow): remove unused args.
13116
13117         * glyphs.c (glyph_image_instance): return the thing. Don't set the
13118         back pointer - this is done in allocate_image_instance.
13119         (query_string_font): return Qnil to make the compiler happy.
13120         (unmap_subwindow): set to ~0 to make the compiler happy.
13121         (glyph_query_geometry): comment out until used.
13122         (glyph_layout): ditto.
13123
13124 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
13125
13126         * insdel.c (signal_after_change): Remove extraneous unbind_to().