Sync up with r21-4-11-chise-0_21-=gb12345.
[chise/xemacs-chise.git] / src / ChangeLog
1 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2
3         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
4         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
5         `chinese-gb12345'.
6         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
7         `=gb12345'.
8
9 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
10
11         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
12         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
13         `chinese-gb2312'.
14         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
15         `=gb2312'.
16
17 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
18
19         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
20         (syms_of_mule_charset): Add new symbol `=big5' instead of
21         `chinese-big5'.
22         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
23
24 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
25
26         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
27         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
28         `korean-ksc5601'.
29         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
30         `=ks-x1001'.
31
32 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
33
34         * mule-charset.c (Qmap_jis_x0212): Renamed from
35         `Qjapanese_jisx0212'.
36         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
37         `japanese-jisx0212'.
38         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
39         `=jis-x0212'.
40
41 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
42
43         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
44         `Qjapanese_jisx0208'.
45         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
46         of `japanese-jisx0208'.
47         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
48         `=jis-x0208-1983'.
49
50 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
51
52         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
53         `Qjapanese_jisx0208_1978'.
54         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
55         of `japanese-jisx0208-1978'.
56         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
57         `=jis-x0208-1978'.
58
59 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
60
61         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
62         only for XEmacs CHISE.
63
64 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
65
66         * char-ucs.h: Compact non-ISO-IR charset-ids.
67         (LEADING_BYTE_UCS): Changed to -177.
68         (LEADING_BYTE_CONTROL_1): Changed to -77.
69         (LEADING_BYTE_UCS_BMP): Changed to -176.
70         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
71
72 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
73
74         * mule-charset.c (Qiso_ir): New variable.
75         (Fmake_charset): Recognise new property `iso-ir'.
76         (syms_of_mule_charset): Add new symbol `iso-ir'.
77
78 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
79
80         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
81         n to -n; charset-id of non ISO-IR sets are changed to positive
82         numbers.
83
84 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
85
86         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
87         of `ucs'.
88         (Qmap_ucs): New variable.
89         (syms_of_mule_charset): Add new symbol `=ucs'.
90         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
91
92         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
93
94         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
95
96         * char-ucs.h (Qmap_ucs): New extern variable.
97
98 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
99
100         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
101         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
102         don't define it when UTF2000 is not defined.
103         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
104         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
105         when UTF2000 is not defined.
106         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
107         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
108
109 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
110
111         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
112
113         * mule-charset.c (Vcharset_ucs_gb): Deleted.
114         (Qucs_gb): Deleted.
115         (syms_of_mule_charset): Delete `ucs-gb'.
116         (complex_vars_of_mule_charset): Likewise.
117
118 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
119
120         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
121
122         * mule-charset.c (Vcharset_ucs_cns): Deleted.
123         (Qucs_cns): Deleted.
124         (syms_of_mule_charset): Delete `ucs-cns'.
125         (complex_vars_of_mule_charset): Likewise.
126
127 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
128
129         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
130
131         * mule-charset.c (Vcharset_ucs_jis): Deleted.
132         (Qucs_jis): Deleted.
133         (syms_of_mule_charset): Delete `ucs-jis'.
134         (complex_vars_of_mule_charset): Likewise.
135
136 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
137
138         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
139
140         * mule-charset.c (Vcharset_ucs_ks): Deleted.
141         (Qucs_ks): Deleted.
142         (syms_of_mule_charset): Delete `ucs-ks'.
143         (complex_vars_of_mule_charset): Likewise.
144
145 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
146
147         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
148         (Qideograph_daikanwa_2): Deleted.
149         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
150         (complex_vars_of_mule_charset): Likewise.
151
152         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
153         (LEADING_BYTE_DAIKANWA_1): Deleted.
154         (LEADING_BYTE_DAIKANWA_2): Deleted.
155         (MIN_CHAR_DAIKANWA): Deleted.
156         (MAX_CHAR_DAIKANWA): Deleted.
157
158 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
159
160         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
161         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
162         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
163
164         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
165         (Vcharset_ideograph_daikanwa): Deleted.
166         (Qideograph_hanziku_{1..12}): Deleted.
167         (Qideograph_daikanwa): Deleted.
168         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
169         Vcharset_ideograph_daikanwa.
170         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
171         `ideograph-hanziku-{1..12}'.
172         (complex_vars_of_mule_charset): Likewise.
173
174 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
175
176         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
177
178         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
179         (Qideograph_gt_pj_{1..11}): Deleted.
180         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
181         (complex_vars_of_mule_charset): Likewise.
182
183 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
184
185         * mule-charset.c (Vcharset_ucs_big5): Deleted.
186         (Vcharset_ideograph_gt): Deleted.
187         (Qucs_big5): Deleted.
188         (Qideograph_gt): Deleted.
189         (syms_of_mule_charset): Delete symbol `ucs-big5' and
190         `ideograph-gt'.
191         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
192         and `ideograph-gt'.
193
194         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
195         (LEADING_BYTE_GT): Deleted.
196         (GC_CHARSETP): Deleted.
197         (MIN_CHAR_GT): Deleted.
198         (MAX_CHAR_GT): Deleted.
199
200 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
201
202         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
203
204 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
205
206         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
207         (Qideograph_cbeta): Deleted.
208         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
209         (complex_vars_of_mule_charset): Likewise.
210
211         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
212         (MIN_CHAR_CBETA): Comment out.
213         (MAX_CHAR_CBETA): Likewise.
214
215 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
216
217         * mule-charset.c (charset_lookup_description_1): Use
218         `NUM_LEADING_BYTES' in UTF-2000.
219
220 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
221
222         * mule-charset.c (Vcharset_china3_jef): Deleted.
223         (Qchina3_jef): Deleted.
224         (syms_of_mule_charset): Don't define `china3-jef'.
225         (complex_vars_of_mule_charset): Likewise.
226
227         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
228         (MIN_CHAR_CHINA3_JEF): Comment out.
229         (MAX_CHAR_CHINA3_JEF): Comment out.
230
231 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
232
233         * mule-charset.c (Vcharset_ucs_gb): New variable.
234         (Qucs_gb): New variable.
235         (syms_of_mule_charset): Add new symbol `ucs-gb'.
236         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
237
238         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
239
240 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
241
242         * mule-charset.c (charset_code_point): if a coded-charset has a
243         final-byte, don't inherit the builtin range of the mother CCS.
244
245 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
246
247         * mule-charset.c (charset_code_point): Fix problem about
248         inheritance.
249
250 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
251
252         * mule-charset.c (decode_builtin_char): Reorganized.
253
254 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
255
256         * text-coding.c (char_encode_shift_jis): Modify for
257         `charset_code_point'.
258         (char_encode_big5): Likewise.
259         (char_encode_utf8): Likewise.
260         (char_encode_iso2022): Likewise.
261
262         * mule-charset.c (charset_code_point): Add new argument
263         `defined_only'.
264         (Fencode_char): Add new optional argument `defined_only'.
265
266         * chartab.c (put_char_table): Modify for `charset_code_point'.
267         (map_char_table): Likewise.
268
269         * char-ucs.h (charset_code_point): Add new argument
270         `defined_only'.
271         (encode_char_1): Modify for `charset_code_point'.
272
273 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
274
275         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
276         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
277
278 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
279
280         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
281         (Qjis_x0208): Likewise.
282         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
283         XCHARSET_FINAL(charset).
284         (charset_code_point): Modify condition for final-byte based
285         builtin-chars.
286         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
287         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
288         in UTF-2000; specify `=jis-x0208' as the mother of
289         `japanese-jisx0208-1978', `japanese-jisx0208' and
290         `japanese-jisx0208-1990' in UTF-2000.
291
292 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
293
294         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
295
296 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
297
298         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
299         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
300         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
301         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
302         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
303         CONVERSION_96x96x96x96 are introduced.
304         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
305         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
306         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
307
308         * char-ucs.h (CONVERSION_94): New macro.
309         (CONVERSION_96): New macro.
310         (CONVERSION_94x94): New macro.
311         (CONVERSION_96x96): New macro.
312         (CONVERSION_94x94x94): New macro.
313         (CONVERSION_96x96x96): New macro.
314         (CONVERSION_94x94x94x60): New macro.
315         (CONVERSION_94x94x94x94): New macro.
316         (CONVERSION_96x96x96x96): New macro.
317
318 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
319
320         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
321
322         * fns.c (Qideographic_structure): New variable.
323         (Qkeyword_char): New variable.
324         (ids_format_unit): New function.
325         (Fideographic_structure_to_ids): New function.
326         (syms_of_fns): Add new symbols `ideographic-structure' and
327         `:char'; add new builtin function `ideographic-structure-to-ids'.
328
329         * data.c (Fchar_ref_p): New function.
330         (syms_of_data): Add new builtin function `char-ref-p'.
331
332         * chartab.h: Add an EXFUN for `Ffind_char'.
333
334 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
335
336         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
337         and `COMPOSE_ADD_CHAR'.
338         (decode_coding_iso2022): Use `decode_flush_er_chars'.
339
340 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
341
342         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
343         instead of `DECODE_ADD_UCS_CHAR'.
344         (COMPOSE_ADD_CHAR): Likewise.
345
346 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
347
348         * text-coding.c (decode_flush_er_chars): New inline function.
349         (decode_add_er_char): New function.
350         (decode_coding_utf8): Use `decode_flush_er_chars' and
351         `decode_add_er_char'.
352
353 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
354
355         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
356         done before `decode_output_utf8_partial_char'.
357
358         * mule-charset.c (complex_vars_of_mule_charset): Specify
359         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
360         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
361
362 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
363
364         * mule-charset.c (decode_defined_char): New function; search
365         mother.
366         (decode_builtin_char): Don't search mother if
367         XCHARSET_MAX_CODE(charset) == 0.
368         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
369         == 0 even if code >= XCHARSET_MAX_CODE(charset).
370         (Fdecode_char): Use `decode_defined_char' instead of
371         `DECODE_DEFINED_CHAR'.
372         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
373         mother of `Vcharset_ucs_jis'.
374
375         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
376         instead of `DECODE_DEFINED_CHAR'.
377
378         * char-ucs.h (decode_defined_char): Renamed from
379         `DECODE_DEFINED_CHAR'; changed to normal function.
380         (DECODE_CHAR): Use `decode_defined_char' instead of
381         `DECODE_DEFINED_CHAR'.
382
383         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
384
385 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
386
387         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
388
389         * text-coding.c (Vcoded_charset_entity_reference_alist): New
390         variable.
391         (Quse_entity_reference): New variable.
392         (Qd): New variable.
393         (Qx): New variable.
394         (QX): New variable.
395         (coding_system_description): Add description for
396         `ccs_priority_list'.
397         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
398         (allocate_coding_system): Initialize `ccs_priority_list' in
399         UTF-2000.
400         (Fmake_coding_system): Add description about
401         'use-entity-reference; setup
402         CODING_SYSTEM_USE_ENTITY_REFERENCE(codesys).
403         (Fcoding_system_property): Accept `disable-composition' and
404         `use-entity-reference' in UTF-2000.
405         (struct decoding_stream): Add new member `er_counter' and `er_buf'
406         in UTF-2000.
407         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
408         (decode_coding_utf8): Decode entity-reference if
409         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
410         (char_encode_utf8): Encode non-Unicode characters as
411         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
412         (str->codesys).
413         (syms_of_file_coding): Add new symbols `use-entity-reference',
414         `d', `x', `X'.
415         (vars_of_file_coding): Add new variable
416         `coded-charset-entity-reference-alist'.
417         (complex_vars_of_file_coding): Declare `disable-composition' and
418         `use-entity-reference' to be coding-system-properties in UTF-2000.
419
420         * file-coding.h (struct Lisp_Coding_System): Add new member
421         `use_entity_reference' and `ccs_priority_list'.
422         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
423         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
424         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
425
426 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
427
428         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
429
430 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
431
432         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
433         `XCHARSET_GRAPHIC(ccs)'.
434
435 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
436
437         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
438         for decoding-table.
439
440 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
441
442         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
443         instead of `XCHARSET_CHARS'.
444
445 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
446
447         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
448         (XCHARSET_BYTE_SIZE): Likewise.
449
450         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
451         mule-charset.c].
452         (XCHARSET_BYTE_SIZE): Likewise.
453
454 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
455
456         * char-ucs.h (decoding_table_check_elements): Delete prototype.
457         (get_ccs_octet_table): New inline function.
458         (put_ccs_octet_table): Likewise.
459         (decoding_table_put_char): Use `get_ccs_octet_table' and
460         `put_ccs_octet_table'.
461         (decoding_table_remove_char): Use `decoding_table_put_char'.
462         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
463
464         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
465         into encoding_table.
466         (make_charset): Use Qunbound instead Qnil as initial value of
467         decoding_table.
468
469 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
470
471         * mule-charset.c (put_char_ccs_code_point): Modify for
472         `decoding_table_remove_char' and `decoding_table_put_char'.
473         (remove_char_ccs): Modify for `decoding_table_remove_char'.
474
475         * char-ucs.h (decoding_table_remove_char): Change arguments to
476         hide decoding_table vector.
477         (decoding_table_put_char): Likewise.
478
479 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
480
481         * mule-charset.c (decoding_table_remove_char): Moved to
482         char-ucs.h.
483         (decoding_table_put_char): Likewise.
484
485         * char-ucs.h (decoding_table_check_elements): New prototype [moved
486         from mule-charset.c].
487         (decoding_table_remove_char): New inline function [moved from
488         mule-charset.c].
489         (decoding_table_put_char): Likewise.
490
491 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
492
493         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
494         instead of `DECODE_CHAR' for mother; don't use special code for
495         chinese-big5 to use code space of chinese-big5-1 and
496         chinese-big5-2.
497         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
498         `MAX_CHAR_BIG5_CDP' for chinese-big5.
499
500         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
501         (MAX_CHAR_BIG5_CDP): Revival.
502
503 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
504
505         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
506         the XLFD registry-encoding name of `chinese-big5'.
507
508 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
509
510         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
511         (Qchinese_big5_cdp): Deleted.
512         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
513         (complex_vars_of_mule_charset): Delete coded-charset
514         `chinese-big5-cdp'.
515
516         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
517         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
518         `CHARSET_ID_OFFSET - n' for private CCS.
519         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
520         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
521         of `MIN_LEADING_BYTE'.
522         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
523         `(CHARSET_ID_OFFSET - 97)'.
524         (MIN_CHAR_BIG5_CDP): Deleted.
525         (MAX_CHAR_BIG5_CDP): Deleted.
526
527 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
528
529         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
530         extension.
531
532 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
533
534         * mule-charset.c (decode_builtin_char): Support mother charsets.
535
536 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
537
538         * mule-charset.c (Q94x94x60): New variable.
539         (charset_code_point): Support conversion `94x94x60'.
540         (Fmake_charset): Likewise.
541         (syms_of_mule_charset): Add new symbol `94x94x60'.
542
543         * char-ucs.h (CONVERSION_94x94x60): New macro.
544
545 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
546
547         * mule-charset.c (charset_code_point): Unify code about
548         `code-offset'.
549
550 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
551
552         * mule-charset.c (charset_code_point): Merge code about builtin
553         characters into code about mother charsets; don't use
554         `range_charset_code_point'.
555         (range_charset_code_point): Deleted.
556
557 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
558
559         * mule-charset.c (Qcode_offset): New variable.
560         (Fmake_charset): Use `XUINT' to get value of `min-code' and
561         `max-code'; accept new property `code-offset'.
562         (syms_of_mule_charset): Add new symbol `code-offset'.
563
564 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
565
566         * mule-charset.c (range_charset_code_point): Fixed.
567
568 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
569
570         * mule-charset.c (decode_builtin_char): Change semantics of
571         code-offset of coded-charset.
572         (charset_code_point): Likewise.
573         (range_charset_code_point): Likewise.
574         (complex_vars_of_mule_charset): Modify for the change.
575
576 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
577
578         * mule-charset.c (Fencode_char): Reverse arguments.
579
580         * mule-charset.c (charset_code_point): Fixed.
581
582 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
583
584         * mule-charset.c (Vcharset_mojikyo): Deleted.
585         (Vcharset_mojikyo_2022_1): Deleted.
586         (Vcharset_mojikyo_pj_{1..21}): Deleted.
587         (Qmin_code): New variable in UTF-2000.
588         (Qmax_code): Likewise.
589         (Qmother): Likewise.
590         (Qconversion): Likewise.
591         (Q94x60): Likewise.
592         (Qmojikyo): Deleted.
593         (Qmojikyo_2022_1): Deleted.
594         (Qmojikyo_pj_{1..22}): Deleted.
595         (mark_charset): Mark `cs->mother'.
596         (charset_description): Add description for `mother'.
597         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
598         new arguments `mother' and `conversion'; use
599         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
600         (charset_code_point): Moved from char-ucs.h; support `mother'
601         charset feature.
602         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
603         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
604         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
605         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
606         allow 2 as the value of `graphic' in UTF-2000; add new properties
607         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
608         require `final' in UTF-2000; modify for `make_charset'.
609         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
610         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
611         (Fcharset_property): Support `mother', `min-code' and `max-code'.
612         (Fencode_char): New function.
613         (syms_of_mule_charset): Add new builtin function `encode-char' in
614         UTF-2000; add new symbols `min-code', `max-code', `mother',
615         `conversion' and `94x60'; delete symbols `mojikyo',
616         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
617         (complex_vars_of_mule_charset): Modify for `make_charset' change;
618         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
619         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
620
621         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
622         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
623
624         * char-ucs.h (Vcharset_mojikyo): Deleted.
625         (Vcharset_mojikyo_2022_1): Deleted.
626         (LEADING_BYTE_MOJIKYO): Deleted.
627         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
628         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
629         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
630         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
631         add new member `mother'; add new member `conversion'.
632         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
633         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
634         (CHARSET_MOTHER): New macro.
635         (CHARSET_CONVERSION): New macro.
636         (CONVERSION_IDENTICAL): New macro.
637         (CONVERSION_94x60): New macro.
638         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
639         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
640         (XCHARSET_MOTHER): New macro.
641         (XCHARSET_CONVERSION): New macro.
642         (MIN_CHAR_MOJIKYO): Deleted.
643         (MAX_CHAR_MOJIKYO): Deleted.
644         (DECODE_MOJIKYO_2022): Deleted.
645         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
646         (charset_code_point): Changed to non-inline function.
647         (encode_char_1): Use `charset_code_point'.
648         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
649
650 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
651
652         * lread.c (read_compiled_function): Fix prototype.
653         (read_vector): Likewise.
654
655 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
656
657         * lrecord.h (struct lrecord_header): Delete `older'.
658         (set_lheader_implementation): Delete code for `older'.
659         (set_lheader_older_implementation): Deleted.
660         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
661         (OLDER_RECORD_P): Deleted.
662         (OLDER_RECORD_HEADER_P): Deleted.
663         (alloc_older_lcrecord): Deleted.
664         (alloc_older_lcrecord_type): Deleted.
665
666         * alloc.c (all_older_lcrecords): Deleted.
667         (alloc_older_lcrecord): Deleted.
668         (disksave_object_finalization_1): Delete code for older objects.
669         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
670         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
671
672 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
673
674         * mule-charset.c (decoding_table_put_char): Use `make_vector'
675         instead of `make_older_vector'.
676         (put_char_ccs_code_point): Likewise.
677         (mark_charset): Mark `cs->decoding_table'.
678         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
679
680         * lisp.h (make_older_vector): Deleted.
681         (make_vector_newer): Deleted.
682
683         * config.h.in (HAVE_GGC): Deleted.
684
685         * alloc.c (make_older_vector): Deleted.
686         (make_vector_newer_1): Deleted.
687         (make_vector_newer): Deleted.
688
689 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
690
691         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
692         (Qideograph_daikanwa_2): New variable.
693         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
694         (complex_vars_of_mule_charset): Add new coded-charset
695         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
696         `LEADING_BYTE_DAIKANWA'.
697
698         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
699         (LEADING_BYTE_DAIKANWA_1): New macro.
700         (LEADING_BYTE_DAIKANWA_2): New macro.
701         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
702
703 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
704
705         * mule-charset.c (complex_vars_of_mule_charset): Change
706         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
707         the second revised version.
708
709 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
710
711         * mule-charset.c (Vcharset_ucs_smp): New variable.
712         (Vcharset_ucs_sip): New variable.
713         (Qucs_smp): New variable.
714         (Qucs_sip): New variable.
715         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
716         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
717         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
718         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
719         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
720         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
721
722         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
723         (LEADING_BYTE_UCS_SIP): New macro.
724         (MIN_CHAR_SMP): New macro.
725         (MAX_CHAR_SMP): New macro.
726         (MIN_CHAR_SIP): New macro.
727         (MAX_CHAR_SIP): New macro.
728
729 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
730
731         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
732         utf-2000.
733
734 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
735
736         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
737         value; don't store value into `encoding_table' of `Lisp_Charset'.
738         (mark_charset): `encoding_table' was deleted.
739         (charset_description): Likewise.
740         (make_charset): Likewise.
741         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
742         `put_char_ccs_code_point'.
743
744         * chartab.h (Fput_char_attribute): New EXFUN.
745
746         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
747         is unified with normal symbol space.
748         (Fget_char_attribute): Likewise.
749         (Fput_char_attribute): Likewise; behavior of
750         `put_char_ccs_code_point' is changed.
751
752         * char-ucs.h: Include "elhash.h".
753         (Vchar_attribute_hash_table): New external variable.
754         (struct Lisp_Charset): Delete `encoding_table'.
755         (CHARSET_ENCODING_TABLE): New implementation; refer
756         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
757         `Lisp_Charset'.
758
759 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
760
761         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
762         (cs) == 0.
763
764 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
765
766         * text-coding.c (char_encode_big5): Prefer charset-g1 than
767         `chinese-big5'.
768
769 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
770
771         * chartab.c (uint8_byte_table_description): New constant.
772         (uint8-byte-table): Use `uint8_byte_table_description'.
773         (uint16_byte_table_description): New constant.
774         (uint16-byte-table): Use `uint16_byte_table_description'.
775
776 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
777
778         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
779         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
780
781 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
782
783         * mule-charset.c (Vcharset_ucs_ks): New variable.
784         (Qucs_ks): New variable.
785         (syms_of_mule_charset): Add new symbol `ucs-ks'.
786         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
787
788         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
789
790 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
791
792         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
793         (Fdecode_char): Likewise.
794
795         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
796         chartab.h.
797         (Fdefine_char): Modify for Fdecode_char.
798         (Ffind_char): Likewise.
799
800         * mule-charset.c (Fdecode_char): Add new optional argument
801         `defined-only'.
802         (Fdecode_builtin_char): Modify for `Fdecode_char'.
803
804 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
805
806         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
807         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
808         (allocate_coding_system): Initialize initial-charsets of
809         CODESYS_BIG5 in XEmacs UTF-2000.
810         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
811         CODESYS_BIG5 in XEmacs UTF-2000.
812         (decode_coding_big5): Use initial-charset-g0 and -g1 of
813         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
814
815         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
816         variables.
817         (Qideograph_hanziku_{1 .. 12}): Likewise.
818         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
819         .. 12}'.
820         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
821         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
822         `ideograph-hanziku-{1 .. 12}'.
823
824         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
825         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
826         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
827         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
828         (DECODE_DEFINED_CHAR): New inline function.
829         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
830
831 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
832
833         * mule-charset.c (Vcharset_china3_jef): Renamed from
834         `Vcharset_japanese_jef_china3'.
835         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
836         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
837         `{MIN|MAX}_CHAR_JEF_CHINA3'..
838         (syms_of_mule_charset): Rename `china3-jef' from
839         `japanese-jef-china3'.
840         (complex_vars_of_mule_charset): Likewise; rename
841         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
842
843         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
844         `LEADING_BYTE_JEF_CHINA3'.
845         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
846         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
847
848 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
849
850         * mule-charset.c (encode_builtin_char_1): Comment out special code
851         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
852
853         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
854         (MAX_CHAR_MOJIKYO_0): Comment out.
855         (MIN_CHAR_CBETA): Changed to 0x00E20000.
856         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
857         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
858         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
859
860 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
861
862         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
863         (Qideograph_cbeta): New variable.
864         (encode_builtin_char_1): Comment out special code for
865         coded-charset `mojikyo' and `japanese-jef-china3'.
866         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
867         (complex_vars_of_mule_charset): Add new coded-charset
868         `ideograph-cbeta'.
869
870         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
871         (MIN_CHAR_CBETA): New macro.
872         (MAX_CHAR_CBETA): New macro.
873
874 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
875
876         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
877         (LEADING_BYTE_JEF_CHINA3): New macro.
878         (MIN_CHAR_JEF_CHINA3): New macro.
879         (MAX_CHAR_JEF_CHINA3): Likewise.
880         (DECODE_CHAR): Fixed.
881
882 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
883
884         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
885         (Qjapanese_jef_china3): New variable.
886         (encode_builtin_char_1): Support `japanese-jef-china3'.
887         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
888         (complex_vars_of_mule_charset): Add new coded-charset
889         `japanese-jef-china3'.
890
891 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
892
893         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
894         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
895         94^4, 96^3, 96^4, 128^n and 256^n set.
896         (put_char_table): Use `XCHARSET_CELL_RANGE'.
897         (map_char_table): Likewise.
898
899 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
900
901         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
902         UTF-2000.
903
904 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
905
906         * chartab.h (get_char_id_table): New inline function.
907
908         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
909         function.
910
911 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
912
913         * chartab.h (decode_char_table_range): New prototype in XEmacs
914         UTF-2000.
915         (put_char_id_table): New inline function in XEmacs UTF-2000.
916
917         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
918         function.
919         (decode_char_table_range): Delete static declaration in XEmacs
920         UTF-2000.
921
922 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
923
924         * chartab.c (put_char_id_table): Use `put_char_table'.
925
926 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
927
928         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
929         (map_over_uint16_byte_table): Likewise.
930         (map_over_byte_table): Likewise.
931         (map_char_table): Modify for `map_over_uint8_byte_table',
932         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
933         UTF-2000.
934
935 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
936
937         * chartab.c (struct map_char_table_for_charset_arg): New
938         structure.
939         (map_char_table_for_charset_fun): New function.
940         (map_char_table): Use `map_char_table' for encoding_table of
941         `range->charset'.
942
943 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
944
945         * chartab.c (map_char_table): Check a character is found in
946         range->charset instead of non default value is defined in
947         char-table when range is CHARTAB_RANGE_ROW.
948
949 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
950
951         * chartab.c (map_char_id_table): Deleted.
952         (Fmap_char_attribute): Use `map_char_table' instead of
953         `map_char_id_table'.
954
955 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
956
957         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
958         UTF-2000.
959         (update_syntax_table): Deleted in XEmacs UTF-2000.
960
961         * syntax.c (find_defun_start): Use `syntax_table' instead of
962         `mirror_syntax_table' in XEmacs UTF-2000.
963         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
964         UTF-2000.
965         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
966         XEmacs UTF-2000.
967         (Fmatching_paren): Likewise.
968         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
969         in XEmacs UTF-2000.
970         (find_start_of_comment): Likewise.
971         (find_end_of_comment): Likewise.
972         (Fforward_comment): Likewise.
973         (scan_lists): Likewise.
974         (char_quoted): Likewise.
975         (Fbackward_prefix_chars): Likewise.
976         (scan_sexps_forward): Likewise.
977         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
978         (update_syntax_table): Likewise.
979
980         * search.c (skip_chars): Use `syntax_table' instead of
981         `mirror_syntax_table' in XEmacs UTF-2000.
982         (wordify): Likewise.
983         (Freplace_match): Likewise.
984
985         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
986         `mirror_syntax_table' in XEmacs UTF-2000.
987         (WORDCHAR_P_UNSAFE): Likewise.
988         (re_match_2_internal): Likewise.
989
990         * font-lock.c (find_context): Use `buf->syntax_table' instead of
991         `buf->mirror_syntax_table' in XEmacs UTF-2000.
992
993         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
994         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
995
996         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
997         XEmacs UTF-2000.
998
999         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
1000         UTF-2000.
1001         (print_char_table): Print `default_value' in XEmacs UTF-2000.
1002         (char_table_description): Delete `mirror_table' in XEmacs
1003         UTF-2000.
1004         (fill_char_table): Don't call `update_syntax_table' in XEmacs
1005         UTF-2000.
1006         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
1007         (Fcopy_char_table): Likewise.
1008         (put_char_table): Don't call `update_syntax_table' in XEmacs
1009         UTF-2000.
1010
1011         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
1012         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1013         (casify_region_internal): Likewise.
1014
1015         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
1016
1017         * buffer.c (common_init_complex_vars_of_buffer): Don't use
1018         `mirror_syntax_table' in XEmacs UTF-2000.
1019
1020         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
1021         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1022         (Fexpand_abbrev): Likewise.
1023
1024 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1025
1026         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
1027
1028 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1029
1030         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
1031         (map_over_uint16_byte_table): Likewise.
1032         (map_over_byte_table): Likewise.
1033         (get_char_id_table): Refer `cit->default_value'.
1034         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1035         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
1036         of character-id ranges.
1037         (mark_char_table): Mark `ct->default_value'.
1038         (char_table_description): Add `default_value'.
1039         (fill_char_table): Use `default_value'.
1040         (decode_char_table_range): Decode `nil' as
1041         `CHARTAB_RANGE_DEFAULT'.
1042         (get_char_id_table): Refer `cit->default_value'.
1043         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1044         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
1045         temporary hack; check value of char-table is bound or not.
1046         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
1047
1048         * chartab.h (struct Lisp_Char_Table): Add new member
1049         `default_value' in XEmacs UTF-2000.
1050         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
1051         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
1052         UTF-2000.
1053
1054 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1055
1056         * chartab.h (Lisp_Char_ID_Table): Deleted.
1057
1058         * chartab.c (char_table_description): Fix typo.
1059         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
1060         `Lisp_Char_ID_Table'.
1061
1062 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1063
1064         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
1065         `CHAR_ID_TABLE_P'.
1066
1067         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
1068         `CHAR_ID_TABLE_P'.
1069
1070         * chartab.h (XCHAR_ID_TABLE): Deleted.
1071         (XSETCHAR_ID_TABLE): Deleted.
1072         (CHAR_ID_TABLE_P): Deleted.
1073
1074         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
1075         `CHAR_ID_TABLE_P'.
1076         (Fget_composite_char): Likewise.
1077         (put_char_table): Likewise.
1078         (add_char_attribute_alist_mapper): Fixed.
1079         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
1080         `CHAR_ID_TABLE_P'.
1081         (Fget_char_attribute): Likewise.
1082         (Fget_char_attribute): Likewise.
1083         (Fmap_char_attribute): Likewise.
1084
1085         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
1086         `CHAR_ID_TABLE_P'.
1087         (encode_char_1): Likewise.
1088
1089 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1090
1091         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
1092         `XCHAR_ID_TABLE'.
1093
1094         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
1095         instead of `XCHAR_ID_TABLE'.
1096         (remove_char_ccs): Likewise.
1097
1098         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
1099         `XCHAR_ID_TABLE'.
1100         (Fget_composite_char): Likewise.
1101         (Fchar_variants): Likewise.
1102         (put_char_table): Likewise.
1103         (add_char_attribute_alist_mapper): Likewise.
1104         (Fchar_attribute_alist): Likewise.
1105         (Fget_char_attribute): Likewise.
1106         (Fput_char_attribute): Likewise.
1107         (Fmap_char_attribute): Likewise.
1108         (Fmap_char_attribute): Likewise.
1109
1110         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
1111         `XCHAR_ID_TABLE'.
1112         (encode_char_1): Likewise.
1113
1114 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1115
1116         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
1117         `Lisp_Char_ID_Table'.
1118         (mark_char_id_table): Deleted.
1119         (print_char_id_table): Likewise.
1120         (char_id_table_equal): Likewise.
1121         (char_id_table_hash): Likewise.
1122         (char_id_table_description): Likewise.
1123         (char_id_table): Likewise.
1124         (make_char_id_table): Use `Fmake_char_table' and
1125         `fill_char_table'.
1126         (get_char_id_table): Use `Lisp_Char_Table' instead of
1127         `Lisp_Char_ID_Table'.
1128         (put_char_id_table): Likewise.
1129         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
1130         `XCHAR_ID_TABLE'.
1131         (Fremove_char_attribute): Likewise.
1132         (syms_of_chartab): Don't define type `char-id-table'.
1133
1134         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
1135         (char_id_table): Likewise.
1136         (GC_CHAR_ID_TABLE_P): Likewise.
1137         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
1138         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
1139         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
1140         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
1141         (get_char_id_table): Use `Lisp_Char_Table' instead of
1142         `Lisp_Char_ID_Table'.
1143         (put_char_id_table_0): Likewise.
1144         (put_char_id_table): Likewise.
1145
1146 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1147
1148         * chartab.h: Lisp_Byte_Table related codes are moved from
1149         chartab.h.
1150
1151         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
1152
1153 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1154
1155         * chartab.h: Don't include "chartab.h".
1156         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
1157         (Lisp_Char_ID_Table): Likewise.
1158         (char_id_table): Likewise.
1159         (XCHAR_ID_TABLE): Likewise.
1160         (XSETCHAR_ID_TABLE): Likewise.
1161         (CHAR_ID_TABLE_P): Likewise.
1162         (GC_CHAR_ID_TABLE_P): Likewise.
1163         (get_char_id_table): Likewise.
1164
1165         * char-ucs.h: Include "chartab.h".
1166         (struct Lisp_Char_ID_Table): Moved to chartab.h.
1167         (Lisp_Char_ID_Table): Likewise.
1168         (char_id_table): Likewise.
1169         (XCHAR_ID_TABLE): Likewise.
1170         (XSETCHAR_ID_TABLE): Likewise.
1171         (CHAR_ID_TABLE_P): Likewise.
1172         (GC_CHAR_ID_TABLE_P): Likewise.
1173         (get_char_id_table): Likewise.
1174
1175 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1176
1177         * chartab.c (copy_uint8_byte_table): New function.
1178         (copy_uint16_byte_table): New function.
1179         (copy_byte_table): New function.
1180         (map_over_uint8_byte_table): Modify to avoid huge numbers of
1181         characters to call.
1182         (map_over_uint16_byte_table): Likewise.
1183         (map_over_byte_table): Likewise.
1184         (get_byte_table): Move prototype to chartab.h.
1185         (put_byte_table): Likewise.
1186         (put_char_id_table_0): Moved to chartab.h.
1187         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
1188         (char_table_entry_equal): Likewise.
1189         (char_table_entry_hash): Likewise.
1190         (char_table_entry_description): Likewise.
1191         (char_table_entry): Likewise.
1192         (make_char_table_entry): Likewise.
1193         (copy_char_table_entry): Likewise.
1194         (get_non_ascii_char_table_value): Likewise.
1195         (map_over_charset_ascii): Likewise.
1196         (map_over_charset_control_1): Likewise.
1197         (map_over_charset_row): Likewise.
1198         (map_over_other_charset): Likewise.
1199         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
1200         (print_char_table): Likewise.
1201         (char_table_equal): Likewise.
1202         (char_table_hash): Likewise.
1203         (char_table_description): Likewise.
1204         (fill_char_table): Likewise.
1205         (Fcopy_char_table): Likewise.
1206         (get_char_table): Likewise.
1207         (Fget_range_char_table): Likewise.
1208         (put_char_table): Likewise.
1209         (map_char_table): Likewise.
1210         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
1211         UTF-2000.
1212
1213 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1214
1215         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
1216         `Vauto_fill_chars' in XEmacs UTF-2000.
1217
1218         * chartab.h (get_byte_table): New prototype [moved from
1219         chartab.c].
1220         (put_byte_table): Likewise [moved from chartab.c].
1221         (put_char_id_table_0): New inline function [moved from chartab.c].
1222         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
1223         (Lisp_Char_Table_Entry): Likewise.
1224         (char_table_entry): Likewise.
1225         (XCHAR_TABLE_ENTRY): Likewise.
1226         (XSETCHAR_TABLE_ENTRY): Likewise.
1227         (CHAR_TABLE_ENTRYP): Likewise.
1228         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1229         (NUM_ASCII_CHARS): Likewise.
1230         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1231         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1232
1233 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1234
1235         * chartab.c (get_char_id_table): Change interface.
1236         (put_char_id_table_0): New function.
1237         (put_char_id_table): Change interface; new implementation.
1238         (Fget_composite_char): Modify for interface change of
1239         `get_char_id_table'.
1240         (Fchar_variants): Likewise.
1241         (add_char_attribute_alist_mapper): Likewise.
1242         (Fchar_attribute_alist): Likewise.
1243         (Fget_char_attribute): Likewise.
1244         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1245         as same as character as the first argument like `put-char-table';
1246         modify for interface change of `put_char_id_table'.
1247         (Fremove_char_attribute): Modify for interface change of
1248         `put_char_id_table'.
1249
1250 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1251
1252         * text-coding.c: Sync up with XEmacs 21.2.41.
1253         (COMPOSE_ADD_CHAR): Modify for interface change of
1254         `get_char_id_table'.
1255
1256         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1257         change of `put_char_id_table'.
1258         (remove_char_ccs): Likewise.
1259
1260         * chartab.h (put_char_id_table): Change interface.
1261
1262         * char-ucs.h (get_char_id_table): Change interface.
1263         (charset_code_point): Modify for interface change of
1264         `get_char_id_table'.
1265         (encode_char_1): Likewise.
1266
1267 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1268
1269         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1270         argument `ccs'.
1271         (map_over_uint16_byte_table): Likewise.
1272         (map_over_byte_table): Likewise.
1273         (map_char_id_table): Add new argument `range' like
1274         `map_char_table'.
1275         (Fmap_char_attribute): Add new argument `range' like
1276         `Fmap_char_table'.
1277
1278 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1279
1280         * chartab.c (map_over_uint8_byte_table): Change interface of
1281         mapping function to use struct chartab_range instead of Emchar.
1282         (map_over_uint16_byte_table): Likewise.
1283         (map_over_byte_table): Likewise.
1284         (map_char_id_table): Likewise.
1285         (struct slow_map_char_id_table_arg): Deleted.
1286         (slow_map_char_id_table_fun): Deleted.
1287         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1288         function `slow_map_char_table_fun' instead of struct
1289         `slow_map_char_id_table_arg' and function
1290         `slow_map_char_id_table_fun'.
1291
1292 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1293
1294         * mule-charset.c: Move char-it-table related codes to chartab.c.
1295         (Vutf_2000_version): Moved to chartab.c.
1296         (Fdefine_char): Likewise.
1297         (Ffind_char): Likewise.
1298         (syms_of_mule_charset): Move types `uint8-byte-table',
1299         `uint16-byte-table', `byte-table' and `char-id-table' to
1300         chartab.c; move functions `char_attribute_list,
1301         `find_char_attribute_table, `char_attribute_alist,
1302         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1303         `map_char_attribute, `define_char, `find_char, `char_variants and
1304         `get_composite_char to chartab.c; move symbols `=>ucs',
1305         `->decomposition', `compat', `isolated', `initial', `medial',
1306         `final', `vertical', `noBreak', `fraction', `super', `sub',
1307         `circle', `square', `wide', `narrow', `small' and `font' to
1308         chartab.c.
1309         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1310         setting codes for `Vcharacter_composition_table' and
1311         `Vcharacter_variant_table' to chartab.c.
1312         (complex_vars_of_mule_charset): Move setting code for
1313         `Vchar_attribute_hash_table' to chartab.c.
1314
1315         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1316         (make_char_id_table): New prototype.
1317         (put_char_id_table): Likewise.
1318         (Fget_char_attribute): Likewise.
1319
1320         * chartab.c: Move char-id-table related code from mule-charset.c.
1321         (Vutf_2000_version): Moved from mule-charset.c.
1322
1323         * char-ucs.h (Qucs): New external variable.
1324         (put_char_ccs_code_point): New prototype.
1325         (remove_char_ccs): Likewise.
1326
1327 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1328
1329         * mule-charset.c (Vcharset_ucs_jis): New variable.
1330         (Qucs_jis): Likewise.
1331         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1332         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1333
1334         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1335
1336 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1337
1338         * mule-charset.c (map_over_uint8_byte_table): New function.
1339         (map_over_uint16_byte_table): Likewise.
1340         (map_over_byte_table): Likewise.
1341         (map_char_id_table): Likewise.
1342         (slow_map_char_id_table_fun): Likewise.
1343         (Fmap_char_attribute): Likewise.
1344         (syms_of_mule_charset): Add new function `map-char-attribute'.
1345
1346 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1347
1348         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1349         (syms_of_mule_charset): Add new function `find-char'.
1350
1351 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1352
1353         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1354         XEmacs UTF-2000.
1355         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1356         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1357         XEmacs UTF-2000.
1358         (complex_vars_of_mule_charset): Add new coded-charset
1359         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1360         `ideograph-gt-pj-*'.
1361
1362         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1363
1364 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1365
1366         * mule-charset.c (encode_builtin_char_1): Purge codes about
1367         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1368         {MIN|MAX}_CHAR_HEBREW.
1369         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1370         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1371
1372         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1373         (MAX_CHAR_GREEK): Purged.
1374         (MIN_CHAR_CYRILLIC): Purged.
1375         (MAX_CHAR_CYRILLIC): Purged.
1376         (MIN_CHAR_HEBREW): Commented out.
1377         (MAX_CHAR_HEBREW): Likewise.
1378
1379 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1380
1381         * mule-charset.c (Qto_ucs): New variable.
1382         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1383         (Fdefine_char): Likewise.
1384         (syms_of_mule_charset): Add new symbol `=>ucs'.
1385
1386 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1387
1388         * mule-charset.c (Fdecode_char): Fixed.
1389
1390 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1391
1392         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1393         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1394         "tcvn5712-1".
1395
1396 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1397
1398         * mule-charset.c (Vcharset_ucs_big5): New variable.
1399         (Qucs_big5): Likewise.
1400         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1401         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1402
1403         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1404
1405 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1406
1407         * mule-charset.c (decode_builtin_char): Check Big5 code range
1408         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1409
1410 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1411
1412         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1413         (Qchinese_gb12345): Likewise.
1414         (Fdecode_builtin_char): Fixed.
1415         (syms_of_mule_charset): Add `chinese-gb12345'.
1416         (complex_vars_of_mule_charset): Add coded-charset
1417         `chinese-gb12345'.
1418
1419         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1420         (LEADING_BYTE_CHINESE_GB12345): New macro.
1421
1422 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1423
1424         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1425         and `latin-viscii-upper' for `latin-viscii'.
1426
1427 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1428
1429         * mule-charset.c (Fdecode_builtin_char): Comment out
1430         regularization code for ISO-IR GR representation.
1431
1432 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1433
1434         * mule-charset.c (decode_builtin_char): New function; renamed from
1435         `make_builtin_char'; return -1 instead of signal.
1436         (Fdecode_builtin_char): Use `decode_builtin_char'.
1437
1438         * char-ucs.h (decode_builtin_char): New prototype; renamed from
1439         `make_builtin_char'.
1440         (DECODE_CHAR): Use `decode_builtin_char' instead of
1441         `make_builtin_char'; use mapping table of `chinese-big5' for
1442         `chinese-big5-{1,2}'.
1443
1444 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1445
1446         * text-coding.c (char_encode_big5): New function.
1447         (char_finish_big5): Likewise.
1448         (reset_encoding_stream): Use `char_encode_big5' and
1449         `char_finish_big5' for CODESYS_BIG5.
1450         (mule_encode): Don't use `encode_coding_big5'.
1451         (encode_coding_big5): Deleted.
1452
1453 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1454
1455         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
1456         0x81- in XEmacs UTF-2000.
1457         (detect_coding_big5): Likewise.
1458
1459 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1460
1461         * mule-charset.c (Fdefine_char): Don't use a CCS property to
1462         generate character-id if the CCS property does not have
1463         corresponding predefined character.
1464         (make_builtin_char): Return -1 if corresponding predefined
1465         character is not found.
1466         (Fdecode_char): Return nil if corresponding character is not
1467         found.
1468         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
1469         don't map to builtin ucs space.
1470
1471 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1472
1473         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
1474         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
1475
1476 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1477
1478         * mule-charset.c (Vcharset_ideograph_gt): New variable.
1479         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
1480         (Qideograph_gt): Likewise.
1481         (Qideograph_gt_pj_{1..11}): Likewise.
1482         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
1483         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
1484         `ideograph-gt-pj-11'.
1485         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
1486         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
1487         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
1488
1489         * char-ucs.h (LEADING_BYTE_GT): New macro.
1490         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
1491         (MIN_CHAR_GT): Likewise.
1492         (MAX_CHAR_GT): Likewise.
1493
1494 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1495
1496         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
1497         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
1498
1499         * doprnt.c (unsigned_int_converters): Add `c'.
1500         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
1501
1502         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
1503         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
1504         `MIN_CHAR_MOJIKYO'.
1505         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
1506         (MAX_CHAR_MOJIKYO_0): New macro.
1507         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
1508
1509 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1510
1511         * mule-charset.c (Fdefine_char): Delete cemented out code.
1512         (encode_builtin_char_1): Modify for new allocation of builtin
1513         Mojikyo characters.
1514
1515         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
1516
1517 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1518
1519         * mule-charset.c (Vcharset_ucs_cns): New variable.
1520         (Qucs_cns): New variable.
1521         (syms_of_mule_charset): Add new symbol `ucs-cns'.
1522         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
1523
1524 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1525
1526         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
1527
1528 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1529
1530         * search.c (search_buffer): Make `charset_base_code' as
1531         character-id >> 6 to eliminate the corresponding last byte in
1532         UTF-8 representation [I'm not sure it is right thing].
1533         (boyer_moore): Likewise.
1534
1535 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1536
1537         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
1538         representation in MULE.
1539
1540 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1541
1542         * text-coding.c (Fmake_coding_system): Use
1543         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
1544         `EXTERNAL_PROPERTY_LIST_LOOP'.
1545
1546 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1547
1548         * text-coding.c (decode_output_utf8_partial_char): New function.
1549         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
1550
1551 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1552
1553         * text-coding.c (decode_coding_utf8): Output original byte
1554         sequence if it is broken; change order of conditions.
1555
1556         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
1557         of conditions.
1558
1559         * mb-multibyte.h (BYTE_ASCII_P):
1560         Use bit ops for char-signedness safety.
1561         (BYTE_C0_P): Use bit ops for char-signedness safety.
1562         (BYTE_C1_P): Use bit ops for char-signedness safety.
1563
1564         * character.h: (XCHAR_OR_CHAR_INT):
1565         Always use inline function.
1566         Remove redundant type checking assert() - XINT will abort quite
1567         nicely.
1568
1569 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1570
1571         * text-coding.c: (Fencode_shift_jis_char):
1572         (Fencode_big5_char):
1573         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1574         Replace 0 with '\0' when working with bytes.
1575         Replace initial "(" with "\(" in docstrings.
1576
1577         (Fmake_coding_system):
1578         When type is ccl and value is vector, register it with a proper
1579         symbol.  And checks whether the given ccl program is valid.
1580         (mule_decode): When calling ccl_driver, if src indicates
1581         NULL pointer, set an empty string instead.
1582         (mule_encode): Likewise.
1583
1584         (detect_eol_type):
1585         (detect_coding_sjis):
1586         (decode_coding_sjis):
1587         (detect_coding_big5):
1588         (decode_coding_big5):
1589         (detect_coding_ucs4):
1590         (decode_coding_ucs4):
1591         (detect_coding_utf8):
1592         (decode_coding_utf8):
1593         (detect_coding_iso2022):
1594         (decode_coding_iso2022):
1595         (decode_coding_no_conversion):
1596         (mule_decode):
1597         Make all detecting and decoding functions take an Extbyte * arg.
1598         (text_encode_generic):
1599         (encode_coding_big5):
1600         (encode_coding_no_conversion):
1601         (mule_encode):
1602         Make all encoding functions take a Bufbyte * arg.
1603         Use size_t instead of unsigned int for memory sizes.
1604         Only cast to unsigned char whenever dereferencing Extbyte *.
1605
1606         (struct lrecord_description fcd_description_1): Use countof.
1607         (complex_vars_of_file_coding):
1608         Use countof instead of sizeof.
1609         Use CHECK_NATNUM instead of CHECK_INT.
1610
1611 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1612
1613         * mule-charset.c (Fget_char_attribute): Add new optional argument
1614         `default-value'.
1615         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1616         (remove_char_ccs): Likewise.
1617
1618 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1619
1620         * text-coding.c (char_encode_shift_jis): New implementation in
1621         UTF-2000.
1622         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1623         ...)'.
1624
1625         * mule-charset.c (Vcharset_chinese_big5): New variable in
1626         UTF-2000.
1627         (Qchinese_big5): New variable in UTF-2000.
1628         (BIG5_SAME_ROW): New macro in UTF-2000.
1629         (make_builtin_char): Use builtin characters of
1630         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1631         characters of `Vcharset_chinese_big5'.
1632         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1633         (complex_vars_of_mule_charset): Add new coded-charset
1634         `chinese-big5' in UTF-2000.
1635
1636         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1637         (Vcharset_chinese_big5): New external variable declaration.
1638         (Vcharset_japanese_jisx0208_1990): Likewise.
1639
1640 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1641
1642         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1643         function.
1644         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1645
1646 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1647
1648         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1649         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1650         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1651         `mojikyo-pj-*'.
1652
1653 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1654
1655         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1656
1657 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1658
1659         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1660         to 0.17.
1661
1662 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1663
1664         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1665         for `CHARSET_BY_ATTRIBUTES'.
1666         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1667         `CHARSET_BY_ATTRIBUTES'.
1668
1669         * text-coding.c (struct decoding_stream): Rename member `CH' to
1670         `CPOS'.
1671         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1672         (decode_coding_sjis): Likewise.
1673         (decode_coding_big5): Likewise.
1674         (decode_coding_ucs4): Likewise.
1675         (decode_coding_utf8): Likewise.
1676         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1677         `CHARSET_BY_ATTRIBUTES'.
1678         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1679         `str->counter'; decode 3, 4 bytes sets.
1680         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1681         sets.
1682         (decode_coding_no_conversion): Use `str->cpos' instead of
1683         `str->ch'.
1684
1685         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1686         (Qmojikyo_2022_1): New variable.
1687         (make_charset): Don't use `CHARSET_TYPE_*'.
1688         (range_charset_code_point): Support coded-charset
1689         `mojikyo-2022-1'.
1690         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1691         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1692         `CHARSET_BY_ATTRIBUTES'.
1693         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1694         `CHARSET_BY_ATTRIBUTES'.
1695         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1696         (complex_vars_of_mule_charset): Add new coded-charset
1697         `mojikyo-2022-1'.
1698
1699         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1700         interface; changed to inline function.
1701
1702         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1703         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1704         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1705         (CHARSET_TYPE_94): Deleted.
1706         (CHARSET_TYPE_94X94): Deleted.
1707         (CHARSET_TYPE_96): Deleted.
1708         (CHARSET_TYPE_96X96): Deleted.
1709         (CHARSET_TYPE_128): Deleted.
1710         (CHARSET_TYPE_128X128): Deleted.
1711         (CHARSET_TYPE_256): Deleted.
1712         (CHARSET_TYPE_256X256): Deleted.
1713         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1714         to inline function.
1715         (DECODE_MOJIKYO_2022): New inline function.
1716         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1717         `Vcharset_mojikyo_2022_1'.
1718
1719 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1720
1721         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1722         instead of `EQ'.
1723         (put_byte_table): Likewise.
1724         (char_id_table_equal): Use `get_byte_table' [new implementation].
1725
1726 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1727
1728         * mule-charset.c: Include <limits.h> in UTF-2000.
1729         (BT_UINT8_MIN): New macro in UTF-2000.
1730         (BT_UINT8_MAX): New macro in UTF-2000.
1731         (BT_UINT8_t): New macro in UTF-2000.
1732         (BT_UINT8_nil): New macro in UTF-2000.
1733         (BT_UINT8_unbound): New macro in UTF-2000.
1734         (INT_UINT8_P): New inline function in UTF-2000.
1735         (UINT8_VALUE_P): New inline function in UTF-2000.
1736         (UINT8_ENCODE): New inline function in UTF-2000.
1737         (UINT8_DECODE): New inline function in UTF-2000.
1738         (mark_uint8_byte_table): New function in UTF-2000.
1739         (print_uint8_byte_table): New function in UTF-2000.
1740         (uint8_byte_table_equal): New function in UTF-2000.
1741         (uint8_byte_table_hash): New function in UTF-2000.
1742         (make_uint8_byte_table): New function in UTF-2000.
1743         (uint8_byte_table_same_value_p): New function in UTF-2000.
1744         (BT_UINT16_MIN): New macro in UTF-2000.
1745         (BT_UINT16_MAX): New macro in UTF-2000.
1746         (BT_UINT16_t): New macro in UTF-2000.
1747         (BT_UINT16_nil): New macro in UTF-2000.
1748         (BT_UINT16_unbound): New macro in UTF-2000.
1749         (INT_UINT16_P): New inline function in UTF-2000.
1750         (UINT16_VALUE_P): New inline function in UTF-2000.
1751         (UINT16_ENCODE): New inline function in UTF-2000.
1752         (UINT16_DECODE): New inline function in UTF-2000.
1753         (UINT8_TO_UINT16): New inline function in UTF-2000.
1754         (mark_uint16_byte_table): New function in UTF-2000.
1755         (print_uint16_byte_table): New function in UTF-2000.
1756         (uint16_byte_table_equal): New function in UTF-2000.
1757         (uint16_byte_table_hash): New function in UTF-2000.
1758         (make_uint16_byte_table): New function in UTF-2000.
1759         (uint16_byte_table_same_value_p): New function in UTF-2000.
1760         (print_byte_table): New function in UTF-2000.
1761         (byte-table): Use `print_byte_table' as printer.
1762         (make_byte_table): Delete second argument `older'.
1763         (byte_table_same_value_p): New function in UTF-2000.
1764         (copy_byte_table): Deleted.
1765         (get_byte_table): New function in UTF-2000.
1766         (put_byte_table): New function in UTF-2000.
1767         (print_char_id_table): New function in UTF-2000.
1768         (char-id-table): Use `print_char_id_table' as printer.
1769         (make_char_id_table): Delete second argument `older'.
1770         (get_char_id_table): Use `get_byte_table [new implementation].
1771         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1772         implementation].
1773         (Ffind_char_attribute_table): New function in UTF-2000.
1774         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1775         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1776         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1777         (syms_of_mule_charset): Add new function
1778         `find-char-attribute-table' in UTF-2000.
1779
1780         * lrecord.h (enum lrecord_type): Add
1781         `lrecord_type_uint16_byte_table' and
1782         `lrecord_type_uint8_byte_table'.
1783
1784         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1785         (Lisp_Uint8_Byte_Table): New type.
1786         (XUINT8_BYTE_TABLE): New macro.
1787         (XSETUINT8_BYTE_TABLE): New macro.
1788         (UINT8_BYTE_TABLE_P): New macro.
1789         (GC_UINT8_BYTE_TABLE_P): New macro.
1790         (struct Lisp_Uint16_Byte_Table): New structure.
1791         (Lisp_Uint16_Byte_Table): New type.
1792         (XUINT16_BYTE_TABLE): New macro.
1793         (XSETUINT16_BYTE_TABLE): New macro.
1794         (UINT16_BYTE_TABLE_P): New macro.
1795         (GC_UINT16_BYTE_TABLE_P): New macro.
1796
1797 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1798
1799         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1800         (Vcharacter_ideographic_strokes_table): Deleted.
1801         (Vcharacter_total_strokes_table): Deleted.
1802         (Vcharacter_morohashi_daikanwa_table): Deleted.
1803         (Vcharacter_decomposition_table): Deleted.
1804         (Qname): Deleted because it is duplicated.
1805         (Qideographic_radical): Deleted.
1806         (Qideographic_strokes): Deleted.
1807         (Qtotal_strokes): Deleted.
1808         (Qmorohashi_daikanwa): Deleted.
1809         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1810         `ideographic-radical', `ideographic-strokes', `total-strokes',
1811         `morohashi-daikanwa' and `->decomposition'.
1812         (Fget_char_attribute): Likewise.
1813         (Fput_char_attribute): Likewise; use `make-vector' instead of
1814         `make_older_vector' for `->decomposition' value.
1815         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1816         `ideograph-daikanwa'.
1817         (syms_of_mule_charset): Delete builtin symbols `name',
1818         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1819         `morohashi-daikanwa'.
1820         (vars_of_mule_charset): Don't setup
1821         `Vcharacter_ideographic_radical_table',
1822         `Vcharacter_ideographic_strokes_table',
1823         `Vcharacter_total_strokes_table',
1824         `Vcharacter_morohashi_daikanwa_table' and
1825         `Vcharacter_decomposition_table'.
1826
1827 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1828
1829         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1830         `make_older_vector', `make_vector_newer_1' and
1831         `make_vector_newer'.
1832
1833         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1834         `make_older_vector' and `make_vector_newer'.
1835
1836         * config.h.in (HAVE_GGC): New macro.
1837
1838 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1839
1840         * mule-charset.c (struct char_attribute_list_closure): New
1841         structure in UTF-2000.
1842         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1843         (Fchar_attribute_list): Likewise.
1844         (Fset_charset_mapping_table): Use `make_vector_newer'.
1845         (Fdecode_builtin_char): New function in UTF-2000.
1846         (syms_of_mule_charset): Add new function `char-attribute-list' and
1847         `decode-builtin-char' in UTF-2000.
1848
1849         * lisp.h (make_vector_newer): New prototype.
1850
1851         * alloc.c (make_vector_newer_1): New function.
1852         (make_vector_newer): New function.
1853
1854 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1855
1856         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1857         50100)'.
1858
1859 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1860
1861         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1862         (Vcharacter_attribute_table): Deleted.
1863         (Vcharacter_name_table): Deleted.
1864         (put_char_attribute): Deleted.
1865         (remove_char_attribute): Deleted.
1866         (struct char_attribute_alist_closure): New structure.
1867         (add_char_attribute_alist_mapper): New function.
1868         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1869         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1870         (Fget_char_attribute): Likewise.
1871         (Fput_char_attribute): Likewise.
1872         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1873         of `remove_char_attribute'.
1874         (Fdefine_char): Return character.
1875         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1876         and `Vcharacter_name_table'.
1877         (complex_vars_of_mule_charset): Likewise
1878         `Vchar_attribute_hash_table'.
1879
1880 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1881
1882         * character.h (CHARC_CHARSET): New macro.
1883         (CHARC_CHARSET_ID): New macro.
1884         (CHARC_CODE_POINT): New macro.
1885         (CHARC_COLUMNS): New macro.
1886         (CHARC_TO_CHAR): New inline function.
1887         (CHARC_EQ): New inline function.
1888         (CHARC_ASCII_EQ): New inline function.
1889         (CHARC_IS_SPACE): New inline function.
1890         (ASCII_TO_CHARC): New inline function.
1891
1892         * char-ucs.h (encode_char_2): Deleted.
1893         (ENCODE_CHAR): Use `encode_char_1' again.
1894         (breakup_char_1): Likewise.
1895         (CHAR_TO_CHARC): New inline function.
1896
1897         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1898
1899 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1900
1901         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1902         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1903         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1904         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1905         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1906         `CHARC_IS_SPACE'.
1907         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1908
1909         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1910         `CHARC_CODE_POINT'.
1911         (x_output_display_block): Use `CHARC_CHARSET' and
1912         `CHARC_ASCII_EQ'.
1913
1914         * redisplay-tty.c (tty_output_display_block): Use
1915         `CHARC_ASCII_EQ'.
1916         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1917
1918         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1919
1920         * insdel.c (find_charsets_in_charc_string): Use
1921         `CHARC_CHARSET_ID'.
1922         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1923         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1924         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1925         (convert_charc_string_into_malloced_string): Likewise.
1926
1927 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1928
1929         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1930         instead of <Emchar_dynarr *> for buf; use
1931         `convert_bufbyte_string_into_charc_dynarr' instead of
1932         `convert_bufbyte_string_into_emchar_dynarr'; use
1933         `find_charsets_in_charc_string' instead of
1934         `find_charsets_in_emchar_string'.
1935
1936         * redisplay.h:
1937         - Include "character.h".
1938         (struct rune): New member `cglyph'; delete member `chr'.
1939
1940         * redisplay.c (redisplay_text_width_charc_string): New function;
1941         delete `redisplay_text_width_emchar_string'.
1942         (rtw_charc_dynarr): New variable; renamed from
1943         `rtw_emchar_dynarr'.
1944         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1945         `rtw_emchar_dynarr'; use
1946         `convert_bufbyte_string_into_charc_dynarr' instead of
1947         `convert_bufbyte_string_into_emchar_dynarr'; use
1948         `redisplay_text_width_charc_string' instead of
1949         `redisplay_text_width_emchar_string'.
1950         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1951         instead of `rtw_emchar_dynarr'; use
1952         `convert_bufbyte_string_into_charc_dynarr' instead of
1953         `convert_bufbyte_string_into_emchar_dynarr'.
1954         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1955         `redisplay_text_width_charc_string' instead of
1956         `redisplay_text_width_emchar_string'.
1957         (create_text_block): Modify for <struct rune> change.
1958         (generate_formatted_string_db): Likewise.
1959         (create_string_text_block): Likewise.
1960         (pixel_to_glyph_translation): Likewise.
1961
1962         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1963         instead of <const Emchar *>.
1964         (x_text_width): Likewise.
1965         (x_output_display_block): Use <Charc_dynarr *> instead
1966         <Emchar_dynarr *>; modify for <structure rune> change.
1967         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1968         *>.
1969
1970         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1971         <const Emchar *>; use `charc_string_displayed_columns' instead of
1972         `emchar_string_displayed_columns'.
1973         (tty_output_display_block): Use <Charc_dynarr *> instead of
1974         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1975         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1976         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1977         `tty_output_emchar_dynarr_dynarr'.
1978         (tty_output_charc_dynarr): New function; delete
1979         `tty_output_charc_dynarr'.
1980
1981         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1982         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1983         <Emchar_dynarr *> for buf; use
1984         `convert_bufbyte_string_into_charc_dynarr' instead of
1985         `convert_bufbyte_string_into_emchar_dynarr'.
1986
1987         * frame.c (title_string_charc_dynarr): New variable; renamed from
1988         `title_string_emchar_dynarr'.
1989         (generate_title_string): Use `title_string_charc_dynarr' instead
1990         of `title_string_emchar_dynarr'; use
1991         `convert_charc_string_into_malloced_string' instead of
1992         `convert_emchar_string_into_malloced_string'.
1993         (init_frame): Use `title_string_charc_dynarr' instead of
1994         `title_string_emchar_dynarr'.
1995
1996         * console.h:
1997         - Include "character.h".
1998         (struct console_methods): Use <const Charc *> instead of <const
1999         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
2000         <Emchar_dynarr *> in output_string_method.
2001
2002         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
2003         <Emchar_dynarr *>.
2004
2005         * console-stream.c (stream_text_width): Use <const Charc *>
2006         instead of <const Emchar *>.
2007
2008         * character.h (Charc_dynarr): New type.
2009
2010         * char-ucs.h (structure Charc): New structure; define new type
2011         `Charc'.
2012
2013         * char-lb.h (DECODE_CHAR): New inline function.
2014         (encode_char_1): New inline function.
2015         (ENCODE_CHAR): New macro.
2016         (structure Charc): New structure; define new type `Charc'.
2017
2018         * char-1byte.h (Vcharset_control_1): New macro.
2019         (Vcharset_latin_iso8859_1): New macro.
2020         (DECODE_CHAR): New inline function.
2021         (encode_char_1): New inline function.
2022         (ENCODE_CHAR): New macro.
2023         (structure Charc): New structure; define new type `Charc'.
2024
2025         * insdel.c (find_charsets_in_charc_string): New function; delete
2026         `find_charsets_in_emchar_string'.
2027         (charc_string_displayed_columns): New function; delete
2028         `emchar_string_displayed_columns'.
2029         (convert_bufbyte_string_into_charc_dynarr): New function; delete
2030         `convert_bufbyte_string_into_emchar_dynarr'.
2031         (convert_charc_string_into_bufbyte_dynarr): New function; delete
2032         `convert_charc_string_into_bufbyte_dynarr'.
2033         (convert_charc_string_into_malloced_string): New function; delete
2034         `convert_charc_string_into_malloced_string'.
2035
2036         * buffer.h (find_charsets_in_charc_string): New prototype; delete
2037         `find_charsets_in_emchar_string'.
2038         (charc_string_displayed_columns): New prototype; delete
2039         `emchar_string_displayed_columns'.
2040         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
2041         `convert_charc_string_into_bufbyte_dynarr'.
2042         (convert_charc_string_into_malloced_string): New prototype; delete
2043         `convert_charc_string_into_malloced_string'.
2044
2045 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2046
2047         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
2048
2049 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2050
2051         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
2052
2053         * char-ucs.h: Use <short> for <Charset_ID>.
2054
2055         * mule-charset.h, char-1byte.h: Use <unsigned char> for
2056         <Charset_ID>.
2057
2058 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2059
2060         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2061         to 0.16.
2062
2063 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2064
2065         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
2066         variable.
2067         (Qmorohashi_daikanwa): New variable.
2068         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
2069         for `morohashi-daikanwa' attribute.
2070         (Fget_char_attribute): Likewise.
2071         (Fput_char_attribute): Likewise.
2072         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
2073         has the same value of `ideograph-daikanwa'.
2074         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
2075         (vars_of_mule_charset): Setup
2076         `Vcharacter_morohashi_daikanwa_table'.
2077
2078 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2079
2080         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
2081         attributes.
2082         (add_charset_to_list_mapper): Add `key' instead of
2083         `XCHARSET_NAME (value)' to return aliases.
2084
2085 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2086
2087         * mule-charset.c (Vcharacter_ideographic_radical_table): New
2088         variable.
2089         (Vcharacter_ideographic_strokes_table): New variable.
2090         (Qideographic_radical): New variable.
2091         (Qideographic_strokes): New variable.
2092         (Fchar_attribute_alist): Use
2093         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
2094         attribute; use `Vcharacter_ideographic_strokes_table' for
2095         `ideographic-strokes' attribute.
2096         (Fget_char_attribute): Likewise.
2097         (Fput_char_attribute): Likewise.
2098         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
2099         `ideographic-strokes'.
2100         (vars_of_mule_charset): Setup
2101         `Vcharacter_ideographic_radical_table' and
2102         `Vcharacter_ideographic_strokes_table'.
2103
2104 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2105
2106         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
2107         (Qtotal_strokes): New variable.
2108         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
2109         `total-strokes' attribute.
2110         (Fget_char_attribute): Likewise.
2111         (Fput_char_attribute): Likewise.
2112         (syms_of_mule_charset): Add new symbol `total-strokes'.
2113         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
2114
2115 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2116
2117         * mule-charset.c (Vcharacter_decomposition_table): New variable.
2118         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
2119         are found.
2120         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
2121         `->decomposition' attribute.
2122         (Fput_char_attribute): Likewise.
2123         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
2124
2125 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2126
2127         * mule-charset.c (decoding_table_check_elements): New function.
2128         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
2129
2130 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2131
2132         * mule-charset.c (Fset_charset_mapping_table): Use
2133         `put_char_ccs_code_point'.
2134
2135 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2136
2137         * mule-charset.c (decoding_table_put_char): New inline function.
2138         (put_char_ccs_code_point): Use `decoding_table_put_char'.
2139
2140 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2141
2142         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
2143         (XCHARSET_BYTE_SIZE): New macro.
2144         (decoding_table_remove_char): New inline function.
2145         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
2146         `decoding_table_remove_char'.
2147         (remove_char_ccs): Use `decoding_table_remove_char'.
2148         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
2149
2150 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2151
2152         * mule-charset.c (Vcharacter_name_table): New variable.
2153         (Qname): New variable.
2154         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
2155         attribute.
2156         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
2157         `Vcharacter_name_table' for `name' attribute.
2158         (Fremove_char_attribute): Use function `remove_char_ccs'.
2159         (put_char_ccs_code_point): New function.
2160         (remove_char_ccs): New function.
2161         (syms_of_mule_charset): Add new symbol `name'.
2162         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
2163
2164 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2165
2166         * mule-charset.c (make_byte_table): Add new argument `older'.
2167         (make_char_id_table): Likewise.
2168         (copy_char_id_table): Comment out because it is not used.
2169         (put_char_id_table): Modify for `make_byte_table'.
2170         (Fput_char_attribute): Make encoding_table as older object;
2171         inherit older bit of `Vcharacter_composition_table'.
2172         (mark_charset): Don't mark `cs->encoding_table'.
2173         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
2174         normal object; make `Vcharacter_composition_table' as an older
2175         object; delete staticpro for `Vcharacter_composition_table'; make
2176         `Vcharacter_variant_table' as a normal object.
2177
2178         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
2179         (mark_object): Don't check older object in UTF-2000.
2180
2181         * lrecord.h (struct lrecord_header): Add new member `older' in
2182         UTF-2000.
2183         (set_lheader_implementation): Setup `SLI_header->older' in
2184         UTF-2000.
2185         (set_lheader_older_implementation): New macro in UTF-2000.
2186         (OLDER_RECORD_P): New macro in UTF-2000.
2187         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
2188         (alloc_older_lcrecord): New prototype in UTF-2000.
2189         (alloc_older_lcrecord_type): New macro in UTF-2000.
2190
2191 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2192
2193         * mule-charset.c (byte_table_description): Use
2194         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
2195         (char_id_table_description): Delete bogus `, 1'.
2196         (Fget_char_attribute): Refer encoding_table of each coded-charset
2197         to get value of coded-charset attribute of a character.
2198         (Fput_char_attribute): Use `make_older_vector' instead of
2199         `make_vector'; use encoding_table of each coded-charset to store
2200         value of coded-charset attribute of a character.
2201         (Fremove_char_attribute): Use encoding_table of each coded-charset
2202         to store value of coded-charset attribute of a character.
2203         (mark_charset): Mark `cs->encoding_table'; don't mark
2204         `cs->decoding_table'.
2205         (charset_description): Add description of new member
2206         `encoding_table'.
2207         (make_charset): Initialize `encoding_table'.
2208
2209         * char-ucs.h (struct Lisp_Charset): Add new member
2210         `encoding_table'.
2211         (CHARSET_ENCODING_TABLE): New macro.
2212         (XCHARSET_ENCODING_TABLE): New macro.
2213         (charset_code_point): New implementation.
2214         (encode_char_1): Likewise.
2215
2216         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
2217         (disksave_object_finalization_1): Call finalizers of
2218         `all_older_lcrecords' in UTF-2000.
2219         (make_older_vector): New function in UTF-2000.
2220         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
2221         UTF-2000.
2222
2223         * lisp.h (make_older_vector): New prototype in UTF-2000.
2224
2225 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2226
2227         * lrecord.h (enum lrecord_type): Rename
2228         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2229
2230         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2231         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2232         `get_char_code_table'.
2233
2234         * mule-charset.c (mark_char_id_table): Renamed from
2235         `mark_char_code_table'.
2236         (char_id_table_equal): Renamed from `char_code_table_equal'.
2237         (char_id_table_hash): Renamed from `char_code_table_hash'.
2238         (make_char_id_table): Renamed from `make_char_code_table'.
2239         (copy_char_id_table): Renamed from `copy_char_code_table'.
2240         (get_char_id_table): Renamed from `get_char_code_table'.
2241         (put_char_id_table): Renamed from `put_char_code_table'.
2242         (to_char_id): Renamed from `to_char_code'.
2243
2244         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2245         `Lisp_Char_Code_Table'.
2246         (char_id_table): Renamed from `char_code_table'.
2247         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2248         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2249         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2250         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2251         (get_char_id_table): Renamed from `get_char_code_table'.
2252
2253 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2254
2255         * lrecord.h (enum lrecord_type): Rename
2256         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2257
2258         * mule-charset.c (mark_byte_table): Renamed from
2259         `mark_char_byte_table'.
2260         (byte_table_equal): Renamed from `char_byte_table_equal'.
2261         (byte_table_hash): Renamed from `byte_table_hash'.
2262         (make_byte_table): Renamed from `make_byte_table'.
2263         (copy_byte_table): Renamed from `copy_char_byte_table'.
2264
2265         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2266         `Lisp_Char_Byte_Table'.
2267         (byte_table): Renamed from `char_byte_table'.
2268         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2269         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2270         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2271         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2272
2273 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2274
2275         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2276         (dfc_convert_to_internal_format): Likewise.
2277         
2278         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2279         * text-coding.c (Fcoding_system_alias_p): New function.
2280         * text-coding.c (Fcoding_system_aliasee): New function.
2281         * text-coding.c (append_suffix_to_symbol): New function.
2282         * text-coding.c (dangling_coding_system_alias_p): New function.
2283         * text-coding.c (Ffind_coding_system):
2284         * text-coding.c (Fcopy_coding_system):
2285         * text-coding.c (encode_coding_no_conversion):
2286         * text-coding.c (syms_of_file_coding):
2287         * text-coding.c (vars_of_file_coding):
2288         Rewrite coding system alias code.
2289         Allow nested aliases, like symbolic links.
2290         Allow redefinition of coding system aliases.
2291         Prevent existence of dangling coding system aliases.
2292         Eliminate convert_to_external_format.
2293         Eliminate convert_to_internal_format.
2294         
2295         * text-coding.c: Change enum eol_type to eol_type_t.
2296
2297 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2298
2299         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2300         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2301
2302         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2303         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2304
2305 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2306
2307         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2308         `ideograph-daikanwa'.
2309
2310         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2311         (Vcharset_ucs_bmp): Likewise.
2312         (Vcharset_mojikyo): Add new extern variable definition.
2313         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2314         (Vcharset_latin_iso8859_3): Likewise.
2315         (Vcharset_latin_iso8859_4): Likewise.
2316         (Vcharset_latin_iso8859_9): Likewise.
2317         (Vcharset_latin_viscii_lower): Likewise.
2318         (Vcharset_latin_viscii_upper): Likewise.
2319         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2320         `mojikyo' code-point is used to decode.
2321         (encode_char_2): New function [to convert `mojikyo' code-point to
2322         Mojikyo font encoding].
2323         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2324         (breakup_char_1): Likewise.
2325         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2326
2327 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2328
2329         * text-coding.c (Fmake_coding_system): Add document about
2330         `disable-composition' property.
2331
2332 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2333
2334         * text-coding.c (Qdisable_composition): New variable; delete
2335         `Qcomposite'.
2336         (Fmake_coding_system): Add new property `disable-composite';
2337         delete property `composite'.
2338         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2339         instead of `!CODING_SYSTEM_COMPOSITE'.
2340         (syms_of_file_coding): Add new symbol `disable-composition';
2341         delete symbol `composite'.
2342
2343         * file-coding.h (struct Lisp_Coding_System): Add
2344         `disable_composition'; delete `enable_composition'.
2345         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2346         `CODING_SYSTEM_COMPOSITE'.
2347         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2348         `XCODING_SYSTEM_COMPOSITE'.
2349
2350 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2351
2352         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2353         to 0.15.
2354
2355 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2356
2357         * text-coding.c (Qcomposite): New variable.
2358         (Fmake_coding_system): Add new property `composite'.
2359         (struct decoding_stream): Add `combined_char_count',
2360         `combined_chars' and `combining_table' in UTF-2000.
2361         (COMPOSE_FLUSH_CHARS): New macro.
2362         (COMPOSE_ADD_CHAR): New macro.
2363         (reset_decoding_stream): Reset `str->combined_char_count' and
2364         `str->combining_table' in UTF-2000.
2365         (decode_coding_iso2022): Modify for character-decomposition.
2366         (syms_of_file_coding): Add new symbol `composite'.
2367
2368 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2369
2370         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2371         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2372         of `Vcharacter_composition_table' if `->decomposition' property
2373         has only 1 element.
2374         (Qlatin_tcvn5712): New variable.
2375         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2376         (complex_vars_of_mule_charset): Add new coded-charset
2377         `latin-tcvn5712'.
2378
2379         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2380
2381 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2382
2383         * file-coding.h (struct Lisp_Coding_System): Add
2384         `enable_composition'.
2385         (CODING_SYSTEM_COMPOSITE): New macro.
2386         (XCODING_SYSTEM_COMPOSITE): New macro.
2387
2388 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2389
2390         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2391
2392 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2393
2394         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2395         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2396
2397 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2398
2399         * mule-charset.c (Vcharset_mojikyo): New variable.
2400         (Fdefine_char): Don't use coded-charset which does not have
2401         non-builtin character range to allocate character-id.
2402         (Qmojikyo): New variable.
2403         (syms_of_mule_charset): Add new symbol `mojikyo'.
2404         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2405
2406         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2407         (LEADING_BYTE_MOJIKYO): New macro.
2408         (MIN_CHAR_MOJIKYO): New macro.
2409         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2410         (MAX_CHAR_MOJIKYO): New macro.
2411
2412 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2413
2414         * mule-charset.c (remove_char_attribute): Fixed.
2415
2416 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2417
2418         * mule-charset.c (remove_char_attribute): New function.
2419         (Fremove_char_attribute): New function.
2420         (encode_builtin_char_1): Comment out builtin-support for
2421         greek-iso8859-7 and cyrillic-iso8859-5.
2422         (Fdecode_char): Check `code' is an integer.
2423         (syms_of_mule_charset): Add `remove-char-attribute'.
2424         (MIN_CHAR_GREEK): Deleted.
2425         (MAX_CHAR_GREEK): Likewise.
2426         (MIN_CHAR_CYRILLIC): Likewise.
2427         (MAX_CHAR_CYRILLIC): Likewise.
2428         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2429         MAX_CHAR_GREEK for `greek-iso8859-7'.
2430
2431         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
2432         (MAX_CHAR_GREEK): Likewise.
2433         (MIN_CHAR_CYRILLIC): Likewise.
2434         (MAX_CHAR_CYRILLIC): Likewise.
2435
2436 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
2437
2438         * mule-charset.c (Fdefine_char): Fix problem when new code-point
2439         format is used without `ucs' property.
2440         (Fdecode_char): Fix problem with GR representation.
2441         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
2442         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
2443
2444 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2445
2446         * mule-charset.c (make_builtin_char): New function.
2447         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
2448         (Fset_charset_mapping_table): Modify for new representation of
2449         code-point.
2450         (Fdecode_char): New function.
2451         (syms_of_mule_charset): Add new builtin function `decode-char' in
2452         UTF-2000.
2453
2454         * char-ucs.h (make_builtin_char): New prototype.
2455         (DECODE_CHAR): New inline function.
2456         (MAKE_CHAR): Use `DECODE_CHAR'.
2457
2458 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
2459
2460         * text-coding.c (parse_charset_conversion_specs): Use
2461         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
2462         `XCHARSET_TYPE'.
2463         (iso2022_designate): Likewise.
2464
2465         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
2466         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
2467
2468         * mule-charset.c (Vcharset_ucs): New variable.
2469         (print_charset): Change design; use `CHARSET_CHARS' and
2470         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
2471         (make_charset): Change signature to specify `chars' and
2472         `dimension' instead of `type'.
2473         (range_charset_code_point): Modify for 256^n-set.
2474         (encode_builtin_char_1): Encode as `ucs' in default.
2475         (Fmake_charset): Modify for `make_charset'.
2476         (Fmake_reverse_direction_charset): Likewise.
2477         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
2478         UTF-2000.
2479         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
2480         for `make_charset'.
2481
2482         * char-ucs.h (Vcharset_ucs): New variable.
2483         (LEADING_BYTE_UCS): New macro.
2484         (struct Lisp_Charset): Delete `type'; change type of `dimension'
2485         and `chars' to `unsigned short' from `unsigned int'.
2486         (CHARSET_TYPE): Deleted.
2487         (XCHARSET_TYPE): Deleted.
2488
2489 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
2490
2491         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
2492
2493         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
2494         (ENCODE_CHAR): New macro.
2495
2496 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2497
2498         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2499         to 0.14 (Kawachi-Katakami).
2500
2501 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2502
2503         * text-coding.c (char_encode_shift_jis): Modify for
2504         `charset_code_point'.
2505         (char_encode_iso2022): Likewise.
2506
2507         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
2508         (integer) instead of list of <Lisp_Object>s (integers) as the
2509         format of code-point of a coded-charset.
2510         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2511         (encode_builtin_char_1): New function; delete
2512         `split_builtin_char'.
2513         (charset_code_point): Return <int> instead of <Lisp_Object>.
2514         (Fsplit_char): Don't use `SPLIT_CHAR'.
2515
2516         * char-ucs.h (encode_builtin_char_1): New prototype; delete
2517         prototype for `split_builtin_char'.
2518         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2519         (charset_code_point): Likewise.
2520         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
2521         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
2522
2523 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
2524
2525         * mule-charset.c (complex_vars_of_mule_charset): Don't define
2526         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
2527
2528 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2529
2530         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
2531
2532         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
2533         (MAX_CHAR_OBS_94x94): Deleted.
2534
2535 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2536
2537         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
2538
2539         * char-ucs.h (MAX_CHAR_BMP): New macro.
2540
2541 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2542
2543         * text-coding.c: Sync with r21-2-24.
2544
2545 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2546
2547         * file-coding.c: Modify for UTF-2000.
2548
2549 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2550
2551         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2552         to 0.13 (Takaida).
2553
2554 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2555
2556         * mule-charset.c (split_builtin_char): Delete builtin support for
2557         `katakana-jisx0201'.
2558         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
2559         BMP area in builtin representation.
2560
2561         * char-ucs.h (MAKE_CHAR): Delete builtin support for
2562         `Vcharset_katakana_jisx0201'.
2563
2564 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
2565
2566         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2567         (Qisolated): New variable.
2568         (Qinitial): New variable.
2569         (Qmedial): New variable.
2570         (Qfinal): New variable.
2571         (Qvertical): New variable.
2572         (Qsmall): New variable.
2573         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2574         `Qvertical' and `Qsmall'.
2575         (Qmojikyo_pj_[1 .. 21]): New variable.
2576         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2577         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2578         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2579         .. 21]'.
2580
2581 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2582
2583         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2584         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2585         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2586
2587 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2588
2589         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2590         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2591         BMP.
2592         (Qjapanese_jisx0208_1990): New variable.
2593         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2594         (complex_vars_of_mule_charset): Add new coded-charset
2595         `japanese-jisx0208-1990'.
2596
2597         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2598         (MIN_CHAR_JIS_X0208_1990): New macro.
2599         (MAX_CHAR_JIS_X0208_1990): New macro.
2600
2601 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2602
2603         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2604         coded-charset is not found.
2605
2606 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2607
2608         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2609         (Fdefine_char): Use `Fmake_char'.
2610
2611 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2612
2613         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2614         (Vcharset_hiragana_jisx0208): Deleted.
2615         (Vcharset_katakana_jisx0208): Deleted.
2616         (Qideograph_daikanwa): New variable.
2617         (Qhiragana_jisx0208): Deleted.
2618         (Qkatakana_jisx0208): Deleted.
2619         (split_builtin_char): Split `ideograph-daikanwa'.
2620         (Fsplit_char): New implementation for UTF-2000.
2621         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2622         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2623         (complex_vars_of_mule_charset): Add new coded-charset
2624         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2625         `katakana-jisx0208'.
2626
2627         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2628         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2629         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2630         (MIN_CHAR_DAIKANWA): New macro.
2631         (MAX_CHAR_DAIKANWA): New macro.
2632
2633 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2634
2635         * data.c (Fstring_to_number): Don't recognize floating point if
2636         base is not 10.
2637
2638 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2639
2640         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2641
2642 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2643
2644         * mule-charset.c (Qsquare): New variable.
2645         (to_char_code): Add `Qsquare'.
2646         (syms_of_mule_charset): Add new symbol `square'.
2647
2648 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2649
2650         * mule-charset.c (Qcircle): New variable.
2651         (to_char_code): Add `Qcircle'.
2652         (syms_of_mule_charset): Add new symbol `circle'.
2653
2654 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2655
2656         * mule-charset.c (Qfont): New variable.
2657         (to_char_code): Add `Qfont'.
2658         (syms_of_mule_charset): Add new symbol `font'.
2659
2660 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2661
2662         * mule-charset.c (Qsub): New variable.
2663         (to_char_code): Add `Qsub'.
2664         (syms_of_mule_charset): Add new symbol `sub'.
2665
2666 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2667
2668         * mule-charset.c (Fput_char_attribute): Convert each element of
2669         VALUE to GL position if ATTRIBUTE is a GR-set,
2670
2671 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2672
2673         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2674         coded-charset is a GR-set.
2675
2676 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2677
2678         * mule-charset.c (Fput_char_attribute): Check each element of
2679         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2680
2681 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2682
2683         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2684         UTF-2000.
2685         (Qethiopic_ucs): New variable in UTF-2000.
2686         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2687         (complex_vars_of_mule_charset): Add new coded-charset
2688         `ethiopic-ucs' in UTF-2000.
2689
2690         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2691         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2692         9)'.
2693         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2694         10)'.
2695         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2696
2697 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2698
2699         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2700         `ascii'.
2701
2702 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2703
2704         * mule-charset.c (Vcharacter_variant_table): New variable.
2705         (Q_ucs): New variable.
2706         (Fchar_variants): New function.
2707         (Fput_char_attribute): Register `->ucs' value to
2708         `Vcharacter_variant_table'.
2709         (syms_of_mule_charset): Add new function `char-variants' and new
2710         symbol `->ucs'.
2711         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2712
2713 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2714
2715         * mule-charset.c (get_char_code_table): Allow negative character
2716         code.
2717         (put_char_code_table): Likewise.
2718         (Vcharacter_composition_table): New variable.
2719         (Q_decomposition): New variable.
2720         (Qwide): New variable.
2721         (Qnarrow): New variable.
2722         (Qcompat): New variable.
2723         (QnoBreak): New variable.
2724         (Qsuper): New variable.
2725         (Qfraction): New variable.
2726         (to_char_code): New function.
2727         (Fget_composite_char): New function.
2728         (Fput_char_attribute): Register `->decomposition' value to
2729         `Vcharacter_composition_table'.
2730         (syms_of_mule_charset): Add new function `get-composite-char', new
2731         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2732         `super' and `fraction'.
2733         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2734
2735 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2736
2737         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2738         character; copy the return value.
2739
2740 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2741
2742         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2743
2744         * mule-charset.c (range_charset_code_point): Must use make_int.
2745         (split_builtin_char): New function.
2746
2747 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2748
2749         * mule-charset.c (char_byte_table): Change name from
2750         "char-code-table" to "char-byte-table".
2751         (mark_char_code_table): New function.
2752         (char_code_table_equal): New function.
2753         (char_code_table_hash): New function.
2754         (char_code_table_description): New constant.
2755         (char_code_table): New type.
2756         (make_char_code_table): New function.
2757         (copy_char_code_table): New function.
2758         (get_char_code_table): Modify for `char_code_table' type.
2759         (put_char_code_table): Likewise.
2760         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2761         (Kashiwara).
2762
2763         * char-ucs.h (char_code_table): New type.
2764         (XCHAR_CODE_TABLE): New macro.
2765         (XSETCHAR_CODE_TABLE): New macro.
2766         (CHAR_CODE_TABLE_P): New macro.
2767         (GC_CHAR_CODE_TABLE_P): New macro.
2768         (struct Lisp_Char_Code_Table): New structure.
2769
2770 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2771
2772         * mule-charset.c (Fmake_charset): Setup byte_offset for
2773         {94|96}^n-set.
2774
2775 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2776
2777         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2778         character.
2779
2780 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2781
2782         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2783         is found.
2784
2785 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2786
2787         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2788         charset, it is regarded as a charset.
2789         (put_char_attribute): New function in UTF-2000.
2790         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2791         charset, mapping-table of the charset is modified.
2792         (Fdefine_char): New function in UTF-2000.
2793         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2794         `Fput_char_attribute'.
2795         (syms_of_mule_charset): Add new function `define-char' and new
2796         symbol `ucs' in UTF-2000.
2797         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2798
2799 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2800
2801         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2802         non-UTF-2000 configuration.
2803
2804 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2805
2806         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2807         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2808
2809         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2810         deleted.
2811         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2812         (Fset_charset_mapping_table): Likewise.
2813
2814         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2815         (CHARSET_ENCODING_TABLE): Delete.
2816         (XCHARSET_ENCODING_TABLE): Delete.
2817         (charset_code_point): New interface.
2818
2819 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2820
2821         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2822         instead of `charset_get_byte1' and `charset_get_byte2'.
2823
2824         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2825         (charset_get_byte2): Deleted.
2826
2827 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2828
2829         * char-ucs.h (SPLIT_CHAR): New inline function.
2830         (breakup_char_1): Use `SPLIT_CHAR'.
2831
2832         * mule-charset.c (range_charset_code_point): New function.
2833         (charset_code_point): New function.
2834
2835         * char-ucs.h (range_charset_code_point): New interface.
2836         (breakup_char_1): Use `range_charset_code_point'.
2837
2838 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2839
2840         * mule-charset.c (Fmake_charset): Delete unused local variable
2841         `code_offset'.
2842
2843         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2844         (breakup_char_1): Find a charset and code-point in
2845         `Vcharacter_attribute_table'.
2846
2847 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2848
2849         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2850         to 0.10 (Yao).
2851
2852 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2853
2854         * mule-charset.c (Vcharacter_attribute_table): New variable.
2855         (Fchar_attribute_alist): New function.
2856         (Fget_char_attribute): New function.
2857         (Fput_char_attribute): New function.
2858         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2859         too.
2860         (syms_of_mule_charset): Add new function `char-attribute-alist',
2861         `get-char-attribute' and `put-char-attribute'.
2862         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2863
2864 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2865
2866         * mule-charset.c (Fmake_charset): Just use
2867         `get_unallocated_leading_byte'.
2868
2869         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2870         sets; don't use final-byte based number for private sets.
2871
2872 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2873
2874         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2875         integer.
2876
2877 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2878
2879         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2880         to 0.9.
2881
2882 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2883
2884         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2885         of `CHAR_LEADING_BYTE' in UTF-2000.
2886
2887         * insdel.c (find_charsets_in_bufbyte_string): Use
2888         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2889         (find_charsets_in_emchar_string): Likewise.
2890
2891         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2892         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2893
2894         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2895         (CHAR_CHARSET_ID): New macro.
2896
2897 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2898
2899         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2900         charset-id - MIN_LEADING_BYTE.
2901         (put_char_table): Likewise.
2902
2903 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2904
2905         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2906         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2907         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2908         (CHARSET_ID_OFFSET): New macro.
2909         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2910         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2911         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2912         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2913         4).
2914         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2915         5).
2916         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2917         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2918         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2919         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2920         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2921
2922 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2923
2924         * mule-charset.c (next_allocated_leading_byte): New variable in
2925         UTF-2000.
2926         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2927         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2928         (get_unallocated_leading_byte): Simply use
2929         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2930         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2931         UTF-2000.
2932
2933         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2934         (MAX_LEADING_BYTE_PRIVATE): New macro.
2935         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2936         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2937
2938 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2939
2940         * mule-charset.c (Fmake_charset): Allocate final-byte based
2941         charset-id for 94-set, 96-set and 94x94-set.
2942
2943 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2944
2945         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2946         ambiguous `else'.
2947         (Fmake_charset): Likewise.
2948         (complex_vars_of_mule_charset): Modify the font registry of
2949         `ucs-bmp' not to match `Ethiopic-Unicode'.
2950
2951 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2952
2953         * mule-charset.c (complex_vars_of_mule_charset): Add font
2954         registory of `ucs-bmp'.
2955
2956 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2957
2958         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2959         coded-charsets in `default-coded-charset-priority-list' when
2960         breaking up a character.
2961
2962         * mule-charset.c (Vcharset_latin_viscii): New variable.
2963         (Qlatin_viscii): New variable.
2964         (make_charset): Don't use `decoding_table'.
2965         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2966         byte_offset.
2967         (Fset_charset_mapping_table): New implementation.
2968         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2969         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2970         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2971         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2972         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2973         charset `latin_viscii'.
2974
2975         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2976         (CHARSET_TYPE_94X94): Change to 1 from 2.
2977         (CHARSET_TYPE_96): Change to 2 from 1.
2978         (CHARSET_TYPE_128): New macro.
2979         (CHARSET_TYPE_128X128): Change to 5 from 4.
2980         (CHARSET_TYPE_256): New macro.
2981         (CHARSET_TYPE_256X256): Change to 7 from 5.
2982         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2983
2984 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2985
2986         * text-coding.c (char_encode_shift_jis): Refer
2987         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2988         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2989
2990         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2991         (char_byte_table_equal): New function in UTF-2000.
2992         (char_byte_table_hash): New function in UTF-2000.
2993         (char_byte_table_description): New constant in UTF-2000.
2994         (char_byte_table): New type in UTF-2000.
2995         (make_char_byte_table): New function in UTF-2000.
2996         (copy_char_byte_table): New function in UTF-2000.
2997         (make_char_code_table): New macro in UTF-2000.
2998         (get_char_code_table): New function in UTF-2000.
2999         (put_char_code_table): New function in UTF-2000.
3000         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3001         (charset_description): Add setting in UTF-2000.
3002         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
3003         `CHARSET_TO_BYTE1_TABLE(cs)'.
3004         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
3005         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
3006         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
3007         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
3008         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
3009         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
3010         `CHARSET_TO_BYTE2_TABLE(cs)'.
3011
3012         * char-ucs.h (char_byte_table): New type.
3013         (XCHAR_BYTE_TABLE): New macro.
3014         (XSETCHAR_BYTE_TABLE): New macro.
3015         (CHAR_BYTE_TABLE_P): New macro.
3016         (GC_CHAR_BYTE_TABLE_P): New macro.
3017         (struct Lisp_Char_Byte_Table): New structure.
3018         (get_char_code_table): New interface.
3019         (Emchar_to_byte_table): Deleted.
3020         (get_byte_from_character_table): Deleted.
3021         (struct Lisp_Charset): Add `encoding_table'; delete
3022         `to_byte1_table' and `to_byte2_table'.
3023         (CHARSET_ENCODING_TABLE): New macro.
3024         (CHARSET_TO_BYTE1_TABLE): Deleted.
3025         (CHARSET_TO_BYTE2_TABLE): Deleted.
3026         (XCHARSET_ENCODING_TABLE): New macro.
3027         (XCHARSET_TO_BYTE1_TABLE): Deleted.
3028         (XCHARSET_TO_BYTE2_TABLE): Deleted.
3029
3030 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3031
3032         * mule-charset.c (syms_of_mule_charset): Delete charset alias
3033         `vietnamese-viscii-*'.
3034
3035 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3036
3037         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
3038         (Qvietnamese_viscii_upper): New variable.
3039         (Fdefine_charset_alias): New function.
3040         (syms_of_mule_charset): Add new function `define-charset-alias'.
3041         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
3042         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
3043         `latin-viscii-*'.
3044
3045 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
3046
3047         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
3048         (MAX_CHAR_OBS_94x94): New macro.
3049         (breakup_char_1): Support obsolete XEmacs-UCS private code space
3050         for 94x94 sets.
3051
3052         * mule-charset.c (put_byte_from_character_table): Change unit size
3053         from 128 to 256.
3054         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
3055         not defined.
3056         (Fmake_reverse_direction_charset): Modify dummy argument of
3057         `make_charset' for non-UTF-2000 environment.
3058
3059 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3060
3061         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
3062
3063         * mule-charset.c (destroy_byte_from_character_table): New macro.
3064         (latin_jisx0201_to_ucs): Deleted.
3065         (latin_iso8859_2_to_ucs): Deleted.
3066         (latin_iso8859_3_to_ucs): Deleted.
3067         (latin_iso8859_4_to_ucs): Deleted.
3068         (latin_iso8859_9_to_ucs): Deleted.
3069         (latin_viscii_lower_to_ucs): Deleted.
3070         (latin_viscii_upper_to_ucs): Deleted.
3071         (mark_charset): Mark `cs->decoding_table'.
3072         (Fcharset_mapping_table): Fix DOC-string.
3073         (Fset_charset_mapping_table): New function.
3074         (syms_of_mule_charset): Add nwe function
3075         `set-charset-mapping-table'.
3076         (complex_vars_of_mule_charset): Don't setup and use
3077         `latin_*_to_ucs'.
3078
3079 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3080
3081         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
3082         charset.
3083
3084 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3085
3086         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
3087         (Vcharset_katakana_jisx0208): New variable.
3088         (Qhiragana_jisx0208): New variable.
3089         (Qkatakana_jisx0208): New variable.
3090         (make_charset): Add new argument `byte_offset'.
3091         (charset_get_byte1): Modify for new coded-charset definition; use
3092         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3093         `XCHARSET_BYTE_OFFSET'.
3094         (Fmake_charset): Modify for `make_charset'.
3095         (Fmake_reverse_direction_charset): Likewise.
3096         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
3097         `katakana-jisx0208'.
3098         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
3099         `.'  in font registry of charset `katakana-jisx0201',
3100         `latin-jisx0201', `vietnamese-viscii-lower' and
3101         `vietnamese-viscii-upper'; modify DOC-string of charset
3102         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
3103         registry of charset `japanese-jisx0208' not to use font for JIS
3104         X0208:1990; add new charset `hiragana-jisx0208' and
3105         `katakana-jisx0208'.
3106
3107         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
3108         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
3109         (struct Lisp_Charset): Add `byte_offset'.
3110         (CHARSET_BYTE_OFFSET): New macro.
3111         (XCHARSET_UCS_MIN): New macro.
3112         (XCHARSET_UCS_MAX): New macro.
3113         (XCHARSET_CODE_OFFSET): New macro.
3114         (XCHARSET_BYTE_OFFSET): New macro.
3115         (MIN_CHAR_HIRAGANA): New macro.
3116         (MAX_CHAR_HIRAGANA): New macro.
3117         (MIN_CHAR_KATAKANA): New macro.
3118         (MAX_CHAR_KATAKANA): New macro.
3119         (MAKE_CHAR): Modify for new coded-charset definition; use
3120         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3121         `XCHARSET_BYTE_OFFSET'.
3122
3123 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3124
3125         * mule-charset.c (CHAR96): Deleted.
3126         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
3127         <Lisp_Object>.
3128         (latin_iso8859_2_to_ucs): Likewise.
3129         (latin_iso8859_3_to_ucs): Likewise.
3130         (latin_iso8859_4_to_ucs): Likewise.
3131         (latin_iso8859_9_to_ucs): Likewise.
3132         (latin_viscii_lower_to_ucs): Likewise.
3133         (latin_viscii_upper_to_ucs): Likewise.
3134         (latin_tcvn5712_to_ucs): Commented out.
3135         (make_charset): Change type of argument `decoding_table' from
3136         <Emchar*> to <Lisp_Object> [vector of characters].
3137         (Fmake_charset): Modify for `make_charset'.
3138         (Fmake_reverse_direction_charset): Likewise.
3139         (Fcharset_mapping_table): New function in UTF-2000.
3140         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
3141         UTF-2000.
3142         (complex_vars_of_mule_charset): Modify for type change of
3143         `*_to_ucs'; modify for `make_charset'.
3144
3145         * char-ucs.h (struct Lisp_Charset): Change type of
3146         `decoding_table' from <Emchar*> to <Lisp_Object>.
3147         (MAKE_CHAR): Modify for new specification of `decoding_table'.
3148
3149 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3150
3151         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
3152         error with non-UTF-2000-Mule.
3153
3154 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
3155
3156         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
3157         in lisp again].
3158         (Vcharset_chinese_cns11643_4): Likewise.
3159         (Vcharset_chinese_cns11643_5): Likewise.
3160         (Vcharset_chinese_cns11643_6): Likewise.
3161         (Vcharset_chinese_cns11643_7): Likewise.
3162         (Qchinese_cns11643_3): Likewise.
3163         (Qchinese_cns11643_4): Likewise.
3164         (Qchinese_cns11643_5): Likewise.
3165         (Qchinese_cns11643_6): Likewise.
3166         (Qchinese_cns11643_7): Likewise.
3167         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
3168         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3169         and `chinese-cns11643-7' to lisp/mule/chinese.el.
3170         (complex_vars_of_mule_charset): Likewise.
3171
3172 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3173
3174         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
3175         96-set.
3176         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
3177         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
3178
3179 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3180
3181         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
3182         0xFF60.
3183         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
3184         (breakup_char_1): Likewise.
3185
3186         * text-coding.c (char_encode_iso2022): Keep designated charsets if
3187         one of them includes the specified character.
3188
3189 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3190
3191         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
3192
3193 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3194
3195         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
3196
3197 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3198
3199         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
3200         definition for non-UTF-2000 Mule.
3201         (latin_iso8859_3_to_ucs): Likewise.
3202         (latin_iso8859_4_to_ucs): Likewise.
3203         (latin_iso8859_9_to_ucs): Likewise.
3204         (latin_jisx0201_to_ucs): Likewise.
3205         (MIN_CHAR_THAI): Likewise.
3206         (MAX_CHAR_THAI): Likewise.
3207         (MIN_CHAR_GREEK): Likewise.
3208         (MAX_CHAR_GREEK): Likewise.
3209         (MIN_CHAR_HEBREW): Likewise.
3210         (MAX_CHAR_HEBREW): Likewise.
3211         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
3212         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
3213         (MIN_CHAR_CYRILLIC): Likewise.
3214         (MAX_CHAR_CYRILLIC): Likewise.
3215
3216 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3217
3218         * char-ucs.h (breakup_char_1): Use
3219         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
3220         thai-tis620 and katakana-jisx0201 area.
3221
3222 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3223
3224         * char-ucs.h (breakup_char_1): Use
3225         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
3226         area.
3227
3228         * text-coding.c (reset_encoding_stream): Fixed.
3229         (char_encode_ucs4): Delete `& 255'.
3230
3231         * char-ucs.h (breakup_char_1): Use
3232         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3233
3234 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3235
3236         * file-coding.c (Fmake_coding_system): Don't set up
3237         `codesys->fixed.size'.
3238         (encode_coding_no_conversion): Don't refer
3239         `str->codesys->fixed.size'.
3240
3241 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3242
3243         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3244         (latin_a_char_to_byte1): Deleted.
3245         (latin_a_char_to_byte2): Deleted.
3246
3247 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3248
3249         * mule-charset.c (make_charset): Add new argument `ucs_min',
3250         `ucs_max' and `code_offset'.
3251         (charset_get_byte1): New implementation [delete specific charset
3252         depended implementations].
3253         (Fmake_charset): Modify for `make_charset'.
3254         (Fmake_reverse_direction_charset): Likewise.
3255         (complex_vars_of_mule_charset): Likewise.
3256
3257         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3258         `code_offset'.
3259         (CHARSET_UCS_MIN): New macro.
3260         (CHARSET_UCS_MAX): New macro.
3261         (CHARSET_CODE_OFFSET): New macro.
3262         (MAKE_CHAR): Delete charset depended definitions [except
3263         katakana-jisx0201].
3264
3265 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3266
3267         * char-ucs.h (breakup_char_1): Use
3268         `Vdefault_coded_charset_priority_list' for C0-Controls,
3269         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3270
3271 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3272
3273         * char-ucs.h (charset_get_byte1): New function.
3274         (XCHARSET_GET_BYTE1): Deleted.
3275         (charset_get_byte2): New function.
3276         (XCHARSET_GET_BYTE2): Deleted.
3277         (Vdefault_coded_charset_priority_list): New external variable.
3278         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3279         `Vdefault_preferred_coded_charset_list'.
3280
3281         * mule-charset.c (charset_get_byte1): New function.
3282         (charset_get_byte2): New function.
3283         (Vdefault_coded_charset_priority_list): New variable.
3284         (vars_of_mule_charset): Add new variable
3285         `default-coded-charset-priority-list'.
3286
3287 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3288
3289         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3290         (XCHARSET_GET_BYTE2): New inline function.
3291         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3292         `XCHARSET_GET_BYTE2'.
3293
3294 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3295
3296         * mule-charset.c (make_charset): Initialize
3297         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3298         NULL if table is not defined.
3299
3300 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3301
3302         * text-coding.c (char_encode_shift_jis): Use
3303         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3304         `ucs_to_latin_jisx0201'.
3305
3306         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3307         (ucs_to_latin_iso8859_2): Deleted.
3308         (ucs_to_latin_iso8859_3): Deleted.
3309         (ucs_to_latin_iso8859_4): Deleted.
3310         (ucs_to_latin_iso8859_9): Deleted.
3311         (ucs_to_latin_viscii_lower): Deleted.
3312         (ucs_to_latin_viscii_upper): Deleted.
3313         (ucs_to_latin_tcvn5712): Deleted.
3314         (make_charset): Add new argument `decoding_table'; set up
3315         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3316         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3317         `decoding_table' is defined in UTF-2000.
3318         (Fmake_charset): Modify for `make_charset'.
3319         (Fmake_reverse_direction_charset): Likewise.
3320         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3321         and `GENERATE_96_SET'.
3322
3323         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3324         (ucs_to_latin_jisx0201): Deleted.
3325         (latin_iso8859_2_to_ucs): Deleted.
3326         (ucs_to_latin_iso8859_2): Deleted.
3327         (latin_iso8859_3_to_ucs): Deleted.
3328         (ucs_to_latin_iso8859_3): Deleted.
3329         (latin_iso8859_4_to_ucs): Deleted.
3330         (ucs_to_latin_iso8859_4): Deleted.
3331         (latin_iso8859_9_to_ucs): Deleted.
3332         (ucs_to_latin_iso8859_9): Deleted.
3333         (latin_viscii_lower_to_ucs): Deleted.
3334         (ucs_to_latin_viscii_lower): Deleted.
3335         (latin_viscii_upper_to_ucs): Deleted.
3336         (ucs_to_latin_viscii_upper): Deleted.
3337         (struct Lisp_Charset): Renamed `encoding_table' to
3338         `to_byte1_table'; add `to_byte2_table'.
3339         (CHARSET_DECODING_TABLE): New macro.
3340         (CHARSET_TO_BYTE1_TABLE): New macro.
3341         (CHARSET_TO_BYTE2_TABLE): New macro.
3342         (XCHARSET_DECODING_TABLE): New macro.
3343         (XCHARSET_TO_BYTE1_TABLE): New macro.
3344         (XCHARSET_TO_BYTE2_TABLE): New macro.
3345         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3346         tables.
3347         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3348         don't use `ucs_to_*' tables.
3349
3350 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3351
3352         * text-coding.c (Fmake_coding_system): Don't set up
3353         `codesys->fixed.size'.
3354         (encode_coding_no_conversion): Use `if' instead of `switch'.
3355
3356         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3357
3358 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3359
3360         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3361         (Fmake_charset): Modify for `make_charset'.
3362         (Fmake_reverse_direction_charset): Likewise.
3363         (complex_vars_of_mule_charset): Likewise.
3364
3365 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3366
3367         * text-coding.c (char_encode_shift_jis): Use table
3368         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3369
3370 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3371
3372         * text-coding.c (text_encode_generic): Use `if' instead of
3373         `switch'.
3374         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3375         decode JIS-Latin.
3376
3377 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3378
3379         * text-coding.c (encode_coding_sjis): Deleted.
3380         (char_encode_shift_jis): New function.
3381         (char_finish_shift_jis): New function.
3382         (reset_encoding_stream): Set up `encode_char' and `finish' for
3383         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3384         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3385         (char_encode_utf8): Treat `eol_type'.
3386
3387 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3388
3389         * file-coding.c (decode_coding_iso2022): Use
3390         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3391
3392 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3393
3394         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3395         to 0.7 (Hirano).
3396
3397 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3398
3399         * char-lb.h (CHAR_COLUMNS): New macro.
3400
3401 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3402
3403         * text-coding.c (char_encode_ucs4): New function.
3404         (char_finish_ucs4): New function.
3405         (encode_coding_ucs4): Deleted.
3406         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3407         (text_encode_generic): Delete local variable `charset' and `half'.
3408         (ucs_to_mule_table): Deleted.
3409         (mule_to_ucs_table): Deleted.
3410         (Fset_ucs_char): Deleted.
3411         (ucs_to_char): Deleted.
3412         (Fucs_char): Deleted.
3413         (Fset_char_ucs): Deleted.
3414         (Fchar_ucs): Deleted.
3415         (decode_ucs4): Deleted.
3416         (mule_char_to_ucs4): Deleted.
3417         (encode_ucs4): Deleted.
3418         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3419         (decode_coding_utf8): Likewise.
3420         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3421         (char_encode_iso2022): Fixed.
3422         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3423         `Fset_char_ucs' and `Fchar_ucs'.
3424         (complex_vars_of_file_coding): Don't initialize
3425         `ucs_to_mule_table'.
3426
3427         * objects-tty.c (tty_initialize_font_instance): Don't use
3428         `XCHARSET_COLUMNS'.
3429
3430         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3431         UTF-2000.
3432
3433         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
3434         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3435
3436         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
3437         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3438         (emchar_string_displayed_columns): Likewise.
3439
3440         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
3441         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3442         (string_column_at_point): Likewise.
3443         (Fmove_to_column): Likewise.
3444
3445         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
3446         `encoding_table' and `decoding_table'.
3447         (CHARSET_REP_BYTES): Deleted.
3448         (XCHARSET_REP_BYTES): Deleted.
3449         (XCHARSET_COLUMNS): Deleted.
3450         (CHAR_COLUMNS): New macro.
3451         (lookup_composite_char): Deleted unconditionally.
3452         (composite_char_string): Likewise.
3453
3454 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3455
3456         * char-ucs.h (Emchar_to_byte_table): New type.
3457         (get_byte_from_character_table): New function interface.
3458         (Vcharset_latin_jisx0201): New variable.
3459         (latin_jisx0201_to_ucs): New variable.
3460         (ucs_to_latin_jisx0201): New variable.
3461         (Vcharset_latin_iso8859_2): New variable.
3462         (latin_iso8859_2_to_ucs): New variable.
3463         (ucs_to_latin_iso8859_2): New variable.
3464         (Vcharset_latin_iso8859_3): New variable.
3465         (latin_iso8859_3_to_ucs): New variable.
3466         (ucs_to_latin_iso8859_3): New variable.
3467         (Vcharset_latin_iso8859_4): New variable.
3468         (latin_iso8859_4_to_ucs): New variable.
3469         (ucs_to_latin_iso8859_4): New variable.
3470         (Vcharset_latin_iso8859_9): New variable.
3471         (latin_iso8859_9_to_ucs): New variable.
3472         (ucs_to_latin_iso8859_9): New variable.
3473         (Vcharset_latin_viscii_lower): New variable.
3474         (latin_viscii_lower_to_ucs): New variable.
3475         (ucs_to_latin_viscii_lower): New variable.
3476         (Vcharset_latin_viscii_upper): New variable.
3477         (latin_viscii_upper_to_ucs): New variable.
3478         (ucs_to_latin_viscii_upper): New variable.
3479         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
3480         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
3481         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
3482         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
3483         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
3484         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
3485         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
3486         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
3487         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
3488         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
3489
3490         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
3491         (Vcharset_latin_viscii_upper): New variable.
3492         (make_byte_from_character_table): New function.
3493         (put_byte_from_character_table): New function.
3494         (get_byte_from_character_table): New function.
3495         (CHAR96): New macro.
3496         (ucs_to_latin_jisx0201): New variable.
3497         (latin_jisx0201_to_ucs): New variable.
3498         (ucs_to_latin_iso8859_2): New variable.
3499         (latin_iso8859_2_to_ucs): New variable.
3500         (ucs_to_latin_iso8859_3): New variable.
3501         (latin_iso8859_3_to_ucs): New variable.
3502         (ucs_to_latin_iso8859_4): New variable.
3503         (latin_iso8859_4_to_ucs): New variable.
3504         (ucs_to_latin_iso8859_9): New variable.
3505         (latin_iso8859_9_to_ucs): New variable.
3506         (ucs_to_latin_viscii_lower): New variable.
3507         (latin_viscii_lower_to_ucs): New variable.
3508         (ucs_to_latin_viscii_upper): New variable.
3509         (latin_viscii_upper_to_ucs): New variable.
3510         (ucs_to_latin_tcvn5712): New variable.
3511         (latin_tcvn5712_to_ucs): New variable.
3512         (Qlatin_viscii_lower): New variable.
3513         (Qlatin_viscii_upper): New variable.
3514         (syms_of_mule_charset): Set up new symbol
3515         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
3516         (complex_vars_of_mule_charset): Set up new charset
3517         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
3518         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
3519         `ucs_to_<CHARSET>' tables.
3520
3521 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3522
3523         * text-coding.c: New file.
3524
3525 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3526
3527         * mule-charset.c (Fmake_char): Fix problem of 256-set.
3528
3529         * char-ucs.h (Vcharset_ucs_bmp): New variable.
3530         (MAKE_CHAR): Modify for `ucs-bmp'.
3531         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
3532         non-MULE characters of BMP.
3533
3534 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
3535
3536         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3537         to 0.6.
3538
3539 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3540
3541         * lstream.h:
3542         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
3543         - Include character.h for `CHAR_ASCII_P'.
3544
3545         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
3546
3547         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
3548         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
3549
3550         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
3551         (BYTE_C0_P): Likewise.
3552         (BYTE_C1_P): Likewise.
3553         (Lstream_get_emchar_1): Likewise.
3554         (Lstream_fput_emchar): Likewise.
3555         (Lstream_funget_emchar): Likewise.
3556         (copy_internal_to_external): Likewise.
3557         (copy_external_to_internal): Likewise.
3558
3559         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.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         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3569         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3570
3571         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3572         (BYTE_ASCII_P): Moved to mb-1byte.h.
3573
3574 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3575
3576         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3577
3578         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3579         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3580         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3581         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3582         (VALIDATE_CHARPTR_FORWARD): Likewise.
3583         (simple_charptr_emchar): Moved to mb-multibyte.h.
3584         (simple_set_charptr_emchar): Likewise.
3585         (simple_charptr_copy_char): Likewise.
3586         (non_ascii_charptr_emchar): Likewise.
3587         (non_ascii_set_charptr_emchar): Likewise.
3588         (non_ascii_charptr_copy_char): Likewise.
3589         (charptr_emchar): Moved to mb-*byte.h.
3590         (set_charptr_emchar): Likewise.
3591         (charptr_copy_char): Likewise.
3592
3593         * mb-1byte.h, mb-multibyte.h: New files.
3594
3595 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3596
3597         * mb-utf-8.h (MULTIBYTE): New macro.
3598         (MAX_EMCHAR_LEN): Moved from buffer.h.
3599         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3600
3601         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3602
3603         * mb-lb.h, multibyte.h: New files.
3604
3605         * char-1byte.h (Charset_ID): Moved from buffer.h.
3606         (MIN_LEADING_BYTE): Likewise.
3607         (LEADING_BYTE_ASCII): Likewise.
3608         (NUM_LEADING_BYTES): Likewise.
3609         (CHARSETP): Likewise.
3610         (CHARSET_BY_LEADING_BYTE): Likewise.
3611         (XCHARSET_LEADING_BYTE): Likewise.
3612         (XCHARSET_GRAPHIC): Likewise.
3613         (XCHARSET_COLUMNS): Likewise.
3614         (XCHARSET_DIMENSION): Likewise.
3615         (CHAR_CHARSET): Likewise.
3616         (CHAR_LEADING_BYTE): Likewise.
3617         (BREAKUP_CHAR): Likewise.
3618         (Vcharset_ascii): Likewise.
3619
3620         * buffer.h: Include multibyte.h unconditionally.
3621         (VALID_CHARPTR_P): Moved to multibyte.h.
3622         (ASSERT_VALID_CHARPTR): Likewise.
3623         (REAL_INC_CHARPTR): Likewise.
3624         (REAL_INC_CHARBYTIND): Likewise.
3625         (REAL_DEC_CHARPTR): Likewise.
3626         (INC_CHARPTR): Likewise.
3627         (INC_CHARBYTIND): Likewise.
3628         (DEC_CHARPTR): Likewise.
3629         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3630         (VALIDATE_CHARPTR_FORWARD): Likewise.
3631         (charptr_n_addr): Likewise.
3632         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3633         (simple_charptr_emchar): Moved to multibyte.h.
3634         (simple_set_charptr_emchar): Likewise.
3635         (simple_charptr_copy_char): Likewise.
3636         (non_ascii_charptr_emchar): Likewise.
3637         (non_ascii_set_charptr_emchar): Likewise.
3638         (non_ascii_charptr_copy_char): Likewise.
3639         (charptr_emchar): Likewise.
3640         (set_charptr_emchar): Likewise.
3641         (charptr_copy_char): Likewise.
3642         (charptr_emchar_n): Likewise.
3643         (Charset_ID): Moved to char-1byte.h.
3644         (Vcharset_ascii): Likewise.
3645         (CHAR_CHARSET): Likewise.
3646         (CHAR_LEADING_BYTE): Likewise.
3647         (LEADING_BYTE_ASCII): Likewise.
3648         (NUM_LEADING_BYTES): Likewise.
3649         (MIN_LEADING_BYTE): Likewise.
3650         (CHARSETP): Likewise.
3651         (CHARSET_BY_LEADING_BYTE): Likewise.
3652         (XCHARSET_LEADING_BYTE): Likewise.
3653         (XCHARSET_GRAPHIC): Likewise.
3654         (XCHARSET_COLUMNS): Likewise.
3655         (XCHARSET_DIMENSION): Likewise.
3656         (BREAKUP_CHAR): Likewise.
3657
3658 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3659
3660         * character.h: Add document about interface for characters.
3661
3662         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3663         (MAKE_CHAR): Delete comment about
3664         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3665         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3666         (BREAKUP_CHAR): Modify name of arguments.
3667         (CHAR_CHARSET): Modify name of argument.
3668
3669         * buffer.h: Delete document about Emchar accessors.
3670
3671 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3672
3673         * character.h (CHAR_INTP): Moved from buffer.h
3674         (CHAR_OR_CHAR_INTP): Likewise.
3675         (XCHAR_OR_CHAR_INT): Likewise.
3676         (CHECK_CHAR_COERCE_INT): Likewise.
3677
3678         * buffer.h (CHAR_INTP): Moved to character.h
3679         (CHAR_OR_CHAR_INTP): Likewise.
3680         (XCHAR_OR_CHAR_INT): Likewise.
3681         (CHECK_CHAR_COERCE_INT): Likewise.
3682
3683 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3684
3685         * character.h:
3686         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3687         - Include char-1byte.h, char-lb.h or char-ucs.h.
3688
3689         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3690
3691         * buffer.h: Include character unconditionally.
3692         (valid_char_p): Moved to char-*.h.
3693         (non_ascii_valid_char_p): Moved to char-lb.h.
3694
3695         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3696
3697 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3698
3699         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3700         in UTF-2000 because it is not ported yet and not to use
3701         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3702         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3703         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3704
3705         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3706         (CHAR_ASCII_P): Moved from character.h.
3707
3708         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3709         (CHAR_ASCII_P): Likewise.
3710         (CHAR_FIELD1_MASK): Deleted.
3711         (CHAR_FIELD2_MASK): Deleted.
3712         (CHAR_FIELD3_MASK): Deleted.
3713         (MAX_CHAR_BASIC_LATIN): New macro.
3714         (CHAR_FIELD1): Deleted.
3715         (CHAR_FIELD2_INTERNAL): Deleted.
3716         (CHAR_FIELD3_INTERNAL): Deleted.
3717         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3718         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3719         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3720         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3721         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3722         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3723         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3724         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3725         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3726         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3727         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3728         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3729         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3730         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3731         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3732         (MIN_CHAR_COMPOSITION): Deleted.
3733         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3734         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3735
3736 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3737
3738         * buffer.h: Include mb-utf-8.h in UTF-2000.
3739
3740         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3741
3742         * mb-utf-8.h: New file.
3743
3744 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3745
3746         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3747         instead of `int'.
3748
3749         * mule-charset.h, buffer.h (Charset_ID): New type.
3750
3751 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3752
3753         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3754         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3755         instead of `MULE_CHAR_PRIVATE_OFFSET',
3756         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3757         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3758         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3759
3760         * character.h (Vcharset_japanese_jisx0212): New variable
3761         definition.
3762
3763 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3764
3765         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3766         (charset_by_attributes): Delete array about direction.
3767         (latin_a_char_to_charset): New variable in UTF-2000.
3768         (latin_a_char_to_byte1): New variable in UTF-2000.
3769         (latin_a_char_to_byte2): New variable in UTF-2000.
3770         (Qucs_bmp): New variable.
3771         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3772         `Bufbyte'.
3773         (next_allocated_2_byte_leading_byte): Likewise.
3774         (non_ascii_set_charptr_emchar): Likewise.
3775         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3776         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3777         `charset_by_attributes'.
3778         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3779         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3780         and `CHARSET_BY_LEADING_BYTE'.
3781         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3782         `utf-2000-version' to `vars_of_mule_charset'.
3783         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3784         define `leading-code-private-11' in UTF-2000; move setting of
3785         `utf-2000-version' from `syms_of_mule_charset'.
3786         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3787         UTF-2000.
3788
3789         * character.h (Charset_ID): New type.
3790         (LEADING_BYTE_UCS_BMP): New macro.
3791         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3792         (CHARSET_ID_OFFSET_94): New macro.
3793         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3794         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3795         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3796         final-byte.
3797         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3798         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3799         (CHARSET_ID_OFFSET_96): New macro.
3800         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3801         CHARSET_ID_OFFSET_96 and final-byte.
3802         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3803         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3804         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3805         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3806         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3807         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3808         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3809         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3810         (LEADING_BYTE_THAI_TIS620): Likewise.
3811         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3812         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3813         (CHARSET_ID_OFFSET_94x94): New macro.
3814         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3815         CHARSET_ID_OFFSET_94x94 and final-byte.
3816         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3817         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3818         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3819         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3820         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3821         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3822         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3823         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3824         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3825         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3826         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3827         (CHARSET_TYPE_128X128): New macro.
3828         (CHARSET_TYPE_256X256): New macro.
3829         (XCHARSET_PRIVATE_P): Delete unconditionally.
3830         (charset_by_attributes): Delete array about direction.
3831         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3832         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3833         (MIN_CHAR_94): New macro.
3834         (MAX_CHAR_94): New macro.
3835         (MIN_CHAR_96): New macro.
3836         (MAX_CHAR_96): New macro.
3837         (MIN_CHAR_94x94): New macro.
3838         (MAX_CHAR_94x94): New macro.
3839         (MIN_CHAR_96x96): New macro.
3840         (MAX_CHAR_96x96): New macro.
3841         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3842         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3843         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3844         - 32)'.
3845         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3846         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3847         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3848         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3849         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3850         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3851         `XCHARSET_LEADING_BYTE' to make code-point.
3852         (latin_a_char_to_charset): New variable.
3853         (latin_a_char_to_byte1): New variable.
3854         (latin_a_char_to_byte2): New variable.
3855         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3856         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3857         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3858
3859         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3860         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3861         (find_charsets_in_emchar_string): Likewise.
3862         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3863
3864         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3865         `int'.
3866         (decode_coding_iso2022): Likewise.
3867
3868         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3869         of `unsigned char'.
3870
3871         * redisplay.c (redisplay_text_width_emchar_string): Use
3872         `Charset_ID' instead of `unsigned char'.
3873         (redisplay_frame_text_width_string): Likewise.
3874
3875         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3876         `unsigned char'.
3877
3878         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3879         instead of `unsigned char'.
3880         (face_cachel_charset_font_metric_info): Likewise.
3881
3882         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3883         (get_non_ascii_char_table_value): Likewise.
3884         (get_char_table): Likewise.
3885         (put_char_table): Likewise.
3886         (map_over_other_charset): Likewise.
3887         (map_char_table): Likewise.
3888
3889         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3890         instead of `unsigned char'.
3891
3892 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3893
3894         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3895         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3896
3897         * mule-charset.c (leading_code_private_11): Don't define in
3898         UTF-2000.
3899
3900         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3901         in UTF-2000 because it is not ported yet and not to use
3902         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3903
3904 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3905
3906         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3907
3908 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3909
3910         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3911         in UTF-2000.
3912
3913         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3914         of unsigned char to store leading-byte.
3915
3916         * chartab.c (get_non_ascii_char_table_value): Don't use
3917         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3918
3919         * file-coding.c (encode_coding_big5): Delete bogus implementation
3920         in UTF2000.
3921
3922         * character.h (LEADING_BYTE_*): Delete definition for
3923         non-UTF-2000.
3924         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3925         (LEADING_BYTE_PREFIX_P): Deleted.
3926         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3927         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3928         (BUFBYTE_LEADING_BYTE_P): Deleted.
3929         (CHARSET_PRIVATE_P): Deleted unconditionally.
3930         (rep_bytes_by_first_byte): Deleted unconditionally.
3931         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3932         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3933         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3934         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3935         (CHAR_FIELD2): Deleted.
3936         (CHAR_FIELD3): Deleted.
3937         (MAKE_CHAR): Delete definition for non-UTF-2000.
3938         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3939         (breakup_char_1): New implementation.
3940         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3941         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3942
3943 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3944
3945         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3946         condition.
3947
3948 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3949
3950         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3951         (CHARSET_PRIVATE_P): Likewise.
3952         (XCHARSET_PRIVATE_P): Likewise.
3953         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3954
3955         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3956         UTF2000.
3957         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3958
3959 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3960
3961         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3962         (NUM_LEADING_BYTES): Changed from 128 to 256.
3963         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3964         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3965         UTF2000.
3966         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3967
3968         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3969         UTF2000.
3970         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3971         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3972         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3973         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3974         (Qchinese_cns11643_3): New variable in UTF2000.
3975         (Qchinese_cns11643_4): New variable in UTF2000.
3976         (Qchinese_cns11643_5): New variable in UTF2000.
3977         (Qchinese_cns11643_6): New variable in UTF2000.
3978         (Qchinese_cns11643_7): New variable in UTF2000.
3979         (syms_of_mule_charset): Define `chinese-cns11643-3',
3980         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3981         and `chinese-cns11643-7' in UTF2000.
3982         (vars_of_mule_charset): Initialize
3983         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3984         + 1 in UTF2000.
3985         (complex_vars_of_mule_charset): Setup charset
3986         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3987         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3988
3989 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3990
3991         * mule-charset.c: Move setting for `leading-code-private-11' from
3992         `syms_of_mule_charset' to `vars_of_mule_charset'.
3993
3994 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3995
3996         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3997         and `NUM_LEADING_BYTES' in assert.
3998
3999 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4000
4001         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
4002         instead of 128.
4003         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
4004         `NUM_LEADING_BYTES' instead of 128.
4005
4006 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4007
4008         * mule-charset.h (charset_by_leading_byte): Use
4009         `NUM_LEADING_BYTES' instead of 128.
4010         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
4011
4012         * mule-charset.c (charset_by_leading_byte): Use
4013         `NUM_LEADING_BYTES' instead of 128.
4014         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
4015
4016         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
4017         128.
4018
4019 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4020
4021         * mule-charset.c (syms_of_mule_charset): Update to
4022         0.4 (Shin-Imamiya).
4023
4024 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4025
4026         * file-coding.c (encode_coding_sjis): New implementation for
4027         UTF2000.  (decode_coding_sjis): Ditto.
4028
4029 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4030
4031         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
4032         Don't define in UTF2000.
4033
4034         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
4035         defined.
4036
4037         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4038         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
4039         MULE.
4040
4041 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4042
4043         * config.h.in (CHAR_IS_UCS4): New macro.
4044
4045         * mule-charset.c (rep_bytes_by_first_byte): Modify for
4046         conventional MULE representation.
4047         (syms_of_mule_charset): Update to 0.3 (Imamiya).
4048
4049         * mule-charset.h: Reverted to original.
4050
4051         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4052         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
4053         "mule-charset.h" if CHAR_IS_UCS4 is defined.
4054
4055         * character.h: New file.
4056
4057         * file-coding.c (Fmake_coding_system): Set 1 to
4058         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
4059         defined.
4060         (encode_coding_no_conversion): New implementation for UTF2000.
4061
4062         * file-coding.h (struct Lisp_Coding_System): Add new member
4063         `fixed.size'.
4064
4065 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
4066
4067         * file-coding.c (decode_coding_iso2022): Code-point arguments of
4068         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
4069         (encode_coding_iso2022): New implementation for UTF2000.
4070
4071 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4072
4073         * mule-canna.c (c2mu): New implementation for UTF2000.
4074         (m2c): Likewise.
4075
4076 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4077
4078         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
4079
4080 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4081
4082         * file-coding.c (reset_encoding_stream): Set 0 to
4083         `str->iso2022.current_char_boundary' in UTF2000.
4084         (encode_utf8): Don't define in UTF2000.
4085         (encode_coding_utf8): New implementation for UTF-8 representation
4086         of UTF2000.
4087         (complex_vars_of_file_coding): Define coding-system `utf-8'.
4088
4089 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4090
4091         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
4092
4093         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
4094         UTF2000.
4095         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4096
4097         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
4098
4099         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
4100         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
4101         as UTF-8 in UTF2000.
4102         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
4103         (non_ascii_valid_char_p): Don't define in UTF2000.
4104         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
4105         (Lstream_get_emchar_1): Likewise.
4106         (utf-2000-version): New variable in UTF2000.
4107
4108         * lread.c (read_escape): Add new reader `u'.
4109
4110         * insdel.c (three_to_one_table): Don't define in UTF2000.
4111         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
4112         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4113         UTF2000.
4114         (bytind_to_bufpos_func): Likewise.
4115         (buffer_mule_signal_inserted_region): Likewise.
4116         (vars_of_insdel): Don't initialize `three_to_one_table'.
4117         (init_buffer_text): Use `buf->text->mule_size' instead of
4118         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4119         UTF2000.
4120
4121         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
4122         UTF-8 representation in UTF2000.
4123         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
4124         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
4125         (decode_coding_iso2022): Don't define local variable `lb' in
4126         UTF2000; don't use LEADING_BYTE in UTF2000; use
4127         `DECODE_ADD_UCS_CHAR' in UTF2000.
4128         (convert_to_external_format): Decode as UTF-8 in UTF2000.
4129
4130         * config.h.in (UTF2000): New macro.
4131
4132         * buffer.h (struct buffer_text): Add new member `mule_size' and
4133         don't add `mule_shifter' and `mule_three_p' in UTF2000.
4134         (valid_char_p): Return always 1 in UTF2000.
4135         (MAX_EMCHAR_LEN): 6 in UTF2000.
4136         (three_to_one_table): Don't define in UTF2000.
4137         (real_bufpos_to_bytind): Modify for UTF-8 representation in
4138         UTF2000.
4139         (real_bytind_to_bufpos): Likewise.
4140
4141         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
4142
4143 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4144
4145         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
4146         representation change.
4147         (Vutf_2000_version): New variable.
4148         (leading_code_private_11): New variable.
4149         (syms_of_mule_charset): Add new variables `utf-2000-version' and
4150         `leading-code-private-11'.
4151
4152         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
4153         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
4154         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
4155         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
4156         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
4157         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
4158         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
4159         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
4160         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
4161         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
4162         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
4163         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
4164         (MIN_CHAR_GREEK): New macro.
4165         (MAX_CHAR_GREEK): New macro.
4166         (MIN_CHAR_CYRILLIC): New macro.
4167         (MAX_CHAR_CYRILLIC): New macro.
4168         (MIN_CHAR_HEBREW): New macro.
4169         (MAX_CHAR_HEBREW): New macro.
4170         (MIN_CHAR_THAI): New macro.
4171         (MAX_CHAR_THAI): New macro.
4172         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
4173         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
4174         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
4175         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
4176         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
4177         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
4178         (CHAR_FIELD2): New inline function.
4179         (CHAR_FIELD3): New inline function.
4180         (MULE_CHAR_PRIVATE_OFFSET): New macro.
4181         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
4182         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
4183         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
4184         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
4185         (MIN_CHAR_COMPOSITION): Likewise.
4186         (CHAR_LEADING_BYTE): Modified for character representation change.
4187         (MAKE_CHAR): Likewise.
4188
4189         * lisp.h (Vcharset_latin_iso8859_1): New variable.
4190         (Vcharset_greek_iso8859_7): Likewise.
4191         (Vcharset_cyrillic_iso8859_5): Likewise.
4192         (Vcharset_hebrew_iso8859_8): Likewise.
4193         (Vcharset_thai_tis620): Likewise.
4194         (Vcharset_katakana_jisx0201): Likewise.
4195
4196 2001-02-08  Martin Buchholz <martin@xemacs.org>
4197
4198         * XEmacs 21.2.44 "Thalia" is released.
4199
4200 2001-02-06  Martin Buchholz  <martin@xemacs.org>
4201
4202         Fixes crashes in kill-emacs on some systems.
4203         * process-unix.c (unix_kill_child_process):
4204         It's OK for kill() to fail with ESRCH.
4205
4206 2001-02-07  Martin Buchholz  <martin@xemacs.org>
4207
4208         Contortions to make .gdbinit tricks work on most systems.
4209         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
4210         * alloc.c (dbg_valmask): Make non-const.
4211         * alloc.c (dbg_typemask): Make non-const.
4212         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
4213         * alloc.c (dbg_valbits): Make non-const.
4214         * alloc.c (dbg_gctypebits): Make non-const.
4215         * .gdbinit (decode_object): Make it work with AIX cc.
4216
4217 2001-02-06  Martin Buchholz  <martin@xemacs.org>
4218
4219         * elhash.c (make_general_lisp_hash_table):
4220         Use simpler and more efficient calloc to clear entries.
4221
4222 2001-02-07  Martin Buchholz  <martin@xemacs.org>
4223
4224         * window.c (window_scroll): Work around an AIX C compiler bug.
4225         Fixes 'scroll-up' does nothing problem with xlC.
4226
4227 2001-02-05  Martin Buchholz  <martin@xemacs.org>
4228
4229         * .gdbinit: Remove obsolete comment.
4230
4231 2001-01-31  Mike Alexander  <mta@arbortext.com>
4232
4233         * select.c (Fown_selection_internal): Set owned_p for device
4234         method correctly.
4235
4236 2001-02-01  Martin Buchholz  <martin@xemacs.org>
4237
4238         Port to g++ 2.97.
4239         "not" cannot be used as a macro name as it is an operator in C++
4240         * config.h.in: Stop #defining `not'.
4241         * chartab.c (check_category_char): not ==> not_p
4242         * chartab.h: Likewise.
4243         * regex.c (re_match_2_internal): Likewise.
4244
4245 2001-02-02  Martin Buchholz  <martin@xemacs.org>
4246
4247         * lisp-disunion.h: Fix up comments.
4248
4249 2001-01-31  Martin Buchholz  <martin@xemacs.org>
4250
4251         * keymap.c (define_key_check_and_coerce_keysym):
4252         (syms_of_keymap):
4253         Support mouse-6 and mouse-7 bindings in the obvious way.
4254
4255 2001-02-01  Martin Buchholz  <martin@xemacs.org>
4256
4257         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
4258
4259 2001-01-30  Martin Buchholz  <martin@xemacs.org>
4260
4261         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
4262         Previous patch missed DEFVAR_INT_MAGIC.
4263         Make sure future DEFVAR_foo use correct types.
4264         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
4265         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
4266         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
4267         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
4268         * (DEFVAR_INT): Likewise.
4269         * redisplay.c (vertical_clip): Should be of type Fixnum.
4270         * redisplay.c (horizontal_clip): Likewise.
4271         * lisp.h (dump_add_opaque_int): New.
4272         (dump_add_opaque_fixnum): New.
4273
4274 2001-01-29  Andy Piper  <andy@xemacs.org>
4275
4276         * glyphs-widget.c (check_valid_int_or_function): allow symbols
4277         since they can be eval'ed
4278
4279 2001-01-29  Martin Buchholz  <martin@xemacs.org>
4280
4281         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
4282         Oops, XEmacs redefines `class'.  Use `typename' instead.
4283
4284 2001-01-28  Martin Buchholz  <martin@xemacs.org>
4285
4286         * dumper.c: Fix C++ compile errors.
4287
4288 2001-01-29  Martin Buchholz  <martin@xemacs.org>
4289
4290         * tparam.c: Use correct prototypes.
4291
4292 2001-01-28  Martin Buchholz  <martin@xemacs.org>
4293
4294         * sysproc.h: #include util.h for NetBSD's openpty.
4295
4296 2001-01-27  Martin Buchholz  <martin@xemacs.org>
4297
4298         More 64-bit correctness.
4299         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
4300         Use a typedef `fixnum' for the type used for DEFVAR_INT.
4301         Fix up comments.
4302         This finally finishes the 64-bit SGI port.
4303         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
4304         * symbols.c: Fix up comments and type casts.
4305         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
4306         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
4307         * symeval.h (Fixnum): New type.
4308         * symeval.h (symbol_value_type): Fix up comment.
4309
4310         * commands.h:
4311         * nt.c:
4312         * emacs.c:
4313         * data.c:
4314         * redisplay.c:
4315         * abbrev.c:
4316         * dired-msw.c:
4317         * event-Xt.c:
4318         * eldap.c:
4319         * window.c:
4320         * sound.c:
4321         * event-stream.c:
4322         * eval.c:
4323         * buffer.c:
4324         * mule-canna.c: A million DEFVAR_INTs here...
4325         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
4326         * extents.c:
4327         * cmdloop.c:
4328         * lisp.h:
4329         * select-x.c:
4330         * console-x.h:
4331         * event-msw.c:
4332         * mule-wnnfns.c:
4333         * hpplay.c:
4334         * ralloc.c:
4335         * alloc.c:
4336         * keymap.c:
4337         * profile.c:
4338         s/int/Fixnum/g in DEFVAR_INT declarations.
4339
4340 2001-01-26  Martin Buchholz  <martin@xemacs.org>
4341
4342         Port pdump to SGI alignment-sensitive environment.
4343         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
4344         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
4345         properly aligned.
4346         Define and use aligned reading and writing macros.
4347         Use buffered stdio instead of posix i/o for faster dumping.
4348         Eliminate kludgy 256 byte space for header.
4349         Read and write from dump file using structs for alignment safety.
4350         * dumper.c (pdump_align_stream): New.
4351         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
4352         * dumper.c (PDUMP_READ_ALIGNED): New.
4353         * dumper.c (PDUMP_WRITE_ALIGNED): New.
4354         * dumper.c (pdump_static_Lisp_Object): New struct.
4355         * dumper.c (pdump_static_pointer): New struct.
4356         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
4357         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
4358         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
4359         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
4360
4361         * dumper.c (pdump_backtrace):
4362         * dumper.c (pdump_get_indirect_count):
4363         * dumper.c (pdump_register_object):
4364         * dumper.c (pdump_register_struct):
4365         * dumper.c (pdump_reloc_one):
4366         * dumper.c (pdump_scan_by_alignment):
4367         * dumper.c (pdump_dump_from_root_struct_ptrs):
4368         * dumper.c (pdump_dump_opaques):
4369         * dumper.c (pdump_dump_rtables):
4370         * dumper.c (pdump_dump_from_root_objects):
4371         * dumper.c (pdump):
4372         * dumper.c (pdump_load_finish):
4373         Use aligned reading and writing.
4374
4375         * dumper.c (pdump_free): Make static.
4376         * dumper.c (pdump_hFile): Likewise.
4377         * dumper.c (pdump_hMap): Likewise.
4378
4379 2001-01-26  Martin Buchholz <martin@xemacs.org>
4380
4381         * XEmacs 21.2.43 "Terspichore" is released.
4382
4383 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4384
4385         Type fiddling for window_config.saved_windows_count
4386         * window.c (struct window_config): 
4387         Make saved_windows_count member unsigned.
4388         * window.c (sizeof_window_config_for_n_windows): 
4389         Make parameter unsigned.
4390         * window.c (mark_window_config):
4391         * window.c (window_config_equal):
4392         * window.c (free_window_configuration):
4393         * window.c (Fset_window_configuration):
4394         * window.c (count_windows):
4395         * window.c (Fcurrent_window_configuration):
4396         * window.c (reinit_vars_of_window):
4397         Update all callers and users.
4398
4399 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4400
4401         Alignment correctness for flexible arrays.
4402         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
4403         Make alignment-correct. Add interesting comments.
4404         * alloc.c (size_vector):
4405         * alloc.c (make_vector_internal):
4406         * alloc.c (make_bit_vector_internal):
4407         * alloc.c (sweep_bit_vectors_1):
4408         * fns.c (size_bit_vector):
4409         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
4410         * window.c (sizeof_window_config_for_n_windows): 
4411         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
4412
4413 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4414
4415         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
4416
4417 2001-01-23  Andy Piper  <andy@xemacs.org>
4418
4419         * select.c (Fown_selection_internal): pass owned_p
4420
4421         * select-msw.c (mswindows_own_selection): New Signature.
4422
4423         * console.h (struct console_methods): add owned_p to
4424         _own_selection.
4425
4426         * select-x.c (x_own_selection): pass owned_p
4427         (hack_motif_clipboard_selection): use owned_p
4428         (vars_of_select_x): new variable -
4429         x_selection_strict_motif_ownership.
4430
4431 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4432
4433         * specifier.h (specifier_data_offset): Remove pointless parens.
4434         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
4435
4436 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4437
4438         Make Lisp_Object sizeof methods be alignment-correct.
4439         pdump must restore objects to the same alignment as the C compiler
4440         assumes.  It really matters on SGIs.
4441         * lstream.c (aligned_sizeof_lstream): New.
4442         (sizeof_lstream): Use aligned_sizeof_lstream.
4443         (Lstream_new): Likewise.
4444         * opaque.c (aligned_sizeof_opaque): New.
4445         (sizeof_opaque): Use aligned_sizeof_opaque.
4446         (make_opaque): Likewise.
4447         * specifier.c (aligned_sizeof_specifier): New.
4448         (sizeof_specifier): Use aligned_sizeof_specifier.
4449         (make_specifier_internal): Likewise.
4450
4451 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4452
4453         * lstream.h (struct lstream): Use max_align_t for trailing data.
4454         * specifier.h (struct Lisp_Specifier): Likewise.
4455
4456 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4457
4458         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
4459         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
4460         (CCL_SUSPEND): Likewise.
4461         (CCL_INVALID_CMD): Likewise.
4462         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
4463         (ccl_driver): Likewise.
4464         (CCL_WRITE_CHAR): Macro hygiene.
4465         (CCL_WRITE_STRING): Macro hygiene.
4466
4467 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4468
4469         Port "portable" dumper to SunOS 4 and HP-UX.
4470         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
4471         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
4472         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
4473
4474 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4475
4476         * lisp.h (ALIGNOF): A better definition for C++.
4477
4478 2001-01-20  Martin Buchholz  <martin@xemacs.org>
4479
4480         Macro hygiene.
4481         Fix printf warnings: int format, long int arg.
4482         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
4483         (PUSH_FAILURE_POINT): Use correct printf formats.
4484         (POP_FAILURE_POINT): Use correct printf formats.  
4485         Use do {...} while (0)
4486
4487 2001-01-20  Martin Buchholz <martin@xemacs.org>
4488
4489         * XEmacs 21.2.42 "Poseidon" is released.
4490
4491 2001-01-20  Martin Buchholz  <martin@xemacs.org>
4492
4493         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
4494
4495 2001-01-19  Martin Buchholz  <martin@xemacs.org>
4496
4497         De-kludgify FIXED_TYPE free list frobbing.
4498         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
4499         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
4500         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
4501         * alloc.c (Lisp_Free): New pseudo lisp object definition.
4502         * alloc.c (LRECORD_FREE_P): New.
4503         * alloc.c (MARK_LRECORD_AS_FREE): New.
4504         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
4505         * alloc.c (STRUCT_FREE_P): Deleted.
4506         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
4507         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
4508         * alloc.c (STRING_CHARS_FREE_P): New.
4509         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
4510         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
4511         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
4512         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
4513         * alloc.c (resize_string): Use new definitions.
4514         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
4515         * alloc.c (verify_string_chars_integrity): Use new definitions.
4516         * alloc.c (compact_string_chars): Use new definitions.
4517         * alloc.c: Update monster comments.
4518         * lrecord.h (lrecord_type): Add some new lrecord types for
4519         alloc.c's use.
4520
4521 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4522
4523         Improve alignment hackery.
4524         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
4525         (max_align_t): Moved from opaque.h - general purpose.
4526         (ALIGN_PTR): Use size_t, not long.
4527         * opaque.h (max_align_t): Move to lisp.h.
4528
4529 2001-01-18  Norbert Koch  <nk@LF.net>
4530
4531         * gui.h: Fix and add prototypes to fix build problems.
4532
4533 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4534
4535         temacs is going away, so `dump-temacs' is now a bad name.
4536         * .dbxrc (dump-temacs): Rename to `dmp'.
4537         * .gdbinit (dump-temacs): Rename to `dmp'.
4538
4539 2001-01-17  Andy Piper  <andy@xemacs.org>
4540
4541         * glyphs.c (print_image_instance): comment to make martin happy.
4542
4543         * glyphs-x.c (x_redisplay_widget): update faces after a frame
4544         change.
4545
4546         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
4547         activation.
4548         (mswindows_tab_control_redisplay): warning suppression.
4549
4550         * glyphs-widget.c (widget_update): re-write to cope with updated
4551         items.
4552         (widget_instantiate): use new gui_item functions.
4553         (tab_control_update): deleted.
4554         (progress_gauge_update): deleted.
4555         (image_instantiator_progress_guage): take out update reference.
4556         (image_instantiator_tree_view): ditto.
4557         (image_instantiator_tab_control): ditto.
4558
4559         * gui.c (widget_gui_parse_item_keywords): new function. Do things
4560         Right the new way.
4561         (gui_item_add_keyval_pair): re-write to cope with descriptors and
4562         return whether anything was changed.
4563         (update_gui_item_keywords): as it sounds.
4564
4565         * gui.h: declare widget_gui_parse_item_keywords.
4566
4567         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
4568         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
4569
4570 2001-01-17  Martin Buchholz <martin@xemacs.org>
4571
4572         * XEmacs 21.2.41 "Polyhymnia" is released.
4573
4574 2001-01-16  Didier Verna  <didier@xemacs.org>
4575
4576         * glyphs.c (image_instantiate): don't use fallbacks when
4577         instantiating a face's background pixmap by inheritance.
4578
4579 2001-01-14  Mike Sperber <mike@xemacs.org>
4580
4581         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
4582         Conditionalize accordingly.
4583
4584 2001-01-16  Martin Buchholz  <martin@xemacs.org>
4585
4586         * dumper.c (pdump_file_get): Fix a compiler warning.
4587
4588 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4589
4590         Make Purify happy when pdumping.
4591         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
4592         iniitalizing all bits of new lisp object memory.
4593         * symbols.c (Fmake_local_variable): Likewise.
4594         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
4595         * symbols.c (Fdefvaralias): Likewise.
4596         * mule-charset.c (vars_of_mule_charset): Likewise.
4597
4598 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4599         Add the `-nd' flag when running pre-dump operations under the debugger.
4600         * .dbxrc (run-temacs): Add `-nd'.
4601         * .dbxrc (update-elc): Likewise.
4602         * .dbxrc (dump-temacs): Likewise.
4603         * .gdbinit (run-temacs): Likewise.
4604         * .gdbinit (check-temacs): Likewise.
4605         * .gdbinit (update-elc): Likewise.
4606         * .gdbinit (dump-temacs): Likewise.
4607
4608 2001-01-14  Martin Buchholz  <martin@xemacs.org>
4609
4610         Allow building 64-bit executables on AIX with GNU malloc, e.g.
4611         export OBJECT_MODE=64
4612         configure --pdump --use-union-type=no
4613         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
4614         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
4615
4616         * miscplay.c (sndcnv8U_2mono):
4617         Avoid two uses of `++' in the same expression.
4618         Suppresses a GCC warning.
4619
4620 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4621
4622         Make sure future compilers don't miscompile alloc.c.
4623         * alloc.c:
4624         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
4625         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
4626
4627 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4628
4629         * dumper.c: A little post-pdump-rename comment fixup.
4630
4631 2001-01-09  Jerry James  <james@eecs.ku.edu>
4632
4633         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
4634
4635 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4636
4637         * *.[ch]: Globally rename symbols using the following `pdump-rename'
4638         script:
4639         #!/bin/sh
4640         replace_symbol () {
4641           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
4642         }
4643
4644         replace_symbol pdump_wire_lists pdump_weak_object_chains
4645         replace_symbol pdump_wire_list dump_add_weak_object_chain
4646
4647         replace_symbol pdump_wires pdump_root_objects
4648         replace_symbol pdump_wire dump_add_root_object
4649
4650         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
4651         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
4652
4653         replace_symbol dumpstructinfos pdump_root_struct_ptrs
4654         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
4655         replace_symbol dumpstructinfo pdump_root_struct_ptr
4656         replace_symbol dumpstruct dump_add_root_struct_ptr
4657
4658         replace_symbol dumpopaque dump_add_opaque
4659         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
4660         replace_symbol dumpopaqueinfos pdump_opaques
4661         replace_symbol dumpopaqueinfo pdump_opaque
4662
4663         replace_symbol nb_structdump nb_root_struct_ptrs
4664         replace_symbol nb_opaquedump nb_opaques
4665
4666         replace_symbol align_table pdump_align_table
4667         replace_symbol dump_header pdump_header
4668
4669         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
4670         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
4671
4672
4673 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4674
4675         * s/aix4.h: Keep the C for AIX compiler from overaggressively
4676         optimizing bytecount_to_charcount().
4677
4678 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4679
4680         * config.h.in:
4681         (HAVE_DLFCN_H): Removed.
4682         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
4683
4684 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4685
4686         Portable dumper maintainability improvements.
4687         * alloc.c (staticpro):
4688         * alloc.c (staticpro_nodump):
4689         * alloc.c (garbage_collect_1):
4690         * alloc.c (reinit_alloc_once_early):
4691         * alloc.c (init_alloc_once_early):
4692         * alloc.c: Move dumper functions to alloc.c.
4693         * dumper.c (pdump_backtrace):
4694         * dumper.c (pdump_dump_structs):
4695         * dumper.c (pdump_dump_opaques):
4696         * dumper.c (pdump_dump_rtables):
4697         * dumper.c (pdump_dump_wired):
4698         * dumper.c (pdump):
4699         * dumper.c (pdump_load_check):
4700         * dumper.c (pdump_load_finish):
4701         * dumper.c (pdump_file_unmap):
4702         * dumper.c (pdump_file_get):
4703         * dumper.c (pdump_resource_free):
4704         * dumper.c (pdump_resource_get):
4705         * dumper.c (pdump_file_free):
4706         * dumper.c (pdump_file_try):
4707         * dumper.c (pdump_load):
4708         Remove fixed size limits on staticpro(), staticpro_nodump(),
4709         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
4710         Remove custom code for dumping lrecord_implementations_table - use
4711         dumpopaque instead.
4712         Remove (most of the) custom code for dumping staticpros - dump it
4713         like any other dynarr.
4714
4715         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
4716         * dumper.c: Moved functions from alloc.c.
4717         * alloc.c (dumpstruct): Moved to dumper.c.
4718         * alloc.c (dumpopaque): Likewise.
4719         * alloc.c (pdump_wire): Likewise.
4720         * alloc.c (pdump_wire_list): Likewise.
4721
4722         * lisp.h (Dynarr_sizeof): New.
4723         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
4724         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
4725         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
4726
4727         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
4728         * lisp.h (dumpopaque): ditto.
4729         * lisp.h (pdump_wire): ditto.
4730         * lisp.h (pdump_wire_list): ditto.
4731
4732 2001-01-09  Martin Buchholz  <martin@xemacs.org>
4733
4734         * make-src-depend (PrintPatternDeps):
4735         Use `sort' to make output independent of perl version.
4736
4737 2001-01-08  Martin Buchholz  <martin@xemacs.org>
4738
4739         Port to Netbsd 1.5.
4740         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
4741         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
4742
4743 2001-01-03  Didier Verna  <didier@xemacs.org>
4744
4745         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
4746         that `focus_frame' is alive before thinking of calling
4747         `redisplay_redraw_cursor' on it.
4748
4749 2001-01-08  Martin Buchholz <martin@xemacs.org>
4750
4751         * XEmacs 21.2.40 is released.
4752
4753 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4754
4755         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
4756
4757 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4758
4759         * alloc.c (dbg_valmask): Make const.
4760         * alloc.c (dbg_typemask): Make const.
4761         * alloc.c (dbg_USE_UNION_TYPE): Make const.
4762         * alloc.c (dbg_valbits): Make const.
4763         * alloc.c (dbg_gctypebits): Make const.
4764
4765 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
4766
4767         * redisplay-x.c (x_bevel_area):
4768         redisplay.h (struct rune):
4769         Typo fixes in comments.
4770
4771 2001-01-05  Andy Piper  <andy@xemacs.org>
4772
4773         * glyphs-x.c (x_redisplay_widget): use size changed for offset
4774         adjustment.
4775
4776         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
4777
4778 2001-01-05  Martin Buchholz  <martin@xemacs.org>
4779
4780         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
4781
4782         * mule-ccl.c (stack_idx_of_map_multiple):
4783         Non const global data must not be initialized!
4784         Found by MIYASHITA Hisashi.
4785
4786 2001-01-02  Andy Piper  <andy@xemacs.org>
4787
4788         * frame.c (change_frame_size): make sure frame size is always
4789         marked as changed.
4790
4791         * glyphs.c (image_instance_layout): minor code reuse.
4792
4793         * window.c (Fcurrent_window_configuration): revert previous
4794         change.
4795
4796 2001-01-02  Martin Buchholz  <martin@xemacs.org>
4797
4798         * glyphs.h:
4799         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
4800
4801 2000-12-31  Andy Piper  <andy@xemacs.org>
4802
4803         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
4804         when widget gets unmapped.
4805
4806         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
4807         function. Make sure widgets losing focus don't just drop it.
4808         (handle_focus_event_1): record the widget with focus.
4809
4810 2000-12-31  Andy Piper  <andy@xemacs.org>
4811
4812         * window.c (allocate_window): use
4813         make_image_instance_cache_hash_table.
4814         (make_dummy_parent): ditto.
4815         (Fset_window_configuration): ditto.
4816
4817         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
4818
4819         * glyphs.c (process_image_string_instantiator): use
4820         INSTANTIATOR_TYPE.
4821         (get_image_instantiator_governing_domain): ditto.
4822         (normalize_image_instantiator): ditto.
4823         (instantiate_image_instantiator): ditto.
4824         (make_image_instance_1): ditto.
4825         (image_instantiate): ditto. Key on glyph *and* instantiator type.
4826         (instantiator_eq_equal): new function for use with instance hash
4827         tables.
4828         (instantiator_eq_hash): ditto.
4829         (make_image_instance_cache_hash_table): create a suitable hash
4830         table for storing image instances.
4831
4832         * elhash.h (hash_table_weakness): new internal weakness type
4833         HASH_TABLE_KEY_CAR_VALUE_WEAK.
4834         declare new functions.
4835
4836         * elhash.c (finish_marking_weak_hash_tables): introduce yet
4837         another weakness type for glyphs.
4838         (make_standard_lisp_hash_table): new function split out from
4839         make_general_lisp_hash_table.
4840         (make_lisp_hash_table): call make_standard_lisp_hash_table.
4841         (hash_table_instantiate): ditto.
4842         (Fmake_hash_table): ditto.
4843
4844 2000-12-31  Martin Buchholz <martin@xemacs.org>
4845
4846         * XEmacs 21.2.39 is released.
4847
4848 2000-12-29  Andy Piper  <andy@xemacs.org>
4849
4850         * menubar.c (menubar_visible_p_changed): signal the frame changed.
4851
4852         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
4853         the frame has changed so that we pick up geometry changes such as
4854         menubar visibility.
4855
4856 2000-12-28  Andy Piper  <andy@xemacs.org>
4857
4858         * lastfile.c (my_ebss): make a char array so we can pad the
4859         bss. Fixes cygwin unexec.
4860
4861         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
4862
4863 2000-12-26  Andy Piper  <andy@xemacs.org>
4864
4865         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
4866         comments and try and be more precise about a non-/SIGIO world.
4867         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
4868         SIGIO.
4869
4870         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
4871         we don't normalize to zero width or height.
4872
4873 2000-12-24  Andy Piper  <andy@xemacs.org>
4874
4875         * Makefile.in.in (ldflags): add -mwindows when appropriate.
4876
4877 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
4878
4879         * s/sco5.h: SCO 5 has pty support.
4880
4881 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
4882
4883         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
4884         input-method-xlib.c contains whole contents of input-method-xfs.c,
4885         so we can use input-method-xlib.c's code for USE_XFONTSET
4886         using #ifdefs.
4887         * input-method-xfs.c: removed.
4888
4889 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
4890
4891         * file-coding.h (enum coding_category_type): reorder enumerators to
4892         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
4893         (now one greater than largest real coding_category_type enumerator).
4894         * file-coding.c (coding_category_symbol, coding_category_by_priority,
4895         coding_category_system, fcd_descriptihon_1, decode_coding_category,
4896         Fcoding_category_list, Fset_coding_priority_list,
4897         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
4898         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
4899
4900 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4901
4902         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
4903         * redisplay-output.c (redisplay_output_window): Clear top of window
4904         when face is changed.
4905         * redisplay-x.c (x_redraw_exposed_window): Call
4906         redisplay_clear_top_of_window.
4907         * redisplay.h: Publish redisplay_clear_top_of_window.
4908
4909 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4910
4911         * buffer.c (Fkill_buffer): Map over all devices.
4912         * window.c (window_loop): Remove UNSHOW_BUFFER code.
4913         (list_windows): New function.
4914         (list_all_windows): Ditto.
4915         (Freplace_buffer_in_windows): Use them.
4916
4917 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4918
4919         * database.c (berkdb_subtype): Recognize new subtype `queue'.
4920         (Fopen_database): Use `db_create' instead of `db_open'.
4921         (syms_of_database): Initialize Qqueue.
4922
4923 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4924
4925         * buffer.c (common_init_complex_vars_of_buffer): Initialize
4926         buffer_local_face_property.
4927         * buffer.h (struct buffer): New member buffer_local_face_property.
4928         * window.c (Fset_window_buffer):  Mark window's face as changed
4929         when buffer has buffer local face.
4930         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
4931         * objects.c (color_after_change): Set buffer_local_face_property
4932         when locale of face specifier is buffer.
4933         * objects.c (font_after_change): Ditto.
4934         * objects.c (face_boolean_after_change): Ditto.
4935         * glyphs.c (image_after_change): Ditto.
4936
4937 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4938
4939         * nt.c (mswindows_fstat): Report file permissions, volume serial
4940         number, etc. Code adapted from FSF Emacs 20.7.
4941
4942 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4943
4944         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
4945         of stat when we don't have symbolic links, to make sure
4946         mswindows_stat is called on mswindows.
4947
4948 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
4949
4950         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
4951
4952 2000-12-12  Martin Buchholz  <martin@xemacs.org>
4953
4954         * doprnt.c (emacs_doprnt_1): More printing fixes.
4955         Make printing of numbers compatible with libc and FSF Emacs.
4956         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
4957         Use the system printf to do most of the hard work of formatting,
4958         instead of doprnt_1().
4959         Calculate memory to allocate for format string.
4960         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
4961         (doprnt_1): Cleaner code and documentation.
4962
4963 2000-12-01  Jerry James  <james@eecs.ukans.edu>
4964
4965         * Makefile.in.in: Use the loop variable to install headers.
4966
4967 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4968
4969         * window.c (Fsplit_window): Don't invalidate face cache.
4970
4971 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4972
4973         * minibuf.c (Fall_completions): Undo the previous change
4974         which removed checking elements start with space.
4975
4976 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4977
4978         * mule-canna.c: Didier suppression.
4979
4980 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4981
4982         * mule-canna.c: rename static unsigned char buf[] to key_buffer
4983         (warning suppression).  Add English comment translations.
4984
4985 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4986
4987         * unexelfsgi.c (unexec): Better test for mmap failure.
4988
4989 2000-12-05  Martin Buchholz <martin@xemacs.org>
4990
4991         * XEmacs 21.2.38 is released.
4992
4993 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4994
4995         * redisplay.c (bar-cursor): Make a user variable.
4996
4997         * symsinit.h: Add init_postgresql_from_environment.
4998
4999 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
5000
5001         * regex.c: Convert to clean C.
5002
5003 2000-12-05  Dan Holmsand  <dan@eyebee.com>
5004
5005         * realpath.c:
5006         Don't #include sysfile.h. Revert to duplicating PATH_MAX
5007         initialization.
5008         (sys_readlink): renamed to system_readlink to avoid conflict with
5009         the other sys_readlink.
5010
5011 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
5012
5013         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
5014
5015 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
5016
5017         * postgresql.c (init_postgresql_from_environment): new function.
5018         (vars_of_postgresql): Move code initializing Lisp variables out and
5019         into init_postgresql_from_environment.
5020         emacs.c (main_1): Call init_postgresql_from_environment if and only
5021         if running a dumped XEmacs.
5022
5023 2000-08-31  Dan Holmsand  <dan@eyebee.com>
5024
5025         * buffer.c: Make find-file-compare-truenames default to true on
5026         windows.
5027
5028         * realpath.c (win32_abs_start):
5029         (cygwin_readlink):
5030         (win32_readlink): New functions.
5031         (xrealpath): Return really real filenames on windows.
5032
5033         * fileio.c (Ffile_truename): Make file-truename work on windows.
5034
5035 2000-11-29  Didier Verna  <didier@xemacs.org>
5036
5037         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
5038         * faces.c (update_face_cachel_data): use it.
5039         * faces.c (add_face_cachel): use it. Complete background pixmap
5040         frobbing in face cache if `update_face_cachel_data' has not done so.
5041
5042 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
5043
5044         * search.c (string_match_1): Don't set last_thing_searched
5045         when search failed.
5046
5047 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
5048
5049         * buffer.c: Include casetab.h
5050         (common_init_complex_vars_of_buffer): Use new case-table object.
5051         * buffer.h: Include casetab.h
5052         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
5053         (DOWNCASE_TABLE_OF): Ditto.
5054         * bufslots.h: Remove char-tables and add case-table.
5055         * casetab.c: Include casetab.h
5056         (CASE_TABLE_P): Removed.
5057         (mark_case_table): New function.
5058         (allocate_case_table): New function.
5059         (Fcase_table_p): Use new case-table.
5060         (case_table_char): New function.
5061         (Fget_case_table): Ditto.
5062         (Fput_case_table): Ditto.
5063         (Fput_case_table_pair): Ditto.
5064         (Fcopy_case_table): Ditto.
5065         (Fcurrent_case_table): Return case-table.
5066         (Fstandard_case_table): Return case-table.
5067         (Fset_case_table): Fix doc-string.
5068         (set_case_table): Use case-table
5069         (syms_of_casetab): DEFSUBR new functions.
5070         (complex_vars_of_casetab): Set up standard case-table.
5071         * casetab.h: New file.
5072         * editfns.c: Include casetab.h
5073         (Fcompare_buffer_substrings): Use case-table.
5074         * inline.c: Include casetab.h
5075         * lisp.h: Remove bogus extern.
5076         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
5077         * search.c: Include casetab.h
5078         (TRANSLATE_ASCII): Removed.
5079         (TRANSLATE): Unconditionally translate character.
5080         (looking_at_1): Use case-table.
5081         (string_match_1): Ditto.
5082         (fast_string_match): Ditto.
5083         (search_command): Ditto.
5084         (search_buffer): Separate boyer_moore.  Check whether
5085         boyer_moore is possible.
5086         (simple_search): New function.
5087         (boyer_moore): Separated from search_buffer. Translate char.
5088
5089 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
5090
5091         * regex.c (RE_TR_ASCII): Removed.
5092         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
5093         (PATFETCH): Call PATFETCH_RAW.
5094         (PATFETCH_RAW): Fetch Emchar.
5095         (PATUNFETCH): Decrement charptr.
5096         (GET_BUFFER_SPACE): Rename b to buf_end.
5097         (BUF_PUSH): Ditto.
5098         (BUF_PUSH_2): Ditto.
5099         (BUF_PUSH_3): Ditto.
5100         (EXTEND_BUFFER): Ditto.
5101         (SET_LIST_BIT): Ditto.
5102         (regex_compile): Ditto.  Translate non ASCII char.
5103         (compile_range): Ditto.
5104         (re_search_2): Ditto.
5105         (re_match_2_internal): Compare Emchar.
5106         (bcmp_translate): Ditto.
5107
5108 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
5109
5110         * lisp.h (basic char/int typedefs):  comment improvement.
5111
5112 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
5113
5114         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
5115         unstomp inhibit_site_lisp.  Improve comments.
5116
5117 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
5118
5119         * mule-charset.c (Fcharset_property):  improve type checking, comments.
5120
5121 2000-11-28  Andy Piper  <andy@xemacs.org>
5122
5123         * redisplay-output.c (redisplay_output_subwindow): make sure we do
5124         clipped display for windows in the gutter also.
5125         (redisplay_display_boxes_in_window_p): change semantics of return
5126         codes to be more intuitive.
5127
5128         * gutter.h: declare display_boxes_in_gutter_p.
5129
5130         * gutter.c (display_boxes_in_gutter_p): new function for
5131         redisplay.
5132
5133 2000-11-22  Andy Piper  <andy@xemacs.org>
5134
5135         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
5136         autodetect domain.
5137
5138 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
5139
5140         * callproc.c (Fold_call_process_internal):
5141         * gpm.c (Freceive_gpm_event):
5142         (tty_get_foreign_selection): Might be just warning supression.
5143         * fileio.c (Fwrite_region_internal):
5144         (Fset_visited_file_modtime):
5145         * keymap.c (event_matches_key_specifier_p):
5146         Initialize GCPROed variable.
5147
5148         * menubar-x.c (command_builder_find_menu_accelerator):
5149         Initialize before use.
5150
5151 2000-11-23  Andy Piper  <andy@xemacs.org>
5152
5153         * unexcw.c (unexec): make the resulting executable executable.
5154
5155 2000-11-21  Martin Buchholz  <martin@xemacs.org>
5156
5157         * doc.c (get_doc_string):
5158         Use size_t, not int, for result of XSTRING_LENGTH.
5159
5160         * cmds.c (Fdelete_char):
5161         * cmds.c (Fpoint_at_eol):
5162         * cmds.c (Fself_insert_command):
5163         Use EMACS_INT, not int, for result of XINT.
5164         Someday, someone will want to insert more than 2**31 identical characters.
5165
5166         * cmds.c (Fdelete_char):
5167         * cmds.c (Fdelete_backward_char):
5168         * syntax.c (Fforward_word):
5169         * syntax.c (Fforward_comment):
5170         Make COUNT argument optional, for consistency with forward-char et al.
5171
5172 2000-11-22  Martin Buchholz  <martin@xemacs.org>
5173
5174         * lisp.h:
5175         * print.c (long_to_string):
5176         Return a useful value: the pointer at end of data written.
5177
5178         * doprnt.c:
5179         Use `static const char * const' for constant strings.
5180         (union printf_arg): Delete `i', `ui' members.
5181         (get_doprnt_args):
5182         (emacs_doprnt_1):
5183         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
5184         Do all printf-ing via the `l' specifier.
5185         Use EMACS_INT instead of int.
5186         Optimize.
5187
5188 2000-11-20  Didier Verna  <didier@xemacs.org>
5189
5190         * faces.c (update_face_cachel_data): don't frob the background
5191         pixmap when the window is being created. The face is needed but
5192         does not exist yet.
5193
5194 2000-11-20  Andy Piper  <andy@xemacs.org>
5195
5196         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
5197         messing with a debug environment.
5198
5199 2000-11-20  Martin Buchholz  <martin@xemacs.org>
5200
5201         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
5202
5203 2000-11-20  Martin Buchholz  <martin@xemacs.org>
5204
5205         * casetab.c (Fcase_table_p): Fix compile error and crash.
5206
5207 2000-11-18  Philip Aston  <philipa@mail.com>
5208
5209         * s/cygwin32.h: Cygwin has SVR4-like pty support.
5210
5211 2000-11-18  Martin Buchholz  <martin@xemacs.org>
5212
5213         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
5214         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
5215
5216 2000-11-17  Martin Buchholz  <martin@xemacs.org>
5217
5218         * config.h.in: Define HAVE_ELF_H if elf.h exists.
5219         * unexelf.c: Use HAVE_ELF_H.
5220         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
5221         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
5222         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
5223         Greg Harrington <greg_harrington@hotmail.com> provided a machine
5224         for testing.
5225         So this is an unexelfsgi.c from a different line of development.
5226
5227 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
5228
5229         * regex.c (RE_TR_ASCII): New function.
5230         (RE_TRANSLATE): Call it.
5231
5232 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
5233
5234         * buffer.h (TRT_TABLE_OF): Remove assert.
5235         (IN_TRT_TABLE_DOMAIN): Removed.
5236
5237 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5238
5239         * free-hook.c (log_gcpro):
5240         (show_gcprohist): Add support for GCPRO5.
5241
5242 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
5243
5244         * emacs.c (main_1): Improve -sd error message when --pdump=no.
5245
5246 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
5247
5248         * symeval.h: Declare flush_all_buffer_local_cache.
5249
5250         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
5251         (flush_buffer_local_cache): Added.
5252         (flush_all_buffer_local_cache): Added.
5253
5254         * lrecord.h: Remove unused XD_LO_RESET_NIL.
5255
5256         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
5257         (pdump_dump_data): Ditto.
5258         (pdump_reloc_one): Ditto.
5259         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
5260         before dumping.
5261
5262
5263 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
5264
5265         * buffer.c: Remove if 0'ed entry.
5266         * buffer.h: Rewrite TRT to use char-table.
5267         * bufslots.h: Remove mirror tables.
5268         * casetab.c: Remove mirror tables.
5269         (CASE_TABLE_P): New macro.
5270         (Fcase_table_p): Element of a case table is string or char-table.
5271         (make_mirror_trt_table): Removed.
5272         (set_case_table): Setup char-table from strings for backward
5273         compatibility.
5274         * dired.c (Fdirectory_files):
5275         * dired-msw.c: (mswindows_get_files):
5276         * lisp.h: Change prototype of re_pattern_buffer.
5277         * regex.c: (RE_TRANSLATE): New macro.
5278         (TRANSLATE_P): Ditto.
5279         Change translate to type RE_TRANSLATE_TYPE.
5280         * regex.h: Define RE_TRANSLATE_TYPE
5281         * search.c (TRANSLATE): New macro.
5282         (TRANSLATE_ASCII): New macro.
5283         Translate table is changed to Lisp_Object.
5284         (signal_failure): Inhibit return.
5285
5286 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
5287
5288         * device-msw.c:
5289         * eldap.c:
5290         * event-Xt.c:
5291         * event-stream.c:
5292         * print.c:
5293         Do UNGCPRO before return.
5294
5295 2000-11-14  Martin Buchholz <martin@xemacs.org>
5296
5297         * XEmacs 21.2.37 is released.
5298
5299 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
5300
5301         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
5302         Add comments about discarded return value.
5303
5304 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
5305
5306         * callint.c:
5307         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
5308
5309 2000-10-27  Andy Piper  <andy@xemacs.org>
5310
5311         * gutter.c (Fset_default_gutter_position): default left and right
5312         gutters to visible.
5313         (calculate_gutter_size): calculate resonable heuristic for left
5314         and right gutter sizes.
5315         (specifier_vars_of_gutter): change left and right gutter sizes to
5316         autodetect.
5317         (calculate_gutter_size_from_display_lines): new function.
5318         (output_gutter): check for resizing on left and right gutters.
5319         (clear_gutter): don't special case top and left gutters.
5320         (specifier_vars_of_gutter): use new signature for
5321         set_specifier_caching.
5322
5323         * glyphs-x.c (x_redisplay_widget): spelling fix.
5324         * glyphs.c (specifier_vars_of_glyphs):
5325         * menubar.c (specifier_vars_of_menubar):
5326         * redisplay.c (specifier_vars_of_redisplay):
5327         * toolbar.c (specifier_vars_of_toolbar):
5328         * window.c (specifier_vars_of_window):
5329         * scrollbar.c (specifier_vars_of_scrollbar):
5330         (complex_vars_of_scrollbar): use new signature for
5331         set_specifier_caching.
5332
5333         * specifier.c (set_specifier_caching): include recompute flag.
5334         (recompute_one_cached_specifier_in_window): always recompute if
5335         flag set.
5336         (recompute_one_cached_specifier_in_frame): ditto.
5337
5338         * specifier.h (struct specifier_caching): add recompute flag.
5339
5340 2000-10-24  Andy Piper  <andy@xemacs.org>
5341
5342         * unexcw.c (copy_executable_and_dump_data_section): add new
5343         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
5344         5.0 happy.
5345
5346 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5347
5348         * console-x.h (x_device): New member modifier_release_time.
5349         * event-Xt.c (x_handle_sticky_modifiers):
5350         Bound interval modifier keys are sticky.
5351         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
5352         * events.h: extern it.
5353
5354 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5355
5356         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
5357
5358 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5359
5360         * event-stream.c (execute_command_event): Preserve current_events
5361         and the like when event is misc-user-event.
5362         Inhibit quit during the call to maybe_echo_keys.
5363
5364 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5365
5366         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
5367         symlink when buffer is killed.
5368         (inhibit_clash_detection): New variable.
5369
5370 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5371
5372         * console.c (Fset_input_method): Trigger redisplay on tty.
5373
5374 2000-11-07  Martin Buchholz  <martin@xemacs.org>
5375
5376         * process.c (Fprocess_status): Revert to previous behavior:
5377         (process-status "nosuchprocess") ==> nil
5378
5379 2000-11-06  Martin Buchholz  <martin@xemacs.org>
5380
5381         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
5382         Work around another GCC 2.95.2 optimizer bug.
5383
5384 2000-11-02  Martin Buchholz  <martin@xemacs.org>
5385
5386         * process.c (Fget_process): Use LIST_LOOP_2.
5387         (kill_buffer_processes): Use LIST_LOOP_2.
5388
5389         * minibuf.c (Fall_completions):
5390         Delete old non-functional code for FSF fourth argument.
5391
5392         * frame.c (frame_matches_frame_spec):
5393         Renamed from `frame_matches_frametype'.  Update all callers.
5394         (device_matches_device_spec):
5395         Renamed from 'device_matches_console_spec'.  Update all callers.
5396
5397         * doc.c (Fsubstitute_command_keys):
5398         Remove buffer overflow crash.  Small code cleanups.
5399
5400         * casetab.c (check_case_table): Simpler code.
5401
5402         * window.c (Freplace_buffer_in_windows):
5403         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
5404         (and similar implementation) as Fdelete_windows_on.
5405         Update all callers.
5406
5407         * alloc.c (Fmake_list):
5408         * alloc.c (make_vector):
5409         * alloc.c (Fmake_vector):
5410         * alloc.c (make_bit_vector):
5411         * alloc.c (Fmake_bit_vector):
5412         * alloc.c (Fbit_vector):
5413         * alloc.c (Fmake_string):
5414         * alloc.c (Fpurecopy):
5415         * alloc.c (Fmemory_limit):
5416         * buffer.c:
5417         * buffer.c (Fget_buffer):
5418         * buffer.c (Fkill_buffer):
5419         * buffer.c (complex_vars_of_buffer):
5420         * bytecode.c (Fcompiled_function_stack_depth):
5421         * callint.c (Fprefix_numeric_value):
5422         * event-stream.c:
5423         * event-stream.c (Fread_key_sequence):
5424         * casetab.c:
5425         * casetab.c (Fcase_table_p):
5426         * casetab.c (check_case_table):
5427         * casetab.c (Fset_case_table):
5428         * casetab.c (Fset_standard_case_table):
5429         * chartab.c:
5430         * chartab.c (Fchar_table_type):
5431         * chartab.c (Freset_char_table):
5432         * chartab.c (Fget_char_table):
5433         * chartab.c (Fget_range_char_table):
5434         * chartab.c (Fput_char_table):
5435         * chartab.c (Fmap_char_table):
5436         * chartab.c (Fcategory_table_p):
5437         * chartab.c (Fcheck_category_at):
5438         * chartab.c (Fchar_in_category_p):
5439         * chartab.c (Fcategory_table):
5440         * chartab.c (Fcopy_category_table):
5441         * chartab.c (Fset_category_table):
5442         * chartab.c (Fcategory_designator_p):
5443         * chartab.c (Fcategory_table_value_p):
5444         * cmds.c (Fdelete_char):
5445         * cmds.c (Fdelete_backward_char):
5446         * cmds.c (Fself_insert_command):
5447         * cmds.c (Fself_insert_internal):
5448         * console.c (Fvalid_console_type_p):
5449         * console.c (Fcdfw_console):
5450         * console.c (Fconsole_type):
5451         * console.c (Fconsole_name):
5452         * console.c (Fconsole_device_list):
5453         * console.c (Fconsole_on_window_system_p):
5454         * data.c:
5455         * data.c (Feq):
5456         * data.c (Fold_eq):
5457         * data.c (Fsubr_interactive):
5458         * data.c (Fchar_to_int):
5459         * data.c (Fint_to_char):
5460         * data.c (Fsetcar):
5461         * data.c (Fsetcdr):
5462         * data.c (Fnumber_to_string):
5463         * data.c (Fstring_to_number):
5464         * data.c (Frem):
5465         * database.c (mark_database):
5466         * database.c (finalize_database):
5467         * database.c (Fdatabase_live_p):
5468         * database.c (Fdatabasep):
5469         * device-x.c (Fx_get_resource):
5470         * device.c (Fdfw_device):
5471         * dired.c:
5472         * dired.c (Ffile_name_completion):
5473         * dired.c (Ffile_name_all_completions):
5474         * dired.c (Fuser_name_completion):
5475         * dired.c (Fuser_name_completion_1):
5476         * dired.c (Fuser_name_all_completions):
5477         * doc.c (Fdocumentation):
5478         * doc.c (Fdocumentation_property):
5479         * doc.c (Fsubstitute_command_keys):
5480         * editfns.c:
5481         * editfns.c (Fchar_to_string):
5482         * editfns.c (Fstring_to_char):
5483         * editfns.c (Ftemp_directory):
5484         * editfns.c (Finsert_char):
5485         * editfns.c (Fbuffer_substring_no_properties):
5486         * editfns.c (Fnarrow_to_region):
5487         * editfns.c (Fchar_equal):
5488         * editfns.c (Fchar_Equal):
5489         * editfns.c (Ftranspose_regions):
5490         * emacs.c (Fdump_emacs):
5491         * eval.c (Fthrow):
5492         * eval.c (Fcommand_execute):
5493         * eval.c (Fautoload):
5494         * eval.c (Fbacktrace):
5495         * eval.c (Fbacktrace_frame):
5496         * events.c:
5497         * events.c (Fcopy_event):
5498         * events.c (Fcharacter_to_event):
5499         * events.c (Fevent_button):
5500         * events.c (Fevent_process):
5501         * extents.c:
5502         * extents.c (Fnext_extent_change):
5503         * extents.c (Fextent_property):
5504         * faces.c (Ffacep):
5505         * faces.c (Fmake_face):
5506         * file-coding.c:
5507         * file-coding.c (Fencode_shift_jis_char):
5508         * file-coding.c (Fencode_big5_char):
5509         * fileio.c (Ffile_name_directory):
5510         * fileio.c (Ffile_name_nondirectory):
5511         * fileio.c (Ffile_name_as_directory):
5512         * fileio.c (Fdirectory_file_name):
5513         * fileio.c (Ffile_truename):
5514         * fileio.c (Fsubstitute_in_file_name):
5515         * fileio.c (Ffile_modes):
5516         * fileio.c (Fset_file_modes):
5517         * fileio.c (Fset_default_file_modes):
5518         * fileio.c (Fverify_visited_file_modtime):
5519         * floatfns.c (Facos):
5520         * floatfns.c (Fasin):
5521         * floatfns.c (Fatan):
5522         * floatfns.c (Fcos):
5523         * floatfns.c (Fsin):
5524         * floatfns.c (Ftan):
5525         * floatfns.c (Fbessel_j0):
5526         * floatfns.c (Fbessel_j1):
5527         * floatfns.c (Fbessel_jn):
5528         * floatfns.c (Fbessel_y0):
5529         * floatfns.c (Fbessel_y1):
5530         * floatfns.c (Fbessel_yn):
5531         * floatfns.c (Ferf):
5532         * floatfns.c (Ferfc):
5533         * floatfns.c (Flog_gamma):
5534         * floatfns.c (Fexp):
5535         * floatfns.c (Fexpt):
5536         * floatfns.c (Flog):
5537         * floatfns.c (Flog10):
5538         * floatfns.c (Fsqrt):
5539         * floatfns.c (Fcube_root):
5540         * floatfns.c (Facosh):
5541         * floatfns.c (Fasinh):
5542         * floatfns.c (Fatanh):
5543         * floatfns.c (Fcosh):
5544         * floatfns.c (Fsinh):
5545         * floatfns.c (Ftanh):
5546         * floatfns.c (Fabs):
5547         * floatfns.c (Ffloat):
5548         * floatfns.c (Flogb):
5549         * floatfns.c (Fceiling):
5550         * floatfns.c (Ffloor):
5551         * floatfns.c (Fround):
5552         * floatfns.c (Ftruncate):
5553         * floatfns.c (Ffceiling):
5554         * floatfns.c (Fffloor):
5555         * floatfns.c (Ffround):
5556         * floatfns.c (Fftruncate):
5557         * fns.c (Fstring_equal):
5558         * fns.c (Fstring_lessp):
5559         * fns.c (concat2):
5560         * fns.c (concat3):
5561         * fns.c (vconcat2):
5562         * fns.c (vconcat3):
5563         * fns.c (Fsubstring):
5564         * fns.c (Fassoc):
5565         * fns.c (Fold_assoc):
5566         * fns.c (assoc_no_quit):
5567         * fns.c (Fassq):
5568         * fns.c (Fold_assq):
5569         * fns.c (assq_no_quit):
5570         * fns.c (Frassoc):
5571         * fns.c (Fold_rassoc):
5572         * fns.c (Frassq):
5573         * fns.c (Fold_rassq):
5574         * fns.c (rassq_no_quit):
5575         * fns.c (Fremassoc):
5576         * fns.c (remassoc_no_quit):
5577         * fns.c (Fremassq):
5578         * fns.c (remassq_no_quit):
5579         * fns.c (Fremrassoc):
5580         * fns.c (Fremrassq):
5581         * fns.c (remrassq_no_quit):
5582         * fns.c (Fsort):
5583         * fns.c (Fplist_get):
5584         * fns.c (Fplist_put):
5585         * fns.c (Fplist_remprop):
5586         * fns.c (Fplist_member):
5587         * fns.c (Flax_plist_get):
5588         * fns.c (Flax_plist_put):
5589         * fns.c (Flax_plist_remprop):
5590         * fns.c (Flax_plist_member):
5591         * fns.c (Fequal):
5592         * fns.c (Fold_equal):
5593         * fns.c (Frequire):
5594         * fns.c (Fbase64_encode_region):
5595         * fns.c (Fbase64_encode_string):
5596         * fns.c (Fbase64_decode_region):
5597         * frame.c:
5598         * frame.c (frame_matches_frame_spec):
5599         * frame.c (device_matches_device_spec):
5600         * frame.c (next_frame):
5601         * frame.c (previous_frame):
5602         * frame.c (Fnext_frame):
5603         * frame.c (Fprevious_frame):
5604         * frame.c (Fframe_property):
5605         * frame.c (Fset_frame_height):
5606         * frame.c (Fset_frame_size):
5607         * frame.h:
5608         * glyphs.c:
5609         * glyphs.c (if):
5610         * glyphs.c (decode_error_behavior_flag):
5611         * glyphs.c (Fmake_image_instance):
5612         * indent.c (Findent_to):
5613         * intl.c (Fignore_defer_gettext):
5614         * keymap.c (Fkeymapp):
5615         * keymap.c (Flookup_key):
5616         * lread.c:
5617         * lread.c (Fload_internal):
5618         * lread.c (Feval_buffer):
5619         * lread.c (Feval_region):
5620         * macros.c (Fexecute_kbd_macro):
5621         * marker.c (set_marker_internal):
5622         * marker.c (Fset_marker):
5623         * marker.c (set_marker_restricted):
5624         * marker.c (Fcopy_marker):
5625         * marker.c (noseeum_copy_marker):
5626         * menubar.c:
5627         * menubar.c (Fpopup_menu):
5628         * minibuf.c:
5629         * mule-charset.c (Fcharset_name):
5630         * mule-charset.c (Fchar_charset):
5631         * mule-charset.c (Fchar_octet):
5632         * mule-charset.c (Fsplit_char):
5633         * mule-wnnfns.c (Fwnn_open):
5634         * mule-wnnfns.c (Fwnn_dict_comment):
5635         * mule-wnnfns.c (Fwnn_quit_henkan):
5636         * mule-wnnfns.c (Fwnn_word_toroku):
5637         * mule-wnnfns.c (Fwnn_word_sakujo):
5638         * mule-wnnfns.c (Fwnn_word_use):
5639         * mule-wnnfns.c (Fwnn_hindo_set):
5640         * objects.c:
5641         * objects.c (Fmake_color_instance):
5642         * objects.c (Fmake_font_instance):
5643         * print.c (Fwrite_char):
5644         * process.c:
5645         * process.c (mark_process):
5646         * process.c (print_process):
5647         * process.c (get_process_from_usid):
5648         * process.c (Fprocessp):
5649         * process.c (Fprocess_live_p):
5650         * process.c (Fget_process):
5651         * process.c (Fget_buffer_process):
5652         * process.c (get_process):
5653         * process.c (Fprocess_id):
5654         * process.c (Fprocess_name):
5655         * process.c (Fprocess_command):
5656         * process.c (init_process_io_handles):
5657         * process.c (start_process_unwind):
5658         * process.c (Fstart_process_internal):
5659         * process.c (Fopen_multicast_group_internal):
5660         * process.c (Fset_process_window_size):
5661         * process.c (read_process_output):
5662         * process.c (send_process):
5663         * process.c (Fprocess_tty_name):
5664         * process.c (Fset_process_buffer):
5665         * process.c (Fprocess_buffer):
5666         * process.c (Fprocess_mark):
5667         * process.c (set_process_filter):
5668         * process.c (Fset_process_filter):
5669         * process.c (Fprocess_filter):
5670         * process.c (Fprocess_send_region):
5671         * process.c (Fprocess_send_string):
5672         * process.c (exec_sentinel):
5673         * process.c (Fset_process_sentinel):
5674         * process.c (Fprocess_sentinel):
5675         * process.c (status_notify):
5676         * process.c (Fprocess_status):
5677         * process.c (Fprocess_exit_status):
5678         * process.c (process_send_signal):
5679         * process.c (Fprocess_send_eof):
5680         * process.c (deactivate_process):
5681         * process.c (remove_process):
5682         * process.c (Fdelete_process):
5683         * process.c (kill_buffer_processes):
5684         * process.c (Fprocess_kill_without_query):
5685         * process.c (Fprocess_kill_without_query_p):
5686         * rangetab.c:
5687         * rangetab.c (Fget_range_table):
5688         * rangetab.c (Fput_range_table):
5689         * rangetab.c (Fremove_range_table):
5690         * rangetab.c (Fclear_range_table):
5691         * search.c:
5692         * search.c (Fskip_chars_forward):
5693         * search.c (Fskip_chars_backward):
5694         * search.c (Fskip_syntax_forward):
5695         * search.c (Fskip_syntax_backward):
5696         * search.c (search_command):
5697         * search.c (Freplace_match):
5698         * search.c (Fregexp_quote):
5699         * select.c (Fown_selection_internal):
5700         * select.c (Fselection_owner_p):
5701         * select.c (Fselection_exists_p):
5702         * select.c (Fget_selection_internal):
5703         * specifier.c:
5704         * symbols.c:
5705         * symbols.c (Fintern):
5706         * symbols.c (Fintern_soft):
5707         * symbols.c (Funintern):
5708         * symbols.c (Fapropos_internal):
5709         * symbols.c (Fset_default):
5710         * syntax.c:
5711         * syntax.c (Fsyntax_table_p):
5712         * syntax.c (Fcopy_syntax_table):
5713         * syntax.c (Fset_syntax_table):
5714         * syntax.c (Fchar_syntax):
5715         * syntax.c (syntax_match):
5716         * syntax.c (Fmatching_paren):
5717         * syntax.c (Fforward_word):
5718         * syntax.c (scan_lists):
5719         * syntax.c (Fscan_lists):
5720         * syntax.c (Fscan_sexps):
5721         * syntax.c (Fparse_partial_sexp):
5722         * toolbar.c (Fcheck_toolbar_button_syntax):
5723         * tooltalk.doc:
5724         * window.c:
5725         * window.c (Fwindowp):
5726         * window.c (Fwindow_live_p):
5727         * window.c (Fwindow_point):
5728         * window.c (Fdelete_window):
5729         * window.c (Fnext_window):
5730         * window.c (Fprevious_window):
5731         * window.c (Fother_window):
5732         * window.c (window_loop):
5733         * window.c (Fget_lru_window):
5734         * window.c (Fsplit_window):
5735         * window.c (Fenlarge_window):
5736         * window.c (Fenlarge_window_pixels):
5737         * window.c (Fshrink_window):
5738         * window.c (Fshrink_window_pixels):
5739         * window.c (change_window_height):
5740         * window.c (Fwindow_configuration_p):
5741         * window.c (Fcurrent_window_configuration):
5742         * window.h:
5743         * casefiddle.c (casify_object):
5744         * casefiddle.c (Fupcase):
5745         * casefiddle.c (Fdowncase):
5746         * casefiddle.c (Fcapitalize):
5747         * casefiddle.c (Fupcase_initials):
5748         * casefiddle.c (casify_region_internal):
5749         * casefiddle.c (casify_region):
5750         * casefiddle.c (Fupcase_region):
5751         * casefiddle.c (Fdowncase_region):
5752         * casefiddle.c (Fcapitalize_region):
5753         * casefiddle.c (Fupcase_initials_region):
5754         * casefiddle.c (Fupcase_word):
5755         * casefiddle.c (Fdowncase_word):
5756         * casefiddle.c (Fcapitalize_word):
5757         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
5758         Replace 0 with '\0' when working with bytes.
5759         Replace initial "(" with "\(" in docstrings.
5760
5761 2000-11-01  Martin Buchholz  <martin@xemacs.org>
5762
5763         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
5764
5765         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
5766
5767 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5768
5769         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
5770
5771 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5772
5773         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
5774         correctly.
5775
5776 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5777
5778         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
5779         (inhibit_auto_save_session): New variable.
5780         (vars_of_fileio): Declare and initialize them.
5781         * fileio.c (Fdo_auto_save): Don't create session file if
5782         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
5783
5784 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5785
5786         * sgiplay.c (play_internal): C++ compilability.
5787         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
5788         * callproc.c (Fold_call_process_internal):
5789         Remove unused vars `env', `first'.
5790         * scrollbar.c (update_scrollbar_instance):
5791         #### unused var `current_window'.
5792         * redisplay-tty.c: Put currently unused vars insert_mode_on,
5793         etc. within #ifdef NOT_YET.
5794         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
5795         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
5796         * specifier.c (specifier_instance):
5797         #### unused var `tag'.
5798         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
5799
5800 2000-10-27  Martin Buchholz  <martin@xemacs.org>
5801
5802         * fns.c (Fbutlast):
5803         * fns.c (list_sort):
5804         * fns.c (Ffillarray):
5805         * fns.c (bytecode_nconc2):
5806         * fns.c (Fnconc):
5807         * fns.c (mapcar1):
5808         * fns.c (Fmapconcat):
5809         Be pedantically 64-bit correct.  For the time when someone will
5810         want to have a list with length > 2**32.
5811
5812         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
5813         Work around MIPSpro compiler bug.
5814
5815         * process-unix.c (unix_kill_child_process): Add snarky comment.
5816         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
5817
5818         * config.h.in: Oops, _getpt ==> _getpty
5819
5820 2000-10-26  Martin Buchholz  <martin@xemacs.org>
5821
5822         * config.h.in:
5823         * regex.c:
5824         Use void*, not char*, as return type of alloca().
5825
5826         * alloc.c (free_marker): Side effect inside assert expression!
5827
5828 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
5829
5830         * mule-charset.c (Fset_charset_ccl_program): To check
5831         if the given ccl program is valid, use setup_ccl_program()
5832         instead of CHECK_VECTOR().
5833         (Fmake_charset): Likewise.
5834
5835 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
5836
5837         * faces.c (get_extent_fragment_face_cache_index):
5838         Fix cachel.merged_faces memory leak.
5839
5840 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
5841
5842         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
5843         Reset MSB of octets obtained by DECODE_SJIS
5844         because of the incompatibility with Emacs.
5845         (ccl_driver)<CCL_ENCODE_SJIS>:
5846         Set MSB of octets before passing them to
5847         ENCODE_SJIS because of the incompatibility
5848         with Emacs.
5849
5850 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
5851
5852         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
5853         (DECLARE_LRECORD): Undo the last change.
5854         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
5855
5856 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
5857
5858         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
5859         the implementation to lrecord_implementations_table.
5860
5861 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
5862
5863         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
5864         initial value of `lrecord_type_##c_name' and
5865         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
5866         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
5867         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
5868         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
5869         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
5870
5871 2000-10-17  Martin Buchholz  <martin@xemacs.org>
5872
5873         * miscplay.c (sndcnv8S_2mono):
5874         (sndcnv2monounsigned):
5875         (sndcnvULaw_2linear):
5876         (sndcnv16swap):
5877         Remove implementation-defined behavior.
5878
5879 2000-10-12  Martin Buchholz  <martin@xemacs.org>
5880
5881         * input-method-xlib.c: Warning suppression.
5882
5883 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
5884
5885         * mule-ccl.c: Sync up with Emacs 21.0.90.
5886         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
5887         Do nothing.
5888         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
5889         Likewise.
5890         (ccl_driver[WriteMultibyteChar2]): Bug fix.
5891         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
5892         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
5893         leading char belongs to official 2-dimensional charset.
5894         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
5895         write the given character as is.  Otherwise,
5896         if it is a multibyte char, convert it by
5897         non_ascii_set_charptr_emchar, then write it.
5898         (CCL_WRITE_STRING): Likewise.
5899         (ccl_get_compiled_code): New function.
5900         (setup_ccl_program): When ccl_prog is invalid,
5901         return -1.
5902         (Fregister_code_conversion_map): New function.
5903         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
5904
5905         * mule-ccl.h: Sync up with Emacs 21.0.90.
5906         (Fregister_ccl_program): export it.
5907
5908         * redisplay-msw.c (separate_textual_runs):
5909         If ccl program is not valid, don't do ccl conversion.
5910
5911         * redisplay-x.c (separate_textual_runs): Ditto.
5912
5913         * file-coding.c (Fmake_coding_system):
5914         When type is ccl and value is vector, register it
5915         with a proper symbol.  And checks whether the
5916         given ccl program is valid.
5917         (mule_decode): When calling ccl_driver, if src indicates
5918         NULL pointer, set an empty string instead.
5919         (mule_encode): Likewise.
5920
5921 2000-10-11  Martin Buchholz  <martin@xemacs.org>
5922
5923         The following large batch of changes gets us back to a state of
5924         C++ compilability.  Extbyte is now a char, which means that
5925         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
5926
5927         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
5928
5929         * sound.c (Fplay_sound): Type correctness.
5930
5931         * select-x.c (hack_motif_clipboard_selection): Type correctness.
5932         (x_get_window_property): Type correctness.
5933         (receive_incremental_selection): unsigned char ==> Extbyte
5934         (selection_data_to_lisp_data): unsigned char ==> Extbyte
5935         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
5936         (Fx_store_cutbuffer_internal): Type correctness.
5937
5938         * process-unix.c (try_to_initialize_subtty): Type correctness.
5939
5940         * objects-x.c (x_print_color_instance): Type correctness.
5941         (x_print_font_instance): Type correctness.
5942         (x_list_fonts): SExtbyte ==> Extbyte.
5943         (valid_x_font_name_p): SExtbyte ==> Extbyte.
5944         (x_find_charset_font): SExtbyte ==> Extbyte.
5945         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
5946         (truename_via_XListFonts): SExtbyte ==> Extbyte.
5947         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
5948         Use bufbyte_strcmp.
5949
5950         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
5951         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
5952         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
5953         (BYTE_C0_P): Use bit ops for char-signedness safety.
5954         (BYTE_C1_P): Use bit ops for char-signedness safety.
5955         (CHARSET_BY_LEADING_BYTE):
5956         (CHARSET_BY_ATTRIBUTES):
5957         Always use inline function.
5958         Use type_checking_assert.
5959         Hide chlook.
5960
5961         * mule-charset.c (non_ascii_charptr_copy_char):
5962         Modify to work with both ASCII and non-ASCII characters.
5963         Improve docs and variable names.
5964         Replace over-clever fall-through switch with a simple loop.
5965         (Lstream_get_emchar_1):
5966         Replace over-clever fall-through switch with a simple loop.
5967
5968         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5969         Warning suppression.
5970
5971         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
5972         the return value of Lstream_getc, which could be EOF as well.
5973
5974         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
5975
5976         * lisp.h: Make Extbyte a char, not unsigned char, so that external
5977         APIs can be used on Extbytes without casts.  Risky!
5978         (SExtbyte): Remove.
5979         (UExtbyte): Remove.
5980
5981         * input-method-xlib.c (XIM_init_device):
5982         Use Xlib.h instead of IntrinsicP.h.
5983         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
5984         which will break in X11R7.
5985         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
5986         to call XRegisterIMInstantiateCallback with correct types.
5987
5988         * gui-x.c (button_item_to_widget_value): Type correctness.
5989
5990         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
5991
5992         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
5993         (xbm_instantiate_1): Type correctness.
5994         (BUILD_GLYPH_INST):  Type correctness.
5995
5996         * fileio.c (Fsubstitute_in_file_name): Type correctness.
5997
5998         * file-coding.c:
5999         (decode_coding_sjis):
6000         (decode_coding_big5):
6001         (decode_coding_ucs4):
6002         (decode_coding_utf8):
6003         (decode_coding_iso2022):
6004         (decode_coding_no_conversion):
6005         Make all decoding functions take an Extbyte * arg.
6006         (encode_coding_sjis):
6007         (encode_coding_big5):
6008         (encode_coding_ucs4):
6009         (encode_coding_utf8):
6010         (encode_coding_iso2022):
6011         (encode_coding_no_conversion):
6012         Make all encoding functions take a Bufbyte * arg.
6013         Use size_t instead of unsigned int for memory sizes.
6014         Only cast to unsigned char whenever dereferencing Extbyte *.
6015
6016         * doc.c (unparesseuxify_doc_string): Type correctness.
6017
6018         * console-x.c (split_up_display_spec):
6019         Rewrite without using details of internal string representation.
6020         (x_semi_canonicalize_device_connection): Type correctness.
6021
6022         * config.h.in:
6023         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
6024         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
6025         (HAVE_XFREE386): Removed.
6026
6027         * buffer.h (DEC_CHARPTR): `const' correctness.
6028         (bufbyte_strcmp): New.
6029         (bufbyte_memcmp): New.
6030
6031         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
6032
6033         * buffer.h (XCHAR_OR_CHAR_INT):
6034         Always use inline function.
6035         Remove redundant type checking assert() - XINT will abort quite nicely.
6036
6037 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
6038
6039         * search.c (Freplace_match): Set newtext to an empty string.
6040
6041 2000-10-10  Martin Buchholz  <martin@xemacs.org>
6042
6043         * s/decosf1-3.h: Remove #include of stropts.h
6044         * s/ptx.h: Remove #include of stropts.h
6045         * s/usg5-4.h: Remove #include of stropts.h
6046         * sysproc.h:
6047         * config.h.in:
6048         Use stropts.h, not sys/stropts.h.
6049         Use strtio.h, not sys/strtio.h.
6050
6051 2000-10-04  Martin Buchholz <martin@xemacs.org>
6052
6053         * XEmacs 21.2.36 is released.
6054
6055 2000-09-21  Andy Piper  <andy@xemacs.org>
6056
6057         * glyphs-x.c (x_redisplay_widget): make sure non-structural
6058         changes still involve copying the widget tree.
6059         (update_widget_face): make sure a change is register in the widget
6060         tree. Call update_tab_widget_face appropriately.
6061         (update_tab_widget_face): ditto.
6062         (x_tab_control_redisplay): make sure non-structural changes still
6063         involve copying the widget tree.
6064
6065 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
6066
6067         * lread.c (locate_file): Check the path element is non-nil.
6068
6069 2000-10-02  Martin Buchholz  <martin@xemacs.org>
6070
6071         * lisp.h: Warning suppression for SCO compilers.
6072
6073         * redisplay-tty.c (reset_tty_modes): Fix crash.
6074         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
6075
6076 2000-09-27  Martin Buchholz  <martin@xemacs.org>
6077
6078         Big signal/process handling overhaul.  Bugs fixed:
6079         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
6080         M-x comint-kill-subjob should work for both values nil and t of
6081         process-connection-type. It was broken on most platforms.
6082         Testing on Irix and Cygwin still needed.  Other plaforms tested.
6083         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
6084         * process-unix.c: Signal/Process handling overhaul.
6085         (pty_name): make 64 bytes, as `expect' does, for paranoia.
6086         (allocate_pty): Use all available modern methods of allocating
6087         ptys, falling back to old style BSD allocation as a last resort.
6088         Use allegedly more secure Unix98 pty allocation by default.
6089         (allocate_pty_the_old_fashioned_way): New. the last resort.
6090         (unix_create_process): Push ptem, ldterm, ttcompat where
6091         available.  Autoconfiscate.
6092         (try_to_initialize_subtty): New.
6093         (unix_kill_child_process): Proper signal handling for ptys on most
6094         platforms, using special knowledge of AIX, BSD, etc...
6095         (unix_create_process): Always disconnect_controlling_terminal() for
6096         subprocesses, whether using ptys or not.
6097         * process.h: Remove old getpt-dependent PTY code.
6098         * process.c (Fprocess_send_signal): New, obvious generic function.
6099         (decode_signal): New.
6100         (Finterrupt_process):
6101         (Fkill_process):
6102         (Fquit_process):
6103         (Fstop_process):
6104         (Fcontinue_process):
6105         (Fsignal_process): Use decode_signal.
6106         (process_send_signal):
6107         Many docstring corrections.
6108         Allow any signal to be sent to a process object.
6109         * config.h.in: Add symbols for big signal/process overhaul.
6110         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
6111         * sysproc.h: Include process-related headers, where available:
6112         sys/stropts.h sys/strtio.h pty.h libutil.h
6113         * s/irix4-0.h:
6114         * s/irix5-0.h:
6115         * s/cygwin32.h:
6116         * s/gnu.h:
6117         * s/linux.h:
6118         * s/hpux.h:
6119         * s/aix3-1.h:
6120         Remove old S&M pty stuff.
6121         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
6122         * systty.h: Simplify cpp hackery, improve comments.
6123         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
6124
6125         * editfns.c (Fformat_time_string):
6126         Be a little more paranoid with the return value of ctime.
6127
6128         * fileio.c (check_executable):
6129         (check_writable):
6130         Use symbolic constants X_OK, W_OK.
6131
6132         * console-x.c (split_up_display_spec): Fix a warning.
6133
6134 2000-10-02  Martin Buchholz  <martin@xemacs.org>
6135
6136         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
6137         * ntproc.c (sys_spawnve): make_string ==> build_string
6138         Small clarity improvements.
6139
6140 2000-09-30  Martin Buchholz  <martin@xemacs.org>
6141
6142         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
6143
6144         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
6145
6146         * config.h.in (HAVE_STRCASECMP): Remove.
6147
6148 2000-09-29  Martin Buchholz  <martin@xemacs.org>
6149
6150         * redisplay-output.c (redisplay_output_pixmap):
6151         Cleaner and possibly more 64-bit correct code.
6152
6153 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
6154
6155         * dumper.c (pdump_load_finish): move restoration of
6156         `noninteractive1' to emacs.c (main_1).
6157         * emacs.c (main_1): protect LISP-visible command-line flags
6158         from pdump_load().
6159
6160 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
6161
6162         * Makefile.in.in (versionclean):  Use EXE_TARGET and
6163         DUMP_TARGET instead of literal program names.
6164
6165 2000-09-20  Martin Buchholz  <martin@xemacs.org>
6166
6167         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
6168
6169 2000-09-19  Martin Buchholz  <martin@xemacs.org>
6170
6171         * *: Spelling mega-patch
6172
6173 2000-09-19  Martin Buchholz  <martin@xemacs.org>
6174
6175         * fns.c (bad_bad_turtle):
6176         Delete "Eek!" comment, since we fixed the bug to which it refers.
6177
6178 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6179
6180         * alloca.c: Replace REGISTER with register.
6181
6182 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
6183
6184         * file-coding.c (ucs_to_char): Use countof.
6185
6186 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6187
6188         * file-coding.c: (ucs_to_char):
6189         (complex_vars_of_file_coding):
6190         Use countof instead of sizeof.
6191         Use CHECK_NATNUM instead of CHECK_INT.
6192
6193         * sysdep.c (strcasecmp): Remove.
6194         * device-x.c (ascii_strcasecmp): New.
6195         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
6196         Avoid using non-standard non-portable strcasecmp.
6197
6198 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6199
6200         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
6201         * font-lock.c: remove reference to emacsfns.h.
6202         * search.c: small doc improvement.
6203         * event-Xt.c: correct file names in comments.
6204         * console-x.h Correct file names in comments.
6205         * frame.c: Correct file names in comments.
6206         * event-stream.c: remove Energize from comments.
6207
6208 2000-09-15  Martin Buchholz  <martin@xemacs.org>
6209
6210         * symeval.h (DEFERROR_STANDARD):
6211         (DEFERROR):
6212         (DEFSYMBOL):
6213         (DEFSYMBOL_NO_DUMP):
6214         (DEFSYMBOL_MULTIWORD_PREDICATE):
6215         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
6216         (DEFKEYWORD):
6217         The construct &##name is not sensible C.
6218         Fixes compilation errors with Unixware native compiler.
6219
6220 2000-09-14  Martin Buchholz  <martin@xemacs.org>
6221
6222         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
6223         (next_frame_internal): Removed.  We now just have next_frame.
6224         (next_frame):
6225         Write a simpler and cleaner one-pass algorithm.
6226         Remove called_from_delete_device arg and #ifdefed-out code.
6227         (previous_frame):
6228         Renamed from prev_frame.  Update callers.
6229         Cleaned up to have an analogous implementation to next_frame.
6230         (other_visible_frames_internal): Remove the
6231         called_from_delete_device bogus arg, and hence, remove this
6232         function.  Just use other_visible_frames().
6233
6234         * window.c (Fnext_window):
6235         Prettify docstring.
6236         Since next_frame() is guaranteed to return a frame, remove check
6237         for nil inserted in previous patch.
6238         (Fprevious_window):
6239         Prettify docstring.
6240         Make code look more like Fnext_window.
6241         (window_loop):
6242         Respect the `console' arg when iterating through windows.
6243         Fixes bug: (get-buffer-window buffer t device) not respecting
6244         the `device' arg.
6245         This function needs more work, as others have pointed out.
6246
6247         * frame.h: Rename prev_frame to previous_frame.
6248         device_matches_console_spec no longer takes a `frame' arg.
6249
6250         * s/gnu.h:
6251         * s/linux.h:
6252         * s/hpux.h:
6253         Use EMACS_BLOCK_SIGNAL instead of sigblock.
6254         From "Golubev I. N." <gin@mo.msk.ru>.
6255
6256         * make-src-depend: Fix typo.
6257
6258 2000-09-13  Martin Buchholz  <martin@xemacs.org>
6259
6260         * window.c (Fnext_window):
6261         next_frame() might return nil, not a frame.
6262         Fixes this crash:
6263         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
6264
6265         * frame.c (next_frame_internal):
6266         We've passed a frame if we've passed its device.
6267         Fixes this crash:
6268         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
6269 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
6270
6271 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6272
6273         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6274         Allow option to suppress accelerators in menu/dialog items.
6275         (populate_or_checksum_helper): Pass dialog title through above.
6276
6277 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6278
6279         * event-msw.c (mswindows_key_to_emacs_keysym):
6280         Add "pause" key, fix "menu" key.
6281
6282 2000-09-09  Martin Buchholz  <martin@xemacs.org>
6283
6284         * eval.c (reinit_vars_of_eval):
6285         Increase max_lisp_eval_depth to 1000,
6286         required for thai-xtis.el to byte-compile under some circumstances.
6287
6288 2000-09-04  Martin Buchholz  <martin@xemacs.org>
6289
6290         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
6291         From Kenichi Handa.
6292
6293 2000-09-01  Martin Buchholz  <martin@xemacs.org>
6294
6295         * make-src-depend: Make the generated Makefiles smaller.
6296
6297         * s/hpux.h (SETUP_SLAVE_PTY):
6298         Provide a %d in the format string for the errno argument.
6299
6300         * editfns.c (Ftemp_directory):
6301         Warning fix.
6302         Avoid buffer overrun on very long file name.
6303
6304         * input-method-xlib.c (XIM_init_device):
6305         6th parameter of XRegisterIMInstantiateCallback has different
6306         pointer types on different OSes, so simply cast to (void *).
6307
6308         * unexhp9k800.c: Warning fixes.  Fiddly changes.
6309
6310         * sysdll.c (dll_open):
6311         shl_load will hang hard if passed a NULL filename.
6312         Simply return NULL for compatibility with dlopen.
6313         * sysdll.c: Conform to XEmacs coding standards.
6314
6315         * sysdep.c (get_pty_max_bytes):
6316         Support pty input lines longer than 512 bytes on HP-UX 10.20.
6317
6318 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6319
6320         * tooltalk.c: Add #include <syssignal.h>
6321
6322 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
6323
6324         * s/hpux.h: Don't use undefined function sigunblock().
6325
6326 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6327
6328         * config.h.in: Add HAVE_BALLOON_HELP.
6329         * emacs.c: Use HAVE_BALLOON_HELP.
6330         * Makefile.in.in (x_objs):
6331         Make Balloon Help conditional on finding shape.h.
6332
6333 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
6334
6335         * syntax.c (regex_emacs_buffer_p): New variable.
6336         * syntax.h (regex_emacs_buffer_p): extern.
6337         * search.c (looking_at_1):
6338         (string_match_1):
6339         (fast_string_match):
6340         (search_buffer): Set regex_emacs_buffer_p.
6341         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
6342         when before_dot, at_dot, after_dot.
6343
6344 2000-08-23  Andy Piper  <andy@xemacs.org>
6345
6346         * gui-x.c (popup_selection_callback): Only set action_occurred
6347         when we really have an image instance.
6348         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
6349
6350 2000-08-23  Andy Piper  <andy@xemacs.org>
6351
6352         * gui-msw.c (mswindows_handle_gui_wm_command): set
6353         action_occurred.
6354         * gui-x.c (popup_selection_callback): ditto.
6355
6356         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
6357         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
6358         (struct Lisp_Image_Instance): add action_occurred flag.
6359
6360         * glyphs.c (redisplay_subwindow): use action_occurred flag.
6361         (image_instance_changed): ditto.
6362         (reset_frame_subwindow_instance_cache): only unmap windows - do
6363         not remove them from the cache also.
6364
6365         * glyphs-widget.c (tab_control_update): better debug.
6366         (progress_gauge_update): ditto.
6367         (layout_update): ditto.
6368         (layout_instantiate): ditto.
6369         (tab_control_order_only_changed): cope with null pending items.
6370
6371         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
6372         debug. Force selection of an item when an action occurred. Cope
6373         with null pending_items.
6374         (mswindows_progress_gauge_redisplay): better debug.
6375         * glyphs-x.c (x_tab_control_redisplay): ditto.
6376
6377         * redisplay.c (redisplay_frame): reset the frame cache if the
6378         frame is garbaged.
6379
6380         * window.c (Fset_window_configuration): potentially re-enable
6381         frame cache reset.
6382         (window_unmap_subwindows): need to finalize instances here since
6383         it is only used in mark_window_as_deleted.
6384
6385 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
6386
6387         * nas.c (SndOpenDataForReading):
6388         nas.c (WaveOpenDataForReading):
6389         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
6390         Somehow escaped from the 2000-08-14 patch.
6391
6392 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6393
6394         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
6395         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
6396
6397 2000-08-21  Andy Piper  <andy@xemacs.org>
6398
6399         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
6400         window if it is not already displayed.
6401
6402         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
6403         it is not already displayed.
6404
6405         * window.c (Fset_window_configuration): don't reset the frame
6406         cache.
6407
6408         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
6409         instances from the frame cache if we are actually finalizing them.
6410         (reset_frame_subwindow_instance_cache): reset frame cache only
6411         after unmapping everything.
6412         (map_subwindow): set displayed flag after mapping.
6413
6414 2000-08-21  Martin Buchholz  <martin@xemacs.org>
6415
6416         * data.c (indirect_function):
6417         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
6418
6419         * eval.c (function_argcount):
6420         Use original function when signaling errors.
6421
6422 2000-08-18  Andy Piper  <andy@xemacs.org>
6423
6424         * frame.c (delete_frame_internal): use new
6425         free_frame_subwindow_instances name.
6426
6427         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
6428         (add_tab_item): make return type correct.
6429         (mswindows_tab_control_instantiate): assert index of tab.
6430         (mswindows_tab_control_redisplay): Re-code to use
6431         gui_item_equal_sans_selected and gui_item_list_find_selected.
6432
6433         * glyphs-widget.c (tab_control_update): Correct comment.
6434
6435         * window.c (window_unmap_subwindows): use new
6436         unmap_subwindow_instance_cache_mapper.
6437         (window_unmap_subwindows_cache_mapper): deleted.
6438         (Fset_window_configuration): comparisons should now be with
6439         EQ. Preserve the subwindow instance cache across configuration
6440         changes.
6441         (allocate_window): ditto.
6442         (make_dummy_parent): ditto.
6443
6444         * glyphs.c (free_frame_subwindow_instances): rename from
6445         free_frame_subwindow_instance_cache. finalize all instances rather
6446         than just those in the display cache.
6447         (finalize_all_subwindow_instances): walk windows unmapping and
6448         finalizing subwindows.
6449         (unmap_subwindow_instance_cache_mapper): moved from
6450         window.c. Allow finalization as well as unmapping.
6451
6452         * gui.c (gui_item_list_find_selected): new function.
6453
6454         * gui.h (gui_item_list_find_selected): declare.
6455
6456         * glyphs-x.c (x_tab_control_redisplay): pick tab
6457         explicitly. Re-code to use gui_item_equal_sans_selected and
6458         gui_item_list_find_selected.
6459
6460         * glyphs-x.h: add lwlib-utils.h
6461
6462         * buffer.c (Frecord_buffer): undo previous change.
6463
6464 2000-08-09  Vin Shelton  <acs@xemacs.org>
6465
6466         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
6467         possible.  Create temporary files more securely.  The patch was
6468         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
6469         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
6470         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
6471         for details.
6472
6473 2000-08-07  Ben Wing  <ben@xemacs.org>
6474
6475         * getloadavg.c: remove duplicate (and windows-breaking)
6476         includes of fcntl.h and sys/file.h.
6477
6478         * nt.c: remove duplicate getloadavg() definition.
6479
6480         * sysdll.h (Qdll_filename_encoding): add missing stand-in
6481         encodings.
6482
6483 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6484
6485         * eval.c (function_argcount): If function needs to be autoloaded
6486         actually use the loaded definition.
6487         GCPRO function.
6488
6489 2000-08-05  Ben Wing  <ben@xemacs.org>
6490
6491         * getloadavg.c: add prototype for getloadavg().  remove
6492         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
6493         of the code).  remove duplicate header includes.
6494
6495         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
6496
6497         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
6498         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
6499         useful load average.
6500
6501         * alloc.c (reinit_alloc_once_early): removed references to
6502         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
6503         the lisp vars are the only things referencing the malloc_sbrk_*
6504         vars, and they were already if 0'd out.  these vars only exist
6505         in the older malloc.c, which is basically unused, and they're
6506         only for informational purposes.
6507
6508         * m\*.h: removed useless VIRT_ADDR_VARIES.
6509
6510         * m\powerpc.h: removed stray NO_ARG_ARRAY.
6511
6512 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
6513
6514         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
6515         color if the image is a mono pixmap.
6516
6517 2000-07-30  Ben Wing  <ben@xemacs.org>
6518
6519         * Makefile.in.in (release):
6520         Remove stray @.
6521
6522         * buffer.c (directory_is_current_directory):
6523         * dired-msw.c (mswindows_get_files):
6524         * dired.c:
6525         * dired.c (Fdirectory_files):
6526         * dired.c (file_name_completion_stat):
6527         * dired.c (Ffile_attributes):
6528         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
6529         preprocessor tricks, to avoid problems on some machines
6530         (e.g. SCO).
6531
6532         * callproc.c (egetenv): GC docs.
6533
6534         * console-msw.h:
6535         * console-msw.h (struct mswindows_dialog_id):
6536         * lrecord.h (lrecord_type):
6537         New object for use with MSW dialogs.
6538
6539         * console.h (struct console_methods):
6540         New enable/disable frame methods, for proper modal dialogs.
6541
6542         * device-msw.c (msprinter_default_printer): Fix to follow
6543         proper Mule conventions.
6544
6545         * device-msw.c:
6546         * device-msw.c (signal_open_printer_error):
6547         * device-msw.c (msprinter_init_device):
6548         * device-msw.c (ensure_not_printing):
6549         * device-msw.c (plist_get_margin):
6550         * device-msw.c (Fmsprinter_select_settings):
6551         * device-msw.c (finalize_devmode):
6552         * device-msw.c (Fmsprinter_settings_despecialize):
6553         * device-msw.c (signal_enum_priner_error):
6554         * extents.c (decode_extent):
6555         * extents.c (decode_map_extents_flags):
6556         * extents.c (decode_extent_at_flag):
6557         * extents.c (Fextent_at):
6558         * extents.c (Fextents_at):
6559         * extents.c (symbol_to_glyph_layout):
6560         [[[[2]]]] Use structured errors.
6561
6562         * dialog-msw.c:
6563         * dialog-msw.c (mswindows_is_dialog_msg):
6564         * dialog-msw.c (mark_mswindows_dialog_id):
6565         * dialog-msw.c (dialog_proc):
6566         * dialog-msw.c (handle_question_dialog_box):
6567         * dialog-msw.c (syms_of_dialog_mswindows):
6568         Define new object to clean up marking; use it as a dialog identifier.
6569         Call new delete-dialog-box-hook.
6570
6571         * dialog-x.c (dbox_selection_callback):
6572         * dialog-x.c (dbox_descriptor_to_widget_value):
6573         * dialog-x.c (x_make_dialog_box_internal):
6574         Call new delete-dialog-box-hook.
6575         Return an id.
6576
6577         * dialog.c:
6578         * dialog.c (syms_of_dialog):
6579         * dialog.c (vars_of_dialog):
6580         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
6581
6582         * eval.c:
6583         * eval.c (signal_call_debugger):
6584         when noninteractive, output stack traces on the console instead
6585         of in a (never-seen) buffer.
6586
6587         * eval.c (signal_type_error):
6588         * eval.c (invalid_argument_2):
6589         * lisp.h:
6590         new funs for use w/structured errors.
6591
6592         * event-Xt.c:
6593         * event-Xt.c (x_to_emacs_keysym):
6594         * event-Xt.c (describe_event):
6595         * event-Xt.c (emacs_Xt_event_handler):
6596         * event-Xt.c (vars_of_event_Xt):
6597         * event-msw.c:
6598         * event-msw.c (mswindows_wnd_proc):
6599         * event-msw.c (vars_of_event_mswindows):
6600         rename {x,mswindows}-debug-events to debug-{}-events for
6601         consistency with other debug-foo variables.
6602
6603         * event-stream.c:
6604         document next-event more clearly.
6605
6606         * fileio.c (Ffile_name_directory):
6607         * fileio.c (Ffile_name_nondirectory):
6608         * fileio.c (Funhandled_file_name_directory):
6609         * fileio.c (file_name_as_directory):
6610         * fileio.c (Ffile_name_as_directory):
6611         * fileio.c (directory_file_name):
6612         * fileio.c (Fdirectory_file_name):
6613         * fileio.c (Fmake_temp_name):
6614         * fileio.c (Ffile_truename):
6615         * fileio.c (Fsubstitute_in_file_name):
6616         * fileio.c (expand_and_dir_to_file):
6617         * fileio.c (barf_or_query_if_file_exists):
6618         * fileio.c (check_executable):
6619         * fileio.c (Ffile_exists_p):
6620         * fileio.c (Ffile_writable_p):
6621         * fileio.c (Ffile_directory_p):
6622         * fileio.c (Ffile_regular_p):
6623         * fileio.c (Ffile_modes):
6624         * fileio.c (Ffile_newer_than_file_p):
6625         * fileio.c (Fverify_visited_file_modtime):
6626         * fileio.c (Fset_visited_file_modtime):
6627         * fileio.c (auto_save_1):
6628         (1). (2).
6629         fix up gcpro's.
6630
6631         * frame-msw.c:
6632         * frame-msw.c (mswindows_init_frame_1):
6633         * frame-msw.c (mswindows_enable_frame):
6634         * frame-msw.c (error_frame_unsizable):
6635         * frame-msw.c (msprinter_init_frame_1):
6636         * frame-msw.c (msprinter_init_frame_3):
6637         * frame-msw.c (console_type_create_frame_mswindows):
6638         (2).
6639         implement new enable/disable frame methods.
6640
6641         * frame-x.c:
6642         * frame-x.c (x_enable_frame):
6643         * frame-x.c (console_type_create_frame_x):
6644         implement new enable/disable frame methods.
6645
6646         * frame.c:
6647         * frame.c (Fdisable_frame):
6648         * frame.c (syms_of_frame):
6649         * frame.h (struct frame):
6650         implement new enable/disable frame methods/functions.
6651
6652         * general-slots.h:
6653         add initial-focus.
6654
6655         * glyphs-msw.c (mswindows_widget_instantiate):
6656         comment that initial-focus should be implemented.
6657
6658         * glyphs-widget.c:
6659         * glyphs-widget.c (check_valid_instantiator):
6660         * glyphs-widget.c (check_valid_orientation):
6661         * glyphs-widget.c (check_valid_tab_orientation):
6662         * glyphs-widget.c (check_valid_justification):
6663         * glyphs-widget.c (check_valid_border):
6664         * glyphs-widget.c (check_valid_callback):
6665         * glyphs-widget.c (check_valid_int_or_function):
6666         * glyphs-widget.c (check_valid_string_or_vector):
6667         * glyphs-widget.c (check_valid_item_list_1):
6668         * glyphs-widget.c (widget_validate):
6669         * glyphs-widget.c (combo_box_validate):
6670         * glyphs-widget.c (widget_instantiate):
6671         * glyphs-widget.c (syms_of_glyphs_widget):
6672         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
6673         * glyphs-widget.c (image_instantiator_combo_box):
6674         * glyphs-widget.c (image_instantiator_scrollbar):
6675         * glyphs-widget.c (image_instantiator_tab_control):
6676         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
6677         (2).
6678         support (unimplemented) keyword initial-focus.
6679         reindent long macros.
6680
6681         * glyphs-x.c (x_redisplay_widget):
6682         * glyphs-x.c (x_button_instantiate):
6683         * glyphs-x.c (x_button_redisplay):
6684         * glyphs-x.c (x_progress_gauge_instantiate):
6685         * glyphs-x.c (x_edit_field_instantiate):
6686         * glyphs-x.c (x_combo_box_instantiate):
6687         * glyphs-x.c (x_tab_control_instantiate):
6688         * glyphs-x.c (x_label_instantiate):
6689         * gui-x.c:
6690         * gui-x.c (button_item_to_widget_value):
6691         * gui-x.c (gui_items_to_widget_values_1):
6692         * gui-x.c (gui_item_children_to_widget_values):
6693         * gui-x.c (gui_items_to_widget_values):
6694         * gui-x.h:
6695         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6696         add new flag to gui-parsing routines to indicate whether
6697         accelerator specs should be supported.
6698
6699         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
6700
6701         * glyphs.h (struct Lisp_Image_Instance):
6702         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
6703         add initial-focus flag.
6704
6705         * gui.c:
6706         * gui.c (syms_of_gui):
6707         * gui.c (vars_of_gui):
6708         clean up menu-no-selection-hook.
6709
6710         * gui.h:
6711         support delete-dialog-box-hook.
6712
6713         * lread.c (Fload_internal):
6714         * lread.c (locate_file_in_directory_mapper):
6715         (1).
6716
6717         * lrecord.h:
6718         * lrecord.h (struct toolbar_button):
6719         * lrecord.h (syms_of_toolbar):
6720         document how to create a new object.
6721
6722         * menubar-msw.c (mswindows_char_is_accelerator):
6723         may be called on frames w/o menus.
6724
6725         * menubar.c (vars_of_menubar):
6726         clean up :filter docs.
6727
6728         * nt.c (readdir):
6729         * ntproc.c:
6730         (1).
6731
6732         * process-nt.c:
6733         * process-nt.c (validate_signal_number):
6734         * process-nt.c (signal_cannot_launch):
6735         * process-nt.c (nt_create_process):
6736         * process-nt.c (nt_send_process):
6737         * process-nt.c (nt_kill_child_process):
6738         * process-nt.c (nt_open_network_stream):
6739         * process-nt.c (syms_of_process_nt):
6740         (2).
6741         delete quote-handling.  call new lisp code that does it better.
6742
6743         * process-unix.c (connect_to_file_descriptor):
6744         * process-unix.c (allocate_pty):
6745         * process-unix.c (unix_send_process):
6746         * process-unix.c (unix_kill_child_process):
6747         * process-unix.c (unix_open_network_stream):
6748         * process-unix.c (unix_open_multicast_group):
6749         (1). (2).
6750
6751         * process.c:
6752         * process.c (Fstart_process_internal):
6753         (2).  need to canonicalize process path even if absolute.
6754
6755         * select-msw.c (symbol_to_ms_cf):
6756         * select-msw.c (ms_cf_to_symbol):
6757         * select-msw.c (cf_is_autofreed):
6758         * select-msw.c (mswindows_destroy_selection):
6759         * select.c:
6760         * select.c (syms_of_select):
6761         * select.h:
6762         support dibv5, fix bugs. (from Mike Alexander)
6763
6764         * select.c (Fget_selection_internal):
6765         * select.c (select_convert_out):
6766
6767         * sysdep.c:
6768         * sysdep.c (xemacs_stat):
6769         renamed.
6770
6771         * sysdep.c (mkdir):
6772         * sysdep.c (rmdir):
6773         but keep original stat() here because we provide encapsulation
6774         around these funs.
6775
6776         * sysfile.h:
6777         * sysfile.h (fstat):
6778         remove stat garbage.
6779
6780         * syswindows.h:
6781         fix X/MSW conflict.
6782         don't include tchar.h.  it's inappropriate because it makes
6783         compile-time distinctions when we want runtime distinctions.
6784         (we provide our own tchar replacements)
6785
6786         * toolbar.c:
6787         use default object printer for toolbar-button.
6788
6789         * unexcw.c:
6790         make sure we don't encapsulate.
6791
6792         * window.c (vars_of_window):
6793         emphasize that temp-buffer-show-hook is obsolete.
6794
6795 2000-08-05  Martin Buchholz  <martin@xemacs.org>
6796
6797         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
6798         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
6799
6800         * events.c (Fevent_timestamp_lessp):
6801         Not 64-bit clean.  Use EMACS_INT, not int.
6802
6803 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
6804
6805         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
6806         unsigned int and changed the last enum to
6807         lrecord_type_last_built_in_type.
6808         (lrecord_implementations_table): changed prototype to know how
6809         long the array is supposed to be.
6810         (lrecord_type_count): new unsigned int to keep track of the
6811         current number of lisp lrecord types.
6812         (DEFINE_EXTERNAL_LRECORD):
6813         (DECLARE_EXTERNAL_LRECORD): Added these two for external
6814         dynamic-modules to declare new lisp types. They are the same
6815         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
6816         int for each new type, and increment lrecord_type_count by 1.
6817
6818         * alloc.c (lrecord_implementations_table): Changed to reference
6819         lrecord_type_last_built_in_type for the size of the array.
6820         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
6821
6822 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
6823
6824         * glyphs.h (check_valid_item_list): Renamed from
6825         check_valid_item_list_1.
6826
6827 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
6828
6829         * select.c (Qselect_coerce): New.
6830         * select.c (Vselection_coercion_alist): New.
6831         * select.c (syms_of_select): Declare.
6832         * select.c (get-selection-internal): Use it.
6833         Use the new select-coerce functionality.
6834
6835         * select.c (select_coerce): New.
6836         * select.h (select_coerce): Declare.
6837         New function to coerce one type of data into another.
6838
6839 2000-08-03  Martin Buchholz  <martin@xemacs.org>
6840
6841         * callproc.c (Fcall_process_internal):
6842         (Fcall_process_internal):
6843         * process-unix.c (unix_create_process):
6844         Save and restore the value of errno, so that error messages are accurate.
6845
6846 2000-08-01  Martin Buchholz  <martin@xemacs.org>
6847
6848         * elhash.c (print_hash_table):
6849         Fix printing of hash tables to also use `key-and-value' instead of `t'.
6850         Prettify docstrings and indentation.
6851
6852 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
6853
6854         * window.c (Fwindow_pixel_edges): Subtract frame border and
6855         gutter size.
6856
6857 2000-07-31  Andy Piper  <andy@xemacs.org>
6858
6859         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
6860         will acknowledge the change.
6861
6862         * glyphs.h: declare tab_control_order_only_changed.
6863
6864         * glyphs-x.c (x_tab_control_redisplay): use
6865         tab_control_order_only_changed.
6866
6867         * glyphs-widget.c (tab_control_order_only_changed): new function.
6868
6869         * glyphs-msw.c (mswindows_tab_control_redisplay): use
6870         tab_control_order_only_changed.
6871
6872         * gui.c (gui_item_equal_sans_selected): new function.
6873         (gui_item_equal): use it.
6874
6875         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
6876         :properties in favor of :items..
6877
6878         * glyphs-widget.c (check_valid_item_list): rename from
6879         check_valid_item_list_1.
6880         (check_valid_item_list_1): renamed.
6881         (combo_box_validate): deprecate :properties in favor of :items.
6882         (widget_instantiate): ditto.
6883         (tab_control_update): ditto.
6884         (image_instantiator_combo_box): ditto.
6885         (image_instantiator_tree_view): ditto.
6886         (image_instantiator_tab_control): ditto.
6887         (layout_post_instantiate): remove dead code.
6888
6889         * print.c (debug_print_no_newline): only write to debugger if in
6890         WIN32_NATIVE.
6891
6892         * elhash.c (Fmake_hash_table): update doc string.
6893
6894         * event-msw.c (mswindows_wnd_proc): don't allow processing of
6895         messages whilst in GC. This at least stops XEmacs crashing but has
6896         the potential for wierd behaviour.
6897
6898 2000-07-31  Martin Buchholz  <martin@xemacs.org>
6899
6900         * config.h.in:
6901         Make existence of s&m files optional.
6902
6903         * s/bsd386.h: Remove HAVE_GETLOADAVG.
6904         * s/freebsd.h: Remove HAVE_GETLOADAVG.
6905         * s/gnu.h: Remove HAVE_GETLOADAVG.
6906         * s/netbsd.h: Remove HAVE_GETLOADAVG.
6907         * s/sol2.h: Remove HAVE_GETLOADAVG.
6908         * lisp.h: Remove getloadavg() declaration.
6909         * fns.c:
6910         Include <sys/loadavg.h> if available.
6911         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
6912         * config.h.in:  Group together getloadavg()-related macros.
6913         Use only configure-time tests to detect getloadavg().
6914
6915 2000-07-30  Martin Buchholz  <martin@xemacs.org>
6916
6917         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
6918
6919 2000-07-25  Andy Piper  <andy@xemacs.org>
6920
6921         * syswindows.h: add tchar.h for native builds.
6922
6923         * frame.c (syms_of_frame): remove set-glyph-image.
6924
6925         * general-slots.h: add Qset_glyph_image.
6926
6927         * glyphs-widget.c (layout_update): add domain arg to
6928         set-glyph-image.
6929         (syms_of_glyphs_widget): remove set-glyph-image.
6930
6931 2000-07-23  Ben Wing  <ben@xemacs.org>
6932
6933         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
6934         Vpopup_frame_list.
6935
6936 2000-07-22  Andy Piper  <andy@xemacs.org>
6937
6938         * symsinit.h: add syms_of_win32().
6939
6940         * gui-msw.c (syms_of_gui_mswindows): remove
6941         Fmswindows_shell_execute.
6942         (Fmswindows_shell_execute): moved to win32.c.
6943
6944         * emacs.c (main_1): add syms_of_win32 ().
6945
6946         * win32.c (init_potentially_nonexistent_functions): rewrite in
6947         compiler-friendly terms.
6948         (Fmswindows_shell_execute): move here from gui-msw.c.
6949         (syms_of_win32): new.
6950
6951         * device-msw.c (Fmswindows_printer_list): clean up args to
6952         EnumPrinters.
6953         Don't include tchar under cygwin or mingw.
6954         (msprinter_default_printer): make cygwin-friendly.
6955
6956 2000-07-21  Andy Piper  <andy@xemacs.org>
6957
6958         * glyphs-widget.c (image_instantiator_tree_view): use tab
6959         control's update function.
6960         (layout_property): new function. Retrieve items.
6961
6962         * glyphs-msw.c (mswindows_tree_view_redisplay): new
6963         function. Re-populate the tree view from the pending items.
6964
6965         * glyphs.c (instantiate_image_instantiator): Make sure the domain
6966         is designated the parent if the domain is an image instance. This
6967         is needed so that dirtiness can be cascade up the hierarchy and
6968         thus for layout children to be redisplayed correctly.
6969         (allocate_image_instance): rename glyph -> parent.
6970
6971         * redisplay.h: change redisplay_output_layout signature.
6972
6973         * redisplay-msw.c (mswindows_output_display_block): use domain
6974         arg.
6975
6976         * redisplay-x.c (x_output_display_block): use domain arg.
6977
6978 2000-07-10  Andy Piper  <andy@xemacs.org>
6979
6980         * window.c (Fset_window_configuration): add comment.
6981
6982         * redisplay-output.c (compare_runes):
6983         (redisplay_output_subwindow): redisplay rather than update subwindow.
6984         (redisplay_output_layout): ditto.
6985
6986         * redisplay-msw.c (mswindows_frame_output_end):
6987         (mswindows_frame_output_end): make defer window pos optional.
6988
6989         * lisp.h: add Flast.
6990
6991         * glyphs.h (struct image_instantiator_methods): add dest_mask top
6992         normalize method. Change update method to be for changed
6993         instantiators. Add redisplay method. Change signature of layout
6994         method.
6995         (struct Lisp_Image_Instance): add instantiator.
6996         (IMAGE_INSTANCE_INSTANTIATOR): new.
6997         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
6998         (XIMAGE_INSTANCE_INSTANTIATOR): new.
6999         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
7000
7001         * glyphs.c:
7002         (find_instantiator_differences): new function.
7003         (Fset_instantiator_property): new convenience function.
7004         (check_image_instance_structure): strictly check for vector
7005         instantiators.
7006         (normalize_image_instantiator): make non-static.
7007         (instantiate_image_instantiator): pass on dest_mask and use new
7008         signatures for image_instance_layout and friends.
7009         (mark_image_instance): mark the instantiator. Mark the subwindow
7010         face not the widget face.
7011         (image_instance_equal): add instantiator.
7012         (image_instance_hash): ditto.
7013         (allocate_image_instance): ditto.
7014         (Fset_image_instance_property): removed.
7015         (Fimage_instance_file_name): ditto.
7016         (Fcolorize_image_instance): ditto.
7017         (image_instance_layout): add offsets to be set.
7018         (update_image_instance): new function. update an image instance
7019         from its changed instantiator.
7020         (inherit_normalize): add dest_mask.
7021         (xbm_normalize): ditto.
7022         (xface_normalize): ditto.
7023         (xpm_normalize): ditto.
7024         (text_update): set_property -> update.
7025         (image_instantiate): use the glyph identity as a hash key, not the
7026         instantiator.
7027         (glyph_width): use new image_instance_layout signature.
7028         (glyph_ascent): ditto.
7029         (glyph_descent): ditto.
7030         (glyph_height): ditto.
7031         (glyph_query_geometry): ressurrect.
7032         (glyph_layout): ditto.
7033         (redisplay_subwindow): update -> redisplay.
7034         (syms_of_glyphs): add Fset_instantiator_property.
7035         (image_instantiator_format_create): set_property -> update.
7036
7037         * glyphs-x.c:
7038         (autodetect_normalize): add dest_maks to signature.
7039         (x_redisplay_subwindow): update -> redisplay.
7040         (x_redisplay_widget): ditto.
7041         (x_button_redisplay): ditto.
7042         (x_progress_gauge_redisplay): ditto.
7043         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
7044         stacking order.
7045         (console_type_create_glyphs_x): update -> redisplay.
7046         (image_instantiator_format_create_glyphs_x): ditto.
7047
7048         * glyphs-widget.c:
7049         (check_valid_instantiator): disallow glyphs in the instantiator,
7050         they must now be vectors.
7051         (check_valid_instantiator_list): ditto.
7052         (glyph_instantiator_to_glyph): use internal symbol rather than
7053         intern.
7054         (widget_update): renamed from widget_set_property. Call cascaded
7055         update methods.
7056         (redisplay_widget): renamed from update_widget.
7057         (widget_layout): image_instance_layout now takes position as well
7058         as size.
7059         (widget_normalize): ditto.
7060         (widget_instantiate): ditto.
7061         (tab_control_query_geometry) ditto.:
7062         (tab_control_update): renamed from tab_control_set_property.
7063         (progress_gauge_update): set_property -> update.
7064         (layout_normalize): rewrite so that child instantiators are
7065         normalized also.
7066         (layout_update): new function. Create glyphs from the normalized
7067         children and cope with any other layout keywords. We do not
7068         instantiate children here that will be take care of by
7069         redisplay_output_layout.
7070         (layout_instantiate): call layout_update and not much else.
7071         (layout_post_instantiate): not sure whether this is needed
7072         anymore.
7073         (layout_query_geometry): query glyph geometry rather than
7074         image_instance geometry.
7075         (layout_layout): set offsets from pass in parameters. Use glyph
7076         geometry and layout functions rather than image instance ones.
7077         (native_layout_layout): ditto.
7078         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
7079         (image_instantiator_widget): set_property -> update.
7080         (image_instantiator_buttons): ditto.
7081         (image_instantiator_progress_guage): ditto.
7082         (image_instantiator_tab_control): ditto.
7083         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
7084         (image_instantiator_layout): add update method.
7085
7086         * glyphs-msw.c (bmp_normalize):
7087         (mswindows_resource_normalize): add dest_mask so that it can be
7088         proprogated by layout_normalize.
7089         (begin_defer_window_pos): make optional because it may not be the
7090         right thing to do and it introduces differences with X.
7091         (mswindows_unmap_subwindow): ditto.
7092         (mswindows_map_subwindow): ditto.
7093         (mswindows_redisplay_subwindow): renamed from
7094         mswindows_update_subwindow.
7095         (mswindows_redisplay_widget): ditto.
7096         (mswindows_button_redisplay): renamed from
7097         mswindows_button_update. Update is now what the instantiation
7098         function does for a changed instantiator.
7099         (mswindows_progress_gauge_instantiate): set the progress value
7100         here if appropriate.
7101         (mswindows_tab_control_redisplay): cope with re-ordering of the
7102         members of the tab widget by simply selecting the new top
7103         widget. This makes things appear ok if you click on a tab.
7104         (mswindows_combo_box_instantiate): image_instance_layout now takes
7105         position as well as size.
7106         (mswindows_progress_gauge_redisplay): renamed from
7107         mswindows_progress_gauge_update.
7108         (console_type_create_glyphs_mswindows): fix update -> redisplay.
7109         (image_instantiator_format_create_glyphs_mswindows): ditto.
7110
7111         * glyphs-eimage.c (jpeg_normalize):
7112         (gif_normalize):
7113         (png_normalize):
7114         (tiff_normalize): add dest_mask so that it can be proprogated by
7115         layout_normalize.
7116
7117         * elhash.c:
7118         (print_hash_table):
7119         (hash_table_weakness_validate):
7120         (decode_hash_table_weakness):
7121         (Fhash_table_weakness):
7122         (Fhash_table_type):
7123         (syms_of_elhash): use Ben's naming scheme for hashtable types..
7124
7125         * console.h (struct console_methods): move update_* to
7126         redisplay_*.
7127
7128 2000-07-20  Ben Wing  <ben@xemacs.org>
7129
7130         * *.[ch] (XSETOBJ): remove unused middle argument.
7131         lisp-disunion.h: correct wrap_object() to one argument.
7132
7133 2000-07-15  Ben Wing  <ben@xemacs.org>
7134
7135         * s/cygwin32.h:
7136         * s/cygwin32.h (CYGWIN_CONV_PATH):
7137         Add missing logb prototype for v1.1.
7138         Use post-b20 names and alias to pre-b20 names when pre-b20.
7139
7140         * s/windowsnt.h: [5].
7141
7142 2000-07-15  Ben Wing  <ben@xemacs.org>
7143
7144         * Makefile.in.in (x_objs):
7145         * Makefile.in.in (sheap_objs):
7146         * Makefile.in.in (objs):
7147         added win32.o, cosmetic cleanups.
7148
7149         * alloc.c (Fmake_byte_code):
7150         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
7151         etc. macros which declare their own args now.
7152
7153         * alloc.c (syms_of_alloc):
7154         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
7155
7156         * buffer.c:
7157         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
7158
7159         * buffer.c (Fget_file_buffer):
7160         Fixed GCPRO problem.
7161
7162         * buffer.c (get_truename_buffer):
7163         Fixed comment about GC checking.
7164
7165         * buffer.c (syms_of_buffer):
7166         Undeclared those dedicated frame funs.
7167         [2].
7168
7169         * buffer.h:
7170         Define convenience macros for internal/external conversions.
7171         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
7172         and Qenvironment_variable_encoding for cleaner code.
7173
7174         * bufslots.h:
7175         Remove dedicated-frame; in lisp.
7176
7177         * bytecode.c (funcall_compiled_function):
7178         [1].
7179
7180         * bytecode.c (syms_of_bytecode):
7181         [2].
7182
7183         * console-msw.c:
7184         * console-msw.c (mswindows_show_console): Rewrote.
7185
7186         * console-msw.c (Fmswindows_debugging_output): New.
7187         Sends to OutputDebugString (special MSWin debugger interface).
7188
7189         * console-msw.c (Fmswindows_message_box):
7190         Fixed stupid bugs so it works when called from kill-emacs.
7191
7192         * console-msw.c (syms_of_console_mswindows):
7193         Declare Fmswindows_debugging_output.
7194
7195         * console-msw.h:
7196         New MSWin prototypes.
7197
7198         * console-msw.h (struct mswindows_frame):
7199         New entry last-click-mods for improved button-modifier support.
7200
7201         * console-msw.h (FRAME_MSWINDOWS_POPUP):
7202         New struct entry `popup' with corresponding accessor.
7203
7204         * console-x.c:
7205         * console-x.c (split_up_display_spec):
7206         * console-x.c (get_display_arg_connection):
7207         * console-x.c (x_semi_canonicalize_console_connection):
7208         * console-x.c (x_canonicalize_device_connection):
7209         [[[6]]]: Change char to more specific type.
7210         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
7211
7212         * console-x.c (x_semi_canonicalize_console_connection):
7213         * console-x.c (x_canonicalize_device_connection):
7214         [[[9]]]: Fix up error signalling to use new structured error system.
7215
7216         * console-x.h:
7217         [[[4]]]: Define codesys aliases:
7218         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
7219         Qx_color_name_encoding, Qx_display_name_encoding.
7220
7221         * console.h (struct console_methods):
7222         New method make_dialog_box_internal supersedes older
7223         popup_dialog_box method.
7224
7225         * data.c:
7226         Define many new errors, part of new structured errors.
7227
7228         * data.c (init_errors_once_early):
7229         * data.c (syms_of_data):
7230         [2].
7231
7232         * device-msw.c (mswindows_init_device):
7233         [[[5]]]: Cleanup to support NT 3.51.
7234
7235         * device-msw.c (decode_devmode): Cleanup.
7236
7237         * device-msw.c (mswindows_handle_print_setup_dialog_box):
7238         * device-msw.c (mswindows_handle_print_dialog_box):
7239         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7240         * device-msw.c (syms_of_device_mswindows):
7241         Delete the dialog box primitives recently introduced by Kirill and
7242         instead interface to general dialog box interface.
7243
7244         * device-x.c:
7245         * device-x.c (compute_x_app_name):
7246         * device-x.c (x_init_device):
7247         * device-x.c (Fx_valid_keysym_name_p):
7248         * device-x.c (Fx_set_font_path):
7249         [6].
7250         [7].
7251
7252         * device.h (wrap_device): New.
7253         First of its kind; meant to replace XSETDEVICE.
7254
7255         * dialog-msw.c: Many file-dialog symbols.
7256
7257         * dialog-msw.c (mswindows_register_popup_frame): New.
7258         * dialog-msw.c (mswindows_is_dialog_msg): New.
7259         For supporting kbd traversal in dialog boxes.
7260
7261         * dialog-msw.c (dialog_proc):
7262         Support hitting ESC in dialogs.
7263
7264         * dialog-msw.c (struct):
7265         Common dialog box errors.
7266
7267         * dialog-msw.c (handle_file_dialog_box): New.
7268         Add file dialog code.
7269
7270         * dialog-msw.c (handle_question_dialog_box):
7271         Redo existing code to support new question dialog syntax.
7272
7273         * dialog-msw.c (console_type_create_dialog_mswindows):
7274         We support new dialog console method.
7275
7276         * dialog-msw.c (syms_of_dialog_mswindows):
7277         * dialog-msw.c (vars_of_dialog_mswindows):
7278         New file dialog symbols, vars.
7279
7280         * dialog-x.c:
7281         * dialog-x.c (maybe_run_dbox_text_callback):
7282         * dialog-x.c (dbox_descriptor_to_widget_value):
7283         * dialog-x.c (x_make_dialog_box_internal):
7284         * dialog-x.c (console_type_create_dialog_x):
7285         Mule-ize entire file.
7286         Redo to support question dialog syntax.
7287         [6].
7288
7289         * dialog.c:
7290         * dialog.c (Fmake_dialog_box_internal):
7291         * dialog.c (syms_of_dialog):
7292         Kill old popup-dialog-box, replace with new primitive.
7293         Just call device method or signal error.
7294
7295         * eldap.c (Fldap_open):
7296         * eldap.c (Fldap_search_basic):
7297         * eldap.c (Fldap_add):
7298         * eldap.c (Fldap_modify):
7299         [1].
7300         [7].
7301
7302         * emacs.c:
7303         * emacs.c (make_arg_list_1):
7304         * emacs.c (make_arg_list):
7305         Mule-ize call to dll_init().
7306         [6].
7307         [8].
7308
7309         * emacs.c (make_argc_argv):
7310         * emacs.c (free_argc_argv):
7311         * emacs.c (init_cmdargs):
7312         * emacs.c (main_1):
7313         * emacs.c (Fkill_emacs):
7314         * emacs.c (Fdump_emacs):
7315         Update comments about what can be used in syms_* etc.
7316         Call init_win32() when necessary.
7317         Fix up MS Win dialog box in kill-buffer to actually work right.
7318         [7].
7319
7320         * eval.c:
7321         * eval.c (For):
7322         * eval.c (Fand):
7323         * eval.c (Fprogn):
7324         * eval.c (Fprog1):
7325         * eval.c (Fprog2):
7326         * eval.c (FletX):
7327         * eval.c (Flet):
7328         * eval.c (condition_case_3):
7329         * eval.c (Feval):
7330         * eval.c (function_argcount):
7331         * eval.c (funcall_lambda):
7332         [1].
7333
7334         * eval.c (type_error): New.
7335         * eval.c (maybe_type_error): New.
7336         * eval.c (continuable_type_error): New.
7337         * eval.c (maybe_continuable_type_error): New.
7338         * eval.c (type_error_with_frob): New.
7339         * eval.c (maybe_type_error_with_frob): New.
7340         * eval.c (continuable_type_error_with_frob): New.
7341         * eval.c (maybe_continuable_type_error_with_frob): New.
7342         New functions for use with structured errors.
7343
7344         * event-Xt.c:
7345         * event-Xt.c (x_event_to_emacs_event):
7346         Buttons are now modifiers too.
7347
7348         * event-Xt.c (emacs_Xt_current_event_timestamp):
7349         Implement new event method.
7350         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
7351
7352         * event-msw.c:
7353         * event-msw.c (ntpipe_shove_writer): [5].
7354         * event-msw.c (mswindows_enqueue_mouse_button_event):
7355         * event-msw.c (mswindows_drain_windows_queue):
7356         * event-msw.c (mswindows_wnd_proc): [7].
7357         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
7358         * event-msw.c (mswindows_modifier_state):
7359         Throughout: support new button modifiers.
7360
7361         * event-msw.c (emacs_mswindows_current_event_timestamp):
7362         Implement new event method.
7363         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
7364
7365         * event-stream.c:
7366         * event-stream.c (event_stream_current_event_timestamp): New.
7367         * event-stream.c (maybe_kbd_translate): New functionality.
7368         * event-stream.c (vars_of_event_stream):
7369         Document new kbd-translate-table functionality.
7370
7371         * event-stream.c (Fcurrent_event_timestamp): New.
7372         New primitive for use in fabricated events.
7373         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
7374
7375         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
7376
7377         * events.c:
7378         * events.c (Fmake_event):
7379         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
7380         [1].
7381         [9].
7382
7383         * events.c (format_event_object): fix gcc warnings.
7384
7385         * events.c (Fevent_timestamp): Document new primitives.
7386
7387         * events.c (TIMESTAMP_HALFSPACE): New.
7388
7389         * events.c (Fevent_timestamp_lessp): New.  New primitive for
7390         comparing timestamps correctly (half-space algorithm).
7391
7392         * events.c (Fevent_modifier_bits): Doc fix.
7393
7394         * events.c (Fevent_modifiers): Major doc addition.
7395         * events.c (event_x_y_pixel_internal): Typo fix.
7396         * events.c (syms_of_events): Declare new primitives.
7397
7398         * events.h:
7399         Update long comment for button modifiers, timestamps.
7400
7401         * events.h (struct event_stream):
7402         New current_event_timestamp method.
7403
7404         * extents.c:
7405         * extents.c (extent_in_region_p):
7406         * extents.c (decode_extent):
7407         * extents.c (Fset_extent_parent):
7408         * extents.c (decode_map_extents_flags):
7409         Fix gcc warnings.
7410         [9].
7411
7412         * extents.c (struct extent_at_arg):
7413         * extents.c (decode_extent_at_flag):
7414         * extents.c (extent_at_mapper):
7415         * extents.c (extent_at_bytind):
7416         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
7417         * extents.c (Fextents_at): New primitive. [9].
7418         * extents.c (symbol_to_glyph_layout): [9].
7419         Support new primitive `extents-at'.
7420
7421
7422         * extents.c (get_text_property_bytind):
7423         extent_at_bytind has another arg.
7424         [9].
7425
7426         * extents.c (syms_of_extents): New primitive.
7427
7428         * file-coding.c (Fmake_coding_system): [1].
7429         * file-coding.c (subsidiary_coding_system): fix gcc warning
7430         * file-coding.c (syms_of_file_coding): [2].
7431
7432         * fileio.c (Fexpand_file_name):
7433         * fileio.c (Fsysnetunam):
7434         * fileio.c (Ffile_exists_p):
7435         * fileio.c (Ffile_executable_p):
7436         * fileio.c (Fverify_visited_file_modtime):
7437         Clean up GCPROing.
7438
7439         * fileio.c (syms_of_fileio): [2].
7440
7441         * filelock.c (lock_file_1):
7442         * filelock.c (current_lock_owner):
7443         * filelock.c (lock_if_free):
7444         * filelock.c (lock_file):
7445         * filelock.c (unlock_file):
7446         Clean up GCPROing.
7447
7448         * fns.c (concat): Fix gcc warning.
7449
7450         * fns.c (Fmember):
7451         * fns.c (Fold_member):
7452         * fns.c (Fmemq):
7453         * fns.c (Fold_memq):
7454         * fns.c (memq_no_quit):
7455         * fns.c (Fassoc):
7456         * fns.c (Fold_assoc):
7457         * fns.c (Fassq):
7458         * fns.c (Fold_assq):
7459         * fns.c (assq_no_quit):
7460         * fns.c (Frassoc):
7461         * fns.c (Fold_rassoc):
7462         * fns.c (Frassq):
7463         * fns.c (Fold_rassq):
7464         * fns.c (rassq_no_quit):
7465         * fns.c (Fdelete):
7466         * fns.c (Fold_delete):
7467         * fns.c (Fdelq):
7468         * fns.c (Fold_delq):
7469         * fns.c (delq_no_quit):
7470         * fns.c (Fremassoc):
7471         * fns.c (Fremassq):
7472         * fns.c (remassq_no_quit):
7473         * fns.c (Fremrassoc):
7474         * fns.c (Fremrassq):
7475         * fns.c (remrassq_no_quit):
7476         * fns.c (Freverse):
7477         * fns.c (mapcar1):
7478         [1].
7479
7480         * frame-msw.c (mswindows_init_frame_1):
7481         * frame-msw.c (mswindows_delete_frame):
7482         Register popups with dialog code so keyboard traversing works.
7483
7484         * frame-tty.c (tty_raise_frame_no_select): [1].
7485
7486         * frame-x.c:
7487         * frame-x.c (x_set_frame_text_value):
7488         * frame-x.c (x_set_frame_properties):
7489         * frame-x.c (x_create_widgets):
7490         [7].
7491
7492         * frame.c:
7493         * frame.c (Fmouse_pixel_position): Minor doc fixes.
7494
7495         * frame.h (wrap_frame): New.
7496         Macro like wrap_device.
7497
7498         * general.c:
7499         * general.c (SYMBOL):
7500         * general.c (syms_of_general):
7501         Major reorg.  This is now just a wrapper and symbols themselves
7502         are listed in general-slots.h.
7503
7504         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
7505         * glyphs-msw.c (mswindows_resource_instantiate): [5].
7506
7507         * glyphs-msw.c (mswindows_native_layout_instantiate):
7508         Add DS_CONTROL so keyboard traversal will work.
7509
7510         * glyphs-widget.c:
7511         * glyphs-widget.c (syms_of_glyphs_widget):
7512         Move some symbols to general-slots.h.
7513
7514         * glyphs-x.c:
7515         * glyphs-x.c (xbm_instantiate_1):
7516         * glyphs-x.c (x_xbm_instantiate):
7517         * glyphs-x.c (x_xface_instantiate):
7518         * glyphs-x.c (autodetect_instantiate):
7519         * glyphs-x.c (cursor_font_instantiate):
7520         * glyphs-x.c (x_update_widget):
7521         * glyphs-x.c (x_widget_instantiate):
7522         * glyphs.c (bitmap_to_lisp_data):
7523         * glyphs.c (pixmap_to_lisp_data):
7524         [7].
7525
7526         * glyphs.c (syms_of_glyphs):
7527         [2].
7528
7529         * gui-x.c:
7530         * gui-x.c (print_widget_value):
7531         * gui-x.c (menu_separator_style_and_to_external):
7532         * gui-x.c (add_accel_and_to_external):
7533         * gui-x.c (button_item_to_widget_value):
7534         * gui-x.c (gui_items_to_widget_values_1):
7535         * gui-x.c (gui_items_to_widget_values):
7536         * gui-x.c (syms_of_gui_x):
7537         * gui-x.c (vars_of_gui_x):
7538         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
7539         [9].
7540
7541         * gui-x.h:
7542         Muleize, prototype changes matching gui-x.c.
7543
7544         * gui.c:
7545         * gui.c (separator_string_p):
7546         * gui.c (gui_item_add_keyval_pair):
7547         * gui.c (make_gui_item_from_keywords_internal):
7548         * gui.c (signal_too_long_error):
7549         * gui.c (parse_gui_item_tree_item):
7550         * gui.c (syms_of_gui):
7551         * gui.c (vars_of_gui):
7552         * gui.h:
7553         menu-no-selection-hook moved here (used by MSWin).
7554         Move some symbols to general-slots.h.
7555         [6].
7556         [9].
7557
7558         * insdel.c (get_buffer_pos_char):
7559         * insdel.c (get_buffer_range_char):
7560         Add GC comments.
7561
7562         * keymap.c (keymap_lookup_directly):
7563         * keymap.c (keymap_store):
7564         * keymap.c (ensure_meta_prefix_char_keymapp):
7565         * keymap.c (describe_map):
7566         * keymap.h:
7567         Support new button modifiers.
7568
7569         * lisp-disunion.h (wrap_object):
7570         * lisp-disunion.h (XSETOBJ):
7571         Rename make_obj to wrap_object.
7572
7573         * lisp-union.h:
7574         * lisp-union.h (make_int):
7575         * lisp-union.h (make_char):
7576         Support wrap_object.
7577
7578         * lisp.h:
7579         * lisp.h (LIST_LOOP):
7580         * lisp.h (EXTERNAL_LIST_LOOP):
7581         * lisp.h (LIST_LOOP_2):
7582         * lisp.h (EXTERNAL_LIST_LOOP_1):
7583         * lisp.h (EXTERNAL_LIST_LOOP_2):
7584         * lisp.h (EXTERNAL_LIST_LOOP_3):
7585         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
7586         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
7587         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
7588         * lisp.h (EXTERNAL_ALIST_LOOP_5):
7589         * lisp.h (EXTERNAL_ALIST_LOOP_6):
7590         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
7591         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
7592         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
7593         * lisp.h (struct Lisp_Symbol):
7594         * lisp.h (maybe_continuable_error_with_frob):
7595         Fix up section comments.
7596         Add new types for char to indicate usage.
7597         Delete symbols auto-generated from general-slots.h.
7598         Add prototypes for structured error functions.
7599         Add long comments describing looping macros and change interface
7600         so that lvalues are automatically declared.
7601         Add NO_DECLARE macro in case callers want to declare lvalues
7602         themselves.
7603
7604         * lread.c (read_syntax_error):
7605         * lread.c (continuable_read_syntax_error):
7606         * lread.c (read_structure):
7607         * lread.c (sequence_reader):
7608         * lread.c (read_list_conser):
7609         * lread.c (read_compiled_function):
7610         Rename syntax_error and continuable_syntax_error to avoid clash
7611         with same-named structured error functions.
7612
7613         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7614         * menubar-msw.c (populate_menu_add_item):
7615         * menubar-msw.c (populate_or_checksum_helper):
7616         [5].
7617         [9].
7618
7619         * menubar-x.c:
7620         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
7621         Mule-ize whole file.
7622
7623         * menubar.c (Fnormalize_menu_item_name): Add optimization.
7624
7625         * mule-charset.c (Fmake_charset):
7626         * mule-wnnfns.c (Fwnn_set_param):
7627         [1].
7628
7629         * ntproc.c (create_child):
7630         * ntproc.c (Fwin32_set_current_locale):
7631         Add comments portending doom.
7632
7633         * objects-msw.c:
7634         * objects-msw.c (old_font_enum_callback_2):
7635         * objects-msw.c (font_enum_callback_1):
7636         * objects-msw.c (mswindows_enumerate_fonts):
7637         [5].
7638
7639         * objects-x.c:
7640         * objects-x.c (allocate_nearest_color):
7641         * objects-x.c (x_parse_nearest_color):
7642         * objects-x.c (x_initialize_color_instance):
7643         * objects-x.c (x_print_color_instance):
7644         * objects-x.c (x_finalize_color_instance):
7645         * objects-x.c (x_valid_color_name_p):
7646         * objects-x.c (x_initialize_font_instance):
7647         * objects-x.c (x_print_font_instance):
7648         * objects-x.c (valid_x_font_name_p):
7649         * objects-x.c (truename_via_FONT_prop):
7650         * objects-x.c (truename_via_random_props):
7651         * objects-x.c (truename_via_XListFonts):
7652         * objects-x.c (x_font_truename):
7653         * objects-x.c (x_font_instance_truename):
7654         * objects-x.c (x_font_instance_properties):
7655         * objects-x.c (x_list_fonts):
7656         * objects-x.c (x_find_charset_font):
7657         Mule-ize entire file.
7658         [7].
7659
7660         * objects-x.h:
7661         Mule-verify.
7662
7663         * print.c:
7664         * print.c (std_handle_out_external):
7665         * print.c (debug_print_no_newline):
7666         * print.c (syms_of_print):
7667         Output to all debugger kinds in debug-print.
7668         Fix console-output code under MSWin to actually work.
7669
7670         * process-nt.c (send_signal):
7671         * process-nt.c (nt_create_process):
7672         Use newer Unicode macros.
7673
7674         * process-unix.c (unix_create_process):
7675         * process-unix.c (unix_canonicalize_host_name):
7676         * process-unix.c (unix_open_network_stream):
7677         [7].
7678
7679         * scrollbar-x.c:
7680         Mule-verify.
7681
7682         * search.c (syms_of_search):
7683         [2].
7684
7685         * select-msw.c (mswindows_destroy_selection):
7686         Use LIST_LOOP_2.
7687
7688         * select-x.c (symbol_to_x_atom):
7689         [7].
7690
7691         * select.c (syms_of_select):
7692         [2].
7693
7694         * sound.c (Fplay_sound_file):
7695         [7].
7696
7697         * specifier.c:
7698         * specifier.c (decode_specifier_type):
7699         * specifier.c (Fvalid_specifier_locale_type_p):
7700         * specifier.c (check_valid_locale_or_locale_type):
7701         * specifier.c (decode_locale):
7702         * specifier.c (decode_locale_type):
7703         * specifier.c (decode_locale_list):
7704         * specifier.c (check_valid_domain):
7705         * specifier.c (decode_specifier_tag_set):
7706         * specifier.c (Fcanonicalize_tag_set):
7707         * specifier.c (Fdefine_specifier_tag):
7708         * specifier.c (Fspecifier_tag_predicate):
7709         * specifier.c (check_valid_inst_list):
7710         * specifier.c (check_valid_spec_list):
7711         * specifier.c (decode_how_to_add_specification):
7712         * specifier.c (check_modifiable_specifier):
7713         * specifier.c (specifier_add_spec):
7714         * specifier.c (boolean_validate):
7715         * specifier.c (display_table_validate):
7716         [9].
7717
7718         * specifier.c (syms_of_specifier):
7719         Move some symbols to general-slots.h.
7720         [2].
7721
7722         * symbols.c:
7723         * symbols.c (Fmapatoms):
7724         * symbols.c (Fapropos_internal):
7725         Add GCPROs.
7726
7727         * symbols.c (set_default_buffer_slot_variable):
7728         * symbols.c (set_default_console_slot_variable):
7729         [1].
7730
7731         * symbols.c (defsymbol_massage_name_1):
7732         * symbols.c (defkeyword_massage_name):
7733         * symbols.c (deferror_1):
7734         * symbols.c (deferror):
7735         * symbols.c (deferror_massage_name_and_message):
7736         * symeval.h:
7737         * symeval.h (DEFSYMBOL):
7738         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
7739
7740         * symbols.c (syms_of_symbols):
7741         [2].
7742
7743         * symsinit.h:
7744         * symsinit.h (init_win32): New.
7745         Also new is syms_of_dialog_mswindows.
7746
7747         * syswindows.h:
7748         Add new Unicode macros, missing Cygwin wide-char functions,
7749         convenience conversion macros for Qmswindows_tstr, macros for
7750         encapsulating required MSWin <-> Cygwin filename conversions,
7751         prototype for dynamically-extracted (not in NT 3.51) functions.
7752
7753         * toolbar-x.c:
7754         Mule-verify.
7755
7756         * tooltalk.c (Fadd_tooltalk_message_arg):
7757         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
7758         * tooltalk.c (Fadd_tooltalk_pattern_arg):
7759         [7].
7760
7761         * tooltalk.c (syms_of_tooltalk):
7762         [2].
7763
7764         * unexnt.c:
7765         * unexnt.c (unexec):
7766         Fix up headers, declaration of unexec() to be more standard.
7767
7768 2000-07-20  Martin Buchholz  <martin@xemacs.org>
7769
7770         * offix.h: Revert change to guard macros - they're used in offix.c!
7771
7772 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7773
7774         * lisp.h: Defsubred Fdelete.
7775
7776         * console-msw.h:  (msprinter_default_printer): Added.
7777
7778         * console-msw.c (msprinter_canonicalize_console_connection):
7779         (msprinter_canonicalize_device_connection): Added.
7780
7781         * device-msw.c (msprinter_default_printer):
7782         (Fmswingows_get_default_printer):
7783         (signal_enum_priner_error):
7784         (Fmswingows_printer_list): Added.
7785
7786 2000-07-19  Martin Buchholz <martin@xemacs.org>
7787
7788         * XEmacs 21.2.35 is released.
7789
7790 2000-07-19  Martin Buchholz  <martin@xemacs.org>
7791
7792         * select-x.c (x_handle_selection_request):
7793         Text selected in xemacs and pasted into xterm failed to appear.
7794         Spelling fixes and cosmetic changes.
7795
7796 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7797
7798         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
7799         XEmacs frame (fix for doubling chars in dialog boxes).
7800
7801 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7802
7803         * select.c (select_convert_in, select_convert_out):
7804         Don't call intern() every time.
7805
7806         * select.c (Qselect_convert_in, Qselect_convert_out): New.
7807         * select.c (vars_of_select): Initialise them.
7808
7809 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7810
7811         * select.c (selection-coercible-types): New.
7812
7813         * select.c (own-selection-internal):
7814         * select.c (get-selection-internal):
7815         MULE bug fix - these should default to COMPOUND_TEXT and not
7816         STRING for MULE. I think.
7817
7818         * select.c (select_convert_out): Use selection-coercible-types
7819         to find types that we can attempt to perform coercions on.
7820
7821 2000-07-18  Martin Buchholz  <martin@xemacs.org>
7822
7823         * mule-wnnfns.c:
7824         * mule-canna.c:
7825         Add coding: cookie to identify encoding.
7826
7827         * mule-canna.c (CANNA_mode_keys): make static.
7828         Use proper prototypes, even for functions of no arguments.
7829         Remove external prototype for Fding().
7830
7831         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
7832
7833         * select.c (syms_of_select): Add missing DEFSUBR.
7834
7835 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7836
7837         * select.c (get_selection_internal, own_selection_internal):
7838         Make the type default to STRING, rather than placing a nil type
7839         into Vselection_alist.
7840
7841 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7842
7843         * gpmevent.c (tty_selection_exists_p):
7844         * gpmevent.c (tty_own_selection):
7845         Updated parameter lists.
7846
7847 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
7848
7849         * select.h (selection-alist): Removed declaration.
7850
7851         * select.h (get_local_selection):
7852         * select.c (get_local_selection):
7853         Made static.
7854
7855         * select.h (convert_selection): Removed declaration.
7856         * select.c (convert_selection): Removed.
7857         This function belongs in Lisp.
7858
7859         * select.h (select_convert_in): Declare.
7860         * select.h (select_convert_out): Declare.
7861         * select.c (select_convert_in): New.
7862         * select.c (select_convert_out): New.
7863         New conversion functions for other files to call.
7864
7865         * select.h (select_notify_buffer_kill): Declare.
7866         * select.c (select_notify_buffer_kill): New.
7867         New functions that get called from kill-buffer.
7868
7869         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
7870         X-specific lisp code.
7871
7872         * select.h: Declare some of the lisp-visible functions for
7873         external use.
7874
7875         * select.c (clean_local_selection_data): Removed. This was
7876         a disgusting function, and previously should have been in
7877         select-x.c in any case. The functionality is now provided
7878         in select-convert-from-integer (select.el).
7879
7880         * select.c (available-selection-types): Fixed stupidity where
7881         INTEGER and ATOM got added twice. Also add STRING when we see an
7882         extent.
7883
7884         * select.c (get-selection-internal): Removed symbol stripping. No
7885         longer causes conversion when data comes from the internal cache.
7886
7887         * select.c (syms_of_select): Added new functions.
7888
7889         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
7890         error checking - previously this called abort!
7891
7892         * select-x.c (x_own_selection): Changed comment.
7893
7894         * select-x.c (x_handle_selection_request): Use select_convert_out.
7895         Don't mess with selection-alist; it's an internal variable of select.c.
7896
7897         * select-x.c (x_get_foreign_selection): Use select_convert_in.
7898
7899         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
7900         rather than messing with selection-alist.
7901
7902         * select-msw.c (mswindows_get_foreign_selection):
7903         Use TO_INTERNAL_FORMAT rather than hacking.
7904
7905 2000-07-14  Martin Buchholz  <martin@xemacs.org>
7906
7907         * process-unix.c (unix_open_multicast_group):
7908         (unix_open_multicast_group): Remove useless casts.
7909
7910 2000-07-13  Martin Buchholz  <martin@xemacs.org>
7911
7912         * sound.c (Fplay_sound): Fix `unused variable' warning.
7913
7914         * emacs.c (main): Use correct type for _environ on SCO5.
7915
7916 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
7917
7918         * console.h (own_selection_method):
7919         * console.h (selection_exists_p_method):
7920         * console.h (available_selection_types_method): New.
7921         * console.h (register_selection_data_type_method): New.
7922         * console.h (selection_data_type_name): New.
7923
7924         * console-msw.h (mswindows_destroy_selection): Declare it.  New
7925         function & alist to track GlobalAlloc()'d handles that need
7926         releasing when the clipboard data gets replaced or emptied.
7927
7928         * event-msw.c (mswindows_wnd_proc): Call it.
7929
7930         * lisp.h, general.c (Qappend): New symbol representing a
7931         `how-to-add' mode.
7932
7933         * select.c (own-selection-internal):
7934         * select.c (selection-exists-p):
7935         * select.c (available-selection-types): New.
7936         * select.c (register-selection-data-type): New.
7937         * select.c (selection-data-type-name): New.  New functions to deal
7938         with device-specific selection data formats.
7939         * select.c (selection-converter-out-alist): Renamed.
7940         * select.c (selection-converter-in-alist): New.
7941         * select.c (selection-appender-alist): New.  Added new alists.
7942         * select.c (syms_of_select, vars_of_select): Added new symbols &
7943         variables.
7944         * select.c (get_local_selection): Split.
7945         * select.c: Removed spurious type checking - selections may now be
7946         of any type, not just strings.
7947         * select.c (own-selection-internal):
7948
7949         * select.h, select.c (convert_selection): New. Created
7950         convert_selection() function based on get_local_selection().
7951         * select.h, select.c (QCF_*): New symbols representing mswindows
7952         clipboard formats.
7953         * select.h, select.c (Qreplace_all, Qreplace_existing): New
7954         symbols representing `how-to-add' modes.
7955
7956         * select-msw.c (x_sym_p): New.
7957         * select-msw.c (symbol_to_ms_cf): New.
7958         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
7959         symbols & clipboard formats. Can also handle string names.
7960         * select-msw.c (mswindows_own_selection):
7961         * select-msw.c (mswindows_selection_exists_p):
7962         Added `data-type' parameter. Use it.
7963         * select-msw.c (mswindows_available_selection_types): New.
7964         * select-msw.c (mswindows_register_selection_data_type): New.
7965         * select-msw.c (mswindows_selection_data_type_name): New.
7966         * select-msw.c (mswindows_own_selection):
7967         * select-msw.c (mswindows_get_foreign_selection):
7968         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
7969         * select-msw.c (console_create_select_mswindows): Added new methods.
7970         * select-msw.c (mswindows_destroy_selection): New.
7971         * select-msw.c (Vhandle_alist): New list.
7972         * select-msw.c (mswindows_own_selection):
7973
7974         * select-x.c (x_own_selection):
7975         * select-x.c (x_selection_exists_p):
7976         * select-x.c: Added some comments about maybe using new
7977         functionality.
7978         * select-x.c (x_own_selection):
7979
7980         * specifier.c: Remove definition of Qappend (now in general.c)
7981         * specifier.c (syms_of_specifier): Remove Qappend.
7982
7983 2000-07-12  Martin Buchholz  <martin@xemacs.org>
7984
7985         * config.h.in: Add socklen_t.
7986
7987         * s/decosf4-0.h: No special compiler flags needed or desired.
7988         In particular, undefine _BSD for DEC OSF 4.0.
7989
7990 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7991
7992         * redisplay-msw.c (msprinter_frame_output_end): Added.
7993         (console_type_create_redisplay_mswindows): Referred the above.
7994
7995         * frame.c (setup_frame_without_minibuffer): Do not create a
7996         default minibuffer frame on a printer device.
7997
7998         * frame-msw.c (apply_dc_geometry): Added.
7999         (msprinter_start_page):
8000         (msprinter_init_frame_3):
8001         (msprinter_eject_page): Use it.
8002
8003         * console-msw.h (struct msprinter_frame): Added pix_left and top,
8004         and removed residual duplex and orientation properties.
8005
8006 2000-07-11  Martin Buchholz  <martin@xemacs.org>
8007
8008         * eval.c (function_argcount): Work around a DEC CC compiler bug.
8009
8010         * unexalpha.c: Remove system prototypes from C sources!
8011
8012 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
8013
8014         * eval.c: Remove references to M-x edit-options in DEFUNs for
8015         `defvar' and `defconst'.
8016
8017 2000-07-09  Martin Buchholz  <martin@xemacs.org>
8018
8019         * config.h.in: Remove SMART_INCLUDE hackery.
8020
8021         PostgreSQL hacking:
8022         * config.h.in: Don't use SMART_INCLUDE.
8023
8024         * postgresql.h: Include libpq-fe.h here.  Fix typo.
8025         * inline.c: Simply #include "postgresql.h"
8026         * postgresql.c:
8027         - Don't use SMART_INCLUDE
8028         - Use simply "const".
8029         - Use standard doc string conventions.
8030         - Use correct type for result of PQstatus.
8031
8032 2000-07-09  Martin Buchholz  <martin@xemacs.org>
8033
8034         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
8035
8036         C++ compilation changes.
8037         * config.h.in (EXTERN_C): Define.
8038         * config.h.in (not): This is also a C++ keyword.
8039         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
8040         * cm.c: Use EXTERN_C.
8041         * redisplay-tty.c: Use EXTERN_C.
8042         * sysdep.c: Use EXTERN_C.  Remove Gould support.
8043
8044 2000-07-09  Martin Buchholz  <martin@xemacs.org>
8045
8046         * general.c: Remove duplicate definition for Qfunction.
8047
8048 2000-07-08  Ben Wing  <ben@xemacs.org>
8049
8050         * device-msw.c (msprinter_init_device):
8051         * device-msw.c (sync_printer_with_devmode):
8052         * device-msw.c (handle_devmode_changes):
8053         * device-msw.c (print_dialog_worker):
8054         * device-msw.c (Fmsprinter_apply_settings):
8055         * device-msw.c (hash_devmode):
8056         * device-msw.c (Fmsprinter_settings_despecialize):
8057         use Qmswindows_tstr, not Qctext.
8058
8059         * vm-limit.c (check_memory_limits):
8060         avoid infinite loop printing warning messages.
8061
8062 2000-07-05  Craig Lanning  <lanning@scra.org>
8063
8064         * Makefile.in.in: Add support for including the Windows resources
8065         when building with the cygwin and mingw targets.
8066
8067         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
8068         not set or not correct.
8069         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
8070         (init_initial_directory): Don't try to use $PWD on the
8071         WIN32_NATIVE target.
8072
8073         * s\cygwin32.h:
8074         [[Add -mwindows to eliminate console window.]] not required --ben
8075         (HAVE_NATIVE_SOUND): removed; now handled by configure.
8076         (MAIL_USE_POP): removed; now handled by configure.
8077
8078         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
8079         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
8080         (HAVE_NATIVE_SOUND): removed; now handled by configure.
8081         (MAIL_USE_POP): removed; now handled by configure.
8082         (ENCAPSULATE_STAT): from Dan Holmsand, added.
8083         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
8084         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
8085         constant string.
8086         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
8087         up from <winsock.h> via systime.h.
8088         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
8089         (getpagesize): from Dan Holmsand, added.
8090         Added #endif which was left dangling by Ben's mega patch; added
8091         comment to help prevent this in the future.
8092
8093         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
8094
8095 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8096
8097         * console-msw.h (struct mswindows_device): Removed unnecessary
8098         cached device geometry values.
8099         Added update_tick and an accessor macro.
8100         (Lisp_Devmode): Added lrecord declaration.
8101         (struct msprinter_device): Contain devmode as a Lisp object.
8102         Added mswindows_get_selected_frame_hwnd();
8103
8104         * console.h (struct console_methods): Indentation nitpicking.
8105
8106         * device-msw.c (mswindows_init_device): Do not initialize geometry
8107         cache. Initialize update tick.
8108         (mswindows_device_system_metrics): Ask the device for its geometry.
8109         (global_free_2_maybe):
8110         (devmode_to_hglobal):
8111         (handle_printer_changes):
8112         (ensure_not_printing):
8113         (print_dialog_worker):
8114         (Fmsprinter_print_setup_dialog):
8115         (Fmsprinter_print_dialog):
8116         (plist_get_margin):
8117         (plist_set_margin):
8118         (Fmsprinter_page_setup_dialog): Added functions.
8119         (sync_printer_with_devmode):
8120         (handle_devmode_changes):
8121         (Fmsprinter_get_settings):
8122         (Fmsprinter_select_settings):
8123         (Fmsprinter_apply_settings):
8124         (allocate_devmode):
8125         (Fmsprinter_settings_copy):
8126         (Fmsprinter_settings_despecialize):
8127         (print_devmode):
8128         (finalize_devmode):
8129         (equal_devmode):
8130         (hash_devmode): Added functions
8131         (syms_of_device_mswindows): Init devmode lrecord class.
8132
8133         * device.h: Added an exfun for find-device.
8134
8135         * event-msw.c (mswindows_wnd_proc): Do not update the cached
8136         geometry; although, recreate the device compatible DC.
8137
8138         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
8139         (msprinter_init_frame_3):
8140         (msprinter_frame_property):
8141         (msprinter_internal_frame_property_p):
8142         (msprinter_frame_properties):
8143         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
8144         print job properties (will move to device settings).
8145
8146         * lisp.h: Added symbols.
8147
8148         * general.c (syms_of_general): Declared them.
8149
8150         * hash.c (string_hash): Added.
8151
8152         * lrecord.h (lrecord_type): Added devmode lrecord type.
8153
8154 2000-07-02  Mike Sperber <mike@xemacs.org>
8155
8156         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
8157         FreeBSD 4.0.
8158
8159 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
8160
8161         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
8162         integer.
8163
8164 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
8165
8166         * data.c (Fstring_to_number): Don't recognize floating point if
8167         base is not 10.
8168
8169 2000-06-22  Martin Buchholz  <martin@xemacs.org>
8170
8171         * glyphs-widget.c (tab_control_query_geometry):
8172         (widget_query_geometry):
8173         (button_query_geometry):
8174         * glyphs.c (text_query_geometry):
8175         Enforce type correctness.
8176
8177 2000-06-18  Martin Buchholz  <martin@xemacs.org>
8178
8179         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
8180         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
8181
8182 2000-06-17  Martin Buchholz  <martin@xemacs.org>
8183
8184         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
8185         conflicts with gcc's fixincluded version of FOO.h.
8186
8187         * glyphs.h (image_instance_geometry): Remove trailing `,'
8188
8189 2000-06-08  Mike Alexander  <mta@arbortext.com>
8190
8191         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
8192         (shove_thread): Don't write the same output twice
8193         (make_ntpipe_output_stream): Increase priority of shove thread
8194         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
8195         chance to run
8196         (ntpipe_shove_closer): Don't delete the pipe until we're done with
8197         it.
8198
8199 2000-06-12  Ben Wing  <ben@xemacs.org>
8200
8201         * s\mingw32.h (sigset):
8202         * s\windowsnt.h (sigset):
8203         rename msw_ to mswindows_ for consistency with general convention.
8204
8205 2000-06-12  Ben Wing  <ben@xemacs.org>
8206
8207         * console-msw.c:
8208         * console-msw.c (mswindows_get_console_hwnd):
8209         * console-msw.c (mswindows_ensure_console_allocated):
8210         * console-msw.c (mswindows_hide_console):
8211         * console-msw.c (mswindows_show_console):
8212         * console-msw.c (mswindows_ensure_console_buffered):
8213         * console-msw.c (mswindows_output_console_string):
8214         * console-msw.c (mswindows_windows9x_p):
8215         * console-msw.h:
8216         * device-msw.c (mswindows_get_workspace_coords):
8217         * device-msw.c (mswindows_device_system_metrics):
8218         * dialog-msw.c (mswindows_popup_dialog_box):
8219         * event-msw.c (mswindows_wnd_proc):
8220         * frame-msw.c (mswindows_size_frame_internal):
8221         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8222         * menubar-msw.c (displayable_menu_item):
8223         * menubar-msw.c (mswindows_char_is_accelerator):
8224         * nt.c:
8225         * nt.c (mswindows_sigset):
8226         * nt.c (mswindows_sigrelse):
8227         * nt.c (mswindows_sigpause):
8228         * nt.c (mswindows_raise):
8229         * nt.c (timer_proc):
8230         * ntproc.c:
8231         * ntproc.c (find_child_console):
8232         * ntproc.c (sys_kill):
8233         * print.c:
8234         * print.c (std_handle_out_external):
8235         * process-nt.c (find_child_console):
8236         * process-nt.c (send_signal_the_95_way):
8237         * process-nt.c (ensure_console_window_exists):
8238         * process-nt.c (nt_create_process):
8239         * syssignal.h:
8240         rename msw_ to mswindows_ for consistency with general convention.
8241
8242         * emacs.c:
8243         * dumper.c:
8244         include nt.h, not syswindows.h.
8245
8246         * nt.c (mswindows_fstat):
8247         * nt.c (mswindows_stat):
8248         prefix mswindows_ instead of attempting to directly override the
8249         library functions.  fix declarations.
8250
8251         * nt.h:
8252         include syswindows.h.  move some sysdep.h stuff here.
8253
8254         * ntheap.h:
8255         include syswindows.h, not <windows.h>.
8256
8257         * ntplay.c:
8258         clean up headers.
8259
8260         * sysdep.c:
8261         clean up headers.
8262
8263         * sysdep.c (sys_fstat):
8264         * sysdep.c (sys_stat):
8265         call mswindows versions when appropriate.
8266
8267         * sysdep.h:
8268         move mswin decls to nt.h.
8269
8270         * syswindows.h:
8271         add long comment describing appropriate use of the various windows
8272         headers.
8273
8274 2000-06-11  Ben Wing  <ben@xemacs.org>
8275
8276         * device-x.c: Correct doc string for sixth arg of x-get-resource.
8277
8278 2000-06-10  Ben Wing  <ben@xemacs.org>
8279
8280         * Makefile.in.in (release):
8281         Correction to make sure xemacs.exe always dumped when correct.
8282
8283         * alloca.c:
8284         * balloon_help.c:
8285         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
8286
8287         * buffer.c (set_buffer_internal):
8288         [[[[2]]]]: Remove HAVE_FEP code.
8289
8290         * buffer.c (init_initial_directory):
8291         [3].
8292
8293         * bytecode.c:
8294         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
8295         individual files.
8296
8297         * callproc.c:
8298         * callproc.c (call_process_cleanup):
8299         * callproc.c (Fold_call_process_internal):
8300         * callproc.c (child_setup):
8301         * callproc.c (getenv_internal):
8302         * callproc.c (init_callproc):
8303         * callproc.c (vars_of_callproc):
8304         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
8305         __CYGWIN32__ -> CYGWIN.
8306         DOS_NT -> WIN32_NATIVE.
8307         Remove MSDOS support/references, converting to WIN32_NATIVE
8308           where correct.
8309         __MINGW32__ -> MINGW.
8310         Fix windows.h includes.
8311         Remove bogus HAVE_NTGUI.
8312
8313         * config.h.in:
8314         [2].
8315
8316         * console-msw.c:
8317         mswindows_message_outputted added for use in allowing startup
8318         errors on the console to be seen.
8319
8320         * console-msw.c (msw_ensure_console_allocated):
8321         * console-msw.c (msw_output_console_string):
8322         * console-msw.c (DHEADER):
8323         * console-msw.c (DOPAQUE_DATA):
8324         * console-msw.c (DEVENT):
8325         * console-msw.c (DCONS):
8326         * console-msw.c (DCONSCDR):
8327         * console-msw.c (DSTRING):
8328         * console-msw.c (DVECTOR):
8329         * console-msw.c (DSYMBOL):
8330         * console-msw.c (DSYMNAME):
8331         Fix warnings.
8332
8333         * console-stream.c (stream_init_console):
8334         Fix text/binary problems.
8335
8336         * device-msw.c:
8337         * device-msw.c (mswindows_finish_init_device):
8338         * device-msw.c (mswindows_delete_device):
8339         [1].
8340
8341         * device.c (handle_asynch_device_change):
8342         [3].
8343
8344         * dgif_lib.c:
8345         * dgif_lib.c (DGifOpenFileName):
8346         * dgif_lib.c (DGifOpenFileHandle):
8347         * dgif_lib.c (DGifGetLine):
8348         * dgif_lib.c (DGifGetPixel):
8349         Added config.h/lisp.h, fix up includes.
8350         [1].
8351
8352         * dired-msw.c:
8353         [4].
8354
8355         * dired.c:
8356         * dired.c (file_name_completion):
8357         * dired.c (Ffile_attributes):
8358         * dired.c (syms_of_dired):
8359         [1].
8360
8361         * dumper.c:
8362         * dumper.c (pdump_file_unmap):
8363         * dumper.c (pdump_load):
8364         [1].
8365
8366         * editfns.c:
8367         * editfns.c (Ftemp_directory):
8368         * editfns.c (user_login_name):
8369         * editfns.c (Fuser_real_login_name):
8370         * editfns.c (get_home_directory):
8371         [1].
8372
8373         * elhash.c (finish_marking_weak_hash_tables):
8374         [[[[5]]]]: Fix GCC warnings.
8375
8376         * emacs.c:
8377         * emacs.c (mswindows_handle_hardware_exceptions):
8378         * emacs.c (make_arg_list_1):
8379         * emacs.c (main_1):
8380         * emacs.c (Fkill_emacs):
8381         * emacs.c (Fdump_emacs):
8382         [1].
8383         Fix problems with nested crashes, add long comment.
8384
8385         * event-Xt.c (init_event_Xt_late):
8386         [1].
8387
8388         * event-msw.c:
8389         * event-msw.c (mswindows_dde_callback):
8390         * event-msw.c (mswindows_handle_sticky_modifiers):
8391         * event-msw.c (mswindows_wnd_proc):
8392         [1].
8393         [5].
8394
8395         * events.c (character_to_event):
8396         [1].
8397
8398         * fileio.c:
8399         * fileio.c (Ffile_name_directory):
8400         * fileio.c (Ffile_name_nondirectory):
8401         * fileio.c (directory_file_name):
8402         * fileio.c (Fexpand_file_name):
8403         * fileio.c (Fsubstitute_in_file_name):
8404         * fileio.c (Ffile_name_absolute_p):
8405         * fileio.c (check_executable):
8406         * fileio.c (Ffile_readable_p):
8407         * fileio.c (Ffile_accessible_directory_p):
8408         * fileio.c (Ffile_modes):
8409         * fileio.c (Funix_sync):
8410         * fileio.c (vars_of_fileio):
8411         [1]. [4].
8412
8413         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
8414
8415         Expand getdefdir defn.
8416         Fix bogus rename() comment.
8417
8418         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
8419         to use standard XEmacs include files, e.g. sysfile.h, rather
8420         than system-specific includes.
8421
8422         * fns.c:
8423         * fns.c (Fsubseq):
8424         [5]. [6].
8425
8426         * frame.c (vars_of_frame):
8427         [1].
8428
8429         * getloadavg.c:
8430         * getloadavg.c (getloadavg):
8431         [1]. [6].
8432         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
8433         (We don't use it elsewhere in the code; just add a comment.)
8434
8435         * gif_io.c:
8436         [6].
8437         Add config.h.
8438
8439         * glyphs-msw.c:
8440         * glyphs-msw.c (mswindows_resource_instantiate):
8441         [1].
8442
8443         * glyphs-x.c (x_native_layout_instantiate):
8444         [5].
8445
8446         * gui-msw.c (Fmswindows_shell_execute):
8447         [1].
8448
8449         * insdel.c:
8450         [4].
8451
8452         * lisp.h:
8453         [4]. [5].
8454
8455         * lread.c (locate_file_in_directory_mapper):
8456         [1].
8457
8458         * lstream.c:
8459         [4].
8460
8461         * mem-limits.h:
8462         * mem-limits.h (get_lim_data):
8463         [1].
8464
8465         * menubar-msw.c:
8466         [4].
8467
8468         * ndir.h:
8469         [1].
8470
8471         * nt.c:
8472         * nt.c (getwd):
8473         * nt.c (closedir):
8474         * nt.c (rva_to_section):
8475         * nt.c (mswindows_executable_type):
8476         [1]. [6].
8477         Fix closedir() defn.
8478
8479         * nt.h:
8480         [[[[8]]]]: *_OK defs moved to sysfile.h.
8481
8482         * ntproc.c:
8483         [6]. [7].
8484
8485         * objects-x.c:
8486         [4].
8487
8488         * print.c:
8489         * print.c (std_handle_out_external):
8490         [1]. [4].
8491
8492         * process-nt.c:
8493         * process-nt.c (nt_create_process):
8494         [6].
8495         try to fix process quoting somewhat.
8496
8497         * process-unix.c (unix_create_process):
8498         [1].
8499
8500         * process.c:
8501         * process.c (vars_of_process):
8502         Add Vnull_device.
8503
8504         * process.h:
8505         [1].
8506
8507         * realpath.c:
8508         * realpath.c (xrealpath):
8509         [1].
8510
8511         * redisplay-tty.c (init_tty_for_redisplay):
8512         [3].
8513
8514         * redisplay.c:
8515         [4]. [6].
8516
8517         * scrollbar-msw.c:
8518         [4].
8519
8520         * sheap.c:
8521         * sheap.c (more_static_core):
8522         * sheap.c (report_sheap_usage):
8523         [5]. [6].
8524
8525         * signal.c:
8526         * signal.c (alarm_signal):
8527         [1]. [6].
8528
8529         * sound.c:
8530         [6].
8531
8532         * strftime.c:
8533         * strftime.c (zone_name):
8534         [1]. [5].
8535
8536         * symsinit.h (init_sunpro):
8537         [1].
8538
8539         * syscommctrl.h:
8540         commctrl.h not in Cygwin b20.1.
8541
8542         * sysdep.c:
8543         * sysdep.c (endif):
8544         * sysdep.c (sys_subshell):
8545         * sysdep.c (init_baud_rate):
8546         * sysdep.c (emacs_get_tty):
8547         * sysdep.c (emacs_set_tty):
8548         * sysdep.c (tty_init_sys_modes_on_device):
8549         * sysdep.c (init_system_name):
8550         * sysdep.c (sys_open):
8551         * sysdep.c (interruptible_open):
8552         * sysdep.c (sys_fopen):
8553         * sysdep.c (sys_mkdir):
8554         * sysdep.c (sys_rename):
8555         * sysdep.c (get_process_times_1):
8556         [1]. [6].
8557
8558         * sysdep.h:
8559         [1].
8560
8561         * sysdir.h:
8562         * sysdir.h (DIRENTRY_NONEMPTY):
8563         [1]. [6].
8564
8565         * sysdll.c (dll_init):
8566         * sysdll.h:
8567         [1].
8568
8569         * sysfile.h:
8570         [1]. [6]. [8].
8571         added text/binary defs.
8572
8573         * sysfloat.h:
8574         [1].
8575
8576         * sysproc.h:
8577         * sysproc.h (EDESTADDRREQ):
8578         * sysproc.h (poll_fds_for_input):
8579         [1]. [6].
8580
8581         * syspwd.h:
8582         [6].
8583
8584         * syssignal.h:
8585         [1].
8586
8587         * systime.h:
8588         [1]. [6].
8589
8590         * systty.h:
8591         [1].
8592
8593         * syswindows.h:
8594         [1].
8595         Always define WIN32_LEAN_AND_MEAN.
8596
8597         * unexcw.c (unexec):
8598         [5].
8599
8600         * unexec.c:
8601         * unexec.c (copy_text_and_data):
8602         * unexec.c (adjust_lnnoptrs):
8603         [1].
8604
8605         * unexnt.c:
8606         * unexnt.c (_start):
8607         [1].
8608
8609 2000-06-07  Ben Wing  <ben@xemacs.org>
8610
8611         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
8612         was used only as a model.  We've long since extracted any useful
8613         logic or code out of this. (I just did an exhaustive search.)
8614
8615         * s\msdos.h: Removed.
8616
8617         * s\windows95.h: Removed.
8618
8619 2000-06-10  Ben Wing  <ben@xemacs.org>
8620
8621         * s\cygwin32.h:
8622         [1]. [5].
8623         Don't use extern with fun defs.
8624
8625         * s\mingw32.h:
8626         [1]. [7].
8627         Remove nt\inc include.
8628         Remove getdisk, getdefdir. (The former is unused, the latter
8629         expanded in fileio.h.)
8630
8631         * s\windowsnt.h:
8632         * s\windowsnt.h (WIN32_NATIVE):
8633         * s\windowsnt.h (HAVE_STRCASECMP):
8634         [1]. [7].
8635         Add long comment about preprocessor changes.
8636         Remove getdisk, getdefdir. (The former is unused, the latter
8637         expanded in fileio.h.)
8638
8639 2000-06-10  Ben Wing  <ben@xemacs.org>
8640
8641         * m\arm.h:
8642         * m\delta.h:
8643         * m\intel386.h:
8644         * m\sequent.h:
8645         * m\template.h:
8646         * m\windowsnt.h:
8647         [1].
8648         Remove bogus/unused NO_SOCK_SIGIO.
8649
8650 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
8651
8652         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
8653         not an Emchar.
8654
8655 2000-06-04  Mike Sperber <mike@xemacs.org>
8656
8657         * casetab.c (set_case_table): For `set-standard-case-table',
8658         actually deposit the new case tables where the rest of XEmacs can
8659         see them.
8660
8661 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
8662
8663         * data.c (Faset): Don't cast XCHAR() to unsigned char.
8664
8665 2000-06-05  Ben Wing  <ben@xemacs.org>
8666
8667         * callproc.c (child_setup): Don't do close_load_descs() under
8668         MS Windows.  Put in a comment explaining why.
8669
8670 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
8671
8672         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
8673         Toolkit shell" which breaks `kill-compilation' on Windows NT
8674         native, retaining STDERR handling improvements.
8675
8676 2000-06-01  Andreas Jaeger  <aj@suse.de>
8677
8678         * s/s390.h: Support for S390, based on a patch by Martin
8679         Schwidefsky <schwidefsky@de.ibm.com>.
8680
8681 2000-05-30  Andy Piper  <andy@xemacs.org>
8682
8683         * window.c (allocate_window):
8684         (make_dummy_parent):
8685         (Fset_window_configuration): use new hashtable type.
8686
8687         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
8688         (struct image_instantiator_methods):
8689         (struct Lisp_Image_Instance): make instance geometry signed.
8690
8691         * glyphs.c (instantiate_image_instantiator):
8692         (image_instance_query_geometry):
8693         (image_instance_layout):
8694         (image_instance_layout):
8695         (query_string_geometry):
8696         (text_query_geometry):
8697         (image_instantiate):
8698         (image_instantiate):
8699         (cache_subwindow_instance_in_frame_maybe):
8700         (subwindow_query_geometry): make instance geometry signed.
8701
8702         * glyphs-widget.c (widget_query_geometry):
8703         (widget_layout):
8704         (button_query_geometry):
8705         (tree_view_query_geometry):
8706         (tab_control_query_geometry):
8707         (layout_query_geometry):
8708         (layout_layout):
8709         (native_layout_layout): make instance geometry signed.
8710
8711 2000-05-29  Olivier Galibert  <galibert@pobox.com>
8712
8713         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
8714         constant.
8715
8716         * general.c (syms_of_general): Add Qfull_assoc symbol.
8717
8718         * data.c (finish_marking_weak_lists): Mark full-assoc lists
8719         correctly.
8720         (decode_weak_list_type): Decode full-assoc type.
8721         (encode_weak_list_type): Encode full-assoc type.
8722         (Fmake_weak_list): Update doc string.
8723
8724 2000-05-30  Andy Piper  <andy@xemacs.org>
8725
8726         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
8727
8728         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
8729         (decode_hash_table_weakness): ditto.
8730         (Fhash_table_weakness): ditto.
8731         (Fhash_table_type): ditto.
8732         (finish_marking_weak_hash_tables): ditto.
8733         (hash_table_weakness_validate): ditto.
8734         (syms_of_elhash): ditto.
8735
8736 2000-05-28  Martin Buchholz <martin@xemacs.org>
8737
8738         * XEmacs 21.2.34 is released.
8739
8740 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8741
8742         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
8743         start cache.
8744         (updating_line_start_cache): Gone.
8745         (regenerate_window): Replace resetting of VERTICAL_CLIP by
8746         generic code to force a minimum of 1 line laid out in the
8747         CMOTION_DISP case.
8748
8749 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8750
8751         * glyphs.c (instantiate_image_instantiator): Check for initialized
8752         height & width no longer special cases IMAGE_NOTHING.
8753         (nothing_instantiate): Set height and width of instance.
8754
8755 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8756
8757         * unexelf.c (unexec): Search for ".data" section.
8758         Initialize new_data2_offset from old_data_index.
8759         Remove redundant check for ElfW.
8760
8761 2000-05-23  Andy Piper  <andy@xemacs.org>
8762
8763         * glyphs.c (get_image_instantiator_governing_domain): allow more
8764         specific domains as the governing domain rather than expecting an
8765         exact match. This fixes problems with layouts.
8766
8767 2000-05-22  Andy Piper  <andy@xemacs.org>
8768
8769         * redisplay-output.c (compare_runes): check for non-images
8770
8771         * glyphs.c (set_glyph_dirty_p): ditto.
8772         (update_glyph_cachel_data): ditto.
8773
8774         * glyphs-widget.c (layout_post_instantiate): ditto.
8775         (layout_post_instantiate): ditto.
8776
8777         * event-msw.c (mswindows_wnd_proc): warning removal.
8778
8779 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
8780
8781         * s\mingw32.h: Added #undef for CLASH_DETECTION.
8782
8783         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
8784
8785         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
8786
8787         * nt.c (rva_to_section): mingw32 needs rva_to_section.
8788         (mswindows_executable_type): mingw32 now has enough headers for
8789         this to work.
8790
8791 2000-05-20  Andy Piper  <andy@xemacs.org>
8792
8793         * console-msw.c (mswindows_output_last_error): ; -> ,
8794
8795 2000-05-12  Andy Piper  <andy@xemacs.org>
8796
8797         * console-msw.c (FROB): compare ints with ints.
8798
8799 2000-05-11  Andy Piper  <andy@xemacs.org>
8800
8801         * glyphs-x.c (x_finalize_image_instance): make minimal build
8802         happy.
8803
8804 2000-05-20  Ben Wing  <ben@xemacs.org>
8805
8806         * event-Xt.c:
8807         * event-Xt.c (vars_of_event_Xt):
8808         move modifier-keys-are-sticky to event-stream.c.
8809
8810         * event-msw.c:
8811         * event-msw.c (mswindows_enqueue_mouse_button_event):
8812         * event-msw.c (key_needs_default_processing_p):
8813         * event-msw.c (XEMSW_LCONTROL):
8814         * event-msw.c (mswindows_handle_sticky_modifiers):
8815         * event-msw.c (FROB):
8816         * event-msw.c (clear_sticky_modifiers):
8817         * event-msw.c (output_modifier_keyboard_state):
8818         * event-msw.c (output_alt_keyboard_state):
8819         * event-msw.c (mswindows_wnd_proc):
8820         * event-msw.c (mswindows_modifier_state):
8821         * event-msw.c (emacs_mswindows_handle_magic_event):
8822         implement sticky modifiers.
8823
8824         * event-stream.c:
8825         * event-stream.c (vars_of_event_stream):
8826         move modifier-keys-are-sticky here.
8827
8828         * lisp.h:
8829         add CHECK_FUNCTION.
8830
8831         * rangetab.c:
8832         implement map-range-table.
8833
8834
8835 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
8836
8837         * redisplay-tty.c (reset_tty_modes):
8838         (tty_redisplay_shutdown): Adjust argument type to
8839         tty_frame_output_end.
8840
8841 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8842
8843         * eval.c (Fbacktrace): Don't output a line with only right
8844         parenthesis.
8845
8846 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
8847
8848         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
8849         (Fpq_reset_poll): Ditto.
8850
8851 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
8852
8853         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
8854
8855 2000-05-16  Ben Wing  <ben@xemacs.org>
8856
8857         * buffer.c:
8858         * buffer.c (dfc_convert_to/from_internal_format):
8859         * buffer.c (reinit_vars_of_buffer):
8860         Fix conversion functions to allow reentrancy.
8861
8862         * console-msw.c:
8863         * console-msw.c (mswindows_output_last_error):
8864         New fun, generally useful -- output a human-readable
8865         version of GetLastError() on the console.
8866
8867         * console-msw.h:
8868         * console-msw.h (struct mswindows_frame):
8869         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
8870
8871         * console-stream.c (stream_output_begin):
8872         * console-stream.c (stream_output_end):
8873         * console-stream.c (stream_output_vertical_divider):
8874         * console-stream.c (stream_clear_region):
8875         * console-stream.c (stream_flash):
8876         * console-stream.c (console_type_create_stream):
8877         Delete blank stream methods, not needed.
8878
8879         * console.h (struct console_methods):
8880         Split begin/end methods into window and frame.
8881
8882         * event-msw.c:
8883         * event-msw.c (mswindows_handle_paint):
8884         * event-msw.c (output_alt_keyboard_state):
8885         * event-msw.c (mswindows_wnd_proc):
8886         * event-msw.c (vars_of_event_mswindows):
8887         Comment about problems with ignored-expose.
8888         Define mswindows-debug-events; not really implemented.
8889
8890         * frame-msw.c (mswindows_init_frame_1):
8891         random cleanups.
8892
8893         * glyphs-msw.c:
8894         * glyphs-msw.c (begin_defer_window_pos):
8895         * glyphs-msw.c (mswindows_unmap_subwindow):
8896         * glyphs-msw.c (mswindows_map_subwindow):
8897         * glyphs-msw.c (mswindows_resize_subwindow):
8898         Use DeferWindowPos to reduce flashing when mapping/unmapping.
8899
8900         * glyphs.c (make_image_instance_1):
8901         Fix crash.
8902
8903         * gutter.c (Fredisplay_gutter_area):
8904         Use new begin/end methods.
8905
8906         * lisp.h (Dynarr_new2):
8907         New creation fun.
8908
8909         * redisplay-msw.c:
8910         * redisplay-msw.c (mswindows_frame_output_begin):
8911         * redisplay-msw.c (mswindows_frame_output_end):
8912         * redisplay-msw.c (console_type_create_redisplay_mswindows):
8913         New begin/end methods -- handle DeferWindowPos.
8914
8915         * redisplay-output.c (redisplay_move_cursor):
8916         * redisplay-output.c (redraw_cursor_in_window):
8917         * redisplay-output.c (redisplay_update_line):
8918         * redisplay-output.c (redisplay_output_window):
8919         New begin/end methods.
8920
8921         * redisplay-tty.c:
8922         * redisplay-tty.c (tty_frame_output_begin):
8923         * redisplay-tty.c (tty_frame_output_end):
8924         * redisplay-tty.c (console_type_create_redisplay_tty):
8925         New begin/end methods.
8926
8927         * redisplay-x.c:
8928         * redisplay-x.c (x_window_output_begin):
8929         * redisplay-x.c (x_window_output_end):
8930         * redisplay-x.c (console_type_create_redisplay_x):
8931         New begin/end methods.
8932
8933         * redisplay.c (redisplay_frame):
8934         * redisplay.c (Fredisplay_echo_area):
8935         New begin/end methods.
8936         use MAYBE_DEVMETH for clear_frame; it may not exist.
8937
8938         * window.h (WINDOW_XFRAME):
8939         WINDOW_XFOO macros -- get locale and decode struct pointer.
8940
8941
8942 2000-05-12  Ben Wing  <ben@xemacs.org>
8943
8944         * emacs.c:
8945         * emacs.c (ensure_no_quitting_from_now_on):
8946         * emacs.c (fatal_error_signal):
8947         * emacs.c (mswindows_handle_hardware_exceptions):
8948         * emacs.c (main):
8949         * emacs.c (Fkill_emacs):
8950         * emacs.c (shut_down_emacs):
8951         * emacs.c (assert_failed):
8952         various improvements in fatal error handling.
8953
8954         * eval.c:
8955         move preparing_for_armageddon to emacs.c.
8956
8957         * lisp.h:
8958         declare fatal_error_in_progress.
8959
8960         * print.c:
8961         * print.c (std_handle_out_external):
8962         * print.c (std_handle_out_va):
8963         * print.c (stderr_out):
8964         * print.c (stdout_out):
8965         use console under mswin when no standard output.
8966         don't do code conversion during fatal error.
8967
8968         * scrollbar.c (Fscrollbar_page_up):
8969         * scrollbar.c (Fscrollbar_page_down):
8970         fix missing else.  reindent.
8971
8972 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
8973
8974         Emergency fix.
8975
8976         * glyphs.h (GLYPH_CACHEL_DESCENT):
8977         (GLYPH_CACHEL_DESCENT):
8978         (GLYPH_CACHEL_DESCENT):
8979         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
8980         used in case these are inline functions.
8981         Use more absurd values to error check.
8982
8983         include window.h for error check functions.
8984
8985 2000-05-11  Ben Wing  <ben@xemacs.org>
8986
8987         * cmdloop.c (Freally_early_error_handler):
8988         Display message box under windows; otherwise, message will disappear
8989         before it can be viewed.
8990
8991         * console-msw.c:
8992         * console-msw.c (Fmswindows_message_box):
8993         * console-msw.c (FROB):
8994         * console-msw.c (syms_of_console_mswindows):
8995         Define new fun `mswindows-message-box'.
8996         #### I will merge this into `popup-dialog-box'; just give me
8997         a bit of time.
8998
8999         * general.c:
9000         * general.c (syms_of_general):
9001         Some new symbols used in `mswindows-message-box'.
9002
9003         * glyphs.c:
9004         * glyphs.c (Fset_image_instance_property):
9005         put warning in this fun.
9006
9007         * glyphs.h:
9008         * glyphs.h (GLYPH_CACHEL_WIDTH):
9009         * glyphs.h (GLYPH_CACHEL_ASCENT):
9010         * glyphs.h (GLYPH_CACHEL):
9011         * glyphs.h (GLYPH_CACHEL_GLYPH):
9012         define error-checking versions to try to catch a bug i've seen --
9013         redisplay gets in an infinite loop because the glyph width of the
9014         continuation glyph is 65535.
9015
9016         * lisp.h:
9017         Extern message-box stuff.
9018
9019         * window.c (allocate_window):
9020         * window.c (make_dummy_parent):
9021         * window.c (Fset_window_configuration):
9022         Use EQUAL not EQ for subwindow caches to make them work a bit
9023         better. (Something is still very broken.)
9024
9025
9026 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
9027
9028         * glyphs.c (image_instantiate): Suppress gcc warnings.
9029         (Fmake_image_instance): Fix doc string.
9030         * specifier.c (Fmake_specifier): Ditto.
9031
9032 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
9033
9034         * paths.h.in (PATH_LOCK): Removed.
9035         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
9036         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
9037
9038 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
9039
9040         * fns.c (Ffeaturep): Update e-mail address in doc-string.
9041         Document (featurep '(and xemacs 21.02)).
9042
9043 2000-05-09  Ben Wing  <ben@xemacs.org>
9044
9045         * buffer.c (complex_vars_of_buffer):
9046         update modeline-format doc.
9047
9048         * device.h:
9049         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
9050
9051         * emacs.c:
9052         timeline of all released versions of Emacs, for use in creating
9053         authorship comments and in synching up.
9054
9055         * glyphs-widget.c (image_instantiator_buttons):
9056         * glyphs-widget.c (image_instantiator_edit_fields):
9057         * glyphs-widget.c (image_instantiator_combo_box):
9058         * glyphs-widget.c (image_instantiator_scrollbar):
9059         * glyphs-widget.c (image_instantiator_progress_guage):
9060         * glyphs-widget.c (image_instantiator_tree_view):
9061         * glyphs-widget.c (image_instantiator_tab_control):
9062         * glyphs-widget.c (image_instantiator_labels):
9063         * glyphs-widget.c (image_instantiator_layout):
9064         * glyphs-widget.c (image_instantiator_native_layout):
9065         rename decode_domain method to governing_domain.
9066
9067         * glyphs.c:
9068         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
9069         * glyphs.c (add_entry_to_device_ii_format_list):
9070         make sure we don't put an entry more than once into the list.
9071         * glyphs.c (check_instance_cache_mapper):
9072         *************************************************************
9073         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
9074         HAVE BEEN GETTING.
9075         *************************************************************
9076         * glyphs.c (get_image_instantiator_governing_domain):
9077         clean up, expand on new concept of governing domain.
9078         * glyphs.c (instantiate_image_instantiator):
9079         * glyphs.c (allocate_image_instance):
9080         use governing_domain instead of cache_domain in naming.
9081         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
9082         * glyphs.c (make_image_instance_1):
9083         * glyphs.c (Fmake_image_instance):
9084         allow for any domain (not just device), and process the
9085         governing domain correctly.  very big doc fix.
9086         * glyphs.c (Fimage_instance_domain):
9087         new primitive, to retrieve the governing domain of an image instance.
9088         * glyphs.c (image_instantiate):
9089         use new governing_domain stuff.  this fixes a crash you could get
9090         by instantiating certain widget glyphs in frame locales. (should
9091         signal an error instead of crashing.)
9092         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
9093         * glyphs.c (Fglyphp): clean up doc.
9094         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
9095         * glyphs.c (syms_of_glyphs):
9096         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
9097         * glyphs.c (image_instantiator_format_create): add some comments about
9098         bogus code.
9099         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
9100         for current-display-table. (Apparently Hrjove implemented in 1998 a
9101         design I wrote up in 1996, but didn't update the doc string.)
9102
9103         * glyphs.h: clean up a doc string.
9104         * glyphs.h (governing_domain):
9105         * glyphs.h (struct image_instantiator_methods):
9106         changes for governing_domain stuff.
9107
9108         * gutter.c:
9109         * gutter.c (Fgutter_specifier_p):
9110         * gutter.c (Fgutter_size_specifier_p):
9111         * gutter.c (Fgutter_visible_specifier_p):
9112         * objects.c:
9113         * objects.c (Fcolor_specifier_p):
9114         * objects.c (Ffont_specifier_p):
9115         * objects.c (Fface_boolean_specifier_p):
9116         doc strings moved to make-*-specifier.
9117
9118         * redisplay.c (add_disp_table_entry_runes_1):
9119         * redisplay.c (generate_fstring_runes):
9120         * redisplay.c (screen):
9121         add random comments and doc strings.
9122
9123         * specifier.c:
9124         * specifier.c (Fmake_specifier):
9125         major overhaul of this doc string.
9126
9127         * specifier.c (Fvalid_specifier_domain_p):
9128         comment about the bogosity of image instances being domains.
9129         * specifier.c (decode_domain):
9130         now non-static, used in glyphs.c.
9131         * specifier.c (specifier_instance):
9132         comment about the bogosity of image instances being domains.
9133         * specifier.c (Fgeneric_specifier_p):
9134         move doc string to make-generic-specifier.
9135         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
9136         rebackslashify.
9137
9138         * specifier.h:
9139         * specifier.h (DOMAIN_FRAME):
9140         * specifier.h (DOMAIN_LIVE_P):
9141         * specifier.h (DOMAIN_XDEVICE):
9142         rebackslashify.
9143         add comments about problems with these macros.
9144         prototype for decode_domain.
9145
9146         * toolbar.c:
9147         * toolbar.c (Ftoolbar_specifier_p):
9148         move doc string to `make-toolbar-specifier'.
9149
9150         * window.c (window_unmap_subwindows_cache_mapper):
9151         *************************************************************
9152         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
9153         HAVE BEEN GETTING.
9154         *************************************************************
9155
9156 2000-05-09  Andy Piper  <andy@xemacs.org>
9157
9158         * glyphs.h: declare reset_frame_subwindow_instance_cache.
9159
9160         * window.c (Fset_window_configuration): reset the frame subwindow
9161         cache and re-initialize the window subwindow caches.
9162
9163         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
9164
9165 2000-05-09  Ben Wing  <ben@xemacs.org>
9166
9167         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
9168         DWORD.
9169
9170 2000-04-26  Mike Woolley  <mike@bulsara.com>
9171
9172         * ntheap.c: Changed recreate_heap to limit the amount reserved
9173         for the heap to that which is actually available. Also now
9174         displays a message box (with some dignostics) in the event that
9175         it still can't start.
9176
9177 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
9178
9179         * callproc.c (Fold_call_process_internal): GCPRO path
9180
9181 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
9182
9183         Patch by Bill Perry.
9184
9185         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
9186         back data instead of #ifdef.
9187         (Fscrollbar_page_down): ditto.
9188
9189 2000-05-07  Ben Wing  <ben@xemacs.org>
9190
9191         * buffer.h:
9192         Kludge for defining Qmswindows_tstr.
9193
9194         * nt.c:
9195         * nt.c (open_input_file):
9196         * nt.c (open_output_file):
9197         * nt.c (rva_to_section):
9198         * nt.c (mswindows_executable_type):
9199         Move all memory-mapped-file routines here (some were in unexnt.c,
9200         which is bad because they are used by process-nt.c, and unexnt
9201         won't be around when portable dumping).  Synched the above routines
9202         with FSF 20.6.
9203
9204         * nt.h:
9205         Removed ifdef'd out bogus code.
9206         Fixed some prototypes.
9207
9208         * nt.h (file_data):
9209         * nt.h (OFFSET_TO_RVA):
9210         * nt.h (RVA_TO_OFFSET):
9211         * nt.h (RVA_TO_PTR):
9212         Moved the memory-mapped-file structures, macros and prototypes
9213         here, to parallel nt.c.  ntheap.h should really be removed
9214         entirely, and it's a non-portable-dumper specific file.
9215
9216         * ntheap.h (round_to_next):
9217         Moved the memory-mapped-file structures, macros and prototypes
9218         to nt.h.
9219
9220         * ntproc.c (compare_env):
9221         Moved rva_to_section and mswindows_executable_type to nt.c.
9222         Moved compare_env to process-nt.c.
9223         ntproc.c will die, one day.
9224
9225         * ntproc.c (sys_spawnve):
9226         Account for win32_ -> mswindows_.
9227
9228         * process-nt.c:
9229         * process-nt.c (struct nt_process_data):
9230         * process-nt.c (ensure_console_window_exists):
9231         * process-nt.c (compare_env):
9232         * process-nt.c (nt_create_process):
9233         * process-nt.c (nt_kill_process_by_pid):
9234         * process-nt.c (syms_of_process_nt):
9235         * process-nt.c (vars_of_process_nt):
9236         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
9237         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
9238         changes).  Eliminate our old `nt-quote-process-args' mechanism.
9239         Synch up nt_create_process with FSF 20.6 sys_spawnve.
9240         Move compare_env here from ntproc.c.
9241
9242         * process.c (Fprocess_send_region):
9243         Takes an optional fourth argument, BUFFER, which should fix some
9244         problems with call-process.
9245
9246         * syscommctrl.h:
9247         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
9248
9249         * syswindows.h:
9250         Move ICC_BAR_CLASSES to syscommctrl.h.
9251         Add preliminary macros for MSWindows/Mule.  More to come.
9252
9253         * unexnt.c:
9254         * unexnt.c (unexec):
9255         open_output_file moved to nt.c.
9256
9257
9258 2000-05-05  Andy Piper  <andy@xemacs.org>
9259
9260         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
9261         instance from the frame cache also since GC may catch up too late
9262         to make frame deletion sane.
9263
9264 2000-05-04  Andy Piper  <andy@xemacs.org>
9265
9266         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
9267         (x_finalize_image_instance): ungcpro on deletion.
9268
9269         * glyphs.c (image_instantiator_format_create): give pointers a
9270         query geometry method so that the geometry is at least set.
9271
9272         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
9273         initialize layouts if using widgets.
9274
9275 2000-05-03  Andy Piper  <andy@xemacs.org>
9276
9277         * nt.c: remove bogus reference to sysmmsystem.h
9278
9279         * gui-x.c (popup_selection_callback): fix no selection abort.
9280
9281 2000-05-02  Andy Piper  <andy@xemacs.org>
9282
9283         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
9284         (mswindows_widget_instantiate): ditto.
9285
9286         * glyphs-widget.c (initialize_widget_image_instance): initialize
9287         children correctly.
9288         (widget_instantiate): cope with children and items in the same
9289         instance.
9290
9291         * glyphs.c (mark_image_instance): cope with children as a first
9292         class member.
9293         (image_instance_equal): ditto.
9294         (image_instance_hash): ditto.
9295         (image_instance_changed): ditto.
9296
9297 2000-04-30  Andy Piper  <andy@xemacs.org>
9298
9299         * glyphs.c (subwindow_query_geometry): new function. Return some
9300         defaults.
9301         (subwindow_instantiate): don't assign dimensions if none have been
9302         given.
9303         (image_instantiator_format_create): add subwindow_query_geometry.
9304         (print_image_instance): cope with layouts as widgets.
9305
9306 2000-04-29  Andy Piper  <andy@xemacs.org>
9307
9308         * frame.c (delete_frame_internal): call
9309         free_frame_subwindow_instance_cache so that all subwindows are
9310         finalized before their parent.
9311         (mark_frame): remove subwindow_cachels.
9312         (Fmake_frame): remove subwindow_cachel manipulation.
9313         (allocate_frame_core): subwindow_instance_cache is a weak list.
9314         (delete_frame_internal): set subwindow_instance_cache to nil.
9315
9316         * glyphs-msw.c (mswindows_finalize_image_instance): make double
9317         finalization safe.
9318         (mswindows_finalize_image_instance): use the device
9319         not the domain as the domain may have died already.
9320
9321         * glyphs-x.c (x_finalize_image_instance): ditto.
9322         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
9323         HEIGHT.
9324
9325         * redisplay-output.c (redisplay_unmap_subwindows): update for
9326         subwindow instance cache as a weak list.
9327         (redisplay_unmap_subwindows_maybe): ditto.
9328         (redisplay_unmap_subwindows_except_us): ditto.
9329
9330         * glyphs.c (unmap_subwindow): error checking will check the domain
9331         so don't deal with it here. Don't use cachels anymore.
9332         (map_subwindow): ditto.
9333         (update_subwindow_cachel_data): remove old accessor names.
9334         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
9335         (Fresize_subwindow): don't update cachel.
9336         (mark_subwindow_cachels):
9337         (update_subwindow_cachel_data):
9338         (add_subwindow_cachel):
9339         (get_subwindow_cachel_index):
9340         (update_subwindow_cachel):
9341         (reset_subwindow_cachels):
9342         (mark_subwindow_cachels_as_not_updated): deleted.
9343         (cache_subwindow_instance_in_frame_maybe): new function. Add a
9344         subwindow instance to the frame cache.
9345         (find_matching_subwindow): update for subwindow instance cache as
9346         a weak list.
9347         (update_widget_instances): ditto.
9348         (image_instance_type_to_mask):inlined.
9349         (free_frame_subwindow_instance_cache): new function. finalize all
9350         subwindows that are instantiated.
9351
9352         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
9353         of cachel information.
9354         (IMAGE_INSTANCE_DISPLAY_X):
9355         (IMAGE_INSTANCE_DISPLAY_Y):
9356         (IMAGE_INSTANCE_DISPLAY_WIDTH):
9357         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
9358         (XIMAGE_INSTANCE_DISPLAY_X):
9359         (XIMAGE_INSTANCE_DISPLAY_Y):
9360         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
9361         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
9362         remove subwindow_cachel structure and function references.
9363         (image_instance_type_to_mask): inline from glyphs.c
9364
9365         * redisplay.c (redisplay_frame): remove subwindow_cachel
9366         references.
9367
9368         * frame.h (struct frame): remove subwindow_cachels.
9369         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
9370
9371         * frameslots.h: add subwindow_instance_cache.
9372
9373         * window.c (replace_window): check subwindow cache of replacement.
9374         (window_unmap_subwindows_cache_mapper):
9375         (window_unmap_subwindows): new functions. Unmap all subwindows
9376         cached on this window.
9377         (mark_window_as_deleted): unmap all subwindows.
9378
9379 2000-04-27  Andy Piper  <andy@xemacs.org>
9380
9381         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
9382
9383         * glyphs-widget.c (widget_layout): return something.
9384         (layout_layout): return something. Fail if not initialized.
9385         (layout_query_geometry): ditto.
9386         (image_instantiator_native_layout): new function. Initialized the
9387         native layout type.
9388         (widget_instantiate): don't do layout stuff here.
9389
9390         * glyphs.c (instantiate_image_instantiator): reorded calling or
9391         instantiate and post_instantiate with layout in between.
9392         (image_instance_layout): be more selective about deciding whether
9393         the layout has been done or not.
9394
9395         * glyphs.h (struct image_instantiator_methods): return a value
9396         from layout_method.
9397
9398 2000-04-26  Andy Piper  <andy@xemacs.org>
9399
9400         * glyphs.c (allocate_image_instance): make initial width and
9401         height unspecified. Set initialized to 0.
9402
9403         * syscommctrl.h new file. Encapsulates commctrl.h.
9404
9405         * syswindows.h new file. Encapsulates windows.h.
9406
9407         * ntplay.c: use new syswindows.h and syscommctrl.h header.
9408         * nt.c: ditto.
9409         * console-msw.h: ditto.
9410
9411         * redisplay-tty.c (tty_output_display_block): remove layout references.
9412
9413         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
9414         window handle rather than just the frame.
9415
9416         * glyphs.c (mark_image_instance): remove layout references.
9417         (print_image_instance): ditto.
9418         (image_instance_equal): ditto.
9419         (image_instance_hash): ditto.
9420         (decode_image_instance_type): ditto.
9421         (encode_image_instance_type): ditto.
9422         (image_instantiate): ditto.
9423         (allocate_glyph): ditto.
9424         (Fimage_instance_height): ditto.
9425         (Fimage_instance_width): ditto.
9426         (update_subwindow): ditto.
9427
9428         * redisplay-x.c (x_output_display_block): recode for layouts as
9429         widgets.
9430
9431         * redisplay-output.c (redisplay_output_layout): recode for layouts
9432         as widgets.
9433         (compare_runes): remove layout references.
9434
9435         * redisplay-msw.c (mswindows_output_display_block): recode for
9436         layouts as widgets.
9437
9438         * glyphs-widget.c (image_instantiator_layout): remove
9439         layout_possible_dest_types.
9440         (layout_possible_dest_types): deleted.
9441
9442         * glyphs.h (image_instance_type): remove layout references.
9443         (struct Lisp_Image_Instance): ditto. Add initialized flag.
9444         (IMAGE_INSTANCE_INITIALIZED): new accessor.
9445         (XIMAGE_INSTANCE_INITIALIZED): ditto.
9446
9447 2000-04-25  Andy Piper  <andy@xemacs.org>
9448
9449         * glyphs-widget.c (image_instantiator_buttons):
9450         (image_instantiator_edit_fields):
9451         (image_instantiator_combo_box):
9452         (image_instantiator_scrollbar):
9453         (image_instantiator_progress_guage):
9454         (image_instantiator_tree_view):
9455         (image_instantiator_tab_control):
9456         (image_instantiator_labels):
9457         (image_instantiator_layout): call default post_instantiate method.
9458         (widget_post_instantiate): new function. Simply lays out the
9459         widgets.
9460
9461         * glyphs.h (struct image_instantiator_methods): add
9462         post_instantiate method.
9463
9464         * glyphs.c (instantiate_image_instantiator): add post_instantiate
9465         method calls.
9466
9467 2000-04-23  Andy Piper  <andy@xemacs.org>
9468
9469         * glyphs.h (struct image_instantiator_methods): add
9470         decode_domain_method.
9471         (struct Lisp_Image_Instance): remove subwindow frame - it can be
9472         derived from the domain.
9473         (IMAGE_INSTANCE_FRAME): new accessor.
9474         (XIMAGE_INSTANCE_FRAME): ditto.
9475
9476         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
9477         instead of _SUBWINDOW_FRAME.
9478         (finalize_image_instance): ditto.
9479         (Fimage_instance_foreground): ditto.
9480         (Fimage_instance_background): ditto.
9481         (image_instantiate): ditto.
9482         (update_subwindow_cachel): ditto.
9483         (update_subwindow): ditto.
9484         (unmap_subwindow): ditto.
9485         (map_subwindow): ditto
9486         (subwindow_instantiate): ditto.
9487         * glyphs-msw.c (mswindows_update_widget): ditto.
9488         (mswindows_progress_gauge_instantiate): ditto.
9489         (mswindows_tab_control_update): ditto.
9490         * glyphs-x.c (x_update_widget): ditto.
9491         (x_widget_instantiate): ditto.
9492         (x_tab_control_instantiate): ditto.
9493         (x_tab_control_update): ditto.
9494         * event-msw.c (mswindows_wnd_proc): ditto
9495
9496         * glyphs-widget.c (image_instantiator_layout): use
9497         subwindow_decode_domain.
9498         (image_instantiator_buttons): ditto.
9499         (image_instantiator_edit_fields): ditto.
9500         (image_instantiator_combo_box): ditto.
9501         (image_instantiator_scrollbar): ditto.
9502         (image_instantiator_progress_guage): ditto.
9503         (image_instantiator_tree_view): ditto.
9504         (image_instantiator_tab_control): ditto.
9505         (image_instantiator_labels): ditto.
9506         (image_instantiator_layout): ditto.
9507
9508         * glyphs.c: add instance error checking to many functions.
9509         (instantiate_image_instantiator): decode device from cache_domain.
9510         (image_instantiate): partially rewrite by using
9511         decode_image_instantiator_domain to determine what domain the
9512         instance needs to be cached in.
9513         (decode_image_instantiator_domain): new function. Determine what
9514         domain the image needs to be cached in.
9515         (check_window_subwindow_cache): new error checking function.
9516         (check_instance_cache_mapper): ditto.
9517         (check_image_instance_structure): ditto.
9518         (subwindow_decode_domain): new function. Encodes a window as a
9519         subwindow's cache domain.
9520         (image_instantiator_format_create): use it for text and
9521         subwindows.
9522
9523 2000-04-21  Andy Piper  <andy@xemacs.org>
9524
9525         * glyphs.c (image_instance_device): new function.
9526         (image_instance_frame): new function.
9527         (image_instance_window): new function.
9528         (image_instance_live_p): new function.
9529
9530         * window.c (mark_window_as_deleted): reset the subwindow_instance_
9531         cache to nil.
9532
9533         * glyphs.h (struct Lisp_Image_Instance): device->domain.
9534         (IMAGE_INSTANCE_DOMAIN): new accessor.
9535         (XIMAGE_INSTANCE_DOMAIN): ditto.
9536
9537         * glyphs-x.c (x_finalize_image_instance): device->domain.
9538
9539         * glyphs-msw.c (init_image_instance_geometry): device->domain.
9540         (mswindows_finalize_image_instance): ditto.
9541
9542         * glyphs-eimage.c (jpeg_instantiate): device->domain.
9543         (gif_instantiate): ditto.
9544         (png_instantiate): ditto.
9545         (tiff_instantiate): ditto.
9546
9547         * glyphs.c (instantiate_image_instantiator): use domain rather
9548         than device.
9549         (mark_image_instance): device -> domain.
9550         (print_image_instance): ditto.
9551         (finalize_image_instance): ditto.
9552         (image_instance_equal): ditto.
9553         (allocate_image_instance): ditto.
9554         (Fcolorize_image_instance): ditto.
9555         (query_string_geometry): ditto.
9556         (image_instantiate): ditto
9557         (query_string_font): ditto.
9558         (image_instantiate): ditto.
9559         (update_subwindow): ditto.
9560         (unmap_subwindow): ditto.
9561         (map_subwindow): ditto.
9562         (subwindow_instantiate): ditto.
9563
9564         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
9565         (DOMAIN_FRAME): ditto.
9566         (DOMAIN_WINDOW): ditto.
9567         (DOMAIN_LIVE_P): ditto.
9568         (XDOMAIN_DEVICE): ditto.
9569         (XDOMAIN_FRAME): ditto.
9570         (XDOMAIN_WINDOW): ditto.
9571
9572         * specifier.c (Fvalid_specifier_domain_p): add image instances as
9573         a valid specifier domain.
9574
9575 2000-04-19  Andy Piper  <andy@xemacs.org>
9576
9577         * glyphs-widget.c (syms_of_glyphs_widget): remove
9578         widget-callback-current-channel.
9579         (vars_of_glyphs_widget): ditto.
9580         * glyphs.h: ditto
9581
9582         * gui.c (get_gui_callback): revert to previous behaviour.
9583
9584 2000-04-18  Andy Piper  <andy@xemacs.org>
9585
9586         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
9587         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
9588         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
9589
9590         * glyphs.c (image_instance_equal): add margin_width.
9591         (image_instance_hash): ditto.
9592
9593         * glyphs-widget.c (widget_instantiate): deal with margin-width.
9594         (layout_query_geometry): ditto.
9595         (layout_layout): ditto.
9596         (syms_of_glyphs_widget): add margin-width.
9597         (image_instantiator_layout): allow margin-width.
9598
9599         * glyphs.c (update_widget_instances): make a normal function.
9600         (syms_of_glyphs): remove Qupdate_widget_instances.
9601         * glyphs.h: ditto.
9602
9603         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
9604         so that we don't corrupt ideas about the last event or
9605         command. Remove widget-callback-current-channel fiddling.
9606         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9607
9608 2000-05-01  Martin Buchholz <martin@xemacs.org>
9609
9610         * XEmacs 21.2.33 is released.
9611
9612 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
9613
9614         * make-src-depend: Allow dots in header file name.
9615
9616 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
9617
9618         * mule-charset.h (struct charset_lookup): Add
9619         next_allocated_1_byte_leading_byte and
9620         next_allocated_2_byte_leading_byte.
9621         * mule-charset.c: Move above two variables so that those values
9622         will be dumped.
9623
9624 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
9625
9626         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
9627         when string length is zero.
9628         (find_charsets_in_emchar_string): Ditto.
9629
9630 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
9631
9632         * lisp.h: extern Qdialog and Qmenubar.
9633
9634         * gui-x.c: added events.h.
9635                 also fixed typo which made the file uncompilable.
9636
9637         * general.c: Added Qmenubar and Qdialog
9638
9639 2000-04-28  Ben Wing  <ben@xemacs.org>
9640
9641         * frame-msw.c (mswindows_init_frame_1):
9642         * frame-msw.c (mswindows_mark_frame):
9643         * event-msw.c (mswindows_enqueue_dispatch_event):
9644         * console-msw.h:
9645         * console-msw.h (struct mswindows_frame):
9646         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
9647         there are now three hash tables for callbacks.
9648         mswindows_enqueue_dispatch_event is no longer static.
9649
9650         * dialog-x.c (maybe_run_dbox_text_callback):
9651         * dialog-x.c (dbox_descriptor_to_widget_value):
9652         switch to new cons3 form for callbacks.
9653
9654         * glyphs-msw.c (mswindows_register_gui_item):
9655         * glyphs-msw.c (mswindows_widget_instantiate):
9656         * glyphs-msw.c (add_tree_item):
9657         * glyphs-msw.c (add_tab_item):
9658         new image instance parameter, so it can be passed to callback-ex.
9659         respect :callback-ex as well as :callback.
9660
9661         * glyphs-widget.c (VALID_GUI_KEYWORDS):
9662         add :callback-ex.
9663
9664         * glyphs.c (print_image_instance):
9665         prettify, e.g. now prints widget type.
9666
9667         * gui-x.h:
9668         certain funs have new image instance parameter.
9669
9670         * gui.c:
9671         * gui.c (get_gui_callback):
9672         * gui.c (gui_item_add_keyval_pair):
9673         * gui.c (gui_item_init):
9674         * gui.c (gui_add_item_keywords_to_plist):
9675         * gui.c (mark_gui_item):
9676         * gui.c (gui_item_hash):
9677         * gui.c (gui_item_equal):
9678         * gui.c (copy_gui_item):
9679         * gui.c (syms_of_gui):
9680         recognize callback-ex in a number of places.
9681         also, fix the annoying "can't get out of yes-no dialog" bug.
9682
9683         * gui.h:
9684         * gui.h (struct Lisp_Gui_Item):
9685         recognize callback-ex in a number of places.
9686
9687         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9688         new parameter in button_item_to_widget_value.
9689
9690         * glyphs-x.c (x_update_widget):
9691         * glyphs-x.c (x_button_instantiate):
9692         * glyphs-x.c (x_button_update):
9693         * glyphs-x.c (x_progress_gauge_instantiate):
9694         * glyphs-x.c (x_edit_field_instantiate):
9695         * glyphs-x.c (x_combo_box_instantiate):
9696         * glyphs-x.c (x_tab_control_instantiate):
9697         * glyphs-x.c (x_label_instantiate):
9698         new image instance parameter in various places.
9699
9700         * event-Xt.c:
9701         * event-Xt.c (enqueue_Xt_dispatch_event):
9702         this fun gets exported.
9703
9704         * gui-msw.c:
9705         * gui-msw.c (mswindows_handle_gui_wm_command):
9706         handle both :callback and :callback-ex, and generate our own
9707         event because it's one of the callback-ex arguments.
9708
9709         * gui-x.c:
9710         * gui-x.c (popup_selection_callback):
9711         handle both :callback and :callback-ex, and generate our own
9712         event because it's one of the callback-ex arguments.
9713         * gui-x.c (button_item_to_widget_value):
9714         * gui-x.c (gui_items_to_widget_values_1):
9715         * gui-x.c (gui_item_children_to_widget_values):
9716         * gui-x.c (gui_items_to_widget_values):
9717         new image instance parameter in various places.
9718
9719         * fns.c (Freplace_list):
9720         fix small typo in doc string.
9721
9722         * lisp.h:
9723         declare enqueue_Xt_dispatch_event.
9724
9725 2000-04-28  Ben Wing  <ben@xemacs.org>
9726
9727         * buffer.c:
9728         * buffer.c (Frecord_buffer):
9729         * buffer.c (syms_of_buffer):
9730         delete record-buffer-hook.
9731
9732         * fns.c:
9733         * fns.c (Freplace_list):
9734         * fns.c (syms_of_fns):
9735         new primitive replace-list.
9736
9737         * frameslots.h:
9738         slot for old buffer-alist.
9739
9740         * lisp.h:
9741         exfun replace-list.
9742
9743         * redisplay.c:
9744         * redisplay.c (redisplay_frame):
9745         * redisplay.c (syms_of_redisplay):
9746         * redisplay.c (vars_of_redisplay):
9747         new hook buffer-list-changed-hook.
9748         call it.
9749
9750 2000-04-27  Ben Wing  <ben@xemacs.org>
9751
9752         * extents.h: extern in_modeline_generation.
9753
9754         * redisplay.c (generate_formatted_string_db): set
9755         in_modeline_generation.
9756
9757         * extents.c (extent_changed_for_redisplay): don't mark redisplay
9758         flags if in modeline generation.  otherwise frame-modified-tick
9759         is ticked far too often.
9760         Declare in_modeline_generation.
9761
9762 2000-04-26  Ben Wing  <ben@xemacs.org>
9763
9764         * emacs.c (vars_of_emacs): document quick-build "error-checking"
9765         option.
9766         (vars_of_emacs): add quick-build as an error-checking option.
9767         A bit kludgy, but there doesn't seem much point in creating
9768         a real var for this.
9769
9770         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
9771
9772 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9773
9774         * redisplay.h (struct display_line): Add a new variable,
9775         line_continuation.
9776
9777         * redisplay.c (create_text_block): Set dl->line_continuation if
9778         the line continues.
9779         (create_string_text_block): Ditto.
9780         (regenerate_window_incrementally): Use line_continuation instead
9781         of searching continuation glyph.
9782         (add_margin_runes): Call add_glyph_rune.
9783         (add_glyph_rune): Handle margin glyph.
9784
9785 2000-04-20  Martin Buchholz  <martin@xemacs.org>
9786
9787         * filelock.c (fill_in_lock_file_name):
9788         ANSIfy.
9789         Check for IS_ANY_SEP instead of '/'.
9790         (lock_file_1):
9791         Avoid generating gratuitous garbage.  Call user_login_name() directly.
9792         Never check errno without first seeing that system call failed.
9793         (unlock_file): Add GCPRO.
9794         (Flock_buffer): Fix docstring.
9795         (Ffile_locked_p): Fix docstring.  Add GCPRO.
9796
9797 2000-04-19  Martin Buchholz  <martin@xemacs.org>
9798
9799         * sysdep.c (get_pty_max_bytes):
9800         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
9801         strings longer than 252 bytes.
9802
9803         * md5.c: Unconditionally include ANSI header <limits.h>
9804
9805         * glyphs-x.c (convert_EImage_to_XImage):
9806         * lisp-union.h (union Lisp_Object):
9807         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
9808
9809 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9810
9811         * filelock.c (current_lock_owner): Remove unused variable o, p.
9812
9813 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
9814
9815         * callint.c: Remove multiply defined symbol Qlet
9816         (syms_of_callint): ditto.
9817
9818 2000-04-14  Andy Piper  <andy@xemacs.org>
9819
9820         * general.c (syms_of_general): add last-command, this-command, let
9821         and funcall.
9822
9823         * lisp.h: declare various symbols.
9824
9825         * glyphs.h: declare Qwidget_callback_current_channel;
9826
9827         * glyphs-widget.c (syms_of_glyphs_widget): add
9828         Qgui_callback_current_channel.
9829         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
9830
9831         * gui-msw.c (mswindows_handle_gui_wm_command): bind
9832         widget-callback-current-channel when invoking the interactive
9833         arg. Also bind last-command and next-command when invoking the
9834         widget updates.
9835         * gui-x.c (popup_selection_callback): ditto.
9836
9837         * gui.c (get_gui_callback): massage args so that we are always
9838         calling eval. This allows us to add our own variable bindings
9839         outside.
9840
9841         * glyphs-x.c (x_button_instantiate): use
9842         gui_items_to_widget_values since this is GC safe.
9843         (x_progress_gauge_instantiate): ditto.
9844         (x_edit_field_instantiate): ditto.
9845         (x_label_instantiate): ditto.
9846
9847         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
9848         (emacs_Xt_event_widget_focus_out): new function
9849         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
9850         focus.
9851         (emacs_Xt_event_add_widget_actions): new function. add focus
9852         functions as actions.
9853         (init_event_Xt_late): use it.
9854
9855 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
9856
9857         * event-stream.c (Fdispatch_event): Doc fix.
9858
9859 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
9860
9861         * postgresql.c: Remove all references to PQsetenv*.
9862
9863         * postgresql.h: Remove references to PGsetenvHandler object.
9864         * lrecord.h (lrecord_type): Ditto.
9865
9866 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9867
9868         * glyphs-msw.h (struct mswindows_image_instance_data): Added
9869         real_heigh and real_width members, and accessor macros for these.
9870
9871         * glyphs-msw.c (init_image_instance_geometry): New function.
9872         (init_image_instance_from_dibitmap): Use it.
9873         (mswindows_resource_instantiate): Use it.
9874         (init_image_instance_from_xbm_inline): Use it.
9875         (mswindows_initialize_image_instance_mask): Use real bitmap
9876         geometry.
9877         (mswindows_create_resized_bitmap): Ditto.
9878         (mswindows_create_resized_mask): Ditto.
9879
9880         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
9881         and bitmap to their surface size.
9882
9883 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
9884
9885         * process-unix.c (unix_send_process): Guard against process MIA
9886         after Faccept_process_output.
9887
9888 2000-04-11  Ben Wing  <ben@xemacs.org>
9889
9890         * eval.c (unbind_to_hairy): fix brokenness introduced by
9891         nanosecond speed improvements.
9892
9893 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
9894
9895         * sunplay.c (init_device): To play sounds correctly, the device
9896         apparently needs to be initialized at least once by XEmacs.  Make
9897         it so.
9898
9899 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9900
9901         * redisplay.c (add_margin_runes): Add text image glyph
9902           handling.
9903
9904 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9905
9906         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
9907         gcc is newer than 2.5.
9908
9909 2000-04-06  Colin Rafferty  <colin@xemacs.org>
9910
9911         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
9912
9913         * fns.c (size_bit_vector):
9914         * alloc.c (size_vector):
9915         (make_vector_internal):
9916         (make_bit_vector_internal):
9917         (sweep_bit_vectors_1):
9918         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
9919
9920 2000-04-06  Andy Piper  <andy@xemacs.org>
9921
9922         * gmalloc.c (malloc): undo previous change.
9923         (malloc): ditto.
9924         (free): ditto.
9925         (realloc): ditto.
9926
9927 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
9928
9929         * line-number.c (buffer_line_number): Revert to former version.
9930
9931 2000-04-06  Andy Piper  <andy@xemacs.org>
9932
9933         * gmalloc.c (malloc): add error checking.
9934         (malloc): ditto.
9935         (free): ditto.
9936         (realloc): ditto.
9937
9938         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
9939         button_item_to_widget_value arg.
9940
9941         * glyphs-x.c (x_button_instantiate): add extra
9942         button_item_to_widget_value arg.
9943         (x_progress_gauge_instantiate): ditto.
9944         (x_edit_field_instantiate): ditto.
9945         (x_label_instantiate): ditto.
9946
9947         * gui-x.c (gui_items_to_widget_values_1): add extra
9948         button_item_to_widget_value arg.
9949         (button_item_to_widget_value): add extra menu_item_p arg.
9950
9951         * gui-x.h: change signature of button_item_to_widget_value.
9952
9953         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
9954         button_item_to_widget_value arg.
9955
9956 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9957
9958         * buffer.h (struct buffer): auto_save_modified should be long.
9959
9960 2000-04-05  Andy Piper  <andy@xemacs.org>
9961
9962         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
9963         type.
9964         (button_query_geometry): give a little more room so that athena
9965         buttons fit.
9966
9967 2000-04-05  Andy Piper  <andy@xemacs.org>
9968
9969         * faces.c (complex_vars_of_faces): The widget face should inherit
9970         the font of the gui-element face.
9971
9972 2000-04-04  Andy Piper  <andy@xemacs.org>
9973
9974         * glyphs-x.c (x_button_update): new function. unconditionally
9975         update a button's state when the instance is dirty.
9976         (image_instantiator_format_create_glyphs_x): add x_button_update.
9977         (x_widget_instantiate): remove old resize cruft.
9978
9979 2000-04-02  Andy Piper  <andy@xemacs.org>
9980
9981         * frame.c (change_frame_size_1): The introduction of gutters means
9982         that we need to allow 0 as a potential frame dimension.
9983
9984 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9985
9986         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
9987         image glyph if allow_cursor.
9988         (add_hscroll_rune): Don't allow cursor to border glyph.
9989         (create_text_block): Ditto.
9990
9991         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
9992         text not in buffer.
9993         (redisplay_output_layout): Call ensure_face_cachel_complete for
9994         text image glyph.
9995
9996
9997 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9998
9999         * redisplay.c (add_glyph_rune): Adding text image as text runes.
10000
10001         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
10002         not in buffer
10003
10004         * redisplay-tty.c (tty_output_display_block): Delete the routine
10005         for text image glyph
10006         * redisplay-x.c (x_output_display_block): ditto
10007         * redisplay-msw.c (mswindows_output_display_block): ditto
10008
10009 2000-02-02  Mike Alexander  <mta@arbortext.com>
10010
10011         Note: Some of these were committed by accident as part of other
10012         patches.
10013
10014         * regex.c (regex_compile): Avoid compiler warnings.
10015
10016         * ntproc.c (sys_spawnve): Avoid compiler warnings.
10017
10018         * nt.h: Declare term_ntproc correctly.
10019
10020         * nt.c: Remove incorrect declaration of get_home_directory which
10021         is declared correctly in lisp.h.
10022
10023         * keymap.c (get_keyelt): Avoid compiler warnings.
10024         (raw_lookup_key_mapper): Avoid compiler warnings.
10025
10026         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
10027
10028         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
10029
10030         * filemode.c (mode_string): Avoid compiler warnings.
10031
10032         * file-coding.c (Fcoding_system_aliasee): Add return statement to
10033         avoid warning.
10034
10035         * events-mod.h: Undef some things that winuser.h defines differently.
10036
10037         * data.c (Faset): Avoid compiler warnings.
10038
10039         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
10040
10041 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10042
10043         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
10044         Fall through to simple beep on error.
10045         Replace "extern" by real header file.
10046
10047         * linuxplay.c: Use nativesound.h
10048         (play_sound_data): Return error code. Be less verbose on error.
10049
10050         * sunplay.c: Use nativesound.h
10051         (play_sound_data): Return error code. Be less verbose on error.
10052
10053         * ntplay.c: Use nativesound.h
10054         (play_sound_data): Return fake error code
10055
10056         * sgiplay.c: Use nativesound.h
10057         (play_sound_data): Return error code
10058
10059         * hpplay.c: Use nativesound.h, partially implement
10060         new error code. Break compilation until finished.
10061         (play_sound_data): error code.
10062
10063         * nativesound.h (play_sound_file):
10064           (play_sound_data): Prototype in new header.
10065
10066 2000-03-31  Andy Piper  <andy@xemacs.org>
10067
10068         * glyphs-widget.c: (button_query_geometry): new function. Adjust
10069         for toggle and radio buttons.
10070         (image_instantiator_buttons): use it.
10071
10072 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10073
10074         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
10075         (x_update_horizontal_scrollbar_callback): Return if no mirror was
10076         found. Scrollbar event probably belonged to some old config.
10077
10078 2000-03-31  Andy Piper  <andy@xemacs.org>
10079
10080         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
10081         than 1.
10082         (initialize_widget_image_instance): default layout to
10083         LAYOUT_HORIZONTAL rather than 0.
10084         (widget_instantiate): reverse the item list at the end rather than
10085         every iteration.
10086         (layout_layout): re-code for the border text at the front of the
10087         item list rather than at the end.
10088         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
10089         provided by the user.
10090         (widget_query_geometry): comment.
10091
10092 2000-03-30  Andy Piper  <andy@xemacs.org>
10093
10094         * glyphs-widget.c (image_instantiator_layout): allow standard
10095         widget keywords in layouts.
10096
10097         * gutter.c (output_gutter): cope with nil gutter contents.
10098
10099         * frame.c (Fset_frame_properties): add gutter docs.
10100
10101 2000-03-29  Andy Piper  <andy@xemacs.org>
10102
10103         * toolbar-msw.c (TBSTYLE_FLAT): add.
10104         (mswindows_output_toolbar): minor fiddling.
10105
10106 2000-03-29  Andy Piper  <andy@xemacs.org>
10107
10108         * gutter.c (output_gutter): force gutter size recalculation if
10109         what we are trying to display won't fit.
10110         (update_gutter_geometry): new function. A per-gutter version of
10111         update_frame_gutter_geometry.
10112         (update_frame_gutter_geometry): use it.
10113         (redraw_exposed_gutter): add extra debugging output.
10114
10115 2000-03-28  Mike Alexander  <mta@arbortext.com>
10116
10117         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
10118         (pdump_file_unmap): Implement it on Windows
10119         (pdump_file_get): Save alocated handles for pdump_file_unmap
10120
10121 2000-03-28  Andy Piper  <andy@xemacs.org>
10122
10123         * gui.c (get_gui_callback): treat Quit specially.
10124
10125 2000-03-27  Andy Piper  <andy@xemacs.org>
10126
10127         * glyphs.c (image_instantiate): be careful to check in the same
10128         way we assigned.
10129
10130 2000-03-27  Didier Verna  <didier@xemacs.org>
10131
10132         * config.h.in: define the proper SMART_INCLUDE macro.
10133         handle renaming of `foo_h_path' to `foo_h_file'.
10134
10135         * database.c: ditto.
10136
10137         * emacs.c: ditto.
10138
10139         * linuxplay.c: ditto.
10140
10141         * terminfo.c: ditto.
10142
10143         * tooltalk.h: ditto.
10144
10145 2000-03-27  Andy Piper  <andy@xemacs.org>
10146
10147         * glyphs-msw.c (mswindows_update_widget): make sure the widget
10148         gets updated whenever the face might have changed.
10149
10150 2000-03-26  Mike Alexander  <mta@arbortext.com>
10151
10152         * dumper.c (pdump_resource_free): Fix the comment.
10153
10154 2000-03-21  Olivier Galibert  <galibert@pobox.com>
10155
10156         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
10157
10158 2000-03-22  Mike Alexander  <mta@arbortext.com>
10159
10160         * dumper.c: Include Windows headers on Windows
10161         (pdump_resource_free): Add a body to the function
10162         (pdump_load): exe_name -> exe_path and add some comments.
10163
10164 2000-03-25  Mike Alexander  <mta@arbortext.com>
10165
10166         * gui.c (copy_gui_item_tree): Return a value in all cases
10167
10168 2000-03-21  Didier Verna  <didier@xemacs.org>
10169
10170         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
10171         lwlib/config.h.in.
10172         (SMART_INCLUDE): new macro.
10173         (POSTGRES_INCLUDE): new macro to include postgresql headers from
10174         the proper location.
10175
10176         * postgresql.c: use it.
10177
10178         * inline.c: ditto.
10179
10180 2000-03-24  Andy Piper  <andy@xemacs.org>
10181
10182         * gutter.c (redraw_exposed_gutters): must be "in display" when we
10183         do this.
10184
10185 2000-03-24  Andy Piper  <andy@xemacs.org>
10186
10187         * redisplay-output.c (compare_runes): use image_instance_changed
10188         to detect changes. Do not depend on glyphs_changed, only depend on
10189         dirtiness.
10190          (redisplay_output_layout): add debug messages.
10191         (compare_runes): ditto.
10192
10193         * glyphs.h: declare new functions.
10194         (struct Lisp_Image_Instance): remove percent and associated
10195         accessors.
10196
10197         * gui.h: declare new copying functions.
10198
10199         * gui.c (copy_gui_item_tree): new function.
10200         (copy_gui_item): new function.
10201         (gui_item_id_hash): revert to standard hash.
10202         (gui_item_hash): ditto.
10203         (gui_item_hash_internal): deleted.
10204         (mark_gui_item): mark value.
10205         (gui_item_add_keyval_pair): add value.
10206         (gui_item_init): ditto.
10207         (gui_add_item_keywords_to_plist): ditto.
10208         (gui_item_equal): ditto.
10209         (syms_of_gui): add Q_value.
10210
10211         * glyphs-x.c (x_progress_gauge_update): use pending items and
10212         value for setting the state.
10213         (x_update_widget): don't set items from pending here.
10214
10215         * glyphs-widget.c (update_widget): update items here.
10216         (progress_gauge_set_property): use items for storing value. Put
10217         new value in pending items.
10218
10219         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
10220         items for new value. Convert percent -> value.
10221         (mswindows_tab_control_update): don't update items here.
10222
10223         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
10224         (update_subwindow): ditto.
10225         (image_instance_changed): new function. Compare hash values and
10226         past and present widget items.
10227         (image_instantiate): We more careful about where we instantiate
10228         things.
10229         (image_instantiate): add error checking.
10230
10231         * gutter.c (syms_of_gutter): use -hook.
10232
10233 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
10234
10235         * console-tty.c (Fset_console_tty_input_coding_system): Use
10236         Qkeyboard.
10237         (Fset_console_tty_output_coding_system): Use Qterminal.
10238         (tty_init_console): Use Qkeyboard and Qterminal.
10239
10240 2000-03-21  Ben Wing  <ben@xemacs.org>
10241
10242         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
10243         From Mike Alexander <mta@arbortext.com>.
10244
10245 2000-03-21  Ben Wing  <ben@xemacs.org>
10246
10247         * event-msw.c (mswindows_need_event): Horrible kludge to fix
10248         process brokenness.  Proper implementation to come.
10249         * callproc.c:
10250         Rename call-process-internal to old-call-process-internal.
10251         New impl. in process.el.
10252
10253 2000-03-21  Martin Buchholz  <martin@xemacs.org>
10254
10255         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
10256
10257 2000-03-20  Andy Piper  <andy@xemacs.org>
10258
10259         * glyphs.c (full_list_hash): make hashes of the same elements in
10260         different orders return different values.
10261
10262 2000-03-20  Martin Buchholz <martin@xemacs.org>
10263
10264         * XEmacs 21.2.32 is released.
10265
10266 2000-03-20  Martin Buchholz  <martin@xemacs.org>
10267
10268         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
10269         (DFC_MALLOC_USE_CONVERTED_DATA):
10270         Add aliasing-safe casts to allow use with char* or unsigned char*
10271         lvalues.
10272
10273         * eldap.c (Fldap_open):
10274         (Fldap_search_basic):
10275         (Fldap_add):
10276         (Fldap_modify):
10277         Make C++-compilable.
10278         Make sure GCPRO'ed variables are initialized.
10279         Use temp variables to avoid repeated calls to Flength.
10280
10281 2000-03-16  Martin Buchholz  <martin@xemacs.org>
10282
10283         * sysfile.h:
10284         Make sure PATH_MAX is always defined.
10285         Include limits.h for PATH_MAX.
10286         Deprecate use of MAXPATHLEN.
10287
10288 2000-03-10  Martin Buchholz  <martin@xemacs.org>
10289
10290         * emacs.c: Add reinit_vars_of_fileio.
10291         * symsinit.h: Add reinit_vars_of_fileio.
10292         * fileio.c (reinit_vars_of_fileio): New.
10293         * fileio.c (Fmake_temp_name):
10294         Initialize temp_name random number from microseconds to make
10295         collisions even less likely.  Initialize always at process startup
10296         time.  (make-temp-name) used to return the same file name twice in
10297         a row when PDUMP.
10298         Random stylistic fiddling.
10299         Comment fixes.
10300
10301 2000-03-20  Andy Piper  <andy@xemacs.org>
10302
10303         * glyphs.c (image_instantiate): allow text glyphs to be
10304         instantiated in the minibuffer window.
10305
10306 2000-03-19  Andy Piper  <andy@xemacs.org>
10307
10308         * glyphs.c (image_instance_hash): be careful about which items we
10309         hash on.
10310
10311         * glyphs-widget.c (tab_control_set_property): record into pending
10312         items rather than the actual items.
10313
10314         * glyphs-x.c (x_update_widget): use pending items to update with.
10315
10316         * glyphs-msw.c (mswindows_tab_control_update): use pending items
10317         to update with.
10318
10319         * glyphs.c (mark_image_instance): mark pending items.
10320
10321         * window.c (Fset_window_configuration): record the buffer.
10322         (Fselect_window): totally revert previous change which breaks many
10323         things.
10324
10325 2000-03-18  Andy Piper  <andy@xemacs.org>
10326
10327         * glyphs-msw.c (mswindows_tab_control_update): force selected
10328         item.
10329
10330         * glyphs.c (image_instantiate): don't allow the minibuffer as a
10331         window domain cache, otherwise we get inconsistencies at
10332         startup. There is something fishy at startup which can lead to the
10333         minibuffer being the selected window when the gutter content is
10334         instantiated.
10335
10336         * gui.c (parse_gui_item_tree_list): add probably unnecessary
10337         gcpros.
10338         (parse_gui_item_tree_children): ditto.
10339         (parse_gui_item_tree_item): ditto.
10340
10341         * glyphs.c (Fupdate_widget_instances): return something.
10342
10343 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
10344
10345         * window.c (Fselect_window): Undo 2000-03-17 change.
10346
10347 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
10348
10349         * postgresql.c (Fpq_setenv): Remove this turkey when linking
10350         against v7.0 libraries.  Insta-coredump city until the postgres
10351         folks fix it.
10352
10353 2000-03-17  Andy Piper  <andy@xemacs.org>
10354
10355         * faces.c (complex_vars_of_faces): don't give the widget face an
10356         inherited background pixmap.
10357
10358         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
10359         selected item.
10360
10361         * event-stream.c (Fdispatch_non_command_events): return something.
10362
10363         * gutter.c (output_gutter): use widget face.
10364         (clear_gutter): ditto.
10365
10366         * NEWS: adjust again.
10367
10368         * window.c (Fselect_window): make sure this runs to completion to
10369         avoid oddities with Fset_window_configuration.
10370         (Fcurrent_window_configuration): in general do not save the
10371         minibuffer as the selected window.
10372
10373         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
10374
10375 2000-03-16  Olivier Galibert  <galibert@pobox.com>
10376
10377         * emacs.c (Frunning_temacs_p): Revert previous patch.
10378         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
10379
10380 2000-03-16  Andy Piper  <andy@xemacs.org>
10381
10382         * glyphs-x.c (x_tab_control_update): if no widget values then
10383         return.
10384
10385         * NEWS: update for new features.
10386
10387         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
10388         synthetic event to the native system.
10389         (reinit_vars_of_event_Xt): set force_event_pending to
10390         emacs_Xt_force_event_pending.
10391
10392         * events.h (struct event_stream): add force_event_pending.
10393
10394         * specifier.c (recompute_one_cached_specifier_in_window): add
10395         comment.
10396
10397         * redisplay.c (redisplay_frame): don't call
10398         update_frame_subwindows. Reset subwindow cachels when
10399         subwindows_changed, removing this was an optimization too far.
10400
10401         * redisplay-output.c (compare_runes): reorganize so that we catch
10402         glyph changes when we want them. Set optimize_output when this
10403         would help layouts.
10404         (redisplay_output_layout): remove frame_really_changed, use
10405         optimize_output instead.
10406
10407         * redisplay-msw.c (mswindows_output_display_block): reset
10408         optimize_output after outputting a glyph.
10409         * redisplay-x.c (x_output_display_block): ditto.
10410         * redisplay-tty.c (tty_output_display_block): ditto.
10411
10412         * gutter.c: (specifier_vars_of_gutter): use new spec changed
10413         functions.
10414         (gutter_specs_changed): do specific gutter positions.
10415         (top_gutter_specs_changed): new function. Only update the
10416         specified gutter specs.
10417         (bottom_gutter_specs_changed): ditto.
10418         (left_gutter_specs_changed): ditto.
10419         (right_gutter_specs_changed): ditto.
10420
10421         * gui.c (gui_item_hash_internal): new function, does a real hash.
10422         (gui_item_id_hash): use it.
10423         (gui_item_hash): hash the eval'ed gui_item.
10424
10425         * gui-x.c (popup_selection_callback): send an eval event to call
10426         Fupdate_widget_instances.
10427
10428         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
10429         to call Fupdate_widget_instances.
10430
10431         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
10432         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
10433
10434         * glyphs.c: (update_frame_subwindows): deleted.
10435         (Fupdate_widget_instances): new function for updating the dirty
10436         state of widgets that might have changed.
10437         (syms_of_glyphs): add Qupdate_widget_instances.
10438         (full_list_hash): hash a list completely.
10439         (image_instance_hash): use it for items and properties.
10440
10441         * frame-msw.c (mswindows_size_frame_internal): remove unused
10442         variable.
10443
10444         * faces.h (struct face_cachel): fix comment.
10445
10446         * event-stream.c (Fdispatch_non_command_events): new
10447         function. Process non-command events, forcing an event cycle
10448         beforehand.
10449         (syms_of_event_stream): declare.
10450         (event_stream_force_event_pending): new function. Force an event
10451         on the native event queue so that an event cycle will occur next
10452         time we check.
10453
10454         * event-msw.c:
10455         (struct ntpipe_shove_stream):
10456         (mswindows_enqueue_dispatch_event):
10457         (mswindows_dequeue_dispatch_event):
10458         (mswindows_cancel_dispatch_event):
10459         (mswindows_pump_outstanding_events):
10460         (mswindows_drain_windows_queue):
10461         (mswindows_handle_paint):
10462         (mswindows_wnd_proc):
10463         (mswindows_key_to_emacs_keysym):
10464         (get_process_input_waitable):
10465         (emacs_mswindows_delete_stream_pair): re-indent file.
10466         (mswindows_need_event): do not process further fds if the windows
10467         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
10468         fixes the 100% cpu problem.
10469         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
10470
10471 2000-03-15  Olivier Galibert  <galibert@pobox.com>
10472
10473         * alloc.h: New.
10474         * dumper.h: New.
10475         * dumper.c: New.
10476
10477         * emacs.c: Moved dump file searching to dumper.c.
10478         (Frunning_temacs_p): Fixed.
10479
10480         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
10481         last_lrecord_type_index_assigned.
10482
10483 2000-02-20  Olivier Galibert  <galibert@pobox.com>
10484
10485         * symsinit.h: Added reinit parameter to init_console_stream
10486         declaration.
10487
10488         * lisp.h: Added file parameter to pdump_load declaration.
10489
10490         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
10491         support.  Added dump file searching.
10492
10493         * config.h.in: Added EMACS_PROGNAME.
10494
10495         * console-stream.c (init_console_stream): Fix reinitialisation
10496         when running from temacs.
10497
10498         * alloc.c (pdump): Add id support.
10499         (pdump_load): Add file parameter and signature/id support.
10500
10501         * Makefile.in.in: Add full pdump support.
10502
10503 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
10504
10505         * postgresql.c: Update documentation to reflect latest code
10506         status.
10507         (print_result): Show tuple counts in printed representation when
10508         appropriate.
10509         (Fpq_put_nbytes): MULE-ize.
10510         (Fpq_get_line_async): Ditto.
10511
10512 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10513
10514         * postgresql.c (Fpq_lo_import): Fix return value.
10515         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
10516
10517 2000-03-13  Ben Wing  <ben@xemacs.org>
10518
10519         * alloc.c (pdump_load):
10520         Fix compile warning under mswin.
10521
10522 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10523
10524         * postgresql.c: Mule-ization, bug fixes.
10525         Use PG_CODING to encapsulate coding system name changes.
10526         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
10527         (pg-coding-system): Create.
10528
10529         (Fpq_conn_defaults): Mule-ize.
10530         (Fpq_connectdb): Mule-ize & bug fix.
10531         (Fpq_connect_start): Mule-ize.
10532         (Fpq_set_client_encoding): Mule-ize.
10533         (Fpq_finish): Document `DEAD' connection status.
10534         (Fpq_clear): Ditto.
10535         (Fpq_pgconn): Mule-ize.
10536         (Fpq_exec): Mule-ize & bug fix.
10537         (Fpq_send_query): Ditto.
10538         (Fpq_get_result): Ditto.
10539         (Fpq_res_status): Mule-ize.
10540         (Fpq_result_error_message): Mule-ize.
10541         (Fpq_ntuples): fix comments.
10542         (Fpq_fname): Mule-ize.
10543         (Fpq_fnumber): Mule-ize.
10544         (Fpq_ftype): fix comments.
10545         (Fpq_get_value): Mule-ize.
10546         (Fpq_cmd_status): Ditto.
10547         (Fpq_cmd_tuples): Ditto.
10548         (Fpq_oid_value): Ditto.
10549         (Fpq_notifies): Ditto.
10550         (Fpq_lo_import): Ditto.
10551         (Fpq_lo_export): Ditto.
10552         (Fpq_get_line): Ditto.
10553         (Fpq_put_line): Mule-ize and bug fix.
10554         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
10555
10556 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10557
10558         * postgresql.c (vars_of_postgresql): Mule-ize.
10559         (Fpq_conn_defaults): Ditto.
10560
10561 2000-03-12  Ben Wing  <ben@xemacs.org>
10562
10563         * alloc.c (Fmake_byte_code):
10564         * alloc.c (debug_string_purity_print):
10565         * alloc.c (pdump_backtrace):
10566         * alloc.c (pdump_get_indirect_count):
10567         * alloc.c (pdump_register_sub):
10568         * alloc.c (pdump_register_object):
10569         * alloc.c (pdump_register_struct):
10570         * alloc.c (pdump_dump_data):
10571         * alloc.c (pdump_reloc_one):
10572         Minor cleanups.
10573
10574         * console-msw.c:
10575         * console-msw.c (GetConsoleHwnd):
10576         * console-msw.c (msw_hide_console):
10577         * console-msw.c (msw_show_console):
10578         * console-msw.c (msw_ensure_console_buffered):
10579         * console-msw.c (msw_output_console_string):
10580         * console-msw.c (console_type_create_mswindows):
10581
10582         a) Added functions to manipulate the console window for use with
10583         shell support.
10584
10585         b) Added support for writing text to the console, which is now
10586         used under Windows when xemacs is not being run non-interactively,
10587         to write text that would otherwise be destined for stdout because
10588         under these circumstances, text written to stdout tends to
10589         disappear and not be seen.
10590
10591         * console-msw.h:
10592         * event-Xt.c:
10593         * event-Xt.c (x_event_to_emacs_event):
10594         * event-Xt.c (describe_event_window):
10595         * events-mod.h (XEMACS_MOD_CONTROL):
10596         * events.c:
10597         * events.c (Fmake_event):
10598         * events.c (character_to_event):
10599         * events.c (event_to_character):
10600         * events.c (format_event_object):
10601         * events.c (Fevent_modifiers):
10602         * events.h:
10603         * events.h (struct key_data):
10604         * events.h (struct button_data):
10605         * events.h (struct misc_user_data):
10606         * frame-x.c (Fcde_start_drag_internal):
10607         * frame-x.c (Foffix_start_drag_internal):
10608         * gpmevent.c (Freceive_gpm_event):
10609         * keymap.c:
10610         * keymap.c (bucky_sym_to_bucky_bit):
10611         * keymap.c (control_meta_superify):
10612         * keymap.c (make_key_description):
10613         * keymap.c (keymap_lookup_directly):
10614         * keymap.c (create_bucky_submap):
10615         * keymap.c (keymap_store):
10616         * keymap.c (define_key_check_and_coerce_keysym):
10617         * keymap.c (define_key_parser):
10618         * keymap.c (define_key_alternate_name):
10619         * keymap.c (Fdefine_key):
10620         * keymap.c (raw_lookup_key_mapper):
10621         * keymap.c (struct map_keymap_unsorted_closure):
10622         * keymap.c (map_keymap_unsorted_mapper):
10623         * keymap.c (map_keymap_sort_predicate):
10624         * keymap.c (map_keymap_sorted):
10625         * keymap.c (accessible_keymaps_mapper_1):
10626         * keymap.c (where_is_recursive_mapper):
10627         * keymap.c (describe_map_mapper):
10628         * keymap.c (describe_map_sort_predicate):
10629         * keymap.c (describe_map):
10630         * keymap.c (complex_vars_of_keymap):
10631         And a number of other files, the key modifier preprocessor
10632         constants that xemacs uses have names that conflict with constants
10633         defined under MS Windows for other purposes, so they were renamed
10634         to begin with the prefix XEMACS_. The variables that hold such
10635         modifiers were changed to consistently be of type int to fix
10636         various compile warnings.
10637
10638         * console.c (complex_vars_of_console):
10639         * device.c:
10640         * device-msw.c:
10641         * device-msw.c (mswindows_finish_init_device):
10642         * device-msw.c (msw_get_workspace_coords):
10643         * device-msw.c (mswindows_device_system_metrics):
10644         and various other files, added support for a new
10645         device property called offset-workspace which returns the position
10646         of the upper left corner of the workspace area and goes along with
10647         the existing size-workspace property.
10648
10649         * dialog-msw.c:
10650         * dialog-msw.c (push_bufbyte_string_as_unicode):
10651         * dialog-msw.c (mswindows_popup_dialog_box):
10652         Added support for XEmacs-style accelerator specifications in
10653         button text.  Note: I didn't add support for this under X Windows,
10654         and somebody needs to do this.
10655
10656         * dialog.c:
10657         * dialog.c (Fpopup_dialog_box):
10658         Documented the support for accelerators that was just mentioned.
10659
10660         editfns.c (get_home_directory): Changed behavior under Windows
10661         when HOME not defined; former behavior was irretrievably broken.
10662
10663         * emacs.c:
10664         * emacs.c (main_1):
10665         * emacs.c (main):
10666         * minibuf.c (clear_echo_area_internal):
10667         * minibuf.c (echo_area_append):
10668         * print.c:
10669         * print.c (std_handle_out_external):
10670         * print.c (std_handle_out_va):
10671         * print.c (fatal):
10672         * print.c (write_string_to_stdio_stream):
10673         * print.c (output_string):
10674         * print.c (debug_print):
10675         * print.c (debug_backtrace):
10676         * print.c (debug_short_backtrace):
10677         Cleaned up the code that prints text to stdout so that this can be
10678         changed to output into a console window instead under MS Windows,
10679         as described above.
10680
10681         * eval.c:
10682         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
10683         * eval.c (internal_catch):
10684         * eval.c (unwind_to_catch):
10685         * eval.c (throw_or_bomb_out):
10686         * eval.c (condition_case_1):
10687         * eval.c (signal_1):
10688         * eval.c (check_error_state_sanity):
10689         * eval.c (call_with_suspended_errors_1):
10690         * eval.c (call_with_suspended_errors):
10691         * eval.c (reinit_vars_of_eval):
10692         Added code to catch throw loops and check for a pesky bug that may
10693         be gone now.
10694
10695         * event-msw.c:
10696         * event-msw.c (key_needs_default_processing_p):
10697         * event-msw.c (mswindows_wnd_proc):
10698         * event-msw.c (mswindows_modifier_state):
10699         * event-msw.c (emacs_mswindows_quit_p):
10700         * event-msw.c (vars_of_event_mswindows):
10701         a) Added support for using the alt key to select menu items as is
10702         standard under MS Windows.  This is controlled using the variable
10703         menu-accelerator-enabled, just like under X Windows.  There is an
10704         option on the options menu to turn this support on.  I really
10705         think that it should be on by default under Windows, but I'm not
10706         going to make this change yet.
10707
10708         b)  Added support for dynamic display size changes under Windows.
10709
10710         * event-stream.c:
10711         * event-stream.c (maybe_echo_keys):
10712         * event-stream.c (Fnext_event):
10713         * event-stream.c (command_builder_find_leaf):
10714         * event-stream.c (lookup_command_event):
10715         * event-stream.c (execute_command_event):
10716         * event-stream.c (pre_command_hook):
10717         * event-stream.c (post_command_hook):
10718         * event-stream.c (syms_of_event_stream):
10719         * event-stream.c (vars_of_event_stream):
10720         * event-stream.c (complex_vars_of_event_stream):
10721         * events.h (struct command_builder):
10722
10723         a) Tried to clean up a little bit the horribly written x-specific
10724         accelerator code that crept into this file.  I moved this code
10725         into menubar-x.c where it belongs. I also needed to move the
10726         command builder structure into the file events.h because it is
10727         accessed directly by this accelerator code.  What I didn't do, but
10728         which should be done at some point, is to properly abstract this
10729         code using device methods instead of the kludgy way that it
10730         currently hooks into the event code.
10731
10732         b) Added the lisp variables this-command-properties and
10733         last-command- properties, which should be used to synchronize two
10734         adjacent commands in preference to playing games with the variable
10735         this-command, which is typically what happens.
10736
10737         c) Added some slightly nasty code to hook into the lisp support
10738         for shifted- motion-key selection.  This is actually necessary for
10739         somewhat complicated reasons, which are described in
10740         simple.el. (NB: I think the proper thing would be to have the code
10741         that calls the pre and post command hooks also call out to generic
10742         lisp functions in simple.el, where all built-in stuff could be
10743         added.  I will think about this more.)
10744
10745         * event-unixoid.c (poll_fds_for_input):
10746         * lread.c (readchar):
10747         * redisplay-tty.c (tty_clear_frame):
10748         * redisplay-x.c (x_get_gc):
10749         * signal.c (interrupt_signal):
10750         And a whole bunch of other files: fixed up places that printed
10751         directly to stderr to instead call the function stderr_out so that
10752         the changes I made under Windows work correctly.
10753
10754         * filemode.c (mode_string):
10755         Warning fixes.
10756
10757         * frame-msw.c:
10758         * frame-msw.c (mswindows_size_frame_internal):
10759         Fixed the computation of frame size and position to keep the frame
10760         within the workspace area, rather than within the physical
10761         dimensions of the screen, so that the frame doesn't overlap window
10762         manager decorations, such as the start menu and toolbar, typically
10763         at the bottom of the screen.
10764
10765         * frame.c (vars_of_frame):
10766         Changed the default frame title format under MS Windows to consist
10767         of buffername-XEmacs, which is standard under MS Windows.  I think
10768         it might be a good idea to change this everywhere because I think
10769         it is superior to the current frame title format, but this is the
10770         kind of change that is likely to cause some people to get annoyed,
10771         so I'm not making it.
10772
10773         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
10774
10775         * gui-msw.c (mswindows_handle_gui_wm_command):
10776         Fixed compile warnings.
10777
10778         * gui-x.c:
10779         * gui-x.c (strdup_and_add_accel):
10780         * gui-x.c (button_item_to_widget_value):
10781         * gui-x.h:
10782         Added code to automatically put an accelerator onto the beginning
10783         of menu items that don't have one as is now the standard, and is
10784         described more later.  Also fixed things so that the menu item
10785         name can be an evaluated expression, again a new standard.
10786
10787         * gui.c:
10788         * gui.c (gui_item_add_keyval_pair):
10789         * gui.c (make_gui_item_from_keywords_internal):
10790         * gui.c (gui_add_item_keywords_to_plist):
10791         * gui.c (gui_item_accelerator):
10792         * gui.c (gui_name_accelerator):
10793         * gui.c (gui_item_included_p):
10794         * gui.c (gui_item_display_flush_left):
10795         * gui.c (gui_item_display_flush_right):
10796         * gui.c (parse_gui_item_tree_item):
10797         * gui.c (parse_gui_item_tree_children):
10798         * gui.c (parse_gui_item_tree_list):
10799         Mule-ized.  Cleanup.  GCPRO addition.
10800
10801         * line-number.c (buffer_line_number):
10802         * lisp.h:
10803         * lisp.h (EMACS_INT_MAX):
10804         Added the manifest constant EMACS_INT_MIN corresponding to the
10805         existing constant EMACS_INT_MAX.  This is partially to fix compile
10806         warnings under Windows, and partly for cleanliness.
10807
10808         * menubar-msw.c:
10809         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
10810         * menubar-msw.c (msw_translate_menu_or_dialog_item):
10811         * menubar-msw.c (displayable_menu_item):
10812         * menubar-msw.c (populate_menu_add_item):
10813         * menubar-msw.c (populate_or_checksum_helper):
10814         * menubar-msw.c (populate_menu):
10815         * menubar-msw.c (update_frame_menubar_maybe):
10816         * menubar-msw.c (prune_menubar):
10817         * menubar-msw.c (msw_char_is_accelerator):
10818         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
10819         * menubar-msw.c (mswindows_handle_wm_command):
10820         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
10821         * menubar-msw.c (mswindows_handle_wm_initmenu):
10822         * menubar-msw.c (mswindows_update_frame_menubars):
10823         * menubar-msw.c (mswindows_free_frame_menubars):
10824         * menubar-msw.c (mswindows_popup_menu):
10825         Fixed a bug in handling accelerators where an extra character
10826         would be displayed in the menu item.  Also generalized the
10827         function displayable_menu_item because it is now used by the
10828         dialog box code as well.  And finally, added code in the functions
10829         that create the menubar to extract a list of accelerators for the
10830         top level menubar, which is used in the event code to determine
10831         whether a particular alt-key combination should be used to invoke
10832         a menu item, or should be passed through to access the standard
10833         XEmacs keymap binding for this key combination.
10834
10835         Much needed GCPROing.
10836
10837         * menubar-x.c:
10838         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10839         * menubar-x.c (menu_item_descriptor_to_widget_value):
10840         * menubar-x.c (restore_in_menu_callback):
10841         * menubar-x.c (x_popup_menu):
10842         * menubar-x.c (menu_move_up):
10843         * menubar-x.c (menu_move_down):
10844         * menubar-x.c (menu_move_left):
10845         * menubar-x.c (menu_move_right):
10846         * menubar-x.c (menu_select_item):
10847         * menubar-x.c (command_builder_operate_menu_accelerator):
10848         * menubar-x.c (menu_accelerator_junk_on_error):
10849         * menubar-x.c (command_builder_find_menu_accelerator):
10850         * menubar-x.c (Faccelerate_menu):
10851         * menubar.h:
10852         Moved a whole bunch of code here that was previously in
10853         event-stream.c as described above.  There is also code connected
10854         to the new standard of adding an accelerator to the beginning of
10855         menu items that don't have one as described above and below.
10856
10857         * menubar.c:
10858         * menubar.c (menu_parse_submenu_keywords):
10859         * menubar.c (Fmenu_find_real_submenu):
10860         * menubar.c (Fnormalize_menu_item_name):
10861         * menubar.c (syms_of_menubar):
10862         * menubar.c (vars_of_menubar):
10863         * menubar.c (complex_vars_of_menubar):
10864
10865         a) Cleaned up a bunch of documentation and improved it.
10866
10867         b) XEmacs now automatically adds an accelerator onto the beginning
10868         of any menu items that don't have one.  I did this because there
10869         will inevitably be some menu items on the main menubar that don't
10870         have accelerators on them because the package that adds that
10871         particular menu item hasn't yet been fixed up to have accelerators
10872         in them and it looked rather strange to have some items with and
10873         some items without accelerators, especially since even in items
10874         without accelerators, you can, at least under windows, still
10875         access the item through an accelerator corresponding to the first
10876         character in the item's name.  If people don't like this behavior,
10877         I can add a variable to turn it off optionally, but I'm not sure
10878         this is a good idea because we really do need to have accelerators
10879         on all of the menu items, and if a package doesn't like the
10880         accelerators being put on the first character, then it should put
10881         the accelerators where they belong.
10882
10883         c) I made a behavior change, which is that the descriptor that
10884         specifies the text of the menu item, which formerly was just a
10885         string, can now also be an evaluated expression.  This makes this
10886         descriptor parallel with all of the others, which could also be
10887         evaluated expressions.  This also obviates the need for the
10888         keyword :label, which was previously listed in the documentation
10889         as unimplemented, and which was for the same purpose.
10890
10891         d) GCPROing.
10892
10893         * ntproc.c:
10894         * ntproc.c (new_child):
10895         * ntproc.c (sys_spawnve):
10896         * ntproc.c (find_child_console):
10897         * ntproc.c (sys_kill):
10898         Fixed compile warnings.  By the way, this file should really go
10899         away entirely, and this will happen as soon as Kirill makes his
10900         final round of process cleanups, which affect the function
10901         call-process.
10902
10903         * process-nt.c:
10904         * process-nt.c (struct nt_process_data):
10905         * process-nt.c (find_process_from_pid):
10906         * process-nt.c (send_signal_the_nt_way):
10907         * process-nt.c (enable_child_signals):
10908         * process-nt.c (find_child_console):
10909         * process-nt.c (send_signal_the_95_way):
10910         * process-nt.c (nt_finalize_process_data):
10911         * process-nt.c (ensure_console_window_exists):
10912         * process-nt.c (nt_create_process):
10913         * process-nt.c (nt_kill_child_process):
10914         * process-nt.c (nt_kill_process_by_pid):
10915         * process-nt.c (nt_open_network_stream):
10916         * process-nt.c (vars_of_process_nt):
10917         Copied over code from Emacs 20.5 to correctly send signals to sub-
10918         processes under Windows 95.  Also added code to automatically
10919         create and hide console window when a sub-process is created under
10920         Windows 95, which obviates the need for the separate runemacs.exe
10921         executable, and finally implemented some variables that were
10922         implemented in Emacs 20.5, but previously not in XEmacs.  These
10923         include mswindows- start-process-share-console and
10924         mswindows-start-process-inherit-error-mode. (Both of these only
10925         apply to Windows 95.)
10926
10927         * regex.c (regex_compile): Fixed a compile warning.
10928
10929         * select-msw.c:
10930         * select-msw.c (mswindows_own_selection):
10931         * select-msw.c (mswindows_get_foreign_selection):
10932         * select-msw.c (mswindows_disown_selection):
10933         * select-msw.c (console_type_create_select_mswindows):
10934         * select-msw.c (syms_of_select_mswindows):
10935         Cleaned up the file and implemented the device method
10936         selection_exists_p, which had accidentally been left out.  Also
10937         removed four lisp functions that were remnants from before the
10938         time when the selection code was properly device abstracted.
10939         These functions are no longer needed because there are generic
10940         equivalents, and because they were added recently and don't exist
10941         in FSF Emacs, I don't think there's any problem with just deleting
10942         them.
10943
10944         * sysdep.c:
10945         * sysdep.c (sys_subshell):
10946         Fixed a compile warning, although in this case there's probably
10947         something wrong with this code, and it ought to be looked into
10948         more thoroughly by somebody who understands it.
10949
10950         * window.c:
10951         * window.c (Fwindow_text_area_height):
10952         * window.c (Fwindow_width):
10953         * window.c (Fwindow_full_width):
10954         * window.c (Fwindow_pixel_width):
10955         * window.c (debug_print_window):
10956         * window.c (syms_of_window):
10957         Added functions window-text-area-height and window-full-width,
10958         which are functions for returning various width and height
10959         characteristics of a window. (One of these functions is necessary
10960         for making the file dialog box work correctly, and the other one
10961         was added for completeness.)  Also added a table to the
10962         documentation for window-height which describes the entire scheme
10963         for accessing width and height characteristics of a window.
10964
10965 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10966
10967         * nt.c (fstat): Added a comment for another problem with
10968         non-encapsulated [f]stat(), reported by Adrian Aichner
10969         <aichner@ecf.teradyne.com>.
10970
10971 2000-03-11  Andy Piper  <andy@xemacs.org>
10972
10973         * window.c (make_dummy_parent): initialize subwindow instance
10974         cache.
10975         (Fset_window_configuration): zero extent_modiff.
10976
10977 2000-03-10  Andy Piper  <andy@xemacs.org>
10978
10979         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
10980         more changes can be triggered.
10981         (Fredisplay_frame): ditto.
10982         (Fredraw_device): ditto.
10983         (Fredisplay_device): ditto.
10984         (redisplay_frame): make non-static.
10985         (redisplay_frame): call update_frame_gutter_geometry outside of
10986         display proper.
10987
10988         * gutter.h: declare update_frame_gutter_geometry.
10989
10990         * redisplay.h: declare redisplay_frame.
10991
10992         * gutter.c (update_frame_gutter_geometry): move geometry changes
10993         in update_frame_gutters here. Geometry changes can only occur
10994         outside of redisplay.
10995         (update_frame_gutters): remove geometry change code.
10996         (Fredisplay_gutter_area): make sure that we are in display when we
10997         update and that we have flushed any size changes.
10998
10999 2000-03-11  Andy Piper  <andy@xemacs.org>
11000
11001         * alloc.c (pdump_dump_data): remove i & count shadows.
11002
11003 2000-02-27  Mike Alexander  <mta@arbortext.com>
11004
11005         * sysdep.h: Declare pdump_read_file
11006
11007         * sysdep.c (pdump_read_file): New function
11008
11009         * alloc.c (pdump_load): Call pdump_read_file to get the portable
11010         dump data
11011
11012 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
11013
11014         * lrecord.h: add `lrecord_type_pgsetenv'.
11015
11016 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
11017
11018         * symsinit.h: declare (vars|syms)_of* functions.
11019         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
11020
11021 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
11022
11023         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
11024
11025         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
11026         GCCs.
11027
11028         * emacs.c (main_1): Call postgres initialization code.
11029
11030         * postgresql.h: New file.  PostgreSQL RDBMS support.
11031         * postgresql.c: New file.
11032
11033 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
11034
11035         * redisplay-output.c (redisplay_output_display_block): Disable
11036         redundant code.
11037
11038 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11039
11040         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
11041         (Fcanna_henkan_next): Ditto.
11042         (Fcanna_bunsetu_henkou): Ditto.
11043         (Fcanna_henkan_kakutei): Ditto.
11044         (Fcanna_henkan_end): Ditto.
11045         (Fcanna_henkan_quit): Ditto.
11046         (Fcanna_henkan_next): Set retun value correctly.
11047         (c2mu): Use unsigned char instead of signed char.
11048
11049 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11050
11051         * emacs.c (main_1): Always call syms_of_gui.
11052         * inline.c: include gui.h
11053
11054 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11055
11056         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
11057         converted to Lisp_Object.
11058         (Qtop_bottom): New variable.
11059         (syms_of_redisplay): Initialize it.
11060         * redisplay.h (Vvisible_bell): Ditto.
11061         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
11062         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
11063         only flash top and bottom.
11064
11065 2000-03-08  Andy Piper  <andy@xemacs.org>
11066
11067         * buffer.c (Frename_buffer): record new buffer name the right way.
11068
11069 2000-03-08  Andy Piper  <andy@xemacs.org>
11070
11071         * glyphs.c (update_subwindow): increase hash depth so that widget
11072         items get picked up properly.
11073
11074         * redisplay-output.c (compare_runes): increase hash depth so that
11075         widget items get picked up properly.
11076
11077 2000-03-08  Andy Piper  <andy@xemacs.org>
11078
11079         * gutter.c (output_gutter): add some debug.
11080
11081         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
11082         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
11083         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
11084
11085         * redisplay-output.c (compare_runes): use display_hash to
11086         determine if glyphs really are not the same.
11087
11088         * glyphs.c (update_subwindow): check display_hash to see if
11089         anything really needs to be updated. If not then do
11090         nothing. Record the display_hash after updating.
11091         (image_instance_equal): compare the image_instance face also.
11092
11093 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
11094
11095         * redisplay.h: Fix comment style.
11096
11097 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11098
11099         * consle-msw.h (struct mswindows_frame):
11100         Added new member paint_pending to indicate whether a WM_PAINT
11101         magic event has been queued for this frame.
11102
11103         * event-msw.c (mswindows_drain_windows_queue):
11104         Don't queue a WM_PAINT magic event if one is already queued.
11105         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
11106
11107         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
11108
11109 2000-03-07  Didier Verna  <didier@xemacs.org>
11110
11111         * dired.c: #include `regex.h' after `sysfile.h'.
11112
11113 2000-03-06  Martin Buchholz  <martin@xemacs.org>
11114
11115         * sound.c (init_nas_sound): Fix compiler warning.
11116
11117         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
11118         (FREE_STRUCT_P):
11119         (MARK_STRUCT_AS_FREE):
11120         (MARK_STRUCT_AS_NOT_FREE):
11121         Make `gcc -fstrict-aliasing' work properly.
11122
11123 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11124
11125         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
11126         (mswindows_delete_device): Call CoUnnitialize().
11127
11128         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
11129
11130 2000-02-25    <CraigL@DyCon.com>
11131
11132         * process-nt.c: MinGW now has <shellapi.h>, but still needs
11133         <errno.h>.
11134
11135         * sysdep.c: This extern declaration for environ prevents MinGW
11136         from finding the variable in CRTDLL.DLL.
11137
11138         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
11139         windows headers.
11140         (SHGFI_EXETYPE): ..
11141         (WM_MOUSEWHEEL): ..
11142         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
11143         definitions.
11144         (MMRESULT): Removed, now defined in cygwin's windows headers.
11145         (TIMECAPS): ..
11146         (uid_t,gid_t,pid_t,ssize_t): ..
11147         (_timeb): Removed, MinGW defines both _timeb and timeb.
11148         (HAVE_H_ERRNO): Added.
11149         (HAVE_TZNAME): Added, configure is not detecting this.
11150
11151 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
11152
11153         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
11154         * syntax.c (syntax_match): Use it.
11155
11156         * cmds.c: Import auto-fill-chars from FSF Emacs.
11157         (Vauto_fill_chars): New variables.
11158         (internal_self_insert): Check Vauto_fill_chars.
11159         (vars_of_cmds):
11160         Declare auto-fill-chars as a Lisp variable and initialize it.
11161
11162 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11163
11164         * fileio.c (Fmake_symbolic_link):
11165         (Ffile_symlink_p):
11166         Run handlers even if local machine doesn't have symlinks.
11167
11168 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11169
11170         * event-msw.c (mswindows_drain_windows_queue):
11171         Don't generate paint magic events for non-XEmacs frames.
11172
11173 2000-03-05  Andy Piper  <andy@xemacs.org>
11174
11175         * redisplay.c (redisplay_frame): generate_displayable_area and
11176         friends assumes that we are not in GC, we therefore have to make
11177         sure that this doesn't happen.
11178
11179         * gutter.c (calculate_gutter_size): generate_displayable_area
11180         assumes that we are not in GC, we therefore have to make sure that
11181         this doesn't happen.
11182
11183 2000-03-05  Martin Buchholz  <martin@xemacs.org>
11184
11185         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
11186
11187 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
11188
11189         * redisplay.c (regenerate_window): Make sure we set a sane value
11190         for end_pos even if we jump out of the loop.
11191         (regenerate_window): Answer Ben's question :-).
11192         (start_end_of_last_line): Add may_error argument.
11193         (start_of_last_line):
11194         (end_of_last_line): Pass may_error = 0.
11195         (end_of_last_line_may_error): New function.
11196         (pixel_to_glyph_translation): Use it, so we don't crash in
11197         event_to_glyph.
11198
11199 2000-03-04  Andy Piper  <andy@xemacs.org>
11200
11201         * window.h (struct window): add gutter_extent_modiff.
11202
11203         * window.c (allocate_window): zero out gutter_extent_modiff.
11204
11205         * redisplay.h: declare sync_display_line_structs.
11206
11207         * redisplay.c (add_glyph_rune): add a better comment.
11208
11209         * redisplay-output.c (sync_display_line_structs): made non-static.
11210         (compare_runes): remove unneccesary glyph cachel access.
11211
11212         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
11213
11214         * gutter.c (output_gutter): don't output the gutter if extent
11215         changes only involve extents in buffers. use 4 sets of display
11216         lines.
11217         (gutter_extent_signal_changed_region_maybe): new function. Mark
11218         extents in gutters as changed.
11219         (update_frame_gutters): use 4 sets of display lines.
11220         (reset_gutter_display_lines): ditto.
11221         (free_frame_gutters): ditto.
11222         (redraw_exposed_gutter): force output of gutters.
11223
11224         * frame.h (struct frame): add 4 sets of gutter display lines.
11225
11226         * extents.c: (extent_changed_for_redisplay): signal changes to
11227         extents in strings in the gutter as well as extents in buffers.
11228
11229 2000-03-02  Andy Piper  <andy@xemacs.org>
11230
11231         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
11232
11233         * frame.c (Fmake_frame): make sure the gutters get initialized
11234         after the frame is visible.
11235         (set_frame_selected_window): re-arrange compilation macros a
11236         little.
11237         (change_frame_size_1): mark gutters changed.
11238
11239         * device.c (Fset_device_class): mark gutters changed.
11240
11241 2000-03-01  Andy Piper  <andy@xemacs.org>
11242
11243         * window.c (window_top_frame_gutter_height): deleted.
11244         (window_bottom_frame_gutter_height): ditto.
11245         (window_left_frame_gutter_height): ditto.
11246         (window_right_frame_gutter_height): ditto.
11247         (window_top_gutter_height): don't use them.
11248         (window_bottom_gutter_height): ditto.
11249         (window_left_gutter_width): ditto.
11250         (window_right_gutter_width): ditto.
11251         (Fsplit_window): ditto.
11252         (Fwindow_pixel_edges): don't use border dimensions here.
11253
11254         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
11255         (update_scrollbar_instance): ditto.
11256
11257         * redisplay.c (generate_modeline): don't take gutters into account.
11258         (generate_modeline): ditto.
11259         (redisplay_frame): small gutter display optimization.
11260
11261         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
11262
11263         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
11264         gutters into account.
11265
11266         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
11267         for window position and type.
11268
11269         * gutter.c (get_gutter_coords): fix for frame gutters.
11270         (update_frame_gutters): update frame geometry if the gutters have
11271         changed.
11272         (init_frame_gutters): record current gutter geometries.
11273
11274         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
11275         var.
11276         (mswindows_widget_instantiate): ditto.
11277
11278         * frame.h (struct frame): add current_gutter_bounds.
11279
11280         * frame.c (change_frame_size_1): position window and minibuffer
11281         appropriately taking into account the frame gutters.
11282
11283         * frame-x.c: (x_initialize_frame_size): take into account the
11284         frame gutters.
11285
11286 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
11287
11288         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
11289
11290 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
11291
11292         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
11293
11294 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11295
11296         * file-coding.c (reset_decoding_stream): Clear previous
11297         detection state when autodetect.
11298
11299 2000-02-29  Didier Verna  <didier@xemacs.org>
11300
11301         * extents.c (set_extent_glyph_1): don't require extents to be
11302         attached.
11303
11304 2000-02-27  Andy Piper  <andy@xemacs.org>
11305
11306         * gutter.c (Fset_default_gutter_position): don't default left and
11307         right gutter visibility to t.
11308         (Fset_default_gutter_position): run
11309         default-gutter-position-changed-hook.
11310         (syms_of_gutter): add default-gutter-position-changed-hook.
11311
11312 2000-02-26  Andy Piper  <andy@xemacs.org>
11313
11314         * specifier.c (Fmake_specifier): add gutter references.
11315
11316         * gutter.h (RAW_WINDOW_GUTTER): new macro.
11317
11318         * lisp.h: declare Fvalid_plist_p.
11319
11320         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
11321         as changed.
11322         (default_gutter_visible_p_changed_in_window): invalidate gutter as
11323         well as its visibility so that it gets reconstructed.
11324         (construct_window_gutter_spec): new function. Construct a string
11325         to be displayed in the gutter from a plist of strings. Take care
11326         to only use elements that are declared as visible.
11327         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
11328         WINDOW_GUTTER.
11329         (gutter_validate): allow plists of strings in the specifier.
11330         (gutter_specs_changed): construct the real_gutter from the gutter
11331         specs using construct_window_gutter_spec.
11332         (gutter_visible_validate): gutter-visible is a new specifier type.
11333         (Fgutter_visible_specifier_p): new function for the new specifier.
11334         (syms_of_gutter): declare gutter-visible and
11335         Fgutter_visible_specifier_p.
11336         (specifier_type_create_gutter): intitalize new gutter-visible
11337         specifier.
11338         (reinit_specifier_type_create_gutter): ditto.
11339         (specifier_vars_of_gutter): use new specifier type for gutter
11340         visibility.
11341         (init_frame_gutters): construct real_gutter correctly.
11342         (Fgutter_specifier_p): beef up documentation.
11343         (Fgutter_size_specifier_p): ditto.
11344
11345         * winslots.h: add real_gutter slots.
11346
11347 2000-02-25  Andy Piper  <andy@xemacs.org>
11348
11349         * device-msw.c: Be kind to older cygwin versions. From Raymond
11350         Toy <toy@rtp.ericsson.se>.
11351
11352         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
11353         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
11354
11355 2000-02-25  Martin Buchholz  <martin@xemacs.org>
11356
11357         * elhash.c (MARK_OBJ): Practice macro hygiene.
11358
11359 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11360
11361         * miscplay.c: s/__inline__/inline/g;
11362         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
11363         (get_device_compdc): INLINE ==> static inline
11364         * *.[ch]: Change INLINE to INLINE_HEADER globally.
11365         find -name '*.h' | \
11366         xargs global-replace \
11367         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
11368
11369 2000-02-25  Andy Piper  <andy@xemacs.org>
11370
11371         * window.c (window_top_frame_gutter_height): new function.
11372         (window_top_window_gutter_height): ditto.
11373         (window_top_gutter_height): use them.
11374         (window_bottom_frame_gutter_height): new function.
11375         (window_bottom_window_gutter_height): ditto.
11376         (window_bottom_gutter_height): use them.
11377         (window_left_window_gutter_width): new function.
11378         (window_left_frame_gutter_width): ditto.
11379         (window_left_gutter_width): use them.
11380         (window_right_window_gutter_width): new function.
11381         (window_right_frame_gutter_width): ditto.
11382         (window_right_gutter_width): use them.
11383         (window_pixel_height): new function. calulate window pixel height
11384         with frame gutter involvement.
11385         (Fsplit_window): calculate new sizes taking frame gutters into
11386         account.
11387         (window_char_height_to_pixel_height): don't include frame gutters.
11388         (window_char_height): use window_pixel_height.
11389         (window_pixheight): rename from window_pixel_height.
11390         (change_window_height): use it.
11391         (window_pixel_height_to_char_height): don't include frame gutters.
11392         (window_char_width_to_pixel_width): ditto.
11393
11394 2000-02-25  Andy Piper  <andy@xemacs.org>
11395
11396         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
11397         if it is.
11398
11399 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11400
11401         * alloc.c (staticpro):
11402         (staticpro_nodump):
11403         (dumpstruct):
11404         (dumpopaque):
11405         (pdump_wire):
11406         (pdump_wire_list):
11407         (compact_string_chars):
11408         (pdump_dump_wired):
11409         Convert:  if (foo) abort();  ==>  assert (! foo);
11410
11411         * eldap.c (Fldap_search_basic):
11412         (Fldap_add):
11413         (Fldap_modify):
11414         (Fldap_delete):
11415         Fix compiler warnings, and possible crashes if (random) return
11416         value were to be used.
11417
11418 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11419
11420         * device-msw.c: Workaround ResetDC failure.
11421
11422         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
11423         applying a devmode.
11424
11425         * redisplay-msw.c (get_frame_dc): Added start_page_p.
11426         (mswindows_text_width): Do not start printer page.
11427
11428         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
11429
11430         * glyphs-msw.c: Added image methods to msprinter console and
11431         msprinter-specific image instantiation.
11432
11433 2000-02-20  Mike Alexander  <mta@arbortext.com>
11434
11435         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
11436         to avoid crashes when selection-sets-clipboard is on
11437         (mswindows_own_selection): ditto
11438
11439 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11440
11441         * glyphs-msw.c:
11442         * redisplay-msw.c (get_frame_dc):
11443         (get_frame_compdc):
11444         * console-msw.h:
11445         * device-msw.c (mswindows_init_device):
11446         (mswindows_delete_device):
11447         (msprinter_init_device):
11448         (msprinter_delete_device):
11449         * frame-msw.c (mswindows_init_frame_1):
11450         (mswindows_delete_frame):
11451         (msprinter_init_frame_3):
11452         (msprinter_delete_frame): Move compatible DC to device object from
11453         frame object, for both mswindows and msprinter. Only one at a time
11454         is needed, it is a real waste to have one per frame!
11455
11456 2000-02-23  Andy Piper  <andy@xemacs.org>
11457
11458         * glyphs.c: add dynamic width and height elements.
11459         (image_instance_equal): ditto.
11460
11461         * glyphs-widget.c (widget_query_geometry): calculate width and
11462         height dynamically if required.
11463         (initialize_widget_image_instance): initialize dynamic dimensions.
11464         (widget_instantiate): pick-up dynamic dimensions.
11465
11466         * glyphs.h (struct Lisp_Image_Instance): add width and height for
11467         dynamic determination. Add appropriate macros.
11468
11469         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
11470         dimensions safe.
11471         (WINDOW_GUTTER_SIZE): ditto.
11472         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
11473
11474         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
11475         inline.
11476         (get_frame_dc): ditto.
11477
11478         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
11479         here.
11480
11481 2000-02-23  Martin Buchholz <martin@xemacs.org>
11482
11483         * XEmacs 21.2.31 is released.
11484
11485 2000-02-22  Ben Wing <ben@xemacs.org>
11486
11487         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
11488
11489 2000-02-22  Andy Piper  <andy@xemacs.org>
11490
11491         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
11492
11493 2000-02-21  Mike Sperber <mike@xemacs.org>
11494
11495         * .dbxrc:
11496         * .gdbinit:
11497         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
11498         variables.
11499
11500 2000-02-21  Mike Sperber <mike@xemacs.org>
11501
11502         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
11503
11504 2000-02-21  Martin Buchholz <martin@xemacs.org>
11505
11506         * XEmacs 21.2.30 is released.
11507
11508 2000-02-20  Martin Buchholz  <martin@xemacs.org>
11509
11510         Performance hacking.
11511         * *.c (syms_of_*):
11512         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
11513         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
11514         * emacs.c (main_1):
11515         * lisp.h (DEFUN):
11516         * console.c (DEFVAR_CONSOLE_LOCAL_1):
11517         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
11518         * symeval.h (DEFVAR_SYMVAL_FWD):
11519         * symbols.c (guts_of_unbound_marker):
11520         Make all c_readonly objects also lisp_readonly and marked for life.
11521         * lrecord.h (struct lrecord_implementation):
11522         Document flags better.
11523         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
11524         * lrecord.h (DECLARE_LRECORD):
11525         * lrecord.h (XSETRECORD):
11526         * lrecord.h (RECORDP):
11527         * lrecord.h (RECORD_TYPEP):
11528         * lrecord.h (RECORD_MARKER): New.
11529         * lrecord.h (error_check_*):
11530         * lrecord.h (CONCHECK_NONRECORD):
11531         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
11532         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
11533         * lrecord.h (set_lheader_implementation):
11534         * lrecord.h (enum lrecord_type): New.
11535         * symeval.h (SYMBOL_VALUE_MAGIC_P):
11536         * alloc.c (disksave_object_finalization_1):
11537         * alloc.c (mark_object):
11538         * alloc.c (lrecord_type_index):
11539         * alloc.c (tick_lcrecord_stats):
11540         * alloc.c (Fgarbage_collect):
11541         * alloc.c (init_alloc_once_early):
11542         * alloc.c (pdump_load):
11543         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
11544         * alloc.c (lrecord_type_index): Delete.
11545         Make lisp object type indexes be constant.
11546           Makes (byte-compile) 5% faster.
11547         Put all marker functions into their own array.
11548           Makes (garbage-collect) 5% faster.
11549         Optimize SYMBOL_VALUE_MAGIC_P.
11550           Makes (byte-compile) 2-3% faster.
11551         * config.h.in (gc_checking_assert): New.
11552         * alloc.c: Use gc_checking_assert().
11553         * .dbxrc: Make compatible with new object type implementation.
11554         * .gdbinit: Make compatible with new object type implementation.
11555         * alloc.c: Delete all symbols defined only for debugging, such as
11556         Lisp_Type_Vector and lrecord_charset.
11557
11558 2000-02-21  Andy Piper  <andy@xemacs.org>
11559
11560         * gui-msw.c (Fmswindows_shell_execute): fix file location
11561         problems.
11562
11563         * buffer.c (Fkill_buffer): remove buffer from alist buffer
11564         unshowing so that set_window_buffer doesn't undo
11565         kill_buffer_hook's hard work.
11566
11567         * glyphs-widget.c (tab_control_query_geometry): don't count the
11568         first item when calculating geometry.
11569
11570         * glyphs.c (map_subwindow): remove redundant code.
11571         (update_frame_subwindows): be more circumspect about when to
11572         update subwindows.
11573
11574         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
11575         when items haven't changed. Update faces if faces have changed as
11576         well as just the widget face.
11577         (x_tab_control_update): Update faces if faces have changed as well
11578         as just the widget face.
11579
11580 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11581
11582         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
11583         registration.
11584         (build_syscolor_string): Use mswindows_color_to_string to try to
11585         get a named color.
11586         (mswindows_device_system_metrics): Reverse the foreground and
11587         background colors so that they match the documentation.
11588
11589         * objects-msw.c: (mswindows_X_color_map): tweak some values so
11590         they match the default Windows palette.
11591         (mswindows_color_to_string): New function.
11592
11593 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11594
11595         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
11596
11597 2000-02-18  Olivier Galibert  <galibert@pobox.com>
11598
11599         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
11600         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
11601
11602         * symbols.c (init_symbols_once_early): Removed obsolete
11603         DATA_SEG_BITS related kludge.
11604         (defvar_magic): Ditto.
11605
11606         * malloc.c: Removed obsolete DATA_SEG_BITS
11607         * ralloc.c: Ditto.
11608         * mem-limits.h: Ditto.
11609
11610         * Makefile.in.in: Removed obsolete HAVE_SHM
11611         * emacs.c: Ditto.
11612
11613 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11614
11615         *  device-msw.c (mswindows_delete_device): Free DDE string
11616         handles.
11617
11618 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11619
11620         * keymap.c (get_keyelt):
11621         * unexnt.c (unexec):
11622         * vm-limit.c (memory_warnings):
11623         * ntheap.c (recreate_heap):
11624         * ntheap.h (UNINIT_PTR):
11625         * select-msw.c (Fmswindows_get_clipboard):
11626         (Fmswindows_set_clipboard):
11627         * objects-msw.h (MSWINDOWS_BAD_HFONT):
11628         * objects-msw.c:
11629         * menubar-msw.c (displayable_menu_item):
11630         * glyphs-msw.c:
11631         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
11632         * sysdep.c (sys_subshell):
11633         * process-nt.c (nt_create_process):
11634         * nt.c (normalize_filename):
11635         (dostounix_filename):
11636         (unixtodos_filename):
11637         * ntproc.c (win32_executable_type):
11638         * ntplay.c (play_sound_data_1):
11639         (play_sound_file):
11640         * editfns.c (get_home_directory):
11641         * event-msw.c (struct winsock_stream):
11642         (mswindows_dde_callback):
11643         * device-msw.c (msprinter_init_device):
11644         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
11645
11646         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
11647         mswindows_clear_toolbar were swapped!
11648
11649         * objects-msw.c:(colormap_t):
11650         (fontmap_t):
11651         * emacs.c (struct standard_args): Fixed const jumble.
11652
11653         * glyphs-widget.c (update_widget): Fixed comparison notation.
11654
11655         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
11656
11657         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
11658         __declspec(noreturn) syntax.
11659
11660 2000-02-19  Martin Buchholz  <martin@xemacs.org>
11661
11662         * eldap.c (Fldap_open):
11663         (Fldap_search_basic):
11664         (Fldap_add):
11665         (Fldap_modify):
11666         Use new coding system conversion macros.
11667
11668 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11669
11670         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
11671
11672 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
11673
11674         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
11675         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11676
11677         * eldap.c (Qadd, Qreplace): New constant symbols
11678         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
11679         interruptions by XEmacs signals
11680         Remove unnecessary calls to slow_down_interrupts and
11681         speed_up_interrupts
11682         (Fldap_search_basic): Renamed from Fldap_search_internal
11683         Added new optional parameter VERBOSE that triggers the
11684         display of progress messages
11685         Remove unnecessary calls to slow_down_interrupts and
11686         speed_up_interrupts
11687         LDAP result code analysis rewritten
11688         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11689         (syms_of_eldap): Define the new symbols and functions
11690
11691
11692 2000-02-17  Martin Buchholz  <martin@xemacs.org>
11693
11694         * realpath.c: Determine PATH_MAX maximally portably.
11695
11696         * insdel.c (bytecount_to_charcount): Optimize.
11697         The function used to be optimized for entirely ASCII sequences.
11698         Now it is optimized for successive characters from the same
11699         charset.  This also wins big for _mostly_ ASCII sequences.
11700
11701         * fileio.c (Ffile_truename): convert return from realpath() using
11702         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
11703         - Rewrite GCPROing slightly.
11704
11705         * sysdep.c (sys_open): Do filename conversion, like all other
11706         sys_* functions.  Fixes bug:
11707         (let ((file-name-coding-system 'iso-8859-2))
11708            (write-region x y latin2-name))
11709         ==> writes filename using internal encoding.
11710
11711 2000-02-18  Martin Buchholz  <martin@xemacs.org>
11712
11713         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
11714         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
11715         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
11716         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
11717         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
11718         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
11719         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
11720         (CONST_IF_NOT_DEBUG): Delete.
11721         * alloc.c (this_one_is_unmarkable): Delete.
11722         (mark_object): Don't check for this_one_is_unmarkable. Use the
11723         c_readonly flag instead.
11724         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
11725
11726 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11727
11728         * event-msw.c (mswindows_drain_windows_queue):
11729         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
11730         away redundant repaint events.
11731
11732 2000-02-17  Andy Piper  <andy@xemacs.org>
11733
11734         * redisplay.h: declare mark_redisplay_structs.
11735
11736         * redisplay.c (redisplay_window):
11737         (redisplay_frame): don't check subwindows_state_changed.
11738         (mark_redisplay): mark gutters here.
11739
11740         * glyphs.c: (instantiate_image_instantiator): always layout if we
11741         haven't done so already.
11742         (allocate_image_instance): don't mark as dirty.
11743         (update_subwindow): bind inhibit_quit.
11744
11745         * gutter.c (mark_gutters): new function.
11746
11747         * glyphs-x.c (x_update_widget): Always resize to get round a
11748         widget bug.
11749
11750         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
11751         breaking absolutely everything.
11752
11753         * gutter.h: declare mark_gutters.
11754
11755 2000-02-16  Martin Buchholz <martin@xemacs.org>
11756
11757         * XEmacs 21.2.29 is released.
11758
11759 2000-02-15  Olivier Galibert  <galibert@pobox.com>
11760
11761         * fns.c (size_bit_vector): Fix computation of the size.
11762
11763 2000-02-15  Martin Buchholz  <martin@xemacs.org>
11764
11765         * *.[ch]: Change CONST to const globally.
11766         find -name '*.[ch]' | \
11767         xargs global-replace \
11768         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
11769         - Remove vestigial references to CONST_IS_LOSING
11770
11771 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11772
11773         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
11774         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
11775         events instead of dispatching them directly.
11776         (mswindows_handle_paint): New function to do repainting.
11777         (mswindows_wnd_proc):
11778         (emacs_mswindows_handle_magic_event): Call above function.
11779
11780 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11781
11782         * objects-msw.c (mswindows_create_font_variant): Return the new
11783         font handle.
11784         (initialize_font_instance): Get font metrics from the underlined
11785         variant of the font to cope with the case where the underlined
11786         font has a bigger descent.
11787
11788 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11789
11790         * gui.c (gui_item_accelerator): Return the first underlined
11791         character in item name.
11792
11793 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11794
11795         * lisp.h: Added Qprinter.
11796
11797         * general.c (syms_of_general): Initialized it.
11798
11799         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
11800         (get_frame_dc):
11801         (get_frame_compdc): Made inline.
11802
11803         * console.h (struct console_methods): Added eject_page method.
11804
11805         * frame.h: Added FRAME_DISPLAY_P and friends.
11806         Aligned backslahes in many macros in more readable fashion.
11807         Added page_number to struct frame, and an accessor macro
11808         for it.
11809
11810         * defice.h: Added DEVICE_DISPLAY_P and friends.
11811
11812         * device.c (Fdevice_printer_p): Used these.
11813
11814         * frame.c (allocate_frame_core): Initialize page number.
11815         (Fprint_job_page_number):
11816         (Fprint_job_eject_page): Implemented.
11817
11818         * frame-msw.c (msprinter_eject_page): Added method.
11819         (msprinter_start_page): Added.
11820
11821         * window.c (Fwindow_truncated_p): Fixed docstring.
11822         (Fwindow_last_line_visible_height): Implemented.
11823
11824 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11825
11826         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
11827
11828 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11829
11830         * syntax.c (scan_words): Always advance at least one character.
11831
11832 2000-02-13  Andy Piper  <andy@xemacs.org>
11833
11834         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
11835         to make sure the glyph is in the cachels.
11836
11837         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
11838         global image instance flag.
11839         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
11840         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
11841
11842         * glyphs.c (allocate_image_instance): set dirty bits correctly.
11843         (Fset_image_instance_property): mark layout as changed.
11844         (invalidate_glyph_geometry_maybe): mark layout as changed.
11845         (glyph_width): use new NEEDS_LAYOUT macro.
11846         (glyph_ascent): ditto.
11847         (glyph_descent): ditto.
11848         (glyph_height): ditto.
11849         (image_instance_layout): mark layout as clean after laying out.
11850         (update_subwindow): don't mark layout as clean here.
11851
11852         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
11853         should no longer be needed.
11854
11855         * glyphs-x.c (x_update_widget): sanitize asserts.
11856         (x_finalize_image_instance): sanitize assignment to widgets.
11857
11858         * glyphs-widget.c (widget_instantiate): don't need to clear the
11859         layout flag here.
11860
11861 2000-02-13  Martin Buchholz  <martin@xemacs.org>
11862
11863         * sysdep.c (getcwd): Use standard prototype.
11864         * sysdep.h (getcwd): Use standard prototype.
11865
11866         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
11867         (sequence, start, end).
11868         Remove redundant type checking.
11869         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
11870         view of `caller-protects') to avoid a crash where the real fix was
11871         found elsewhere.
11872
11873 2000-02-12  Martin Buchholz  <martin@xemacs.org>
11874
11875         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
11876
11877         * s/sol2.h: Remove feature macro initialization.
11878
11879         * alloc.c (alloc_lcrecord): Add more type checking assertions.
11880         (vector_hash): New.  Code from internal_hash.
11881         * lrecord.h:
11882         Fix up allocation subsystem comments.
11883
11884         * config.h.in: Add __EXTENSIONS__ for Solaris.
11885
11886         * systime.h (EMACS_GETTIMEOFDAY): New.
11887         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
11888         Remove Solaris-specific code.
11889         Use void* for the (ignored) second arg for gettimeofday().
11890
11891         * elhash.c (hash_table_hash): Implement it, finally.
11892         * elhash.c:  Use hashcode_t.
11893
11894         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
11895         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
11896
11897         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
11898         * fns.c (size_bit_vector):
11899         * alloc.c (size_vector):
11900         (make_vector_internal):
11901         (make_bit_vector_internal):
11902         (sweep_bit_vectors_1):
11903         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
11904
11905 2000-02-10  Martin Buchholz  <martin@xemacs.org>
11906
11907         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
11908         Include strings.h to avoid warnings for bzero and strcasecmp.
11909
11910 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11911
11912         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
11913         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
11914
11915         * fns.c (size_bit_vector): New.  Declare bit vectors as a
11916         sequence.
11917
11918 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11919
11920         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
11921         use a value field instead.
11922         (symbol_value_forward_forward): Use value field.
11923         (DEFVAR_SYMVAL_FWD): Use value field.
11924         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
11925         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
11926         (DEFVAR_CONST_INT): Ditto.
11927         (DEFVAR_BOOL): Ditto.
11928         (DEFVAR_CONST_BOOL): Ditto.
11929         (DEFVAR_INT_MAGIC): Ditto.
11930         (DEFVAR_BOOL_MAGIC): Ditto.
11931
11932         * symbols.c (guts_of_unbound_marker): Use value field.
11933         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
11934         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
11935
11936         * lisp.h: Declare dumpopaque and noninteractive1.
11937
11938         * alloc.c (dumpopaque): Added.
11939         (pdump_dump_opaquevec): Added.
11940         (pdump): Call pdump_dump_opaquevec to dump opaque data.
11941         (pdump_load): Reload opaque data.  Sync noninteractive1 with
11942         noninteractive.
11943
11944 2000-02-10  Andy Piper  <andy@xemacs.org>
11945
11946         * glyphs.c (image_instance_layout): if the size changes, mark it
11947         as such.
11948
11949         * redisplay-output.c (redisplay_output_layout): Update the
11950         subwindow here.
11951         (redisplay_output_subwindow): ditto.
11952
11953         * glyphs.c (update_subwindow): make sure we reset flags for
11954         layouts as well as everything else.
11955
11956         * glyphs-widget.c (layout_layout): don't need to set the instances
11957         dimensions here.
11958
11959 2000-02-09  Martin Buchholz  <martin@xemacs.org>
11960
11961         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
11962         not HAVE_DLOPEN, which is a lower-level thing.
11963
11964         * .cvsignore: Ignore gmon.out
11965
11966 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
11967
11968         * .cvsignore: Ignore portable dumper xemacs.dmp file
11969
11970 2000-02-09  Andy Piper  <andy@xemacs.org>
11971
11972         * redisplay-output.c (redisplay_output_layout): be more clever
11973         about when we output based on the changed flags.
11974
11975         * glyphs.h (struct image_instantiator_methods): add update_method.
11976         (struct Lisp_Image_Instance): add changed flags. Declare new
11977         macros for manipulating them.
11978
11979         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
11980         (image_instance_parent_glyph): find an image_instance's parent
11981         glyph or image_instance.
11982         (image_instance_layout): mark the size as changed.
11983         (set_image_instance_dirty_p): new function. mark an image
11984         instance, plus all of its parents, as dirty.
11985         (Fset_image_instance_property): use it.
11986         (Fglyph_animated_timeout_handler): use it.
11987         (update_subwindow): call update_widget and device methods for
11988         update_subwindow. Mark all changed flags as clean.
11989         (Fresize_subwindow): mark size as changed.
11990
11991         * glyphs-x.c (x_finalize_image_instance): try and detect gc
11992         failures.
11993         (x_update_subwindow): only resize subwindows here.
11994         (x_update_widget): new function. Update all changed properties of
11995         a widget.
11996         (x_resize_subwindow): deleted.
11997         (x_widget_set_property): deleted.
11998         (x_progress_gauge_set_property): deleted.
11999         (x_progress_gauge_update): new function. Implement recorded
12000         changes.
12001         (x_tab_control_update): ditto.
12002         (x_tab_control_set_property): deleted.
12003         (console_type_create_glyphs_x): declare new functions.
12004         (image_instantiator_format_create_glyphs_x): ditto.
12005
12006         * glyphs-widget.c (widget_set_property): mark text changed.
12007         (update_widget): new function. Update properties of a widget.
12008         (widget_instantiate): for layouts make sure we set their
12009         children's parent correctly.
12010         (tab_control_set_property): new function. Record changes that will
12011         take place under redisplay's control.
12012         (progress_gauge_set_property): ditto.
12013         (image_instantiator_progress_guage): declare new functions.
12014         (image_instantiator_tab_control): ditto.
12015
12016         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
12017         now.
12018         (mswindows_update_widget): new function. Update all properties on
12019         a widget that have changed.
12020         (mswindows_button_update): new function. Update a button's set
12021         state.
12022         (mswindows_tab_control_update): new function. Update the items in
12023         a tab.
12024         (mswindows_tab_control_set_property): deleted.
12025         (mswindows_progress_gauge_update): new function. Update the
12026         progress gauge's progress.
12027         (mswindows_widget_set_property): deleted. This is all done
12028         asynchronously now.
12029         (mswindows_progress_gauge_set_property): ditto.
12030         (console_type_create_glyphs_mswindows): declare new methods.
12031         (image_instantiator_format_create_glyphs_mswindows): ditto.
12032
12033         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
12034         (msprinter_set_frame_properties): ditto.
12035
12036         * console.h (struct console_methods): Add update_widget_method.
12037
12038 2000-02-09  Andy Piper  <andy@xemacs.org>
12039
12040         * gui-msw.c (Fmswindows_shell_execute): Make
12041         mswindows-shell-execute industrial strength.
12042
12043 2000-02-08  Martin Buchholz  <martin@xemacs.org>
12044
12045         * lrecord.h: Make macro argument `props' match member function `plist'.
12046         * fns.c (Fget):
12047         * fns.c (Fput):
12048         * fns.c (Fremprop):
12049         * fns.c (Fobject_plist):
12050         * alloc.c:
12051         * symbols.c:
12052         Object property list frobbing cleanup.
12053         - Allow any lisp object (compared with `eq'), not just symbols, as
12054           keys in object plists.
12055         - Move symbol plist frobbing into symbols.c, where it belongs.
12056         - Move string plist frobbing into alloc.c, where it belongs.
12057         - Everything's an lrecord now, so no need to test for symbolp, etc.
12058         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
12059
12060         * extents.c: Reorder code to remove declarations.
12061
12062         * frame.h (store_in_alist): Remove useless declaration.
12063
12064 2000-02-07  Martin Buchholz  <martin@xemacs.org>
12065
12066         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
12067         * config.h.in: Add HAVE_XCONVERTCASE.
12068
12069 2000-02-07  Andy Piper  <andy@xemacs.org>
12070
12071         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
12072         it breaks many things.
12073
12074 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
12075
12076         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
12077         actually can start a common comment type.
12078         * src/syntax.h (SYNTAX_END_P): ditto for end.
12079
12080 2000-02-07  Martin Buchholz <martin@xemacs.org>
12081
12082         * XEmacs 21.2.28 is released.
12083
12084 2000-02-06  Martin Buchholz  <martin@xemacs.org>
12085
12086         * event-Xt.c (x_keysym_to_character): New.
12087         (maybe_define_x_key_as_self_inserting_character): New.
12088         (x_has_keysym): New.
12089         Auto-define all keys on the keyboard as self-insert-key.
12090
12091 2000-02-02  Martin Buchholz  <martin@xemacs.org>
12092
12093         * menubar.c (vars_of_menubar): A small code simplification.
12094
12095         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
12096
12097         * ExternalShell.c:
12098         * ExternalClient.c:
12099         * EmacsShell-sub.c:
12100         * EmacsManager.c:
12101         * EmacsFrame.c:
12102         Use consistent style for specifying X resources.
12103
12104         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
12105         This makes (dontusethis-set-symbol-value-handler) actually usable.
12106
12107         * lrecord.h (lrecord_decription_type):
12108         * alloc.c (pdump_register_sub):
12109         (pdump_dump_data):
12110         (pdump_reloc_one):
12111         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
12112         Comply with XEmacs coding style.
12113         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
12114         args, and XD_LISP_OBJECT_ARRAY with 3 args.
12115
12116         * keymap.c (Faccessible_keymaps):
12117         Make (accessible-keymaps map "\C-h") do the Right Thing.
12118         Make (accessible-keymaps map []) do the Right Thing.
12119         Make (accessible-keymaps map "") do the Right Thing.
12120         (check_keymap_definition_loop): New function.
12121         (keymap_store_internal): Keep luser from shooting self in foot,
12122           via (define-key ctl-x-4-map "p" global-map).
12123         Remove fullness slot from struct Lisp_Keymap, since hash tables
12124         are now reliable.
12125         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
12126
12127 2000-01-30  Martin Buchholz  <martin@xemacs.org>
12128
12129         * redisplay.c (init_redisplay): Fix small memory leak.
12130         * elhash.h:
12131         * elhash.c (pdump_reorganize_hash_table):
12132         Rename from reorganize_hash_table. Change prototype.
12133         Reuse the original memory for hentries.  Save 100k.
12134         * alloc.c (PDUMP_READ): new macro.
12135         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
12136         * alloc.c: No need to #ifndef before #undef.
12137
12138         * print.c: Allow debug_print() to print readably by modifying
12139         debug_print_readably.  Use consistent variable names.
12140
12141         * .dbxrc: Try to get things to work even if stopped in a function
12142         without source available by explicitly specifying source files.
12143 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12144
12145         * unexnt.c (_start): Removed bogus code which caused loading heap
12146         from differrent executable file.
12147         Removed bogus assignment to _fmode, which caused inconsistencies.
12148
12149 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12150
12151         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
12152         Have spawnve encapsulation regard DONT_ENCAPSULATE.
12153         Do not preliminary `#define signal sigset'.
12154
12155         * systime.h: Do not prototype environ on windows nt and cygwin,
12156         this conflicts with system header.
12157
12158         * syssignal.h: Use correct define for WINDOWSNT
12159
12160         * sysdep.h: Do not prototype environ on windows nt, this conflicts
12161         with system header.
12162
12163         * sysdep.c (near start of file): Fixed commentary and rearranged
12164         ifdefs in readable order.
12165         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
12166         (start_of_text):
12167         (end_of_text):
12168         (end_of_data): Do not compile in if using PDUMP.
12169
12170         * symsinit.h: Prototyped vars_of_nt().
12171
12172         * ntproc.c (windows9x_p): Added, instead of os_subtype.
12173         (find_child_console): Use it.
12174         (sys_kill): Use it.
12175
12176         * ntheap.h: Do not extern os_subtype.
12177
12178         * ntheap.c (cache_system_info): Do not cache unneeded:
12179         nt_major_version, nt_minor_version and os_subtype.
12180         (recreate_heap): Do not compile in when PDUMPing.
12181
12182         * nt.c (geteuid and friends): Use the new varibale
12183         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
12184         (init_user_info): Removed the above mentioned hackery.
12185         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
12186         stat has been fixed in the C runtime.
12187         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
12188
12189         * file-coding.c (struct file_coding_dump): Do not define
12190         ucs_to_mule_table in the struct if not MULE.
12191         (struct struct lrecord_description fcd_description_1): Do not dump
12192         the above.
12193
12194         * emacs.c (main_1): Call vars_of_nt().
12195         (right before Fdump_emacs_data): Don't need lastfile if using both
12196         portabe dumper and system malloc.
12197
12198         * alloc.c (Fmemory_limit): Conditionalized out.
12199         (pdump): Use OPEN_BINARY for the portable dump file.
12200         (pdump_load): Ditto.
12201
12202 2000-02-02  Mike Alexander  <mta@arbortext.com>
12203
12204         * nt.c (convert_time): Set tm_isdst before calling mktime and
12205         avoid calling it at all if the compiler supports 64 bit integers.
12206         Also initialize utc_base_ft before using it.
12207
12208 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
12209
12210         * frame.c (change_frame_size_1): Take f->internal_border_width
12211         into consideration when calculating the width of the frame.
12212
12213 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12214
12215         * window.c (frame_min_height):
12216         (frame_size_valid_p):
12217         (frame_pixsize_valid_p): Added.
12218         (check_frame_size): Generalized.
12219
12220         * window.h: Prototyped the above.
12221
12222         * lisp.h:
12223         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
12224         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
12225         Deleted Vwin32_* and Vbinary_process_* unused variables.
12226
12227         * device-msw.c (msprinter_init_device): Do not get printer font
12228         list; Added DEVMODE functions.
12229
12230         * frame-msw.c: Added lots of printer code.
12231
12232         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
12233         general.c.
12234
12235         * console-msw.h: Added more msprinter device private slots.
12236
12237 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12238
12239         * event-msw.c (key_needs_default_processing_p): Added.
12240         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
12241
12242 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12243
12244         * glyphs.c (image_instance_layout): Mark image instance as clean
12245         after layout.
12246         (glyph_dirty_p): Removed redundant function.
12247         (invalidate_glyph_geometry_maybe): Added.
12248         (update_glyph_cachel_data): Call it.
12249
12250         * glyphs.h: Prototyped it.
12251
12252         * redisplay.c (add_glyph_rune): Call it.
12253         (redisplay_window): Reset glyphs cachels when frame faces have
12254         changed, thus forcing recomputation of built-in border glyphs.
12255
12256 2000-01-30  Martin Buchholz  <martin@xemacs.org>
12257
12258         * Makefile.in.in: Make portable dumper and purify play well together.
12259         Add imperfect, but better than nothing, support for pdump.
12260         Remove xemacs.dmp when temacs is re-generated.
12261         Don't ignore errors when dumping xemacs.
12262
12263         * symbols.c (maybe_call_magic_handler): Remove one magic number.
12264
12265 2000-01-28  Andy Piper  <andy@xemacs.org>
12266
12267         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
12268         (setup_normal_frame): ditto.
12269         (setup_frame_without_minibuffer): ditto.
12270         (setup_minibuffer_frame): ditto.
12271         (delete_frame_internal): ditto.
12272         (Fmake_frame_invisible): ditto.
12273         (Ficonify_frame): ditto.
12274
12275         * window.h: change Fset_window_buffer signature.
12276
12277         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
12278         (Fset_window_buffer): allow recording of buffer if the window is
12279         the selected window.
12280         (window_loop): Use new Fset_window signature.
12281
12282 2000-01-23  Daniel Pittman  <daniel@danann.net>
12283
12284         * config.h.in: Added template for `HAVE_ATHENA_3D'
12285
12286 2000-01-29  Andy Piper  <andy@xemacs.org>
12287
12288         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
12289
12290         * gutter.c (output_gutter): Don't output if the window isn't live.
12291
12292 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12293
12294         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
12295         of 01/12/00: Moved SetFocus back here where it belongs.
12296
12297 2000-01-23  Andy Piper  <andy@xemacs.org>
12298
12299         * s/cygwin32.h: declare printer things.
12300
12301 2000-01-26  Andy Piper  <andy@xemacs.org>
12302
12303         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
12304         Alexander.
12305
12306 2000-01-24  Andy Piper  <andy@xemacs.org>
12307
12308         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
12309         (mswindows_button_instantiate): Make sure glyph is a pixmap.
12310
12311         * glyphs-widget.c (widget_instantiate): Avoid shadows.
12312
12313         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
12314
12315         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
12316
12317         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
12318         (mswindows_output_display_block): Avoid local shadows.
12319
12320         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
12321         (mswindows_enqueue_mouse_button_event): ditto.
12322         (mswindows_handle_gui_wm_command): remove declaration.
12323
12324         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
12325         warnings.
12326
12327         * console-msw.h: Avoid shadows.
12328         (mswindows_get_toolbar_button_text):
12329         (emacs_mswindows_create_stream_pair):
12330         (emacs_mswindows_delete_stream_pair):
12331         (mswindows_handle_toolbar_wm_command): declare.
12332
12333         * device-msw.c (build_syscolor_string): Avoid shadows.
12334
12335 2000-01-23  Andy Piper  <andy@xemacs.org>
12336
12337         * glyphs-widget.c (widget_instantiate): reverse the items for
12338         layouts so that children are in the expected order.
12339
12340 2000-01-28  Martin Buchholz  <martin@xemacs.org>
12341
12342         * ralloc.c: safe_bcopy ==> memmove
12343         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
12344         * s/msdos.h: Remove BCOPY macros.
12345         * insdel.c (gap_right): Remove BCOPY conditional code.
12346         * insdel.c (gap_left): Remove BCOPY conditional code.
12347         XEmacs demands a working ANSI C compiler - hence memmove.
12348
12349         * regex.c (regex_compile): Remove accidental use of trigraphs.
12350
12351 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12352
12353         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
12354         event timestamp.
12355
12356 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12357
12358         * event-msw.c (mswindows_drain_windows_queue): Added the
12359         parameter.
12360         (mswindows_need_event): Commented the call to
12361         mswindows_drain_windows_queue().
12362         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
12363         only.
12364
12365         * console-msw.h: Moved a few function prototypes here from
12366         event-msw.c.
12367
12368         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
12369         parameter from unsigned short to unsigned long.
12370         (Fmswindows_shell_execute): Added return value.
12371
12372 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12373
12374         * sysdep.c (init_system_name):
12375           process-unix.c (unix_canonicalized_host_name):
12376         Don't call freeaddrinfo() if getaddrinfo() fails.
12377
12378         * process-unix.c (unix_open_unix_network_stream):
12379         Moved the code to get a port # into address loop.
12380
12381 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12382
12383         * buffer.c (reinit_vars_of_buffer):
12384         The right place to initialize conversion_in_dynarr and
12385         conversion_out_dynarr.
12386
12387         * alloc.c (pdump): Use the real open() till sys_open() is functional.
12388
12389         * process-unix.c (unix_canonicalize_host_name): Muleize.
12390         (unix_open_network_stream): Muleize.
12391
12392         * buffer.h: Fix up prototypes for ralloc.c functions.
12393
12394 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12395         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
12396         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
12397                 instead of gethostbyname()
12398         * process-unix.c: In unix_canonicalize_host_name() and
12399                 unix_open_network_stream(), add code to use getaddrinfo()
12400                 instead of gethostbyname().
12401
12402 2000-01-27  Daniel Pittman <daniel@danann.net>
12403
12404         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
12405         libs when built with flat Athena.
12406
12407 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12408
12409         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
12410         Use coding standards for function prototypes.
12411
12412 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12413
12414         * dialog-msw.c (push_lisp_string_as_unicode):
12415         * doc.c (unparesseuxify_doc_string):
12416         * dired.c (Fuser_name_completion_1):
12417         * dired.c (Fuser_name_all_completions):
12418         * dired.c (free_user_cache):
12419         * dired.c (user_name_completion):
12420         * console-x.c (get_display_arg_connection):
12421         * minibuf.c (clear_echo_area_internal):
12422         * minibuf.c (echo_area_append):
12423         * eldap.c (Fldap_open):
12424         * eldap.c (Fldap_search_internal):
12425         * frame-x.c (x_set_frame_text_value):
12426         * frame-x.c (x_set_frame_properties):
12427         * frame-x.c (x_create_widgets):
12428         * redisplay-tty.c (term_get_fkeys_1):
12429         * objects-x.c (x_parse_nearest_color):
12430         * objects-x.c (x_valid_color_name_p):
12431         * objects-x.c (x_initialize_font_instance):
12432         * objects-x.c (x_list_fonts):
12433         * objects-x.c (x_find_charset_font):
12434         * tooltalk.c (Fadd_tooltalk_message_arg):
12435         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12436         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12437         * process-unix.c (unix_create_process):
12438         * ntproc.c (sys_spawnve):
12439         * sound.c (Fplay_sound_file):
12440         * sound.c (Fplay_sound):
12441         * buffer.c (init_initial_directory):
12442         * buffer.c (init_buffer):
12443         * editfns.c (init_editfns):
12444         * editfns.c (Ftemp_directory):
12445         * editfns.c (Fuser_full_name):
12446         * editfns.c (uncache_home_directory):
12447         * editfns.c (get_home_directory):
12448         * editfns.c (Fuser_home_directory):
12449         * editfns.c (Fformat_time_string):
12450         * editfns.c (Fcurrent_time_string):
12451         * gui-x.c (button_item_to_widget_value):
12452         * database.c (Fopen_database):
12453         * event-Xt.c (x_to_emacs_keysym):
12454         * event-Xt.c (x_event_to_emacs_event):
12455         * event-Xt.c (describe_event_window):
12456         * event-msw.c (mswindows_wnd_proc):
12457         * glyphs-eimage.c (jpeg_instantiate):
12458         * glyphs-eimage.c (gif_instantiate):
12459         * glyphs-eimage.c (png_instantiate):
12460         * glyphs-eimage.c (tiff_instantiate):
12461         * glyphs-x.c (xbm_instantiate_1):
12462         * glyphs-x.c (x_xbm_instantiate):
12463         * glyphs-x.c (x_xface_instantiate):
12464         * glyphs-x.c (autodetect_instantiate):
12465         * glyphs-x.c (cursor_font_instantiate):
12466         * glyphs-x.c (x_widget_instantiate):
12467         * glyphs-x.c (x_widget_set_property):
12468         * glyphs-x.c (x_widget_property):
12469         * glyphs-x.c (BUILD_GLYPH_INST):
12470         * print.c (write_string_to_stdio_stream):
12471         * print.c (output_string):
12472         * print.c (Falternate_debugging_output):
12473         * print.c (Fexternal_debugging_output):
12474         * glyphs-msw.c (extract_xpm_color_names):
12475         * glyphs-msw.c (mswindows_xpm_instantiate):
12476         * glyphs-msw.c (bmp_instantiate):
12477         * glyphs-msw.c (resource_name_to_resource):
12478         * glyphs-msw.c (mswindows_resource_instantiate):
12479         * glyphs-msw.c (xbm_instantiate_1):
12480         * glyphs-msw.c (mswindows_xbm_instantiate):
12481         * glyphs-msw.c (mswindows_xface_instantiate):
12482         * glyphs-msw.c (mswindows_widget_instantiate):
12483         * glyphs-msw.c (add_tree_item):
12484         * glyphs-msw.c (add_tab_item):
12485         * glyphs-msw.c (mswindows_combo_box_instantiate):
12486         * glyphs-msw.c (mswindows_widget_property):
12487         * glyphs-msw.c (mswindows_combo_box_property):
12488         * glyphs-msw.c (mswindows_widget_set_property):
12489         * console.c (stuff_buffered_input):
12490         * objects-msw.c (mswindows_initialize_color_instance):
12491         * objects-msw.c (mswindows_valid_color_name_p):
12492         * objects-msw.c (mswindows_list_fonts):
12493         * objects-msw.c (mswindows_font_instance_truename):
12494         * bytecode.c (optimize_compiled_function):
12495         * select-x.c (symbol_to_x_atom):
12496         * select-x.c (x_atom_to_symbol):
12497         * select-x.c (hack_motif_clipboard_selection):
12498         * select-x.c (selection_data_to_lisp_data):
12499         * select-x.c (lisp_data_to_selection_data):
12500         * select-x.c (Fx_get_cutbuffer_internal):
12501         * select-x.c (Fx_store_cutbuffer_internal):
12502         * buffer.h (TO_EXTERNAL_FORMAT): New function.
12503         * buffer.h (TO_INTERNAL_FORMAT): New function.
12504         * emacs.c (make_arg_list_1):
12505         * emacs.c (make_argc_argv):
12506         * emacs.c (main_1):
12507         * emacs.c (Fdump_emacs):
12508         * emacs.c (split_string_by_emchar_1):
12509         * file-coding.h:
12510         * lisp.h:
12511         * lstream.h:
12512         * symsinit.h:
12513         * device-x.c (x_init_device):
12514         * device-x.c (Fx_valid_keysym_name_p):
12515         * device-x.c (Fx_get_font_path):
12516         * device-x.c (Fx_set_font_path):
12517         * glyphs.c (bitmap_to_lisp_data):
12518         * glyphs.c (pixmap_to_lisp_data):
12519         * alloc.c (make_ext_string): Use coding system arguments.  Update
12520         all callers.
12521         * alloc.c (build_string):
12522         * callproc.c (child_setup):
12523         * callproc.c (init_callproc):
12524         * fileio.c (lisp_strerror):
12525         * fileio.c (directory_file_name):
12526         * fileio.c (Fexpand_file_name):
12527         * fileio.c (Ffile_truename):
12528         * fileio.c (Fsysnetunam):
12529         * fileio.c (Fdo_auto_save):
12530         * sysdep.c (sys_readdir):
12531         * tests.c: New file.  Allow adding C tests.
12532         Replace GET_* macros with a more comprehensible and flexible
12533         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
12534         Modify all calls.
12535         Any coding system can be used to do format conversion.
12536         Eliminate enum external_data_format.
12537         Eliminate convert_to_external_format.
12538         Eliminate convert_to_internal_format.
12539         Make sure file-name, keyboard, terminal, and ctext are always
12540         defined as coding systems or aliases.  Make
12541         file-name-coding-system, terminal-coding-system, and
12542         keyboard-coding-system magical variables that are equivalent to
12543         defining the corresponding coding system aliases.
12544
12545         * file-coding.c (Fcoding_system_canonical_name_p): New function.
12546         * file-coding.c (Fcoding_system_alias_p): New function.
12547         * file-coding.c (Fcoding_system_aliasee): New function.
12548         * file-coding.c (append_suffix_to_symbol): New function.
12549         * file-coding.c (dangling_coding_system_alias_p): New function.
12550         * file-coding.c (Ffind_coding_system):
12551         * file-coding.c (Fcopy_coding_system):
12552         * file-coding.c (encode_coding_no_conversion):
12553         * file-coding.c (syms_of_file_coding):
12554         * file-coding.c (vars_of_file_coding):
12555         Rewrite coding system alias code.
12556         Allow nested aliases, like symbolic links.
12557         Allow redefinition of coding system aliases.
12558         Prevent existence of dangling coding system aliases.
12559
12560         * dired.c (Fuser_name_completion_1):
12561         * dired.c (Fuser_name_all_completions):
12562         A crash would happen if user did QUIT in the middle of building
12563         user_name_cache.  Remove redundant code in mainline and unwind_protect.
12564
12565         * lisp.h:
12566         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
12567
12568         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
12569         an unsigned char *.  Update all callers.
12570
12571 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12572
12573         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
12574
12575 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12576
12577         * elhash.c (hentry_description): Use more portable definition.
12578         (resize_hash_table): Initialize new hentries using
12579         xnew_array_and_zero, thereby simplifying the code.
12580
12581         * mule-charset.c (make_charset): Make sure entire object is
12582         initialized, to avoid Purify warnings.
12583
12584         * alloc.c (resize_string): Fix unlikely crash with big strings.
12585
12586 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12587
12588         * realpath.c (xrealpath):
12589         Don't call getwd().
12590
12591 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12592
12593         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
12594
12595 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
12596
12597         * unexelfsgi.c (unexec): Change the way we decide which segment
12598         should be extended.
12599
12600         Assumption that .bss section should be outside the PT_LOADable
12601         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
12602         it's present) is inside the 'data' segment. This would fail the
12603         test which was used to find a segment to grow and cover new
12604         heap. Instead of this assumption, I created another one - on IRIX
12605         the segment to grow should start below .bss and it's address
12606         should extent above the end of .bss. Once this segment is
12607         identified, it's grown to accommodate the new heap and new
12608         zero-length .bss section is added at the end of .data2.
12609
12610 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12611
12612         * eval.c (Feval): Wrong number of arguments should use original
12613         function, not the indirect_function version of it.
12614
12615 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
12616
12617         * glyphs-x.c (x_button_instantiate): Don't add image if
12618         it is not a pixmap.
12619         (x_locate_pixmap_file): Call Fexpand_file_name when file name
12620         is relative.
12621
12622 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
12623
12624         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
12625         declaration.
12626         (DEFVAR_INT_MAGIC): Ditto.
12627         (DEFVAR_BOOL_MAGIC): Ditto.
12628         * glyphs.h: Reindent backslash.
12629
12630 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12631
12632         * glyphs-widget.c (layout_query_geometry):
12633         (layout_layout): Use correct types for gheight, gwidth.
12634
12635 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12636
12637         * EmacsManager.c (QueryGeometry): Purified.
12638
12639 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12640
12641         * alloc.c (make_float): Make sure entire object is initialized, to
12642         avoid Purify warnings.
12643         (pdump_register_sub): Remove useless assignment.
12644         (pdump): Use xmalloc, not malloc.
12645         (pdump_load): Use xmalloc, not malloc.
12646
12647 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12648
12649         * callproc.c:
12650         * dired-msw.c:
12651         * fileio.c:
12652         * process-nt.c:
12653         * redisplay-msw.c:
12654         * sysdep.c: Removed redundant #include <windows.h>
12655
12656 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12657
12658         * frame.c (delete_frame_internal): Do not delete device when its
12659         implementation so declares.
12660         (delete_frame_internal): Set device selected frame to nil when
12661         last frame goes away.
12662
12663         * device-msw.c (msprinter_device_system_metrics): Implemented.
12664         (mswindows_device_system_metrics): Added 'device-dpi property.
12665
12666         * device.c: (Fdevice_printer_p): Added.
12667         Added 'offset-workspace device metric.
12668
12669         * console.h (device_metrics): Declared DM_offset_workspace.
12670
12671 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12672
12673         * fileio.c (Ffile_truename): Remove pointless and confusing
12674         initialization of elen.
12675
12676         * glyphs-widget.c: Compiler warning fixes.
12677
12678 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
12679
12680         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
12681         instead of a Lisp_Object as argument to make it consistent with
12682         the other LIVE_P macros.
12683         (CHECK_LIVE_PROCESS): New macro.
12684
12685         * process.c: Declare Qprocess_live_p.
12686         (Fprocess_live_p): New function.
12687         (create_process): Use PROCESS_LIVE_P.
12688         (read_process_output): Ditto.
12689         (set_process_filter): Ditto.
12690         (Fdelete_process): Ditto.
12691         (kill_buffer_processes): Ditto
12692         (process_send_signal): Use CHECK_LIVE_PROCESS.
12693         (Fprocess_input_coding_system): Check whether process is still
12694         alive (fix PR#1061).
12695         (Fprocess_output_coding_system): Ditto.
12696         (Fprocess_coding_system): Ditto.
12697         (Fset_process_input_coding_system): Ditto.
12698         (Fset_process_output_coding_system): Ditto.
12699
12700 2000-01-23  Andy Piper  <andy@xemacs.org>
12701
12702         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
12703         layout and widget.
12704
12705         * glyphs.c (mark_image_instance): take into account changed
12706         image_instance format.
12707         (image_instance_equal): ditto.
12708         (image_instance_hash): ditto.
12709
12710         * glyphs-widget.c (widget_instantiate): Incorporate layout
12711         instantiation here. Delay layout of the layout until later.
12712         (layout_instantiate): deleted.
12713         (layout_query_geometry): new function. get the geometry of a
12714         layout.
12715         (layout_layout): layout a layout dynamically.
12716         (image_instantiator_widget): New function - splitting up
12717         image_instantiator_format_create_glyphs_widget for netwinder
12718         compilation.
12719         (image_instantiator_buttons):
12720         (image_instantiator_edit_fields):
12721         (image_instantiator_combo_box):
12722         (image_instantiator_scrollbar):
12723         (image_instantiator_progress_guage):
12724         (image_instantiator_tree_view):
12725         (image_instantiator_tab_control):
12726         (image_instantiator_labels):
12727         (image_instantiator_layout): ditto.
12728         (image_instantiator_format_create_glyphs_widget): Call preceding
12729         functions.
12730
12731 2000-01-22  Martin Buchholz  <martin@xemacs.org>
12732
12733         * process.c (Fset_process_coding_system):
12734         * device-x.c (Fx_keysym_hash_table):
12735         Docstring fixes.
12736
12737         * lstream.c (Lstream_write): Return documented value, not 0.
12738
12739         * fileio.c (directory_file_name):
12740         (Fsubstitute_in_file_name):
12741         (Fsubstitute_insert_file_contents_internal):
12742         (Fwrite_region_internal):
12743         * emacs.c:
12744         * sysdep.c:
12745         * getloadavg.c:
12746         * systty.h:
12747         Remove vestigial APOLLO-conditional code.
12748
12749 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12750
12751         * getpagesize.h: Add guard macros.
12752         * libsst.h: Add guard macros.
12753         * libst.h: Add guard macros.
12754         * line-number.h: Add guard macros.
12755         * ndir.h: Add guard macros.
12756         * sysfloat.h: Add guard macros.
12757         * sysfile.h: Add guard macros.
12758         * sysproc.h: Add guard macros.
12759         * syswait.h: Add guard macros.
12760         * xintrinsic.h: Add guard macros.
12761         * xintrinsicp.h: Add guard macros.
12762         * xmmanager.h: Add guard macros.
12763         * xmmanagerp.h: Add guard macros.
12764         * xmprimitive.h: Add guard macros.
12765         * xmu.h: Add guard macros.
12766         * gpmevent.h: Add copyright statement. Add guard macros.
12767         * miscplay.h: Add guard macros.
12768         * *.h: Use consistent C-standards-approved guard macro names.
12769
12770         * opaque.c (make_opaque): Switch parameter order.
12771         * opaque.h (make_opaque): Switch parameter order.
12772         Update all callers.
12773         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
12774
12775         * config.h.in (type_checking_assert): Added.
12776         (bufpos_checking_assert): Added.
12777
12778 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12779
12780         * alloc.c: Harmless pdump changes.
12781         - Use countof().
12782         - spell alignment correctly.
12783         * sysdep.c: Use countof()
12784
12785 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12786
12787         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
12788         initially_selected_for_input() console method, default to 0.
12789         (semi_canonicalize_console_connection): Try to delegate to
12790         canonicalize_console_connection if no such console method.
12791         (canonicalize_console_connection): Vice versa.
12792         (print_console): Do not print nil connection.
12793
12794         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
12795         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
12796         (XDEVIMPF_FRAMELESS_OK): Added.
12797         (CONSOLE_INHERITS_METHOD): Added.
12798
12799         * console-msw.c (mswindows_canonicalize_console_connection):
12800         Added.
12801         (mswindows_canonicalize_device_connection): Added.
12802
12803         * console-msw.h (struct msprinter_device): Added this struct and
12804         accessor macros.
12805         (mswindows_device): Made fontlist a lisp object.
12806
12807         * device.c (semi_canonicalize_device_connection):  Try to delegate
12808         to canonicalize_device_connection if no such console method.
12809         (canonicalize_device_connection): Vice versa.
12810         (print_device): Do not print nil connection.
12811
12812         * device-msw.c (mswindows_init_device): Call InitCommonControls
12813         when have widgets.
12814         (mswindows_delete_device): Removed fontlist deallocation.
12815         (mswindows_mark_device): Added.
12816
12817         * events.c (event_equal): Added abort() at unreached code.
12818         (event_hash): Ditto.
12819
12820         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
12821         fallback tags of Windows devices.
12822
12823         * general.c (syms_of_general): Initialized Qmsprinter.
12824
12825         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
12826         of fallback tags of Windows devices.
12827
12828         * lisp.h: Declared Qmsprinter.
12829
12830         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
12831         of strings.
12832         (mswindows_list_fonts): Ditto.
12833         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
12834         that it can be used by both mswindows and msprinter devices.
12835         (initialize_font_instance): Added.
12836         (mswindows_initialize_font_instance): Use it.
12837         (msprinter_initialize_font_instance): Added.
12838
12839         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
12840         and implementation flags check.
12841         (redisplay_without_hooks): Changed the call to the above.
12842         (Fredraw_device): Ditto.
12843         (Fredisplay_device): Ditto.
12844
12845         * redisplay-msw.c (get_frame_dc): Implemented.
12846         (get_frame_compdc): Implemented.
12847         (many functions): Use the two functions above to get device
12848         contexts, ether for a window or a printer.
12849
12850 2000-01-21  Olivier Galibert  <galibert@pobox.com>
12851
12852         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
12853         initialization here.
12854         (init_symbols_once_early): Call it.
12855         * emacs.c (main_1): Call it.
12856         * symsinit.h: Declare it.
12857
12858 2000-01-19  Olivier Galibert  <galibert@pobox.com>
12859
12860         * alloc.c: Use a lrecord_header * in the backtrace instead of a
12861         Lisp_Object.
12862         (pdump_backtrace): Ditto.
12863         (pdump_register_object): Ditto.  Cleanup use of the pointers.
12864         (pdump_get_entry): Abort if trying to register a null pointer.
12865         (pdump_dump_data): Cleanup types when relocating.
12866         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
12867         (pdump_dump_rtables): Remove bad casts.
12868         (pdump_load): Cleanup relocation w.r.t union type.  Use a
12869         Lisp_Object instead of a EMACS_INT for the hashtable
12870         reorganization.
12871
12872 2000-01-20  Martin Buchholz  <martin@xemacs.org>
12873
12874         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
12875
12876         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
12877
12878         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
12879
12880         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
12881
12882 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12883
12884         * faces.h (FACE_STRIKETHRU_P): Added.
12885
12886         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
12887         of font variants.
12888
12889         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
12890         (mswindows_set_dc_font): New function, aware of font variants,
12891         separated from mswindows_update_dc.
12892
12893         * objects-msw.h (struct mswindows_font_instance_data): Added
12894         definition.
12895
12896         * objects-msw.c (mswindows_finalize_font_instance): Delete all
12897         cached fonts and the data structure.
12898         (mswindows_initialize_font_instance): Added creation of font data
12899         structure.
12900         (mswindows_print_font_instance): Print at least something.
12901         (mswindows_create_font_variant): Implemented.
12902         (mswindows_get_hfont): Implemented.
12903
12904 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
12905
12906         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
12907         prototyping problem with msvc.
12908
12909         * emacs.c (main_1): added syms_of_gui_mswindows() call
12910
12911         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
12912         syms_of_gui_mswindows() function
12913
12914         * symsinit.h: added the prototype for syms_of_gui_mswindows()
12915
12916 2000-01-18  Martin Buchholz <martin@xemacs.org>
12917
12918         * XEmacs 21.2.27 is released.
12919
12920 2000-01-18  Martin Buchholz  <martin@xemacs.org>
12921
12922         * glyphs-eimage.c (struct tiff_error_struct):
12923         (tiff_error_func):
12924         (tiff_warning_func):
12925         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
12926
12927         * unexmips.c:
12928         * unexhp9k3.c:
12929         * unexfreebsd.c:
12930         * unexec.c: Remove vestigial Lucid C code.
12931         * unexalpha.c:
12932         * unexaix.c:
12933         * termcap.c:
12934         * libsst.c: Ansify.
12935         Remove declarations of errno and strerror().
12936
12937         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
12938
12939         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
12940
12941 2000-01-16  Martin Buchholz  <martin@xemacs.org>
12942
12943         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
12944         Optimize.
12945
12946 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12947
12948         * md5.c:
12949         * file-coding.c:
12950         * file-coding.h:
12951         Change enum eol_type to eol_type_t.
12952
12953 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12954
12955         * gui.c (get_gui_callback): Check cons before accessing car.
12956
12957 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12958
12959         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
12960         (XSETSPECIFIER_TYPE): Ditto.
12961
12962 2000-01-17  Didier Verna  <didier@xemacs.org>
12963
12964         * redisplay.c (generate_fstring_runes): compute string size in
12965         characters, not bytes.
12966
12967 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12968
12969         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
12970
12971 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
12972
12973         * print.c (print_error_message): Call print_prepare().
12974
12975 2000-01-14  Martin Buchholz  <martin@xemacs.org>
12976
12977         * .dbxrc: Renamed from dbxrc.
12978
12979         * events.c (event_to_character):
12980         Use `assert (foo)' instead of `if (!foo) abort()'
12981
12982         * .gdbinit (xtype): Add documentation.
12983         * .gdbinit (check-temacs): New function.
12984         * .gdbinit (check-xemacs): New function.
12985         * dbxrc (check-xemacs): New function.
12986         * dbxrc (check-xemacs): New function.
12987
12988 2000-01-14  Andy Piper  <andy@xemacs.org>
12989
12990         * glyphs-widget.c (widget_query_geometry): Make sure that we
12991         calculate default dimensions correctly.
12992
12993 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12994
12995         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
12996
12997         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
12998         pdump_wire'd variable.
12999
13000         * emacs.c: (main_1): Conditionalized calls to
13001         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
13002
13003 2000-01-13  Martin Buchholz  <martin@xemacs.org>
13004
13005         * window.c (Fset_window_configuration):
13006         * sysdep.c (_start):
13007         * input-method-motif.c (res):
13008         * event-Xt.c (Xt_process_to_emacs_event):
13009         Simple compiler warning fixes.
13010
13011         * bytecode.c (funcall_compiled_function): Use the original
13012         function symbol on the backtrace list in preference to the
13013         compiled_function object in error messages.
13014
13015 2000-01-13  Andy Piper  <andy@xemacs.org>
13016
13017         * glyphs-x.c (update_widget_face): Make sure we update the widget
13018         background as well as foreground.
13019
13020 2000-01-13  Andy Piper  <andy@xemacs.org>
13021
13022         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
13023         fields to subwindow.
13024         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
13025         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
13026         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
13027         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
13028
13029         * glyphs-widget.c (check_valid_tab_orientation): new function.
13030         (initialize_widget_image_instance): zero orientation and
13031         justification.
13032         (widget_instantiate): pick up orientation.
13033         (tab_control_query_geometry): return appropriate values for
13034         vertical tabs.
13035
13036         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
13037         appropriate creation flags for left, right and bottom tabs.
13038
13039         * s/cygwin32.h: add tab definitions.
13040
13041 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13042
13043         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
13044         frame upon hiding a subwindow.
13045         (mswindows_button_instantiate): Changed the push button style to
13046         BS_PUSHBUTTON.
13047         (mswindows_button_instantiate): Removed button BS_NOTIFY
13048         style.
13049         (mswindows_button_instantiate): Removed redundant check for
13050         a disabled gui item.
13051         (mswindows_button_instantiate): Made use of WS_TABSTOP
13052         consistent: "operable" controls (edit, button, tree, scroll) have
13053         this style, "display-only" ones (static, progress gauge) do
13054         not. This style is currently ignored by XEmacs though. Also,
13055         removed the WS_EX_CONTROLPARENT style - it is not for children,
13056         it is for their parents!
13057         (mswindows_edit_field_instantiate): Ditto.
13058         (mswindows_progress_gauge_instantiate): Ditto.
13059         (mswindows_tree_view_instantiate): Ditto.
13060         (mswindows_tab_control_instantiate): Ditto.
13061         (mswindows_scrollbar_instantiate): Ditto.
13062         (mswindows_combo_box_instantiate): Ditto.
13063         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
13064         style to the "clip" window.
13065         (mswindows_button_instantiate): Removed compilation warning by
13066         equally typing terms of the ?: operator.
13067
13068 2000-01-12  Didier Verna  <didier@xemacs.org>
13069
13070         * redisplay.c (generate_fstring_runes): new parameter holding the
13071         last modeline-format extent.
13072         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
13073         extent, fill the glyph block with it.
13074         (generate_fstring_runes): handle these parameters.
13075         (generate_formatted_string_db): ditto.
13076
13077         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
13078         glyphs'extents in the modeline.
13079
13080 1999-01-11  Mike Woolley  <mike@bulsara.com>
13081
13082         * ntheap.c: Reduced the reserved heap space from 1Gb down to
13083         256Mb, as a workaround for the non-starting problem many people
13084         have experienced.
13085
13086 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13087
13088         * console-tty.c (Fset_console_tty_output_coding_system):
13089         Force redrawing tty frame.
13090
13091 2000-01-10  Didier Verna  <didier@xemacs.org>
13092
13093         * redisplay.c (generate_fstring_runes): fix size computation bug.
13094
13095 2000-01-09  William M. Perry <wmperry@aventail.com>
13096
13097         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
13098
13099 2000-01-09  Andy Piper  <andy@xemacs.org>
13100
13101         * glyphs-msw.c: index -> i to avoid shadows.
13102         (xbm_create_bitmap_from_data): make static.
13103         (check_valid_string_or_int): deleted.
13104         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
13105
13106         * glyphs-x.c (x_update_subwindow): remove unused args.
13107
13108         * glyphs.c (glyph_image_instance): return the thing. Don't set the
13109         back pointer - this is done in allocate_image_instance.
13110         (query_string_font): return Qnil to make the compiler happy.
13111         (unmap_subwindow): set to ~0 to make the compiler happy.
13112         (glyph_query_geometry): comment out until used.
13113         (glyph_layout): ditto.
13114
13115 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
13116
13117         * insdel.c (signal_after_change): Remove extraneous unbind_to().