Sync up with r21-4-11-chise-0_21-=big5.
[chise/xemacs-chise.git] / src / ChangeLog
1 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2
3         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
4         (syms_of_mule_charset): Add new symbol `=big5' instead of
5         `chinese-big5'.
6         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
7
8 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
9
10         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
11         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
12         `korean-ksc5601'.
13         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
14         `=ks-x1001'.
15
16 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
17
18         * mule-charset.c (Qmap_jis_x0212): Renamed from
19         `Qjapanese_jisx0212'.
20         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
21         `japanese-jisx0212'.
22         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
23         `=jis-x0212'.
24
25 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
26
27         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
28         `Qjapanese_jisx0208'.
29         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
30         of `japanese-jisx0208'.
31         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
32         `=jis-x0208-1983'.
33
34 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
35
36         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
37         `Qjapanese_jisx0208_1978'.
38         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
39         of `japanese-jisx0208-1978'.
40         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
41         `=jis-x0208-1978'.
42
43 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
44
45         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
46         only for XEmacs CHISE.
47
48 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
49
50         * char-ucs.h: Compact non-ISO-IR charset-ids.
51         (LEADING_BYTE_UCS): Changed to -177.
52         (LEADING_BYTE_CONTROL_1): Changed to -77.
53         (LEADING_BYTE_UCS_BMP): Changed to -176.
54         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
55
56 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
57
58         * mule-charset.c (Qiso_ir): New variable.
59         (Fmake_charset): Recognise new property `iso-ir'.
60         (syms_of_mule_charset): Add new symbol `iso-ir'.
61
62 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
63
64         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
65         n to -n; charset-id of non ISO-IR sets are changed to positive
66         numbers.
67
68 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
69
70         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
71         of `ucs'.
72         (Qmap_ucs): New variable.
73         (syms_of_mule_charset): Add new symbol `=ucs'.
74         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
75
76         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
77
78         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
79
80         * char-ucs.h (Qmap_ucs): New extern variable.
81
82 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
83
84         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
85         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
86         don't define it when UTF2000 is not defined.
87         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
88         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
89         when UTF2000 is not defined.
90         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
91         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
92
93 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
94
95         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
96
97         * mule-charset.c (Vcharset_ucs_gb): Deleted.
98         (Qucs_gb): Deleted.
99         (syms_of_mule_charset): Delete `ucs-gb'.
100         (complex_vars_of_mule_charset): Likewise.
101
102 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
103
104         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
105
106         * mule-charset.c (Vcharset_ucs_cns): Deleted.
107         (Qucs_cns): Deleted.
108         (syms_of_mule_charset): Delete `ucs-cns'.
109         (complex_vars_of_mule_charset): Likewise.
110
111 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
112
113         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
114
115         * mule-charset.c (Vcharset_ucs_jis): Deleted.
116         (Qucs_jis): Deleted.
117         (syms_of_mule_charset): Delete `ucs-jis'.
118         (complex_vars_of_mule_charset): Likewise.
119
120 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
121
122         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
123
124         * mule-charset.c (Vcharset_ucs_ks): Deleted.
125         (Qucs_ks): Deleted.
126         (syms_of_mule_charset): Delete `ucs-ks'.
127         (complex_vars_of_mule_charset): Likewise.
128
129 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
130
131         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
132         (Qideograph_daikanwa_2): Deleted.
133         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
134         (complex_vars_of_mule_charset): Likewise.
135
136         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
137         (LEADING_BYTE_DAIKANWA_1): Deleted.
138         (LEADING_BYTE_DAIKANWA_2): Deleted.
139         (MIN_CHAR_DAIKANWA): Deleted.
140         (MAX_CHAR_DAIKANWA): Deleted.
141
142 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
143
144         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
145         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
146         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
147
148         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
149         (Vcharset_ideograph_daikanwa): Deleted.
150         (Qideograph_hanziku_{1..12}): Deleted.
151         (Qideograph_daikanwa): Deleted.
152         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
153         Vcharset_ideograph_daikanwa.
154         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
155         `ideograph-hanziku-{1..12}'.
156         (complex_vars_of_mule_charset): Likewise.
157
158 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
159
160         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
161
162         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
163         (Qideograph_gt_pj_{1..11}): Deleted.
164         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
165         (complex_vars_of_mule_charset): Likewise.
166
167 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
168
169         * mule-charset.c (Vcharset_ucs_big5): Deleted.
170         (Vcharset_ideograph_gt): Deleted.
171         (Qucs_big5): Deleted.
172         (Qideograph_gt): Deleted.
173         (syms_of_mule_charset): Delete symbol `ucs-big5' and
174         `ideograph-gt'.
175         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
176         and `ideograph-gt'.
177
178         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
179         (LEADING_BYTE_GT): Deleted.
180         (GC_CHARSETP): Deleted.
181         (MIN_CHAR_GT): Deleted.
182         (MAX_CHAR_GT): Deleted.
183
184 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
185
186         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
187
188 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
189
190         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
191         (Qideograph_cbeta): Deleted.
192         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
193         (complex_vars_of_mule_charset): Likewise.
194
195         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
196         (MIN_CHAR_CBETA): Comment out.
197         (MAX_CHAR_CBETA): Likewise.
198
199 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
200
201         * mule-charset.c (charset_lookup_description_1): Use
202         `NUM_LEADING_BYTES' in UTF-2000.
203
204 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
205
206         * mule-charset.c (Vcharset_china3_jef): Deleted.
207         (Qchina3_jef): Deleted.
208         (syms_of_mule_charset): Don't define `china3-jef'.
209         (complex_vars_of_mule_charset): Likewise.
210
211         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
212         (MIN_CHAR_CHINA3_JEF): Comment out.
213         (MAX_CHAR_CHINA3_JEF): Comment out.
214
215 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
216
217         * mule-charset.c (Vcharset_ucs_gb): New variable.
218         (Qucs_gb): New variable.
219         (syms_of_mule_charset): Add new symbol `ucs-gb'.
220         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
221
222         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
223
224 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
225
226         * mule-charset.c (charset_code_point): if a coded-charset has a
227         final-byte, don't inherit the builtin range of the mother CCS.
228
229 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
230
231         * mule-charset.c (charset_code_point): Fix problem about
232         inheritance.
233
234 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
235
236         * mule-charset.c (decode_builtin_char): Reorganized.
237
238 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
239
240         * text-coding.c (char_encode_shift_jis): Modify for
241         `charset_code_point'.
242         (char_encode_big5): Likewise.
243         (char_encode_utf8): Likewise.
244         (char_encode_iso2022): Likewise.
245
246         * mule-charset.c (charset_code_point): Add new argument
247         `defined_only'.
248         (Fencode_char): Add new optional argument `defined_only'.
249
250         * chartab.c (put_char_table): Modify for `charset_code_point'.
251         (map_char_table): Likewise.
252
253         * char-ucs.h (charset_code_point): Add new argument
254         `defined_only'.
255         (encode_char_1): Modify for `charset_code_point'.
256
257 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
258
259         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
260         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
261
262 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
263
264         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
265         (Qjis_x0208): Likewise.
266         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
267         XCHARSET_FINAL(charset).
268         (charset_code_point): Modify condition for final-byte based
269         builtin-chars.
270         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
271         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
272         in UTF-2000; specify `=jis-x0208' as the mother of
273         `japanese-jisx0208-1978', `japanese-jisx0208' and
274         `japanese-jisx0208-1990' in UTF-2000.
275
276 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
277
278         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
279
280 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
281
282         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
283         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
284         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
285         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
286         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
287         CONVERSION_96x96x96x96 are introduced.
288         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
289         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
290         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
291
292         * char-ucs.h (CONVERSION_94): New macro.
293         (CONVERSION_96): New macro.
294         (CONVERSION_94x94): New macro.
295         (CONVERSION_96x96): New macro.
296         (CONVERSION_94x94x94): New macro.
297         (CONVERSION_96x96x96): New macro.
298         (CONVERSION_94x94x94x60): New macro.
299         (CONVERSION_94x94x94x94): New macro.
300         (CONVERSION_96x96x96x96): New macro.
301
302 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
303
304         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
305
306         * fns.c (Qideographic_structure): New variable.
307         (Qkeyword_char): New variable.
308         (ids_format_unit): New function.
309         (Fideographic_structure_to_ids): New function.
310         (syms_of_fns): Add new symbols `ideographic-structure' and
311         `:char'; add new builtin function `ideographic-structure-to-ids'.
312
313         * data.c (Fchar_ref_p): New function.
314         (syms_of_data): Add new builtin function `char-ref-p'.
315
316         * chartab.h: Add an EXFUN for `Ffind_char'.
317
318 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
319
320         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
321         and `COMPOSE_ADD_CHAR'.
322         (decode_coding_iso2022): Use `decode_flush_er_chars'.
323
324 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
325
326         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
327         instead of `DECODE_ADD_UCS_CHAR'.
328         (COMPOSE_ADD_CHAR): Likewise.
329
330 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
331
332         * text-coding.c (decode_flush_er_chars): New inline function.
333         (decode_add_er_char): New function.
334         (decode_coding_utf8): Use `decode_flush_er_chars' and
335         `decode_add_er_char'.
336
337 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
338
339         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
340         done before `decode_output_utf8_partial_char'.
341
342         * mule-charset.c (complex_vars_of_mule_charset): Specify
343         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
344         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
345
346 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
347
348         * mule-charset.c (decode_defined_char): New function; search
349         mother.
350         (decode_builtin_char): Don't search mother if
351         XCHARSET_MAX_CODE(charset) == 0.
352         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
353         == 0 even if code >= XCHARSET_MAX_CODE(charset).
354         (Fdecode_char): Use `decode_defined_char' instead of
355         `DECODE_DEFINED_CHAR'.
356         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
357         mother of `Vcharset_ucs_jis'.
358
359         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
360         instead of `DECODE_DEFINED_CHAR'.
361
362         * char-ucs.h (decode_defined_char): Renamed from
363         `DECODE_DEFINED_CHAR'; changed to normal function.
364         (DECODE_CHAR): Use `decode_defined_char' instead of
365         `DECODE_DEFINED_CHAR'.
366
367         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
368
369 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
370
371         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
372
373         * text-coding.c (Vcoded_charset_entity_reference_alist): New
374         variable.
375         (Quse_entity_reference): New variable.
376         (Qd): New variable.
377         (Qx): New variable.
378         (QX): New variable.
379         (coding_system_description): Add description for
380         `ccs_priority_list'.
381         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
382         (allocate_coding_system): Initialize `ccs_priority_list' in
383         UTF-2000.
384         (Fmake_coding_system): Add description about
385         'use-entity-reference; setup
386         CODING_SYSTEM_USE_ENTITY_REFERENCE(codesys).
387         (Fcoding_system_property): Accept `disable-composition' and
388         `use-entity-reference' in UTF-2000.
389         (struct decoding_stream): Add new member `er_counter' and `er_buf'
390         in UTF-2000.
391         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
392         (decode_coding_utf8): Decode entity-reference if
393         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
394         (char_encode_utf8): Encode non-Unicode characters as
395         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
396         (str->codesys).
397         (syms_of_file_coding): Add new symbols `use-entity-reference',
398         `d', `x', `X'.
399         (vars_of_file_coding): Add new variable
400         `coded-charset-entity-reference-alist'.
401         (complex_vars_of_file_coding): Declare `disable-composition' and
402         `use-entity-reference' to be coding-system-properties in UTF-2000.
403
404         * file-coding.h (struct Lisp_Coding_System): Add new member
405         `use_entity_reference' and `ccs_priority_list'.
406         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
407         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
408         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
409
410 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
411
412         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
413
414 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
415
416         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
417         `XCHARSET_GRAPHIC(ccs)'.
418
419 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
420
421         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
422         for decoding-table.
423
424 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
425
426         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
427         instead of `XCHARSET_CHARS'.
428
429 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
430
431         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
432         (XCHARSET_BYTE_SIZE): Likewise.
433
434         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
435         mule-charset.c].
436         (XCHARSET_BYTE_SIZE): Likewise.
437
438 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
439
440         * char-ucs.h (decoding_table_check_elements): Delete prototype.
441         (get_ccs_octet_table): New inline function.
442         (put_ccs_octet_table): Likewise.
443         (decoding_table_put_char): Use `get_ccs_octet_table' and
444         `put_ccs_octet_table'.
445         (decoding_table_remove_char): Use `decoding_table_put_char'.
446         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
447
448         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
449         into encoding_table.
450         (make_charset): Use Qunbound instead Qnil as initial value of
451         decoding_table.
452
453 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
454
455         * mule-charset.c (put_char_ccs_code_point): Modify for
456         `decoding_table_remove_char' and `decoding_table_put_char'.
457         (remove_char_ccs): Modify for `decoding_table_remove_char'.
458
459         * char-ucs.h (decoding_table_remove_char): Change arguments to
460         hide decoding_table vector.
461         (decoding_table_put_char): Likewise.
462
463 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
464
465         * mule-charset.c (decoding_table_remove_char): Moved to
466         char-ucs.h.
467         (decoding_table_put_char): Likewise.
468
469         * char-ucs.h (decoding_table_check_elements): New prototype [moved
470         from mule-charset.c].
471         (decoding_table_remove_char): New inline function [moved from
472         mule-charset.c].
473         (decoding_table_put_char): Likewise.
474
475 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
476
477         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
478         instead of `DECODE_CHAR' for mother; don't use special code for
479         chinese-big5 to use code space of chinese-big5-1 and
480         chinese-big5-2.
481         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
482         `MAX_CHAR_BIG5_CDP' for chinese-big5.
483
484         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
485         (MAX_CHAR_BIG5_CDP): Revival.
486
487 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
488
489         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
490         the XLFD registry-encoding name of `chinese-big5'.
491
492 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
493
494         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
495         (Qchinese_big5_cdp): Deleted.
496         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
497         (complex_vars_of_mule_charset): Delete coded-charset
498         `chinese-big5-cdp'.
499
500         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
501         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
502         `CHARSET_ID_OFFSET - n' for private CCS.
503         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
504         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
505         of `MIN_LEADING_BYTE'.
506         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
507         `(CHARSET_ID_OFFSET - 97)'.
508         (MIN_CHAR_BIG5_CDP): Deleted.
509         (MAX_CHAR_BIG5_CDP): Deleted.
510
511 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
512
513         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
514         extension.
515
516 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
517
518         * mule-charset.c (decode_builtin_char): Support mother charsets.
519
520 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
521
522         * mule-charset.c (Q94x94x60): New variable.
523         (charset_code_point): Support conversion `94x94x60'.
524         (Fmake_charset): Likewise.
525         (syms_of_mule_charset): Add new symbol `94x94x60'.
526
527         * char-ucs.h (CONVERSION_94x94x60): New macro.
528
529 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
530
531         * mule-charset.c (charset_code_point): Unify code about
532         `code-offset'.
533
534 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
535
536         * mule-charset.c (charset_code_point): Merge code about builtin
537         characters into code about mother charsets; don't use
538         `range_charset_code_point'.
539         (range_charset_code_point): Deleted.
540
541 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
542
543         * mule-charset.c (Qcode_offset): New variable.
544         (Fmake_charset): Use `XUINT' to get value of `min-code' and
545         `max-code'; accept new property `code-offset'.
546         (syms_of_mule_charset): Add new symbol `code-offset'.
547
548 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
549
550         * mule-charset.c (range_charset_code_point): Fixed.
551
552 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
553
554         * mule-charset.c (decode_builtin_char): Change semantics of
555         code-offset of coded-charset.
556         (charset_code_point): Likewise.
557         (range_charset_code_point): Likewise.
558         (complex_vars_of_mule_charset): Modify for the change.
559
560 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
561
562         * mule-charset.c (Fencode_char): Reverse arguments.
563
564         * mule-charset.c (charset_code_point): Fixed.
565
566 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
567
568         * mule-charset.c (Vcharset_mojikyo): Deleted.
569         (Vcharset_mojikyo_2022_1): Deleted.
570         (Vcharset_mojikyo_pj_{1..21}): Deleted.
571         (Qmin_code): New variable in UTF-2000.
572         (Qmax_code): Likewise.
573         (Qmother): Likewise.
574         (Qconversion): Likewise.
575         (Q94x60): Likewise.
576         (Qmojikyo): Deleted.
577         (Qmojikyo_2022_1): Deleted.
578         (Qmojikyo_pj_{1..22}): Deleted.
579         (mark_charset): Mark `cs->mother'.
580         (charset_description): Add description for `mother'.
581         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
582         new arguments `mother' and `conversion'; use
583         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
584         (charset_code_point): Moved from char-ucs.h; support `mother'
585         charset feature.
586         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
587         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
588         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
589         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
590         allow 2 as the value of `graphic' in UTF-2000; add new properties
591         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
592         require `final' in UTF-2000; modify for `make_charset'.
593         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
594         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
595         (Fcharset_property): Support `mother', `min-code' and `max-code'.
596         (Fencode_char): New function.
597         (syms_of_mule_charset): Add new builtin function `encode-char' in
598         UTF-2000; add new symbols `min-code', `max-code', `mother',
599         `conversion' and `94x60'; delete symbols `mojikyo',
600         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
601         (complex_vars_of_mule_charset): Modify for `make_charset' change;
602         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
603         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
604
605         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
606         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
607
608         * char-ucs.h (Vcharset_mojikyo): Deleted.
609         (Vcharset_mojikyo_2022_1): Deleted.
610         (LEADING_BYTE_MOJIKYO): Deleted.
611         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
612         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
613         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
614         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
615         add new member `mother'; add new member `conversion'.
616         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
617         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
618         (CHARSET_MOTHER): New macro.
619         (CHARSET_CONVERSION): New macro.
620         (CONVERSION_IDENTICAL): New macro.
621         (CONVERSION_94x60): New macro.
622         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
623         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
624         (XCHARSET_MOTHER): New macro.
625         (XCHARSET_CONVERSION): New macro.
626         (MIN_CHAR_MOJIKYO): Deleted.
627         (MAX_CHAR_MOJIKYO): Deleted.
628         (DECODE_MOJIKYO_2022): Deleted.
629         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
630         (charset_code_point): Changed to non-inline function.
631         (encode_char_1): Use `charset_code_point'.
632         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
633
634 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
635
636         * lread.c (read_compiled_function): Fix prototype.
637         (read_vector): Likewise.
638
639 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
640
641         * lrecord.h (struct lrecord_header): Delete `older'.
642         (set_lheader_implementation): Delete code for `older'.
643         (set_lheader_older_implementation): Deleted.
644         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
645         (OLDER_RECORD_P): Deleted.
646         (OLDER_RECORD_HEADER_P): Deleted.
647         (alloc_older_lcrecord): Deleted.
648         (alloc_older_lcrecord_type): Deleted.
649
650         * alloc.c (all_older_lcrecords): Deleted.
651         (alloc_older_lcrecord): Deleted.
652         (disksave_object_finalization_1): Delete code for older objects.
653         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
654         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
655
656 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
657
658         * mule-charset.c (decoding_table_put_char): Use `make_vector'
659         instead of `make_older_vector'.
660         (put_char_ccs_code_point): Likewise.
661         (mark_charset): Mark `cs->decoding_table'.
662         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
663
664         * lisp.h (make_older_vector): Deleted.
665         (make_vector_newer): Deleted.
666
667         * config.h.in (HAVE_GGC): Deleted.
668
669         * alloc.c (make_older_vector): Deleted.
670         (make_vector_newer_1): Deleted.
671         (make_vector_newer): Deleted.
672
673 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
674
675         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
676         (Qideograph_daikanwa_2): New variable.
677         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
678         (complex_vars_of_mule_charset): Add new coded-charset
679         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
680         `LEADING_BYTE_DAIKANWA'.
681
682         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
683         (LEADING_BYTE_DAIKANWA_1): New macro.
684         (LEADING_BYTE_DAIKANWA_2): New macro.
685         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
686
687 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
688
689         * mule-charset.c (complex_vars_of_mule_charset): Change
690         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
691         the second revised version.
692
693 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
694
695         * mule-charset.c (Vcharset_ucs_smp): New variable.
696         (Vcharset_ucs_sip): New variable.
697         (Qucs_smp): New variable.
698         (Qucs_sip): New variable.
699         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
700         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
701         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
702         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
703         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
704         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
705
706         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
707         (LEADING_BYTE_UCS_SIP): New macro.
708         (MIN_CHAR_SMP): New macro.
709         (MAX_CHAR_SMP): New macro.
710         (MIN_CHAR_SIP): New macro.
711         (MAX_CHAR_SIP): New macro.
712
713 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
714
715         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
716         utf-2000.
717
718 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
719
720         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
721         value; don't store value into `encoding_table' of `Lisp_Charset'.
722         (mark_charset): `encoding_table' was deleted.
723         (charset_description): Likewise.
724         (make_charset): Likewise.
725         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
726         `put_char_ccs_code_point'.
727
728         * chartab.h (Fput_char_attribute): New EXFUN.
729
730         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
731         is unified with normal symbol space.
732         (Fget_char_attribute): Likewise.
733         (Fput_char_attribute): Likewise; behavior of
734         `put_char_ccs_code_point' is changed.
735
736         * char-ucs.h: Include "elhash.h".
737         (Vchar_attribute_hash_table): New external variable.
738         (struct Lisp_Charset): Delete `encoding_table'.
739         (CHARSET_ENCODING_TABLE): New implementation; refer
740         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
741         `Lisp_Charset'.
742
743 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
744
745         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
746         (cs) == 0.
747
748 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
749
750         * text-coding.c (char_encode_big5): Prefer charset-g1 than
751         `chinese-big5'.
752
753 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
754
755         * chartab.c (uint8_byte_table_description): New constant.
756         (uint8-byte-table): Use `uint8_byte_table_description'.
757         (uint16_byte_table_description): New constant.
758         (uint16-byte-table): Use `uint16_byte_table_description'.
759
760 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
761
762         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
763         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
764
765 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
766
767         * mule-charset.c (Vcharset_ucs_ks): New variable.
768         (Qucs_ks): New variable.
769         (syms_of_mule_charset): Add new symbol `ucs-ks'.
770         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
771
772         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
773
774 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
775
776         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
777         (Fdecode_char): Likewise.
778
779         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
780         chartab.h.
781         (Fdefine_char): Modify for Fdecode_char.
782         (Ffind_char): Likewise.
783
784         * mule-charset.c (Fdecode_char): Add new optional argument
785         `defined-only'.
786         (Fdecode_builtin_char): Modify for `Fdecode_char'.
787
788 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
789
790         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
791         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
792         (allocate_coding_system): Initialize initial-charsets of
793         CODESYS_BIG5 in XEmacs UTF-2000.
794         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
795         CODESYS_BIG5 in XEmacs UTF-2000.
796         (decode_coding_big5): Use initial-charset-g0 and -g1 of
797         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
798
799         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
800         variables.
801         (Qideograph_hanziku_{1 .. 12}): Likewise.
802         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
803         .. 12}'.
804         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
805         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
806         `ideograph-hanziku-{1 .. 12}'.
807
808         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
809         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
810         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
811         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
812         (DECODE_DEFINED_CHAR): New inline function.
813         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
814
815 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
816
817         * mule-charset.c (Vcharset_china3_jef): Renamed from
818         `Vcharset_japanese_jef_china3'.
819         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
820         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
821         `{MIN|MAX}_CHAR_JEF_CHINA3'..
822         (syms_of_mule_charset): Rename `china3-jef' from
823         `japanese-jef-china3'.
824         (complex_vars_of_mule_charset): Likewise; rename
825         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
826
827         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
828         `LEADING_BYTE_JEF_CHINA3'.
829         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
830         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
831
832 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
833
834         * mule-charset.c (encode_builtin_char_1): Comment out special code
835         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
836
837         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
838         (MAX_CHAR_MOJIKYO_0): Comment out.
839         (MIN_CHAR_CBETA): Changed to 0x00E20000.
840         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
841         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
842         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
843
844 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
845
846         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
847         (Qideograph_cbeta): New variable.
848         (encode_builtin_char_1): Comment out special code for
849         coded-charset `mojikyo' and `japanese-jef-china3'.
850         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
851         (complex_vars_of_mule_charset): Add new coded-charset
852         `ideograph-cbeta'.
853
854         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
855         (MIN_CHAR_CBETA): New macro.
856         (MAX_CHAR_CBETA): New macro.
857
858 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
859
860         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
861         (LEADING_BYTE_JEF_CHINA3): New macro.
862         (MIN_CHAR_JEF_CHINA3): New macro.
863         (MAX_CHAR_JEF_CHINA3): Likewise.
864         (DECODE_CHAR): Fixed.
865
866 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
867
868         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
869         (Qjapanese_jef_china3): New variable.
870         (encode_builtin_char_1): Support `japanese-jef-china3'.
871         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
872         (complex_vars_of_mule_charset): Add new coded-charset
873         `japanese-jef-china3'.
874
875 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
876
877         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
878         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
879         94^4, 96^3, 96^4, 128^n and 256^n set.
880         (put_char_table): Use `XCHARSET_CELL_RANGE'.
881         (map_char_table): Likewise.
882
883 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
884
885         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
886         UTF-2000.
887
888 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
889
890         * chartab.h (get_char_id_table): New inline function.
891
892         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
893         function.
894
895 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
896
897         * chartab.h (decode_char_table_range): New prototype in XEmacs
898         UTF-2000.
899         (put_char_id_table): New inline function in XEmacs UTF-2000.
900
901         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
902         function.
903         (decode_char_table_range): Delete static declaration in XEmacs
904         UTF-2000.
905
906 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
907
908         * chartab.c (put_char_id_table): Use `put_char_table'.
909
910 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
911
912         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
913         (map_over_uint16_byte_table): Likewise.
914         (map_over_byte_table): Likewise.
915         (map_char_table): Modify for `map_over_uint8_byte_table',
916         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
917         UTF-2000.
918
919 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
920
921         * chartab.c (struct map_char_table_for_charset_arg): New
922         structure.
923         (map_char_table_for_charset_fun): New function.
924         (map_char_table): Use `map_char_table' for encoding_table of
925         `range->charset'.
926
927 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
928
929         * chartab.c (map_char_table): Check a character is found in
930         range->charset instead of non default value is defined in
931         char-table when range is CHARTAB_RANGE_ROW.
932
933 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
934
935         * chartab.c (map_char_id_table): Deleted.
936         (Fmap_char_attribute): Use `map_char_table' instead of
937         `map_char_id_table'.
938
939 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
940
941         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
942         UTF-2000.
943         (update_syntax_table): Deleted in XEmacs UTF-2000.
944
945         * syntax.c (find_defun_start): Use `syntax_table' instead of
946         `mirror_syntax_table' in XEmacs UTF-2000.
947         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
948         UTF-2000.
949         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
950         XEmacs UTF-2000.
951         (Fmatching_paren): Likewise.
952         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
953         in XEmacs UTF-2000.
954         (find_start_of_comment): Likewise.
955         (find_end_of_comment): Likewise.
956         (Fforward_comment): Likewise.
957         (scan_lists): Likewise.
958         (char_quoted): Likewise.
959         (Fbackward_prefix_chars): Likewise.
960         (scan_sexps_forward): Likewise.
961         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
962         (update_syntax_table): Likewise.
963
964         * search.c (skip_chars): Use `syntax_table' instead of
965         `mirror_syntax_table' in XEmacs UTF-2000.
966         (wordify): Likewise.
967         (Freplace_match): Likewise.
968
969         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
970         `mirror_syntax_table' in XEmacs UTF-2000.
971         (WORDCHAR_P_UNSAFE): Likewise.
972         (re_match_2_internal): Likewise.
973
974         * font-lock.c (find_context): Use `buf->syntax_table' instead of
975         `buf->mirror_syntax_table' in XEmacs UTF-2000.
976
977         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
978         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
979
980         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
981         XEmacs UTF-2000.
982
983         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
984         UTF-2000.
985         (print_char_table): Print `default_value' in XEmacs UTF-2000.
986         (char_table_description): Delete `mirror_table' in XEmacs
987         UTF-2000.
988         (fill_char_table): Don't call `update_syntax_table' in XEmacs
989         UTF-2000.
990         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
991         (Fcopy_char_table): Likewise.
992         (put_char_table): Don't call `update_syntax_table' in XEmacs
993         UTF-2000.
994
995         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
996         `buf->mirror_syntax_table' in XEmacs UTF-2000.
997         (casify_region_internal): Likewise.
998
999         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
1000
1001         * buffer.c (common_init_complex_vars_of_buffer): Don't use
1002         `mirror_syntax_table' in XEmacs UTF-2000.
1003
1004         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
1005         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1006         (Fexpand_abbrev): Likewise.
1007
1008 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1009
1010         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
1011
1012 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1013
1014         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
1015         (map_over_uint16_byte_table): Likewise.
1016         (map_over_byte_table): Likewise.
1017         (get_char_id_table): Refer `cit->default_value'.
1018         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1019         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
1020         of character-id ranges.
1021         (mark_char_table): Mark `ct->default_value'.
1022         (char_table_description): Add `default_value'.
1023         (fill_char_table): Use `default_value'.
1024         (decode_char_table_range): Decode `nil' as
1025         `CHARTAB_RANGE_DEFAULT'.
1026         (get_char_id_table): Refer `cit->default_value'.
1027         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1028         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
1029         temporary hack; check value of char-table is bound or not.
1030         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
1031
1032         * chartab.h (struct Lisp_Char_Table): Add new member
1033         `default_value' in XEmacs UTF-2000.
1034         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
1035         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
1036         UTF-2000.
1037
1038 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1039
1040         * chartab.h (Lisp_Char_ID_Table): Deleted.
1041
1042         * chartab.c (char_table_description): Fix typo.
1043         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
1044         `Lisp_Char_ID_Table'.
1045
1046 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1047
1048         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
1049         `CHAR_ID_TABLE_P'.
1050
1051         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
1052         `CHAR_ID_TABLE_P'.
1053
1054         * chartab.h (XCHAR_ID_TABLE): Deleted.
1055         (XSETCHAR_ID_TABLE): Deleted.
1056         (CHAR_ID_TABLE_P): Deleted.
1057
1058         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
1059         `CHAR_ID_TABLE_P'.
1060         (Fget_composite_char): Likewise.
1061         (put_char_table): Likewise.
1062         (add_char_attribute_alist_mapper): Fixed.
1063         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
1064         `CHAR_ID_TABLE_P'.
1065         (Fget_char_attribute): Likewise.
1066         (Fget_char_attribute): Likewise.
1067         (Fmap_char_attribute): Likewise.
1068
1069         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
1070         `CHAR_ID_TABLE_P'.
1071         (encode_char_1): Likewise.
1072
1073 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1074
1075         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
1076         `XCHAR_ID_TABLE'.
1077
1078         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
1079         instead of `XCHAR_ID_TABLE'.
1080         (remove_char_ccs): Likewise.
1081
1082         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
1083         `XCHAR_ID_TABLE'.
1084         (Fget_composite_char): Likewise.
1085         (Fchar_variants): Likewise.
1086         (put_char_table): Likewise.
1087         (add_char_attribute_alist_mapper): Likewise.
1088         (Fchar_attribute_alist): Likewise.
1089         (Fget_char_attribute): Likewise.
1090         (Fput_char_attribute): Likewise.
1091         (Fmap_char_attribute): Likewise.
1092         (Fmap_char_attribute): Likewise.
1093
1094         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
1095         `XCHAR_ID_TABLE'.
1096         (encode_char_1): Likewise.
1097
1098 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1099
1100         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
1101         `Lisp_Char_ID_Table'.
1102         (mark_char_id_table): Deleted.
1103         (print_char_id_table): Likewise.
1104         (char_id_table_equal): Likewise.
1105         (char_id_table_hash): Likewise.
1106         (char_id_table_description): Likewise.
1107         (char_id_table): Likewise.
1108         (make_char_id_table): Use `Fmake_char_table' and
1109         `fill_char_table'.
1110         (get_char_id_table): Use `Lisp_Char_Table' instead of
1111         `Lisp_Char_ID_Table'.
1112         (put_char_id_table): Likewise.
1113         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
1114         `XCHAR_ID_TABLE'.
1115         (Fremove_char_attribute): Likewise.
1116         (syms_of_chartab): Don't define type `char-id-table'.
1117
1118         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
1119         (char_id_table): Likewise.
1120         (GC_CHAR_ID_TABLE_P): Likewise.
1121         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
1122         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
1123         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
1124         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
1125         (get_char_id_table): Use `Lisp_Char_Table' instead of
1126         `Lisp_Char_ID_Table'.
1127         (put_char_id_table_0): Likewise.
1128         (put_char_id_table): Likewise.
1129
1130 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1131
1132         * chartab.h: Lisp_Byte_Table related codes are moved from
1133         chartab.h.
1134
1135         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
1136
1137 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1138
1139         * chartab.h: Don't include "chartab.h".
1140         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
1141         (Lisp_Char_ID_Table): Likewise.
1142         (char_id_table): Likewise.
1143         (XCHAR_ID_TABLE): Likewise.
1144         (XSETCHAR_ID_TABLE): Likewise.
1145         (CHAR_ID_TABLE_P): Likewise.
1146         (GC_CHAR_ID_TABLE_P): Likewise.
1147         (get_char_id_table): Likewise.
1148
1149         * char-ucs.h: Include "chartab.h".
1150         (struct Lisp_Char_ID_Table): Moved to chartab.h.
1151         (Lisp_Char_ID_Table): Likewise.
1152         (char_id_table): Likewise.
1153         (XCHAR_ID_TABLE): Likewise.
1154         (XSETCHAR_ID_TABLE): Likewise.
1155         (CHAR_ID_TABLE_P): Likewise.
1156         (GC_CHAR_ID_TABLE_P): Likewise.
1157         (get_char_id_table): Likewise.
1158
1159 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1160
1161         * chartab.c (copy_uint8_byte_table): New function.
1162         (copy_uint16_byte_table): New function.
1163         (copy_byte_table): New function.
1164         (map_over_uint8_byte_table): Modify to avoid huge numbers of
1165         characters to call.
1166         (map_over_uint16_byte_table): Likewise.
1167         (map_over_byte_table): Likewise.
1168         (get_byte_table): Move prototype to chartab.h.
1169         (put_byte_table): Likewise.
1170         (put_char_id_table_0): Moved to chartab.h.
1171         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
1172         (char_table_entry_equal): Likewise.
1173         (char_table_entry_hash): Likewise.
1174         (char_table_entry_description): Likewise.
1175         (char_table_entry): Likewise.
1176         (make_char_table_entry): Likewise.
1177         (copy_char_table_entry): Likewise.
1178         (get_non_ascii_char_table_value): Likewise.
1179         (map_over_charset_ascii): Likewise.
1180         (map_over_charset_control_1): Likewise.
1181         (map_over_charset_row): Likewise.
1182         (map_over_other_charset): Likewise.
1183         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
1184         (print_char_table): Likewise.
1185         (char_table_equal): Likewise.
1186         (char_table_hash): Likewise.
1187         (char_table_description): Likewise.
1188         (fill_char_table): Likewise.
1189         (Fcopy_char_table): Likewise.
1190         (get_char_table): Likewise.
1191         (Fget_range_char_table): Likewise.
1192         (put_char_table): Likewise.
1193         (map_char_table): Likewise.
1194         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
1195         UTF-2000.
1196
1197 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1198
1199         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
1200         `Vauto_fill_chars' in XEmacs UTF-2000.
1201
1202         * chartab.h (get_byte_table): New prototype [moved from
1203         chartab.c].
1204         (put_byte_table): Likewise [moved from chartab.c].
1205         (put_char_id_table_0): New inline function [moved from chartab.c].
1206         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
1207         (Lisp_Char_Table_Entry): Likewise.
1208         (char_table_entry): Likewise.
1209         (XCHAR_TABLE_ENTRY): Likewise.
1210         (XSETCHAR_TABLE_ENTRY): Likewise.
1211         (CHAR_TABLE_ENTRYP): Likewise.
1212         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1213         (NUM_ASCII_CHARS): Likewise.
1214         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1215         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1216
1217 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1218
1219         * chartab.c (get_char_id_table): Change interface.
1220         (put_char_id_table_0): New function.
1221         (put_char_id_table): Change interface; new implementation.
1222         (Fget_composite_char): Modify for interface change of
1223         `get_char_id_table'.
1224         (Fchar_variants): Likewise.
1225         (add_char_attribute_alist_mapper): Likewise.
1226         (Fchar_attribute_alist): Likewise.
1227         (Fget_char_attribute): Likewise.
1228         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1229         as same as character as the first argument like `put-char-table';
1230         modify for interface change of `put_char_id_table'.
1231         (Fremove_char_attribute): Modify for interface change of
1232         `put_char_id_table'.
1233
1234 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1235
1236         * text-coding.c: Sync up with XEmacs 21.2.41.
1237         (COMPOSE_ADD_CHAR): Modify for interface change of
1238         `get_char_id_table'.
1239
1240         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1241         change of `put_char_id_table'.
1242         (remove_char_ccs): Likewise.
1243
1244         * chartab.h (put_char_id_table): Change interface.
1245
1246         * char-ucs.h (get_char_id_table): Change interface.
1247         (charset_code_point): Modify for interface change of
1248         `get_char_id_table'.
1249         (encode_char_1): Likewise.
1250
1251 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1252
1253         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1254         argument `ccs'.
1255         (map_over_uint16_byte_table): Likewise.
1256         (map_over_byte_table): Likewise.
1257         (map_char_id_table): Add new argument `range' like
1258         `map_char_table'.
1259         (Fmap_char_attribute): Add new argument `range' like
1260         `Fmap_char_table'.
1261
1262 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1263
1264         * chartab.c (map_over_uint8_byte_table): Change interface of
1265         mapping function to use struct chartab_range instead of Emchar.
1266         (map_over_uint16_byte_table): Likewise.
1267         (map_over_byte_table): Likewise.
1268         (map_char_id_table): Likewise.
1269         (struct slow_map_char_id_table_arg): Deleted.
1270         (slow_map_char_id_table_fun): Deleted.
1271         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1272         function `slow_map_char_table_fun' instead of struct
1273         `slow_map_char_id_table_arg' and function
1274         `slow_map_char_id_table_fun'.
1275
1276 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1277
1278         * mule-charset.c: Move char-it-table related codes to chartab.c.
1279         (Vutf_2000_version): Moved to chartab.c.
1280         (Fdefine_char): Likewise.
1281         (Ffind_char): Likewise.
1282         (syms_of_mule_charset): Move types `uint8-byte-table',
1283         `uint16-byte-table', `byte-table' and `char-id-table' to
1284         chartab.c; move functions `char_attribute_list,
1285         `find_char_attribute_table, `char_attribute_alist,
1286         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1287         `map_char_attribute, `define_char, `find_char, `char_variants and
1288         `get_composite_char to chartab.c; move symbols `=>ucs',
1289         `->decomposition', `compat', `isolated', `initial', `medial',
1290         `final', `vertical', `noBreak', `fraction', `super', `sub',
1291         `circle', `square', `wide', `narrow', `small' and `font' to
1292         chartab.c.
1293         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1294         setting codes for `Vcharacter_composition_table' and
1295         `Vcharacter_variant_table' to chartab.c.
1296         (complex_vars_of_mule_charset): Move setting code for
1297         `Vchar_attribute_hash_table' to chartab.c.
1298
1299         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1300         (make_char_id_table): New prototype.
1301         (put_char_id_table): Likewise.
1302         (Fget_char_attribute): Likewise.
1303
1304         * chartab.c: Move char-id-table related code from mule-charset.c.
1305         (Vutf_2000_version): Moved from mule-charset.c.
1306
1307         * char-ucs.h (Qucs): New external variable.
1308         (put_char_ccs_code_point): New prototype.
1309         (remove_char_ccs): Likewise.
1310
1311 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1312
1313         * mule-charset.c (Vcharset_ucs_jis): New variable.
1314         (Qucs_jis): Likewise.
1315         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1316         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1317
1318         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1319
1320 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1321
1322         * mule-charset.c (map_over_uint8_byte_table): New function.
1323         (map_over_uint16_byte_table): Likewise.
1324         (map_over_byte_table): Likewise.
1325         (map_char_id_table): Likewise.
1326         (slow_map_char_id_table_fun): Likewise.
1327         (Fmap_char_attribute): Likewise.
1328         (syms_of_mule_charset): Add new function `map-char-attribute'.
1329
1330 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1331
1332         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1333         (syms_of_mule_charset): Add new function `find-char'.
1334
1335 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1336
1337         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1338         XEmacs UTF-2000.
1339         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1340         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1341         XEmacs UTF-2000.
1342         (complex_vars_of_mule_charset): Add new coded-charset
1343         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1344         `ideograph-gt-pj-*'.
1345
1346         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1347
1348 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1349
1350         * mule-charset.c (encode_builtin_char_1): Purge codes about
1351         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1352         {MIN|MAX}_CHAR_HEBREW.
1353         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1354         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1355
1356         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1357         (MAX_CHAR_GREEK): Purged.
1358         (MIN_CHAR_CYRILLIC): Purged.
1359         (MAX_CHAR_CYRILLIC): Purged.
1360         (MIN_CHAR_HEBREW): Commented out.
1361         (MAX_CHAR_HEBREW): Likewise.
1362
1363 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1364
1365         * mule-charset.c (Qto_ucs): New variable.
1366         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1367         (Fdefine_char): Likewise.
1368         (syms_of_mule_charset): Add new symbol `=>ucs'.
1369
1370 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1371
1372         * mule-charset.c (Fdecode_char): Fixed.
1373
1374 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1375
1376         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1377         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1378         "tcvn5712-1".
1379
1380 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1381
1382         * mule-charset.c (Vcharset_ucs_big5): New variable.
1383         (Qucs_big5): Likewise.
1384         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1385         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1386
1387         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1388
1389 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1390
1391         * mule-charset.c (decode_builtin_char): Check Big5 code range
1392         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1393
1394 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1395
1396         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1397         (Qchinese_gb12345): Likewise.
1398         (Fdecode_builtin_char): Fixed.
1399         (syms_of_mule_charset): Add `chinese-gb12345'.
1400         (complex_vars_of_mule_charset): Add coded-charset
1401         `chinese-gb12345'.
1402
1403         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1404         (LEADING_BYTE_CHINESE_GB12345): New macro.
1405
1406 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1407
1408         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1409         and `latin-viscii-upper' for `latin-viscii'.
1410
1411 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1412
1413         * mule-charset.c (Fdecode_builtin_char): Comment out
1414         regularization code for ISO-IR GR representation.
1415
1416 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1417
1418         * mule-charset.c (decode_builtin_char): New function; renamed from
1419         `make_builtin_char'; return -1 instead of signal.
1420         (Fdecode_builtin_char): Use `decode_builtin_char'.
1421
1422         * char-ucs.h (decode_builtin_char): New prototype; renamed from
1423         `make_builtin_char'.
1424         (DECODE_CHAR): Use `decode_builtin_char' instead of
1425         `make_builtin_char'; use mapping table of `chinese-big5' for
1426         `chinese-big5-{1,2}'.
1427
1428 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1429
1430         * text-coding.c (char_encode_big5): New function.
1431         (char_finish_big5): Likewise.
1432         (reset_encoding_stream): Use `char_encode_big5' and
1433         `char_finish_big5' for CODESYS_BIG5.
1434         (mule_encode): Don't use `encode_coding_big5'.
1435         (encode_coding_big5): Deleted.
1436
1437 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1438
1439         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
1440         0x81- in XEmacs UTF-2000.
1441         (detect_coding_big5): Likewise.
1442
1443 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1444
1445         * mule-charset.c (Fdefine_char): Don't use a CCS property to
1446         generate character-id if the CCS property does not have
1447         corresponding predefined character.
1448         (make_builtin_char): Return -1 if corresponding predefined
1449         character is not found.
1450         (Fdecode_char): Return nil if corresponding character is not
1451         found.
1452         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
1453         don't map to builtin ucs space.
1454
1455 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1456
1457         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
1458         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
1459
1460 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1461
1462         * mule-charset.c (Vcharset_ideograph_gt): New variable.
1463         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
1464         (Qideograph_gt): Likewise.
1465         (Qideograph_gt_pj_{1..11}): Likewise.
1466         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
1467         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
1468         `ideograph-gt-pj-11'.
1469         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
1470         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
1471         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
1472
1473         * char-ucs.h (LEADING_BYTE_GT): New macro.
1474         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
1475         (MIN_CHAR_GT): Likewise.
1476         (MAX_CHAR_GT): Likewise.
1477
1478 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1479
1480         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
1481         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
1482
1483         * doprnt.c (unsigned_int_converters): Add `c'.
1484         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
1485
1486         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
1487         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
1488         `MIN_CHAR_MOJIKYO'.
1489         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
1490         (MAX_CHAR_MOJIKYO_0): New macro.
1491         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
1492
1493 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1494
1495         * mule-charset.c (Fdefine_char): Delete cemented out code.
1496         (encode_builtin_char_1): Modify for new allocation of builtin
1497         Mojikyo characters.
1498
1499         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
1500
1501 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1502
1503         * mule-charset.c (Vcharset_ucs_cns): New variable.
1504         (Qucs_cns): New variable.
1505         (syms_of_mule_charset): Add new symbol `ucs-cns'.
1506         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
1507
1508 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1509
1510         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
1511
1512 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1513
1514         * search.c (search_buffer): Make `charset_base_code' as
1515         character-id >> 6 to eliminate the corresponding last byte in
1516         UTF-8 representation [I'm not sure it is right thing].
1517         (boyer_moore): Likewise.
1518
1519 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1520
1521         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
1522         representation in MULE.
1523
1524 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1525
1526         * text-coding.c (Fmake_coding_system): Use
1527         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
1528         `EXTERNAL_PROPERTY_LIST_LOOP'.
1529
1530 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1531
1532         * text-coding.c (decode_output_utf8_partial_char): New function.
1533         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
1534
1535 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1536
1537         * text-coding.c (decode_coding_utf8): Output original byte
1538         sequence if it is broken; change order of conditions.
1539
1540         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
1541         of conditions.
1542
1543         * mb-multibyte.h (BYTE_ASCII_P):
1544         Use bit ops for char-signedness safety.
1545         (BYTE_C0_P): Use bit ops for char-signedness safety.
1546         (BYTE_C1_P): Use bit ops for char-signedness safety.
1547
1548         * character.h: (XCHAR_OR_CHAR_INT):
1549         Always use inline function.
1550         Remove redundant type checking assert() - XINT will abort quite
1551         nicely.
1552
1553 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1554
1555         * text-coding.c: (Fencode_shift_jis_char):
1556         (Fencode_big5_char):
1557         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1558         Replace 0 with '\0' when working with bytes.
1559         Replace initial "(" with "\(" in docstrings.
1560
1561         (Fmake_coding_system):
1562         When type is ccl and value is vector, register it with a proper
1563         symbol.  And checks whether the given ccl program is valid.
1564         (mule_decode): When calling ccl_driver, if src indicates
1565         NULL pointer, set an empty string instead.
1566         (mule_encode): Likewise.
1567
1568         (detect_eol_type):
1569         (detect_coding_sjis):
1570         (decode_coding_sjis):
1571         (detect_coding_big5):
1572         (decode_coding_big5):
1573         (detect_coding_ucs4):
1574         (decode_coding_ucs4):
1575         (detect_coding_utf8):
1576         (decode_coding_utf8):
1577         (detect_coding_iso2022):
1578         (decode_coding_iso2022):
1579         (decode_coding_no_conversion):
1580         (mule_decode):
1581         Make all detecting and decoding functions take an Extbyte * arg.
1582         (text_encode_generic):
1583         (encode_coding_big5):
1584         (encode_coding_no_conversion):
1585         (mule_encode):
1586         Make all encoding functions take a Bufbyte * arg.
1587         Use size_t instead of unsigned int for memory sizes.
1588         Only cast to unsigned char whenever dereferencing Extbyte *.
1589
1590         (struct lrecord_description fcd_description_1): Use countof.
1591         (complex_vars_of_file_coding):
1592         Use countof instead of sizeof.
1593         Use CHECK_NATNUM instead of CHECK_INT.
1594
1595 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1596
1597         * mule-charset.c (Fget_char_attribute): Add new optional argument
1598         `default-value'.
1599         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1600         (remove_char_ccs): Likewise.
1601
1602 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1603
1604         * text-coding.c (char_encode_shift_jis): New implementation in
1605         UTF-2000.
1606         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1607         ...)'.
1608
1609         * mule-charset.c (Vcharset_chinese_big5): New variable in
1610         UTF-2000.
1611         (Qchinese_big5): New variable in UTF-2000.
1612         (BIG5_SAME_ROW): New macro in UTF-2000.
1613         (make_builtin_char): Use builtin characters of
1614         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1615         characters of `Vcharset_chinese_big5'.
1616         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1617         (complex_vars_of_mule_charset): Add new coded-charset
1618         `chinese-big5' in UTF-2000.
1619
1620         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1621         (Vcharset_chinese_big5): New external variable declaration.
1622         (Vcharset_japanese_jisx0208_1990): Likewise.
1623
1624 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1625
1626         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1627         function.
1628         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1629
1630 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1631
1632         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1633         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1634         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1635         `mojikyo-pj-*'.
1636
1637 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1638
1639         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1640
1641 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1642
1643         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1644         to 0.17.
1645
1646 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1647
1648         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1649         for `CHARSET_BY_ATTRIBUTES'.
1650         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1651         `CHARSET_BY_ATTRIBUTES'.
1652
1653         * text-coding.c (struct decoding_stream): Rename member `CH' to
1654         `CPOS'.
1655         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1656         (decode_coding_sjis): Likewise.
1657         (decode_coding_big5): Likewise.
1658         (decode_coding_ucs4): Likewise.
1659         (decode_coding_utf8): Likewise.
1660         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1661         `CHARSET_BY_ATTRIBUTES'.
1662         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1663         `str->counter'; decode 3, 4 bytes sets.
1664         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1665         sets.
1666         (decode_coding_no_conversion): Use `str->cpos' instead of
1667         `str->ch'.
1668
1669         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1670         (Qmojikyo_2022_1): New variable.
1671         (make_charset): Don't use `CHARSET_TYPE_*'.
1672         (range_charset_code_point): Support coded-charset
1673         `mojikyo-2022-1'.
1674         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1675         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1676         `CHARSET_BY_ATTRIBUTES'.
1677         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1678         `CHARSET_BY_ATTRIBUTES'.
1679         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1680         (complex_vars_of_mule_charset): Add new coded-charset
1681         `mojikyo-2022-1'.
1682
1683         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1684         interface; changed to inline function.
1685
1686         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1687         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1688         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1689         (CHARSET_TYPE_94): Deleted.
1690         (CHARSET_TYPE_94X94): Deleted.
1691         (CHARSET_TYPE_96): Deleted.
1692         (CHARSET_TYPE_96X96): Deleted.
1693         (CHARSET_TYPE_128): Deleted.
1694         (CHARSET_TYPE_128X128): Deleted.
1695         (CHARSET_TYPE_256): Deleted.
1696         (CHARSET_TYPE_256X256): Deleted.
1697         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1698         to inline function.
1699         (DECODE_MOJIKYO_2022): New inline function.
1700         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1701         `Vcharset_mojikyo_2022_1'.
1702
1703 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1704
1705         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1706         instead of `EQ'.
1707         (put_byte_table): Likewise.
1708         (char_id_table_equal): Use `get_byte_table' [new implementation].
1709
1710 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1711
1712         * mule-charset.c: Include <limits.h> in UTF-2000.
1713         (BT_UINT8_MIN): New macro in UTF-2000.
1714         (BT_UINT8_MAX): New macro in UTF-2000.
1715         (BT_UINT8_t): New macro in UTF-2000.
1716         (BT_UINT8_nil): New macro in UTF-2000.
1717         (BT_UINT8_unbound): New macro in UTF-2000.
1718         (INT_UINT8_P): New inline function in UTF-2000.
1719         (UINT8_VALUE_P): New inline function in UTF-2000.
1720         (UINT8_ENCODE): New inline function in UTF-2000.
1721         (UINT8_DECODE): New inline function in UTF-2000.
1722         (mark_uint8_byte_table): New function in UTF-2000.
1723         (print_uint8_byte_table): New function in UTF-2000.
1724         (uint8_byte_table_equal): New function in UTF-2000.
1725         (uint8_byte_table_hash): New function in UTF-2000.
1726         (make_uint8_byte_table): New function in UTF-2000.
1727         (uint8_byte_table_same_value_p): New function in UTF-2000.
1728         (BT_UINT16_MIN): New macro in UTF-2000.
1729         (BT_UINT16_MAX): New macro in UTF-2000.
1730         (BT_UINT16_t): New macro in UTF-2000.
1731         (BT_UINT16_nil): New macro in UTF-2000.
1732         (BT_UINT16_unbound): New macro in UTF-2000.
1733         (INT_UINT16_P): New inline function in UTF-2000.
1734         (UINT16_VALUE_P): New inline function in UTF-2000.
1735         (UINT16_ENCODE): New inline function in UTF-2000.
1736         (UINT16_DECODE): New inline function in UTF-2000.
1737         (UINT8_TO_UINT16): New inline function in UTF-2000.
1738         (mark_uint16_byte_table): New function in UTF-2000.
1739         (print_uint16_byte_table): New function in UTF-2000.
1740         (uint16_byte_table_equal): New function in UTF-2000.
1741         (uint16_byte_table_hash): New function in UTF-2000.
1742         (make_uint16_byte_table): New function in UTF-2000.
1743         (uint16_byte_table_same_value_p): New function in UTF-2000.
1744         (print_byte_table): New function in UTF-2000.
1745         (byte-table): Use `print_byte_table' as printer.
1746         (make_byte_table): Delete second argument `older'.
1747         (byte_table_same_value_p): New function in UTF-2000.
1748         (copy_byte_table): Deleted.
1749         (get_byte_table): New function in UTF-2000.
1750         (put_byte_table): New function in UTF-2000.
1751         (print_char_id_table): New function in UTF-2000.
1752         (char-id-table): Use `print_char_id_table' as printer.
1753         (make_char_id_table): Delete second argument `older'.
1754         (get_char_id_table): Use `get_byte_table [new implementation].
1755         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1756         implementation].
1757         (Ffind_char_attribute_table): New function in UTF-2000.
1758         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1759         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1760         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1761         (syms_of_mule_charset): Add new function
1762         `find-char-attribute-table' in UTF-2000.
1763
1764         * lrecord.h (enum lrecord_type): Add
1765         `lrecord_type_uint16_byte_table' and
1766         `lrecord_type_uint8_byte_table'.
1767
1768         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1769         (Lisp_Uint8_Byte_Table): New type.
1770         (XUINT8_BYTE_TABLE): New macro.
1771         (XSETUINT8_BYTE_TABLE): New macro.
1772         (UINT8_BYTE_TABLE_P): New macro.
1773         (GC_UINT8_BYTE_TABLE_P): New macro.
1774         (struct Lisp_Uint16_Byte_Table): New structure.
1775         (Lisp_Uint16_Byte_Table): New type.
1776         (XUINT16_BYTE_TABLE): New macro.
1777         (XSETUINT16_BYTE_TABLE): New macro.
1778         (UINT16_BYTE_TABLE_P): New macro.
1779         (GC_UINT16_BYTE_TABLE_P): New macro.
1780
1781 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1782
1783         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1784         (Vcharacter_ideographic_strokes_table): Deleted.
1785         (Vcharacter_total_strokes_table): Deleted.
1786         (Vcharacter_morohashi_daikanwa_table): Deleted.
1787         (Vcharacter_decomposition_table): Deleted.
1788         (Qname): Deleted because it is duplicated.
1789         (Qideographic_radical): Deleted.
1790         (Qideographic_strokes): Deleted.
1791         (Qtotal_strokes): Deleted.
1792         (Qmorohashi_daikanwa): Deleted.
1793         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1794         `ideographic-radical', `ideographic-strokes', `total-strokes',
1795         `morohashi-daikanwa' and `->decomposition'.
1796         (Fget_char_attribute): Likewise.
1797         (Fput_char_attribute): Likewise; use `make-vector' instead of
1798         `make_older_vector' for `->decomposition' value.
1799         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1800         `ideograph-daikanwa'.
1801         (syms_of_mule_charset): Delete builtin symbols `name',
1802         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1803         `morohashi-daikanwa'.
1804         (vars_of_mule_charset): Don't setup
1805         `Vcharacter_ideographic_radical_table',
1806         `Vcharacter_ideographic_strokes_table',
1807         `Vcharacter_total_strokes_table',
1808         `Vcharacter_morohashi_daikanwa_table' and
1809         `Vcharacter_decomposition_table'.
1810
1811 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1812
1813         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1814         `make_older_vector', `make_vector_newer_1' and
1815         `make_vector_newer'.
1816
1817         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1818         `make_older_vector' and `make_vector_newer'.
1819
1820         * config.h.in (HAVE_GGC): New macro.
1821
1822 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1823
1824         * mule-charset.c (struct char_attribute_list_closure): New
1825         structure in UTF-2000.
1826         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1827         (Fchar_attribute_list): Likewise.
1828         (Fset_charset_mapping_table): Use `make_vector_newer'.
1829         (Fdecode_builtin_char): New function in UTF-2000.
1830         (syms_of_mule_charset): Add new function `char-attribute-list' and
1831         `decode-builtin-char' in UTF-2000.
1832
1833         * lisp.h (make_vector_newer): New prototype.
1834
1835         * alloc.c (make_vector_newer_1): New function.
1836         (make_vector_newer): New function.
1837
1838 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1839
1840         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1841         50100)'.
1842
1843 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1844
1845         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1846         (Vcharacter_attribute_table): Deleted.
1847         (Vcharacter_name_table): Deleted.
1848         (put_char_attribute): Deleted.
1849         (remove_char_attribute): Deleted.
1850         (struct char_attribute_alist_closure): New structure.
1851         (add_char_attribute_alist_mapper): New function.
1852         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1853         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1854         (Fget_char_attribute): Likewise.
1855         (Fput_char_attribute): Likewise.
1856         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1857         of `remove_char_attribute'.
1858         (Fdefine_char): Return character.
1859         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1860         and `Vcharacter_name_table'.
1861         (complex_vars_of_mule_charset): Likewise
1862         `Vchar_attribute_hash_table'.
1863
1864 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1865
1866         * character.h (CHARC_CHARSET): New macro.
1867         (CHARC_CHARSET_ID): New macro.
1868         (CHARC_CODE_POINT): New macro.
1869         (CHARC_COLUMNS): New macro.
1870         (CHARC_TO_CHAR): New inline function.
1871         (CHARC_EQ): New inline function.
1872         (CHARC_ASCII_EQ): New inline function.
1873         (CHARC_IS_SPACE): New inline function.
1874         (ASCII_TO_CHARC): New inline function.
1875
1876         * char-ucs.h (encode_char_2): Deleted.
1877         (ENCODE_CHAR): Use `encode_char_1' again.
1878         (breakup_char_1): Likewise.
1879         (CHAR_TO_CHARC): New inline function.
1880
1881         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1882
1883 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1884
1885         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1886         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1887         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1888         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1889         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1890         `CHARC_IS_SPACE'.
1891         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1892
1893         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1894         `CHARC_CODE_POINT'.
1895         (x_output_display_block): Use `CHARC_CHARSET' and
1896         `CHARC_ASCII_EQ'.
1897
1898         * redisplay-tty.c (tty_output_display_block): Use
1899         `CHARC_ASCII_EQ'.
1900         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1901
1902         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1903
1904         * insdel.c (find_charsets_in_charc_string): Use
1905         `CHARC_CHARSET_ID'.
1906         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1907         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1908         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1909         (convert_charc_string_into_malloced_string): Likewise.
1910
1911 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1912
1913         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1914         instead of <Emchar_dynarr *> for buf; use
1915         `convert_bufbyte_string_into_charc_dynarr' instead of
1916         `convert_bufbyte_string_into_emchar_dynarr'; use
1917         `find_charsets_in_charc_string' instead of
1918         `find_charsets_in_emchar_string'.
1919
1920         * redisplay.h:
1921         - Include "character.h".
1922         (struct rune): New member `cglyph'; delete member `chr'.
1923
1924         * redisplay.c (redisplay_text_width_charc_string): New function;
1925         delete `redisplay_text_width_emchar_string'.
1926         (rtw_charc_dynarr): New variable; renamed from
1927         `rtw_emchar_dynarr'.
1928         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1929         `rtw_emchar_dynarr'; use
1930         `convert_bufbyte_string_into_charc_dynarr' instead of
1931         `convert_bufbyte_string_into_emchar_dynarr'; use
1932         `redisplay_text_width_charc_string' instead of
1933         `redisplay_text_width_emchar_string'.
1934         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1935         instead of `rtw_emchar_dynarr'; use
1936         `convert_bufbyte_string_into_charc_dynarr' instead of
1937         `convert_bufbyte_string_into_emchar_dynarr'.
1938         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1939         `redisplay_text_width_charc_string' instead of
1940         `redisplay_text_width_emchar_string'.
1941         (create_text_block): Modify for <struct rune> change.
1942         (generate_formatted_string_db): Likewise.
1943         (create_string_text_block): Likewise.
1944         (pixel_to_glyph_translation): Likewise.
1945
1946         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1947         instead of <const Emchar *>.
1948         (x_text_width): Likewise.
1949         (x_output_display_block): Use <Charc_dynarr *> instead
1950         <Emchar_dynarr *>; modify for <structure rune> change.
1951         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1952         *>.
1953
1954         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1955         <const Emchar *>; use `charc_string_displayed_columns' instead of
1956         `emchar_string_displayed_columns'.
1957         (tty_output_display_block): Use <Charc_dynarr *> instead of
1958         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1959         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1960         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1961         `tty_output_emchar_dynarr_dynarr'.
1962         (tty_output_charc_dynarr): New function; delete
1963         `tty_output_charc_dynarr'.
1964
1965         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1966         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1967         <Emchar_dynarr *> for buf; use
1968         `convert_bufbyte_string_into_charc_dynarr' instead of
1969         `convert_bufbyte_string_into_emchar_dynarr'.
1970
1971         * frame.c (title_string_charc_dynarr): New variable; renamed from
1972         `title_string_emchar_dynarr'.
1973         (generate_title_string): Use `title_string_charc_dynarr' instead
1974         of `title_string_emchar_dynarr'; use
1975         `convert_charc_string_into_malloced_string' instead of
1976         `convert_emchar_string_into_malloced_string'.
1977         (init_frame): Use `title_string_charc_dynarr' instead of
1978         `title_string_emchar_dynarr'.
1979
1980         * console.h:
1981         - Include "character.h".
1982         (struct console_methods): Use <const Charc *> instead of <const
1983         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1984         <Emchar_dynarr *> in output_string_method.
1985
1986         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1987         <Emchar_dynarr *>.
1988
1989         * console-stream.c (stream_text_width): Use <const Charc *>
1990         instead of <const Emchar *>.
1991
1992         * character.h (Charc_dynarr): New type.
1993
1994         * char-ucs.h (structure Charc): New structure; define new type
1995         `Charc'.
1996
1997         * char-lb.h (DECODE_CHAR): New inline function.
1998         (encode_char_1): New inline function.
1999         (ENCODE_CHAR): New macro.
2000         (structure Charc): New structure; define new type `Charc'.
2001
2002         * char-1byte.h (Vcharset_control_1): New macro.
2003         (Vcharset_latin_iso8859_1): New macro.
2004         (DECODE_CHAR): New inline function.
2005         (encode_char_1): New inline function.
2006         (ENCODE_CHAR): New macro.
2007         (structure Charc): New structure; define new type `Charc'.
2008
2009         * insdel.c (find_charsets_in_charc_string): New function; delete
2010         `find_charsets_in_emchar_string'.
2011         (charc_string_displayed_columns): New function; delete
2012         `emchar_string_displayed_columns'.
2013         (convert_bufbyte_string_into_charc_dynarr): New function; delete
2014         `convert_bufbyte_string_into_emchar_dynarr'.
2015         (convert_charc_string_into_bufbyte_dynarr): New function; delete
2016         `convert_charc_string_into_bufbyte_dynarr'.
2017         (convert_charc_string_into_malloced_string): New function; delete
2018         `convert_charc_string_into_malloced_string'.
2019
2020         * buffer.h (find_charsets_in_charc_string): New prototype; delete
2021         `find_charsets_in_emchar_string'.
2022         (charc_string_displayed_columns): New prototype; delete
2023         `emchar_string_displayed_columns'.
2024         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
2025         `convert_charc_string_into_bufbyte_dynarr'.
2026         (convert_charc_string_into_malloced_string): New prototype; delete
2027         `convert_charc_string_into_malloced_string'.
2028
2029 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2030
2031         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
2032
2033 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2034
2035         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
2036
2037         * char-ucs.h: Use <short> for <Charset_ID>.
2038
2039         * mule-charset.h, char-1byte.h: Use <unsigned char> for
2040         <Charset_ID>.
2041
2042 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2043
2044         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2045         to 0.16.
2046
2047 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2048
2049         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
2050         variable.
2051         (Qmorohashi_daikanwa): New variable.
2052         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
2053         for `morohashi-daikanwa' attribute.
2054         (Fget_char_attribute): Likewise.
2055         (Fput_char_attribute): Likewise.
2056         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
2057         has the same value of `ideograph-daikanwa'.
2058         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
2059         (vars_of_mule_charset): Setup
2060         `Vcharacter_morohashi_daikanwa_table'.
2061
2062 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2063
2064         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
2065         attributes.
2066         (add_charset_to_list_mapper): Add `key' instead of
2067         `XCHARSET_NAME (value)' to return aliases.
2068
2069 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2070
2071         * mule-charset.c (Vcharacter_ideographic_radical_table): New
2072         variable.
2073         (Vcharacter_ideographic_strokes_table): New variable.
2074         (Qideographic_radical): New variable.
2075         (Qideographic_strokes): New variable.
2076         (Fchar_attribute_alist): Use
2077         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
2078         attribute; use `Vcharacter_ideographic_strokes_table' for
2079         `ideographic-strokes' attribute.
2080         (Fget_char_attribute): Likewise.
2081         (Fput_char_attribute): Likewise.
2082         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
2083         `ideographic-strokes'.
2084         (vars_of_mule_charset): Setup
2085         `Vcharacter_ideographic_radical_table' and
2086         `Vcharacter_ideographic_strokes_table'.
2087
2088 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2089
2090         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
2091         (Qtotal_strokes): New variable.
2092         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
2093         `total-strokes' attribute.
2094         (Fget_char_attribute): Likewise.
2095         (Fput_char_attribute): Likewise.
2096         (syms_of_mule_charset): Add new symbol `total-strokes'.
2097         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
2098
2099 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2100
2101         * mule-charset.c (Vcharacter_decomposition_table): New variable.
2102         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
2103         are found.
2104         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
2105         `->decomposition' attribute.
2106         (Fput_char_attribute): Likewise.
2107         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
2108
2109 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2110
2111         * mule-charset.c (decoding_table_check_elements): New function.
2112         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
2113
2114 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2115
2116         * mule-charset.c (Fset_charset_mapping_table): Use
2117         `put_char_ccs_code_point'.
2118
2119 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2120
2121         * mule-charset.c (decoding_table_put_char): New inline function.
2122         (put_char_ccs_code_point): Use `decoding_table_put_char'.
2123
2124 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2125
2126         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
2127         (XCHARSET_BYTE_SIZE): New macro.
2128         (decoding_table_remove_char): New inline function.
2129         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
2130         `decoding_table_remove_char'.
2131         (remove_char_ccs): Use `decoding_table_remove_char'.
2132         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
2133
2134 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2135
2136         * mule-charset.c (Vcharacter_name_table): New variable.
2137         (Qname): New variable.
2138         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
2139         attribute.
2140         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
2141         `Vcharacter_name_table' for `name' attribute.
2142         (Fremove_char_attribute): Use function `remove_char_ccs'.
2143         (put_char_ccs_code_point): New function.
2144         (remove_char_ccs): New function.
2145         (syms_of_mule_charset): Add new symbol `name'.
2146         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
2147
2148 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2149
2150         * mule-charset.c (make_byte_table): Add new argument `older'.
2151         (make_char_id_table): Likewise.
2152         (copy_char_id_table): Comment out because it is not used.
2153         (put_char_id_table): Modify for `make_byte_table'.
2154         (Fput_char_attribute): Make encoding_table as older object;
2155         inherit older bit of `Vcharacter_composition_table'.
2156         (mark_charset): Don't mark `cs->encoding_table'.
2157         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
2158         normal object; make `Vcharacter_composition_table' as an older
2159         object; delete staticpro for `Vcharacter_composition_table'; make
2160         `Vcharacter_variant_table' as a normal object.
2161
2162         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
2163         (mark_object): Don't check older object in UTF-2000.
2164
2165         * lrecord.h (struct lrecord_header): Add new member `older' in
2166         UTF-2000.
2167         (set_lheader_implementation): Setup `SLI_header->older' in
2168         UTF-2000.
2169         (set_lheader_older_implementation): New macro in UTF-2000.
2170         (OLDER_RECORD_P): New macro in UTF-2000.
2171         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
2172         (alloc_older_lcrecord): New prototype in UTF-2000.
2173         (alloc_older_lcrecord_type): New macro in UTF-2000.
2174
2175 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2176
2177         * mule-charset.c (byte_table_description): Use
2178         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
2179         (char_id_table_description): Delete bogus `, 1'.
2180         (Fget_char_attribute): Refer encoding_table of each coded-charset
2181         to get value of coded-charset attribute of a character.
2182         (Fput_char_attribute): Use `make_older_vector' instead of
2183         `make_vector'; use encoding_table of each coded-charset to store
2184         value of coded-charset attribute of a character.
2185         (Fremove_char_attribute): Use encoding_table of each coded-charset
2186         to store value of coded-charset attribute of a character.
2187         (mark_charset): Mark `cs->encoding_table'; don't mark
2188         `cs->decoding_table'.
2189         (charset_description): Add description of new member
2190         `encoding_table'.
2191         (make_charset): Initialize `encoding_table'.
2192
2193         * char-ucs.h (struct Lisp_Charset): Add new member
2194         `encoding_table'.
2195         (CHARSET_ENCODING_TABLE): New macro.
2196         (XCHARSET_ENCODING_TABLE): New macro.
2197         (charset_code_point): New implementation.
2198         (encode_char_1): Likewise.
2199
2200         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
2201         (disksave_object_finalization_1): Call finalizers of
2202         `all_older_lcrecords' in UTF-2000.
2203         (make_older_vector): New function in UTF-2000.
2204         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
2205         UTF-2000.
2206
2207         * lisp.h (make_older_vector): New prototype in UTF-2000.
2208
2209 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2210
2211         * lrecord.h (enum lrecord_type): Rename
2212         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2213
2214         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2215         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2216         `get_char_code_table'.
2217
2218         * mule-charset.c (mark_char_id_table): Renamed from
2219         `mark_char_code_table'.
2220         (char_id_table_equal): Renamed from `char_code_table_equal'.
2221         (char_id_table_hash): Renamed from `char_code_table_hash'.
2222         (make_char_id_table): Renamed from `make_char_code_table'.
2223         (copy_char_id_table): Renamed from `copy_char_code_table'.
2224         (get_char_id_table): Renamed from `get_char_code_table'.
2225         (put_char_id_table): Renamed from `put_char_code_table'.
2226         (to_char_id): Renamed from `to_char_code'.
2227
2228         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2229         `Lisp_Char_Code_Table'.
2230         (char_id_table): Renamed from `char_code_table'.
2231         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2232         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2233         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2234         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2235         (get_char_id_table): Renamed from `get_char_code_table'.
2236
2237 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2238
2239         * lrecord.h (enum lrecord_type): Rename
2240         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2241
2242         * mule-charset.c (mark_byte_table): Renamed from
2243         `mark_char_byte_table'.
2244         (byte_table_equal): Renamed from `char_byte_table_equal'.
2245         (byte_table_hash): Renamed from `byte_table_hash'.
2246         (make_byte_table): Renamed from `make_byte_table'.
2247         (copy_byte_table): Renamed from `copy_char_byte_table'.
2248
2249         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2250         `Lisp_Char_Byte_Table'.
2251         (byte_table): Renamed from `char_byte_table'.
2252         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2253         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2254         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2255         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2256
2257 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2258
2259         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2260         (dfc_convert_to_internal_format): Likewise.
2261         
2262         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2263         * text-coding.c (Fcoding_system_alias_p): New function.
2264         * text-coding.c (Fcoding_system_aliasee): New function.
2265         * text-coding.c (append_suffix_to_symbol): New function.
2266         * text-coding.c (dangling_coding_system_alias_p): New function.
2267         * text-coding.c (Ffind_coding_system):
2268         * text-coding.c (Fcopy_coding_system):
2269         * text-coding.c (encode_coding_no_conversion):
2270         * text-coding.c (syms_of_file_coding):
2271         * text-coding.c (vars_of_file_coding):
2272         Rewrite coding system alias code.
2273         Allow nested aliases, like symbolic links.
2274         Allow redefinition of coding system aliases.
2275         Prevent existence of dangling coding system aliases.
2276         Eliminate convert_to_external_format.
2277         Eliminate convert_to_internal_format.
2278         
2279         * text-coding.c: Change enum eol_type to eol_type_t.
2280
2281 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2282
2283         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2284         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2285
2286         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2287         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2288
2289 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2290
2291         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2292         `ideograph-daikanwa'.
2293
2294         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2295         (Vcharset_ucs_bmp): Likewise.
2296         (Vcharset_mojikyo): Add new extern variable definition.
2297         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2298         (Vcharset_latin_iso8859_3): Likewise.
2299         (Vcharset_latin_iso8859_4): Likewise.
2300         (Vcharset_latin_iso8859_9): Likewise.
2301         (Vcharset_latin_viscii_lower): Likewise.
2302         (Vcharset_latin_viscii_upper): Likewise.
2303         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2304         `mojikyo' code-point is used to decode.
2305         (encode_char_2): New function [to convert `mojikyo' code-point to
2306         Mojikyo font encoding].
2307         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2308         (breakup_char_1): Likewise.
2309         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2310
2311 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2312
2313         * text-coding.c (Fmake_coding_system): Add document about
2314         `disable-composition' property.
2315
2316 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2317
2318         * text-coding.c (Qdisable_composition): New variable; delete
2319         `Qcomposite'.
2320         (Fmake_coding_system): Add new property `disable-composite';
2321         delete property `composite'.
2322         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2323         instead of `!CODING_SYSTEM_COMPOSITE'.
2324         (syms_of_file_coding): Add new symbol `disable-composition';
2325         delete symbol `composite'.
2326
2327         * file-coding.h (struct Lisp_Coding_System): Add
2328         `disable_composition'; delete `enable_composition'.
2329         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2330         `CODING_SYSTEM_COMPOSITE'.
2331         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2332         `XCODING_SYSTEM_COMPOSITE'.
2333
2334 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2335
2336         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2337         to 0.15.
2338
2339 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2340
2341         * text-coding.c (Qcomposite): New variable.
2342         (Fmake_coding_system): Add new property `composite'.
2343         (struct decoding_stream): Add `combined_char_count',
2344         `combined_chars' and `combining_table' in UTF-2000.
2345         (COMPOSE_FLUSH_CHARS): New macro.
2346         (COMPOSE_ADD_CHAR): New macro.
2347         (reset_decoding_stream): Reset `str->combined_char_count' and
2348         `str->combining_table' in UTF-2000.
2349         (decode_coding_iso2022): Modify for character-decomposition.
2350         (syms_of_file_coding): Add new symbol `composite'.
2351
2352 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2353
2354         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2355         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2356         of `Vcharacter_composition_table' if `->decomposition' property
2357         has only 1 element.
2358         (Qlatin_tcvn5712): New variable.
2359         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2360         (complex_vars_of_mule_charset): Add new coded-charset
2361         `latin-tcvn5712'.
2362
2363         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2364
2365 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2366
2367         * file-coding.h (struct Lisp_Coding_System): Add
2368         `enable_composition'.
2369         (CODING_SYSTEM_COMPOSITE): New macro.
2370         (XCODING_SYSTEM_COMPOSITE): New macro.
2371
2372 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2373
2374         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2375
2376 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2377
2378         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2379         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2380
2381 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2382
2383         * mule-charset.c (Vcharset_mojikyo): New variable.
2384         (Fdefine_char): Don't use coded-charset which does not have
2385         non-builtin character range to allocate character-id.
2386         (Qmojikyo): New variable.
2387         (syms_of_mule_charset): Add new symbol `mojikyo'.
2388         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2389
2390         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2391         (LEADING_BYTE_MOJIKYO): New macro.
2392         (MIN_CHAR_MOJIKYO): New macro.
2393         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2394         (MAX_CHAR_MOJIKYO): New macro.
2395
2396 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2397
2398         * mule-charset.c (remove_char_attribute): Fixed.
2399
2400 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2401
2402         * mule-charset.c (remove_char_attribute): New function.
2403         (Fremove_char_attribute): New function.
2404         (encode_builtin_char_1): Comment out builtin-support for
2405         greek-iso8859-7 and cyrillic-iso8859-5.
2406         (Fdecode_char): Check `code' is an integer.
2407         (syms_of_mule_charset): Add `remove-char-attribute'.
2408         (MIN_CHAR_GREEK): Deleted.
2409         (MAX_CHAR_GREEK): Likewise.
2410         (MIN_CHAR_CYRILLIC): Likewise.
2411         (MAX_CHAR_CYRILLIC): Likewise.
2412         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2413         MAX_CHAR_GREEK for `greek-iso8859-7'.
2414
2415         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
2416         (MAX_CHAR_GREEK): Likewise.
2417         (MIN_CHAR_CYRILLIC): Likewise.
2418         (MAX_CHAR_CYRILLIC): Likewise.
2419
2420 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
2421
2422         * mule-charset.c (Fdefine_char): Fix problem when new code-point
2423         format is used without `ucs' property.
2424         (Fdecode_char): Fix problem with GR representation.
2425         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
2426         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
2427
2428 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2429
2430         * mule-charset.c (make_builtin_char): New function.
2431         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
2432         (Fset_charset_mapping_table): Modify for new representation of
2433         code-point.
2434         (Fdecode_char): New function.
2435         (syms_of_mule_charset): Add new builtin function `decode-char' in
2436         UTF-2000.
2437
2438         * char-ucs.h (make_builtin_char): New prototype.
2439         (DECODE_CHAR): New inline function.
2440         (MAKE_CHAR): Use `DECODE_CHAR'.
2441
2442 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
2443
2444         * text-coding.c (parse_charset_conversion_specs): Use
2445         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
2446         `XCHARSET_TYPE'.
2447         (iso2022_designate): Likewise.
2448
2449         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
2450         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
2451
2452         * mule-charset.c (Vcharset_ucs): New variable.
2453         (print_charset): Change design; use `CHARSET_CHARS' and
2454         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
2455         (make_charset): Change signature to specify `chars' and
2456         `dimension' instead of `type'.
2457         (range_charset_code_point): Modify for 256^n-set.
2458         (encode_builtin_char_1): Encode as `ucs' in default.
2459         (Fmake_charset): Modify for `make_charset'.
2460         (Fmake_reverse_direction_charset): Likewise.
2461         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
2462         UTF-2000.
2463         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
2464         for `make_charset'.
2465
2466         * char-ucs.h (Vcharset_ucs): New variable.
2467         (LEADING_BYTE_UCS): New macro.
2468         (struct Lisp_Charset): Delete `type'; change type of `dimension'
2469         and `chars' to `unsigned short' from `unsigned int'.
2470         (CHARSET_TYPE): Deleted.
2471         (XCHARSET_TYPE): Deleted.
2472
2473 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
2474
2475         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
2476
2477         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
2478         (ENCODE_CHAR): New macro.
2479
2480 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2481
2482         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2483         to 0.14 (Kawachi-Katakami).
2484
2485 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2486
2487         * text-coding.c (char_encode_shift_jis): Modify for
2488         `charset_code_point'.
2489         (char_encode_iso2022): Likewise.
2490
2491         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
2492         (integer) instead of list of <Lisp_Object>s (integers) as the
2493         format of code-point of a coded-charset.
2494         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2495         (encode_builtin_char_1): New function; delete
2496         `split_builtin_char'.
2497         (charset_code_point): Return <int> instead of <Lisp_Object>.
2498         (Fsplit_char): Don't use `SPLIT_CHAR'.
2499
2500         * char-ucs.h (encode_builtin_char_1): New prototype; delete
2501         prototype for `split_builtin_char'.
2502         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2503         (charset_code_point): Likewise.
2504         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
2505         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
2506
2507 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
2508
2509         * mule-charset.c (complex_vars_of_mule_charset): Don't define
2510         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
2511
2512 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2513
2514         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
2515
2516         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
2517         (MAX_CHAR_OBS_94x94): Deleted.
2518
2519 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2520
2521         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
2522
2523         * char-ucs.h (MAX_CHAR_BMP): New macro.
2524
2525 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2526
2527         * text-coding.c: Sync with r21-2-24.
2528
2529 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2530
2531         * file-coding.c: Modify for UTF-2000.
2532
2533 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2534
2535         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2536         to 0.13 (Takaida).
2537
2538 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2539
2540         * mule-charset.c (split_builtin_char): Delete builtin support for
2541         `katakana-jisx0201'.
2542         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
2543         BMP area in builtin representation.
2544
2545         * char-ucs.h (MAKE_CHAR): Delete builtin support for
2546         `Vcharset_katakana_jisx0201'.
2547
2548 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
2549
2550         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2551         (Qisolated): New variable.
2552         (Qinitial): New variable.
2553         (Qmedial): New variable.
2554         (Qfinal): New variable.
2555         (Qvertical): New variable.
2556         (Qsmall): New variable.
2557         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2558         `Qvertical' and `Qsmall'.
2559         (Qmojikyo_pj_[1 .. 21]): New variable.
2560         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2561         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2562         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2563         .. 21]'.
2564
2565 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2566
2567         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2568         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2569         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2570
2571 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2572
2573         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2574         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2575         BMP.
2576         (Qjapanese_jisx0208_1990): New variable.
2577         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2578         (complex_vars_of_mule_charset): Add new coded-charset
2579         `japanese-jisx0208-1990'.
2580
2581         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2582         (MIN_CHAR_JIS_X0208_1990): New macro.
2583         (MAX_CHAR_JIS_X0208_1990): New macro.
2584
2585 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2586
2587         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2588         coded-charset is not found.
2589
2590 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2591
2592         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2593         (Fdefine_char): Use `Fmake_char'.
2594
2595 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2596
2597         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2598         (Vcharset_hiragana_jisx0208): Deleted.
2599         (Vcharset_katakana_jisx0208): Deleted.
2600         (Qideograph_daikanwa): New variable.
2601         (Qhiragana_jisx0208): Deleted.
2602         (Qkatakana_jisx0208): Deleted.
2603         (split_builtin_char): Split `ideograph-daikanwa'.
2604         (Fsplit_char): New implementation for UTF-2000.
2605         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2606         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2607         (complex_vars_of_mule_charset): Add new coded-charset
2608         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2609         `katakana-jisx0208'.
2610
2611         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2612         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2613         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2614         (MIN_CHAR_DAIKANWA): New macro.
2615         (MAX_CHAR_DAIKANWA): New macro.
2616
2617 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2618
2619         * data.c (Fstring_to_number): Don't recognize floating point if
2620         base is not 10.
2621
2622 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2623
2624         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2625
2626 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2627
2628         * mule-charset.c (Qsquare): New variable.
2629         (to_char_code): Add `Qsquare'.
2630         (syms_of_mule_charset): Add new symbol `square'.
2631
2632 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2633
2634         * mule-charset.c (Qcircle): New variable.
2635         (to_char_code): Add `Qcircle'.
2636         (syms_of_mule_charset): Add new symbol `circle'.
2637
2638 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2639
2640         * mule-charset.c (Qfont): New variable.
2641         (to_char_code): Add `Qfont'.
2642         (syms_of_mule_charset): Add new symbol `font'.
2643
2644 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2645
2646         * mule-charset.c (Qsub): New variable.
2647         (to_char_code): Add `Qsub'.
2648         (syms_of_mule_charset): Add new symbol `sub'.
2649
2650 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2651
2652         * mule-charset.c (Fput_char_attribute): Convert each element of
2653         VALUE to GL position if ATTRIBUTE is a GR-set,
2654
2655 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2656
2657         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2658         coded-charset is a GR-set.
2659
2660 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2661
2662         * mule-charset.c (Fput_char_attribute): Check each element of
2663         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2664
2665 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2666
2667         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2668         UTF-2000.
2669         (Qethiopic_ucs): New variable in UTF-2000.
2670         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2671         (complex_vars_of_mule_charset): Add new coded-charset
2672         `ethiopic-ucs' in UTF-2000.
2673
2674         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2675         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2676         9)'.
2677         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2678         10)'.
2679         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2680
2681 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2682
2683         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2684         `ascii'.
2685
2686 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2687
2688         * mule-charset.c (Vcharacter_variant_table): New variable.
2689         (Q_ucs): New variable.
2690         (Fchar_variants): New function.
2691         (Fput_char_attribute): Register `->ucs' value to
2692         `Vcharacter_variant_table'.
2693         (syms_of_mule_charset): Add new function `char-variants' and new
2694         symbol `->ucs'.
2695         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2696
2697 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2698
2699         * mule-charset.c (get_char_code_table): Allow negative character
2700         code.
2701         (put_char_code_table): Likewise.
2702         (Vcharacter_composition_table): New variable.
2703         (Q_decomposition): New variable.
2704         (Qwide): New variable.
2705         (Qnarrow): New variable.
2706         (Qcompat): New variable.
2707         (QnoBreak): New variable.
2708         (Qsuper): New variable.
2709         (Qfraction): New variable.
2710         (to_char_code): New function.
2711         (Fget_composite_char): New function.
2712         (Fput_char_attribute): Register `->decomposition' value to
2713         `Vcharacter_composition_table'.
2714         (syms_of_mule_charset): Add new function `get-composite-char', new
2715         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2716         `super' and `fraction'.
2717         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2718
2719 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2720
2721         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2722         character; copy the return value.
2723
2724 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2725
2726         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2727
2728         * mule-charset.c (range_charset_code_point): Must use make_int.
2729         (split_builtin_char): New function.
2730
2731 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2732
2733         * mule-charset.c (char_byte_table): Change name from
2734         "char-code-table" to "char-byte-table".
2735         (mark_char_code_table): New function.
2736         (char_code_table_equal): New function.
2737         (char_code_table_hash): New function.
2738         (char_code_table_description): New constant.
2739         (char_code_table): New type.
2740         (make_char_code_table): New function.
2741         (copy_char_code_table): New function.
2742         (get_char_code_table): Modify for `char_code_table' type.
2743         (put_char_code_table): Likewise.
2744         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2745         (Kashiwara).
2746
2747         * char-ucs.h (char_code_table): New type.
2748         (XCHAR_CODE_TABLE): New macro.
2749         (XSETCHAR_CODE_TABLE): New macro.
2750         (CHAR_CODE_TABLE_P): New macro.
2751         (GC_CHAR_CODE_TABLE_P): New macro.
2752         (struct Lisp_Char_Code_Table): New structure.
2753
2754 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2755
2756         * mule-charset.c (Fmake_charset): Setup byte_offset for
2757         {94|96}^n-set.
2758
2759 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2760
2761         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2762         character.
2763
2764 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2765
2766         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2767         is found.
2768
2769 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2770
2771         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2772         charset, it is regarded as a charset.
2773         (put_char_attribute): New function in UTF-2000.
2774         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2775         charset, mapping-table of the charset is modified.
2776         (Fdefine_char): New function in UTF-2000.
2777         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2778         `Fput_char_attribute'.
2779         (syms_of_mule_charset): Add new function `define-char' and new
2780         symbol `ucs' in UTF-2000.
2781         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2782
2783 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2784
2785         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2786         non-UTF-2000 configuration.
2787
2788 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2789
2790         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2791         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2792
2793         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2794         deleted.
2795         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2796         (Fset_charset_mapping_table): Likewise.
2797
2798         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2799         (CHARSET_ENCODING_TABLE): Delete.
2800         (XCHARSET_ENCODING_TABLE): Delete.
2801         (charset_code_point): New interface.
2802
2803 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2804
2805         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2806         instead of `charset_get_byte1' and `charset_get_byte2'.
2807
2808         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2809         (charset_get_byte2): Deleted.
2810
2811 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2812
2813         * char-ucs.h (SPLIT_CHAR): New inline function.
2814         (breakup_char_1): Use `SPLIT_CHAR'.
2815
2816         * mule-charset.c (range_charset_code_point): New function.
2817         (charset_code_point): New function.
2818
2819         * char-ucs.h (range_charset_code_point): New interface.
2820         (breakup_char_1): Use `range_charset_code_point'.
2821
2822 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2823
2824         * mule-charset.c (Fmake_charset): Delete unused local variable
2825         `code_offset'.
2826
2827         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2828         (breakup_char_1): Find a charset and code-point in
2829         `Vcharacter_attribute_table'.
2830
2831 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2832
2833         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2834         to 0.10 (Yao).
2835
2836 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2837
2838         * mule-charset.c (Vcharacter_attribute_table): New variable.
2839         (Fchar_attribute_alist): New function.
2840         (Fget_char_attribute): New function.
2841         (Fput_char_attribute): New function.
2842         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2843         too.
2844         (syms_of_mule_charset): Add new function `char-attribute-alist',
2845         `get-char-attribute' and `put-char-attribute'.
2846         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2847
2848 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2849
2850         * mule-charset.c (Fmake_charset): Just use
2851         `get_unallocated_leading_byte'.
2852
2853         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2854         sets; don't use final-byte based number for private sets.
2855
2856 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2857
2858         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2859         integer.
2860
2861 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2862
2863         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2864         to 0.9.
2865
2866 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2867
2868         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2869         of `CHAR_LEADING_BYTE' in UTF-2000.
2870
2871         * insdel.c (find_charsets_in_bufbyte_string): Use
2872         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2873         (find_charsets_in_emchar_string): Likewise.
2874
2875         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2876         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2877
2878         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2879         (CHAR_CHARSET_ID): New macro.
2880
2881 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2882
2883         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2884         charset-id - MIN_LEADING_BYTE.
2885         (put_char_table): Likewise.
2886
2887 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2888
2889         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2890         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2891         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2892         (CHARSET_ID_OFFSET): New macro.
2893         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2894         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2895         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2896         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2897         4).
2898         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2899         5).
2900         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2901         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2902         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2903         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2904         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2905
2906 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2907
2908         * mule-charset.c (next_allocated_leading_byte): New variable in
2909         UTF-2000.
2910         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2911         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2912         (get_unallocated_leading_byte): Simply use
2913         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2914         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2915         UTF-2000.
2916
2917         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2918         (MAX_LEADING_BYTE_PRIVATE): New macro.
2919         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2920         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2921
2922 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2923
2924         * mule-charset.c (Fmake_charset): Allocate final-byte based
2925         charset-id for 94-set, 96-set and 94x94-set.
2926
2927 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2928
2929         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2930         ambiguous `else'.
2931         (Fmake_charset): Likewise.
2932         (complex_vars_of_mule_charset): Modify the font registry of
2933         `ucs-bmp' not to match `Ethiopic-Unicode'.
2934
2935 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2936
2937         * mule-charset.c (complex_vars_of_mule_charset): Add font
2938         registory of `ucs-bmp'.
2939
2940 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2941
2942         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2943         coded-charsets in `default-coded-charset-priority-list' when
2944         breaking up a character.
2945
2946         * mule-charset.c (Vcharset_latin_viscii): New variable.
2947         (Qlatin_viscii): New variable.
2948         (make_charset): Don't use `decoding_table'.
2949         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2950         byte_offset.
2951         (Fset_charset_mapping_table): New implementation.
2952         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2953         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2954         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2955         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2956         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2957         charset `latin_viscii'.
2958
2959         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2960         (CHARSET_TYPE_94X94): Change to 1 from 2.
2961         (CHARSET_TYPE_96): Change to 2 from 1.
2962         (CHARSET_TYPE_128): New macro.
2963         (CHARSET_TYPE_128X128): Change to 5 from 4.
2964         (CHARSET_TYPE_256): New macro.
2965         (CHARSET_TYPE_256X256): Change to 7 from 5.
2966         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2967
2968 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2969
2970         * text-coding.c (char_encode_shift_jis): Refer
2971         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2972         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2973
2974         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2975         (char_byte_table_equal): New function in UTF-2000.
2976         (char_byte_table_hash): New function in UTF-2000.
2977         (char_byte_table_description): New constant in UTF-2000.
2978         (char_byte_table): New type in UTF-2000.
2979         (make_char_byte_table): New function in UTF-2000.
2980         (copy_char_byte_table): New function in UTF-2000.
2981         (make_char_code_table): New macro in UTF-2000.
2982         (get_char_code_table): New function in UTF-2000.
2983         (put_char_code_table): New function in UTF-2000.
2984         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2985         (charset_description): Add setting in UTF-2000.
2986         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2987         `CHARSET_TO_BYTE1_TABLE(cs)'.
2988         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2989         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2990         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2991         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2992         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2993         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2994         `CHARSET_TO_BYTE2_TABLE(cs)'.
2995
2996         * char-ucs.h (char_byte_table): New type.
2997         (XCHAR_BYTE_TABLE): New macro.
2998         (XSETCHAR_BYTE_TABLE): New macro.
2999         (CHAR_BYTE_TABLE_P): New macro.
3000         (GC_CHAR_BYTE_TABLE_P): New macro.
3001         (struct Lisp_Char_Byte_Table): New structure.
3002         (get_char_code_table): New interface.
3003         (Emchar_to_byte_table): Deleted.
3004         (get_byte_from_character_table): Deleted.
3005         (struct Lisp_Charset): Add `encoding_table'; delete
3006         `to_byte1_table' and `to_byte2_table'.
3007         (CHARSET_ENCODING_TABLE): New macro.
3008         (CHARSET_TO_BYTE1_TABLE): Deleted.
3009         (CHARSET_TO_BYTE2_TABLE): Deleted.
3010         (XCHARSET_ENCODING_TABLE): New macro.
3011         (XCHARSET_TO_BYTE1_TABLE): Deleted.
3012         (XCHARSET_TO_BYTE2_TABLE): Deleted.
3013
3014 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3015
3016         * mule-charset.c (syms_of_mule_charset): Delete charset alias
3017         `vietnamese-viscii-*'.
3018
3019 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3020
3021         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
3022         (Qvietnamese_viscii_upper): New variable.
3023         (Fdefine_charset_alias): New function.
3024         (syms_of_mule_charset): Add new function `define-charset-alias'.
3025         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
3026         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
3027         `latin-viscii-*'.
3028
3029 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
3030
3031         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
3032         (MAX_CHAR_OBS_94x94): New macro.
3033         (breakup_char_1): Support obsolete XEmacs-UCS private code space
3034         for 94x94 sets.
3035
3036         * mule-charset.c (put_byte_from_character_table): Change unit size
3037         from 128 to 256.
3038         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
3039         not defined.
3040         (Fmake_reverse_direction_charset): Modify dummy argument of
3041         `make_charset' for non-UTF-2000 environment.
3042
3043 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3044
3045         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
3046
3047         * mule-charset.c (destroy_byte_from_character_table): New macro.
3048         (latin_jisx0201_to_ucs): Deleted.
3049         (latin_iso8859_2_to_ucs): Deleted.
3050         (latin_iso8859_3_to_ucs): Deleted.
3051         (latin_iso8859_4_to_ucs): Deleted.
3052         (latin_iso8859_9_to_ucs): Deleted.
3053         (latin_viscii_lower_to_ucs): Deleted.
3054         (latin_viscii_upper_to_ucs): Deleted.
3055         (mark_charset): Mark `cs->decoding_table'.
3056         (Fcharset_mapping_table): Fix DOC-string.
3057         (Fset_charset_mapping_table): New function.
3058         (syms_of_mule_charset): Add nwe function
3059         `set-charset-mapping-table'.
3060         (complex_vars_of_mule_charset): Don't setup and use
3061         `latin_*_to_ucs'.
3062
3063 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3064
3065         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
3066         charset.
3067
3068 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3069
3070         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
3071         (Vcharset_katakana_jisx0208): New variable.
3072         (Qhiragana_jisx0208): New variable.
3073         (Qkatakana_jisx0208): New variable.
3074         (make_charset): Add new argument `byte_offset'.
3075         (charset_get_byte1): Modify for new coded-charset definition; use
3076         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3077         `XCHARSET_BYTE_OFFSET'.
3078         (Fmake_charset): Modify for `make_charset'.
3079         (Fmake_reverse_direction_charset): Likewise.
3080         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
3081         `katakana-jisx0208'.
3082         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
3083         `.'  in font registry of charset `katakana-jisx0201',
3084         `latin-jisx0201', `vietnamese-viscii-lower' and
3085         `vietnamese-viscii-upper'; modify DOC-string of charset
3086         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
3087         registry of charset `japanese-jisx0208' not to use font for JIS
3088         X0208:1990; add new charset `hiragana-jisx0208' and
3089         `katakana-jisx0208'.
3090
3091         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
3092         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
3093         (struct Lisp_Charset): Add `byte_offset'.
3094         (CHARSET_BYTE_OFFSET): New macro.
3095         (XCHARSET_UCS_MIN): New macro.
3096         (XCHARSET_UCS_MAX): New macro.
3097         (XCHARSET_CODE_OFFSET): New macro.
3098         (XCHARSET_BYTE_OFFSET): New macro.
3099         (MIN_CHAR_HIRAGANA): New macro.
3100         (MAX_CHAR_HIRAGANA): New macro.
3101         (MIN_CHAR_KATAKANA): New macro.
3102         (MAX_CHAR_KATAKANA): New macro.
3103         (MAKE_CHAR): Modify for new coded-charset definition; use
3104         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3105         `XCHARSET_BYTE_OFFSET'.
3106
3107 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3108
3109         * mule-charset.c (CHAR96): Deleted.
3110         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
3111         <Lisp_Object>.
3112         (latin_iso8859_2_to_ucs): Likewise.
3113         (latin_iso8859_3_to_ucs): Likewise.
3114         (latin_iso8859_4_to_ucs): Likewise.
3115         (latin_iso8859_9_to_ucs): Likewise.
3116         (latin_viscii_lower_to_ucs): Likewise.
3117         (latin_viscii_upper_to_ucs): Likewise.
3118         (latin_tcvn5712_to_ucs): Commented out.
3119         (make_charset): Change type of argument `decoding_table' from
3120         <Emchar*> to <Lisp_Object> [vector of characters].
3121         (Fmake_charset): Modify for `make_charset'.
3122         (Fmake_reverse_direction_charset): Likewise.
3123         (Fcharset_mapping_table): New function in UTF-2000.
3124         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
3125         UTF-2000.
3126         (complex_vars_of_mule_charset): Modify for type change of
3127         `*_to_ucs'; modify for `make_charset'.
3128
3129         * char-ucs.h (struct Lisp_Charset): Change type of
3130         `decoding_table' from <Emchar*> to <Lisp_Object>.
3131         (MAKE_CHAR): Modify for new specification of `decoding_table'.
3132
3133 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3134
3135         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
3136         error with non-UTF-2000-Mule.
3137
3138 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
3139
3140         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
3141         in lisp again].
3142         (Vcharset_chinese_cns11643_4): Likewise.
3143         (Vcharset_chinese_cns11643_5): Likewise.
3144         (Vcharset_chinese_cns11643_6): Likewise.
3145         (Vcharset_chinese_cns11643_7): Likewise.
3146         (Qchinese_cns11643_3): Likewise.
3147         (Qchinese_cns11643_4): Likewise.
3148         (Qchinese_cns11643_5): Likewise.
3149         (Qchinese_cns11643_6): Likewise.
3150         (Qchinese_cns11643_7): Likewise.
3151         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
3152         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3153         and `chinese-cns11643-7' to lisp/mule/chinese.el.
3154         (complex_vars_of_mule_charset): Likewise.
3155
3156 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3157
3158         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
3159         96-set.
3160         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
3161         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
3162
3163 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3164
3165         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
3166         0xFF60.
3167         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
3168         (breakup_char_1): Likewise.
3169
3170         * text-coding.c (char_encode_iso2022): Keep designated charsets if
3171         one of them includes the specified character.
3172
3173 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3174
3175         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
3176
3177 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3178
3179         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
3180
3181 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3182
3183         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
3184         definition for non-UTF-2000 Mule.
3185         (latin_iso8859_3_to_ucs): Likewise.
3186         (latin_iso8859_4_to_ucs): Likewise.
3187         (latin_iso8859_9_to_ucs): Likewise.
3188         (latin_jisx0201_to_ucs): Likewise.
3189         (MIN_CHAR_THAI): Likewise.
3190         (MAX_CHAR_THAI): Likewise.
3191         (MIN_CHAR_GREEK): Likewise.
3192         (MAX_CHAR_GREEK): Likewise.
3193         (MIN_CHAR_HEBREW): Likewise.
3194         (MAX_CHAR_HEBREW): Likewise.
3195         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
3196         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
3197         (MIN_CHAR_CYRILLIC): Likewise.
3198         (MAX_CHAR_CYRILLIC): Likewise.
3199
3200 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3201
3202         * char-ucs.h (breakup_char_1): Use
3203         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
3204         thai-tis620 and katakana-jisx0201 area.
3205
3206 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3207
3208         * char-ucs.h (breakup_char_1): Use
3209         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
3210         area.
3211
3212         * text-coding.c (reset_encoding_stream): Fixed.
3213         (char_encode_ucs4): Delete `& 255'.
3214
3215         * char-ucs.h (breakup_char_1): Use
3216         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3217
3218 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3219
3220         * file-coding.c (Fmake_coding_system): Don't set up
3221         `codesys->fixed.size'.
3222         (encode_coding_no_conversion): Don't refer
3223         `str->codesys->fixed.size'.
3224
3225 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3226
3227         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3228         (latin_a_char_to_byte1): Deleted.
3229         (latin_a_char_to_byte2): Deleted.
3230
3231 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3232
3233         * mule-charset.c (make_charset): Add new argument `ucs_min',
3234         `ucs_max' and `code_offset'.
3235         (charset_get_byte1): New implementation [delete specific charset
3236         depended implementations].
3237         (Fmake_charset): Modify for `make_charset'.
3238         (Fmake_reverse_direction_charset): Likewise.
3239         (complex_vars_of_mule_charset): Likewise.
3240
3241         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3242         `code_offset'.
3243         (CHARSET_UCS_MIN): New macro.
3244         (CHARSET_UCS_MAX): New macro.
3245         (CHARSET_CODE_OFFSET): New macro.
3246         (MAKE_CHAR): Delete charset depended definitions [except
3247         katakana-jisx0201].
3248
3249 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3250
3251         * char-ucs.h (breakup_char_1): Use
3252         `Vdefault_coded_charset_priority_list' for C0-Controls,
3253         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3254
3255 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3256
3257         * char-ucs.h (charset_get_byte1): New function.
3258         (XCHARSET_GET_BYTE1): Deleted.
3259         (charset_get_byte2): New function.
3260         (XCHARSET_GET_BYTE2): Deleted.
3261         (Vdefault_coded_charset_priority_list): New external variable.
3262         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3263         `Vdefault_preferred_coded_charset_list'.
3264
3265         * mule-charset.c (charset_get_byte1): New function.
3266         (charset_get_byte2): New function.
3267         (Vdefault_coded_charset_priority_list): New variable.
3268         (vars_of_mule_charset): Add new variable
3269         `default-coded-charset-priority-list'.
3270
3271 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3272
3273         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3274         (XCHARSET_GET_BYTE2): New inline function.
3275         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3276         `XCHARSET_GET_BYTE2'.
3277
3278 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3279
3280         * mule-charset.c (make_charset): Initialize
3281         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3282         NULL if table is not defined.
3283
3284 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3285
3286         * text-coding.c (char_encode_shift_jis): Use
3287         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3288         `ucs_to_latin_jisx0201'.
3289
3290         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3291         (ucs_to_latin_iso8859_2): Deleted.
3292         (ucs_to_latin_iso8859_3): Deleted.
3293         (ucs_to_latin_iso8859_4): Deleted.
3294         (ucs_to_latin_iso8859_9): Deleted.
3295         (ucs_to_latin_viscii_lower): Deleted.
3296         (ucs_to_latin_viscii_upper): Deleted.
3297         (ucs_to_latin_tcvn5712): Deleted.
3298         (make_charset): Add new argument `decoding_table'; set up
3299         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3300         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3301         `decoding_table' is defined in UTF-2000.
3302         (Fmake_charset): Modify for `make_charset'.
3303         (Fmake_reverse_direction_charset): Likewise.
3304         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3305         and `GENERATE_96_SET'.
3306
3307         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3308         (ucs_to_latin_jisx0201): Deleted.
3309         (latin_iso8859_2_to_ucs): Deleted.
3310         (ucs_to_latin_iso8859_2): Deleted.
3311         (latin_iso8859_3_to_ucs): Deleted.
3312         (ucs_to_latin_iso8859_3): Deleted.
3313         (latin_iso8859_4_to_ucs): Deleted.
3314         (ucs_to_latin_iso8859_4): Deleted.
3315         (latin_iso8859_9_to_ucs): Deleted.
3316         (ucs_to_latin_iso8859_9): Deleted.
3317         (latin_viscii_lower_to_ucs): Deleted.
3318         (ucs_to_latin_viscii_lower): Deleted.
3319         (latin_viscii_upper_to_ucs): Deleted.
3320         (ucs_to_latin_viscii_upper): Deleted.
3321         (struct Lisp_Charset): Renamed `encoding_table' to
3322         `to_byte1_table'; add `to_byte2_table'.
3323         (CHARSET_DECODING_TABLE): New macro.
3324         (CHARSET_TO_BYTE1_TABLE): New macro.
3325         (CHARSET_TO_BYTE2_TABLE): New macro.
3326         (XCHARSET_DECODING_TABLE): New macro.
3327         (XCHARSET_TO_BYTE1_TABLE): New macro.
3328         (XCHARSET_TO_BYTE2_TABLE): New macro.
3329         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3330         tables.
3331         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3332         don't use `ucs_to_*' tables.
3333
3334 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3335
3336         * text-coding.c (Fmake_coding_system): Don't set up
3337         `codesys->fixed.size'.
3338         (encode_coding_no_conversion): Use `if' instead of `switch'.
3339
3340         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3341
3342 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3343
3344         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3345         (Fmake_charset): Modify for `make_charset'.
3346         (Fmake_reverse_direction_charset): Likewise.
3347         (complex_vars_of_mule_charset): Likewise.
3348
3349 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3350
3351         * text-coding.c (char_encode_shift_jis): Use table
3352         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3353
3354 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3355
3356         * text-coding.c (text_encode_generic): Use `if' instead of
3357         `switch'.
3358         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3359         decode JIS-Latin.
3360
3361 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3362
3363         * text-coding.c (encode_coding_sjis): Deleted.
3364         (char_encode_shift_jis): New function.
3365         (char_finish_shift_jis): New function.
3366         (reset_encoding_stream): Set up `encode_char' and `finish' for
3367         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3368         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3369         (char_encode_utf8): Treat `eol_type'.
3370
3371 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3372
3373         * file-coding.c (decode_coding_iso2022): Use
3374         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3375
3376 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3377
3378         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3379         to 0.7 (Hirano).
3380
3381 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3382
3383         * char-lb.h (CHAR_COLUMNS): New macro.
3384
3385 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3386
3387         * text-coding.c (char_encode_ucs4): New function.
3388         (char_finish_ucs4): New function.
3389         (encode_coding_ucs4): Deleted.
3390         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3391         (text_encode_generic): Delete local variable `charset' and `half'.
3392         (ucs_to_mule_table): Deleted.
3393         (mule_to_ucs_table): Deleted.
3394         (Fset_ucs_char): Deleted.
3395         (ucs_to_char): Deleted.
3396         (Fucs_char): Deleted.
3397         (Fset_char_ucs): Deleted.
3398         (Fchar_ucs): Deleted.
3399         (decode_ucs4): Deleted.
3400         (mule_char_to_ucs4): Deleted.
3401         (encode_ucs4): Deleted.
3402         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3403         (decode_coding_utf8): Likewise.
3404         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3405         (char_encode_iso2022): Fixed.
3406         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3407         `Fset_char_ucs' and `Fchar_ucs'.
3408         (complex_vars_of_file_coding): Don't initialize
3409         `ucs_to_mule_table'.
3410
3411         * objects-tty.c (tty_initialize_font_instance): Don't use
3412         `XCHARSET_COLUMNS'.
3413
3414         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3415         UTF-2000.
3416
3417         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
3418         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3419
3420         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
3421         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3422         (emchar_string_displayed_columns): Likewise.
3423
3424         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
3425         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3426         (string_column_at_point): Likewise.
3427         (Fmove_to_column): Likewise.
3428
3429         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
3430         `encoding_table' and `decoding_table'.
3431         (CHARSET_REP_BYTES): Deleted.
3432         (XCHARSET_REP_BYTES): Deleted.
3433         (XCHARSET_COLUMNS): Deleted.
3434         (CHAR_COLUMNS): New macro.
3435         (lookup_composite_char): Deleted unconditionally.
3436         (composite_char_string): Likewise.
3437
3438 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3439
3440         * char-ucs.h (Emchar_to_byte_table): New type.
3441         (get_byte_from_character_table): New function interface.
3442         (Vcharset_latin_jisx0201): New variable.
3443         (latin_jisx0201_to_ucs): New variable.
3444         (ucs_to_latin_jisx0201): New variable.
3445         (Vcharset_latin_iso8859_2): New variable.
3446         (latin_iso8859_2_to_ucs): New variable.
3447         (ucs_to_latin_iso8859_2): New variable.
3448         (Vcharset_latin_iso8859_3): New variable.
3449         (latin_iso8859_3_to_ucs): New variable.
3450         (ucs_to_latin_iso8859_3): New variable.
3451         (Vcharset_latin_iso8859_4): New variable.
3452         (latin_iso8859_4_to_ucs): New variable.
3453         (ucs_to_latin_iso8859_4): New variable.
3454         (Vcharset_latin_iso8859_9): New variable.
3455         (latin_iso8859_9_to_ucs): New variable.
3456         (ucs_to_latin_iso8859_9): New variable.
3457         (Vcharset_latin_viscii_lower): New variable.
3458         (latin_viscii_lower_to_ucs): New variable.
3459         (ucs_to_latin_viscii_lower): New variable.
3460         (Vcharset_latin_viscii_upper): New variable.
3461         (latin_viscii_upper_to_ucs): New variable.
3462         (ucs_to_latin_viscii_upper): New variable.
3463         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
3464         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
3465         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
3466         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
3467         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
3468         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
3469         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
3470         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
3471         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
3472         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
3473
3474         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
3475         (Vcharset_latin_viscii_upper): New variable.
3476         (make_byte_from_character_table): New function.
3477         (put_byte_from_character_table): New function.
3478         (get_byte_from_character_table): New function.
3479         (CHAR96): New macro.
3480         (ucs_to_latin_jisx0201): New variable.
3481         (latin_jisx0201_to_ucs): New variable.
3482         (ucs_to_latin_iso8859_2): New variable.
3483         (latin_iso8859_2_to_ucs): New variable.
3484         (ucs_to_latin_iso8859_3): New variable.
3485         (latin_iso8859_3_to_ucs): New variable.
3486         (ucs_to_latin_iso8859_4): New variable.
3487         (latin_iso8859_4_to_ucs): New variable.
3488         (ucs_to_latin_iso8859_9): New variable.
3489         (latin_iso8859_9_to_ucs): New variable.
3490         (ucs_to_latin_viscii_lower): New variable.
3491         (latin_viscii_lower_to_ucs): New variable.
3492         (ucs_to_latin_viscii_upper): New variable.
3493         (latin_viscii_upper_to_ucs): New variable.
3494         (ucs_to_latin_tcvn5712): New variable.
3495         (latin_tcvn5712_to_ucs): New variable.
3496         (Qlatin_viscii_lower): New variable.
3497         (Qlatin_viscii_upper): New variable.
3498         (syms_of_mule_charset): Set up new symbol
3499         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
3500         (complex_vars_of_mule_charset): Set up new charset
3501         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
3502         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
3503         `ucs_to_<CHARSET>' tables.
3504
3505 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3506
3507         * text-coding.c: New file.
3508
3509 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3510
3511         * mule-charset.c (Fmake_char): Fix problem of 256-set.
3512
3513         * char-ucs.h (Vcharset_ucs_bmp): New variable.
3514         (MAKE_CHAR): Modify for `ucs-bmp'.
3515         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
3516         non-MULE characters of BMP.
3517
3518 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
3519
3520         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3521         to 0.6.
3522
3523 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3524
3525         * lstream.h:
3526         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
3527         - Include character.h for `CHAR_ASCII_P'.
3528
3529         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
3530
3531         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
3532         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
3533
3534         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
3535         (BYTE_C0_P): Likewise.
3536         (BYTE_C1_P): Likewise.
3537         (Lstream_get_emchar_1): Likewise.
3538         (Lstream_fput_emchar): Likewise.
3539         (Lstream_funget_emchar): Likewise.
3540         (copy_internal_to_external): Likewise.
3541         (copy_external_to_internal): Likewise.
3542
3543         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
3544         (BYTE_C0_P): Likewise.
3545         (BYTE_C1_P): Likewise.
3546         (Lstream_get_emchar_1): Likewise.
3547         (Lstream_fput_emchar): Likewise.
3548         (Lstream_funget_emchar): Likewise.
3549         (copy_internal_to_external): Likewise.
3550         (copy_external_to_internal): Likewise.
3551
3552         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3553         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3554
3555         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3556         (BYTE_ASCII_P): Moved to mb-1byte.h.
3557
3558 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3559
3560         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3561
3562         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3563         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3564         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3565         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3566         (VALIDATE_CHARPTR_FORWARD): Likewise.
3567         (simple_charptr_emchar): Moved to mb-multibyte.h.
3568         (simple_set_charptr_emchar): Likewise.
3569         (simple_charptr_copy_char): Likewise.
3570         (non_ascii_charptr_emchar): Likewise.
3571         (non_ascii_set_charptr_emchar): Likewise.
3572         (non_ascii_charptr_copy_char): Likewise.
3573         (charptr_emchar): Moved to mb-*byte.h.
3574         (set_charptr_emchar): Likewise.
3575         (charptr_copy_char): Likewise.
3576
3577         * mb-1byte.h, mb-multibyte.h: New files.
3578
3579 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3580
3581         * mb-utf-8.h (MULTIBYTE): New macro.
3582         (MAX_EMCHAR_LEN): Moved from buffer.h.
3583         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3584
3585         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3586
3587         * mb-lb.h, multibyte.h: New files.
3588
3589         * char-1byte.h (Charset_ID): Moved from buffer.h.
3590         (MIN_LEADING_BYTE): Likewise.
3591         (LEADING_BYTE_ASCII): Likewise.
3592         (NUM_LEADING_BYTES): Likewise.
3593         (CHARSETP): Likewise.
3594         (CHARSET_BY_LEADING_BYTE): Likewise.
3595         (XCHARSET_LEADING_BYTE): Likewise.
3596         (XCHARSET_GRAPHIC): Likewise.
3597         (XCHARSET_COLUMNS): Likewise.
3598         (XCHARSET_DIMENSION): Likewise.
3599         (CHAR_CHARSET): Likewise.
3600         (CHAR_LEADING_BYTE): Likewise.
3601         (BREAKUP_CHAR): Likewise.
3602         (Vcharset_ascii): Likewise.
3603
3604         * buffer.h: Include multibyte.h unconditionally.
3605         (VALID_CHARPTR_P): Moved to multibyte.h.
3606         (ASSERT_VALID_CHARPTR): Likewise.
3607         (REAL_INC_CHARPTR): Likewise.
3608         (REAL_INC_CHARBYTIND): Likewise.
3609         (REAL_DEC_CHARPTR): Likewise.
3610         (INC_CHARPTR): Likewise.
3611         (INC_CHARBYTIND): Likewise.
3612         (DEC_CHARPTR): Likewise.
3613         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3614         (VALIDATE_CHARPTR_FORWARD): Likewise.
3615         (charptr_n_addr): Likewise.
3616         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3617         (simple_charptr_emchar): Moved to multibyte.h.
3618         (simple_set_charptr_emchar): Likewise.
3619         (simple_charptr_copy_char): Likewise.
3620         (non_ascii_charptr_emchar): Likewise.
3621         (non_ascii_set_charptr_emchar): Likewise.
3622         (non_ascii_charptr_copy_char): Likewise.
3623         (charptr_emchar): Likewise.
3624         (set_charptr_emchar): Likewise.
3625         (charptr_copy_char): Likewise.
3626         (charptr_emchar_n): Likewise.
3627         (Charset_ID): Moved to char-1byte.h.
3628         (Vcharset_ascii): Likewise.
3629         (CHAR_CHARSET): Likewise.
3630         (CHAR_LEADING_BYTE): Likewise.
3631         (LEADING_BYTE_ASCII): Likewise.
3632         (NUM_LEADING_BYTES): Likewise.
3633         (MIN_LEADING_BYTE): Likewise.
3634         (CHARSETP): Likewise.
3635         (CHARSET_BY_LEADING_BYTE): Likewise.
3636         (XCHARSET_LEADING_BYTE): Likewise.
3637         (XCHARSET_GRAPHIC): Likewise.
3638         (XCHARSET_COLUMNS): Likewise.
3639         (XCHARSET_DIMENSION): Likewise.
3640         (BREAKUP_CHAR): Likewise.
3641
3642 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3643
3644         * character.h: Add document about interface for characters.
3645
3646         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3647         (MAKE_CHAR): Delete comment about
3648         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3649         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3650         (BREAKUP_CHAR): Modify name of arguments.
3651         (CHAR_CHARSET): Modify name of argument.
3652
3653         * buffer.h: Delete document about Emchar accessors.
3654
3655 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3656
3657         * character.h (CHAR_INTP): Moved from buffer.h
3658         (CHAR_OR_CHAR_INTP): Likewise.
3659         (XCHAR_OR_CHAR_INT): Likewise.
3660         (CHECK_CHAR_COERCE_INT): Likewise.
3661
3662         * buffer.h (CHAR_INTP): Moved to character.h
3663         (CHAR_OR_CHAR_INTP): Likewise.
3664         (XCHAR_OR_CHAR_INT): Likewise.
3665         (CHECK_CHAR_COERCE_INT): Likewise.
3666
3667 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3668
3669         * character.h:
3670         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3671         - Include char-1byte.h, char-lb.h or char-ucs.h.
3672
3673         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3674
3675         * buffer.h: Include character unconditionally.
3676         (valid_char_p): Moved to char-*.h.
3677         (non_ascii_valid_char_p): Moved to char-lb.h.
3678
3679         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3680
3681 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3682
3683         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3684         in UTF-2000 because it is not ported yet and not to use
3685         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3686         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3687         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3688
3689         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3690         (CHAR_ASCII_P): Moved from character.h.
3691
3692         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3693         (CHAR_ASCII_P): Likewise.
3694         (CHAR_FIELD1_MASK): Deleted.
3695         (CHAR_FIELD2_MASK): Deleted.
3696         (CHAR_FIELD3_MASK): Deleted.
3697         (MAX_CHAR_BASIC_LATIN): New macro.
3698         (CHAR_FIELD1): Deleted.
3699         (CHAR_FIELD2_INTERNAL): Deleted.
3700         (CHAR_FIELD3_INTERNAL): Deleted.
3701         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3702         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3703         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3704         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3705         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3706         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3707         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3708         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3709         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3710         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3711         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3712         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3713         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3714         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3715         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3716         (MIN_CHAR_COMPOSITION): Deleted.
3717         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3718         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3719
3720 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3721
3722         * buffer.h: Include mb-utf-8.h in UTF-2000.
3723
3724         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3725
3726         * mb-utf-8.h: New file.
3727
3728 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3729
3730         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3731         instead of `int'.
3732
3733         * mule-charset.h, buffer.h (Charset_ID): New type.
3734
3735 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3736
3737         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3738         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3739         instead of `MULE_CHAR_PRIVATE_OFFSET',
3740         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3741         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3742         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3743
3744         * character.h (Vcharset_japanese_jisx0212): New variable
3745         definition.
3746
3747 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3748
3749         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3750         (charset_by_attributes): Delete array about direction.
3751         (latin_a_char_to_charset): New variable in UTF-2000.
3752         (latin_a_char_to_byte1): New variable in UTF-2000.
3753         (latin_a_char_to_byte2): New variable in UTF-2000.
3754         (Qucs_bmp): New variable.
3755         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3756         `Bufbyte'.
3757         (next_allocated_2_byte_leading_byte): Likewise.
3758         (non_ascii_set_charptr_emchar): Likewise.
3759         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3760         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3761         `charset_by_attributes'.
3762         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3763         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3764         and `CHARSET_BY_LEADING_BYTE'.
3765         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3766         `utf-2000-version' to `vars_of_mule_charset'.
3767         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3768         define `leading-code-private-11' in UTF-2000; move setting of
3769         `utf-2000-version' from `syms_of_mule_charset'.
3770         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3771         UTF-2000.
3772
3773         * character.h (Charset_ID): New type.
3774         (LEADING_BYTE_UCS_BMP): New macro.
3775         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3776         (CHARSET_ID_OFFSET_94): New macro.
3777         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3778         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3779         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3780         final-byte.
3781         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3782         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3783         (CHARSET_ID_OFFSET_96): New macro.
3784         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3785         CHARSET_ID_OFFSET_96 and final-byte.
3786         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3787         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3788         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3789         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3790         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3791         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3792         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3793         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3794         (LEADING_BYTE_THAI_TIS620): Likewise.
3795         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3796         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3797         (CHARSET_ID_OFFSET_94x94): New macro.
3798         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3799         CHARSET_ID_OFFSET_94x94 and final-byte.
3800         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3801         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3802         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3803         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3804         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3805         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3806         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3807         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3808         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3809         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3810         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3811         (CHARSET_TYPE_128X128): New macro.
3812         (CHARSET_TYPE_256X256): New macro.
3813         (XCHARSET_PRIVATE_P): Delete unconditionally.
3814         (charset_by_attributes): Delete array about direction.
3815         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3816         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3817         (MIN_CHAR_94): New macro.
3818         (MAX_CHAR_94): New macro.
3819         (MIN_CHAR_96): New macro.
3820         (MAX_CHAR_96): New macro.
3821         (MIN_CHAR_94x94): New macro.
3822         (MAX_CHAR_94x94): New macro.
3823         (MIN_CHAR_96x96): New macro.
3824         (MAX_CHAR_96x96): New macro.
3825         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3826         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3827         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3828         - 32)'.
3829         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3830         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3831         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3832         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3833         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3834         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3835         `XCHARSET_LEADING_BYTE' to make code-point.
3836         (latin_a_char_to_charset): New variable.
3837         (latin_a_char_to_byte1): New variable.
3838         (latin_a_char_to_byte2): New variable.
3839         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3840         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3841         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3842
3843         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3844         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3845         (find_charsets_in_emchar_string): Likewise.
3846         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3847
3848         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3849         `int'.
3850         (decode_coding_iso2022): Likewise.
3851
3852         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3853         of `unsigned char'.
3854
3855         * redisplay.c (redisplay_text_width_emchar_string): Use
3856         `Charset_ID' instead of `unsigned char'.
3857         (redisplay_frame_text_width_string): Likewise.
3858
3859         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3860         `unsigned char'.
3861
3862         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3863         instead of `unsigned char'.
3864         (face_cachel_charset_font_metric_info): Likewise.
3865
3866         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3867         (get_non_ascii_char_table_value): Likewise.
3868         (get_char_table): Likewise.
3869         (put_char_table): Likewise.
3870         (map_over_other_charset): Likewise.
3871         (map_char_table): Likewise.
3872
3873         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3874         instead of `unsigned char'.
3875
3876 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3877
3878         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3879         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3880
3881         * mule-charset.c (leading_code_private_11): Don't define in
3882         UTF-2000.
3883
3884         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3885         in UTF-2000 because it is not ported yet and not to use
3886         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3887
3888 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3889
3890         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3891
3892 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3893
3894         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3895         in UTF-2000.
3896
3897         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3898         of unsigned char to store leading-byte.
3899
3900         * chartab.c (get_non_ascii_char_table_value): Don't use
3901         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3902
3903         * file-coding.c (encode_coding_big5): Delete bogus implementation
3904         in UTF2000.
3905
3906         * character.h (LEADING_BYTE_*): Delete definition for
3907         non-UTF-2000.
3908         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3909         (LEADING_BYTE_PREFIX_P): Deleted.
3910         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3911         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3912         (BUFBYTE_LEADING_BYTE_P): Deleted.
3913         (CHARSET_PRIVATE_P): Deleted unconditionally.
3914         (rep_bytes_by_first_byte): Deleted unconditionally.
3915         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3916         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3917         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3918         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3919         (CHAR_FIELD2): Deleted.
3920         (CHAR_FIELD3): Deleted.
3921         (MAKE_CHAR): Delete definition for non-UTF-2000.
3922         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3923         (breakup_char_1): New implementation.
3924         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3925         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3926
3927 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3928
3929         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3930         condition.
3931
3932 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3933
3934         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3935         (CHARSET_PRIVATE_P): Likewise.
3936         (XCHARSET_PRIVATE_P): Likewise.
3937         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3938
3939         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3940         UTF2000.
3941         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3942
3943 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3944
3945         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3946         (NUM_LEADING_BYTES): Changed from 128 to 256.
3947         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3948         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3949         UTF2000.
3950         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3951
3952         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3953         UTF2000.
3954         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3955         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3956         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3957         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3958         (Qchinese_cns11643_3): New variable in UTF2000.
3959         (Qchinese_cns11643_4): New variable in UTF2000.
3960         (Qchinese_cns11643_5): New variable in UTF2000.
3961         (Qchinese_cns11643_6): New variable in UTF2000.
3962         (Qchinese_cns11643_7): New variable in UTF2000.
3963         (syms_of_mule_charset): Define `chinese-cns11643-3',
3964         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3965         and `chinese-cns11643-7' in UTF2000.
3966         (vars_of_mule_charset): Initialize
3967         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3968         + 1 in UTF2000.
3969         (complex_vars_of_mule_charset): Setup charset
3970         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3971         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3972
3973 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3974
3975         * mule-charset.c: Move setting for `leading-code-private-11' from
3976         `syms_of_mule_charset' to `vars_of_mule_charset'.
3977
3978 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3979
3980         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3981         and `NUM_LEADING_BYTES' in assert.
3982
3983 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3984
3985         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3986         instead of 128.
3987         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3988         `NUM_LEADING_BYTES' instead of 128.
3989
3990 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3991
3992         * mule-charset.h (charset_by_leading_byte): Use
3993         `NUM_LEADING_BYTES' instead of 128.
3994         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3995
3996         * mule-charset.c (charset_by_leading_byte): Use
3997         `NUM_LEADING_BYTES' instead of 128.
3998         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3999
4000         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
4001         128.
4002
4003 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4004
4005         * mule-charset.c (syms_of_mule_charset): Update to
4006         0.4 (Shin-Imamiya).
4007
4008 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4009
4010         * file-coding.c (encode_coding_sjis): New implementation for
4011         UTF2000.  (decode_coding_sjis): Ditto.
4012
4013 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4014
4015         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
4016         Don't define in UTF2000.
4017
4018         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
4019         defined.
4020
4021         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4022         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
4023         MULE.
4024
4025 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4026
4027         * config.h.in (CHAR_IS_UCS4): New macro.
4028
4029         * mule-charset.c (rep_bytes_by_first_byte): Modify for
4030         conventional MULE representation.
4031         (syms_of_mule_charset): Update to 0.3 (Imamiya).
4032
4033         * mule-charset.h: Reverted to original.
4034
4035         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4036         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
4037         "mule-charset.h" if CHAR_IS_UCS4 is defined.
4038
4039         * character.h: New file.
4040
4041         * file-coding.c (Fmake_coding_system): Set 1 to
4042         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
4043         defined.
4044         (encode_coding_no_conversion): New implementation for UTF2000.
4045
4046         * file-coding.h (struct Lisp_Coding_System): Add new member
4047         `fixed.size'.
4048
4049 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
4050
4051         * file-coding.c (decode_coding_iso2022): Code-point arguments of
4052         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
4053         (encode_coding_iso2022): New implementation for UTF2000.
4054
4055 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4056
4057         * mule-canna.c (c2mu): New implementation for UTF2000.
4058         (m2c): Likewise.
4059
4060 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4061
4062         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
4063
4064 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4065
4066         * file-coding.c (reset_encoding_stream): Set 0 to
4067         `str->iso2022.current_char_boundary' in UTF2000.
4068         (encode_utf8): Don't define in UTF2000.
4069         (encode_coding_utf8): New implementation for UTF-8 representation
4070         of UTF2000.
4071         (complex_vars_of_file_coding): Define coding-system `utf-8'.
4072
4073 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4074
4075         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
4076
4077         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
4078         UTF2000.
4079         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4080
4081         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
4082
4083         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
4084         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
4085         as UTF-8 in UTF2000.
4086         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
4087         (non_ascii_valid_char_p): Don't define in UTF2000.
4088         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
4089         (Lstream_get_emchar_1): Likewise.
4090         (utf-2000-version): New variable in UTF2000.
4091
4092         * lread.c (read_escape): Add new reader `u'.
4093
4094         * insdel.c (three_to_one_table): Don't define in UTF2000.
4095         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
4096         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4097         UTF2000.
4098         (bytind_to_bufpos_func): Likewise.
4099         (buffer_mule_signal_inserted_region): Likewise.
4100         (vars_of_insdel): Don't initialize `three_to_one_table'.
4101         (init_buffer_text): Use `buf->text->mule_size' instead of
4102         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4103         UTF2000.
4104
4105         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
4106         UTF-8 representation in UTF2000.
4107         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
4108         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
4109         (decode_coding_iso2022): Don't define local variable `lb' in
4110         UTF2000; don't use LEADING_BYTE in UTF2000; use
4111         `DECODE_ADD_UCS_CHAR' in UTF2000.
4112         (convert_to_external_format): Decode as UTF-8 in UTF2000.
4113
4114         * config.h.in (UTF2000): New macro.
4115
4116         * buffer.h (struct buffer_text): Add new member `mule_size' and
4117         don't add `mule_shifter' and `mule_three_p' in UTF2000.
4118         (valid_char_p): Return always 1 in UTF2000.
4119         (MAX_EMCHAR_LEN): 6 in UTF2000.
4120         (three_to_one_table): Don't define in UTF2000.
4121         (real_bufpos_to_bytind): Modify for UTF-8 representation in
4122         UTF2000.
4123         (real_bytind_to_bufpos): Likewise.
4124
4125         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
4126
4127 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4128
4129         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
4130         representation change.
4131         (Vutf_2000_version): New variable.
4132         (leading_code_private_11): New variable.
4133         (syms_of_mule_charset): Add new variables `utf-2000-version' and
4134         `leading-code-private-11'.
4135
4136         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
4137         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
4138         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
4139         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
4140         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
4141         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
4142         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
4143         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
4144         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
4145         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
4146         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
4147         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
4148         (MIN_CHAR_GREEK): New macro.
4149         (MAX_CHAR_GREEK): New macro.
4150         (MIN_CHAR_CYRILLIC): New macro.
4151         (MAX_CHAR_CYRILLIC): New macro.
4152         (MIN_CHAR_HEBREW): New macro.
4153         (MAX_CHAR_HEBREW): New macro.
4154         (MIN_CHAR_THAI): New macro.
4155         (MAX_CHAR_THAI): New macro.
4156         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
4157         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
4158         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
4159         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
4160         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
4161         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
4162         (CHAR_FIELD2): New inline function.
4163         (CHAR_FIELD3): New inline function.
4164         (MULE_CHAR_PRIVATE_OFFSET): New macro.
4165         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
4166         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
4167         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
4168         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
4169         (MIN_CHAR_COMPOSITION): Likewise.
4170         (CHAR_LEADING_BYTE): Modified for character representation change.
4171         (MAKE_CHAR): Likewise.
4172
4173         * lisp.h (Vcharset_latin_iso8859_1): New variable.
4174         (Vcharset_greek_iso8859_7): Likewise.
4175         (Vcharset_cyrillic_iso8859_5): Likewise.
4176         (Vcharset_hebrew_iso8859_8): Likewise.
4177         (Vcharset_thai_tis620): Likewise.
4178         (Vcharset_katakana_jisx0201): Likewise.
4179
4180 2001-02-08  Martin Buchholz <martin@xemacs.org>
4181
4182         * XEmacs 21.2.44 "Thalia" is released.
4183
4184 2001-02-06  Martin Buchholz  <martin@xemacs.org>
4185
4186         Fixes crashes in kill-emacs on some systems.
4187         * process-unix.c (unix_kill_child_process):
4188         It's OK for kill() to fail with ESRCH.
4189
4190 2001-02-07  Martin Buchholz  <martin@xemacs.org>
4191
4192         Contortions to make .gdbinit tricks work on most systems.
4193         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
4194         * alloc.c (dbg_valmask): Make non-const.
4195         * alloc.c (dbg_typemask): Make non-const.
4196         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
4197         * alloc.c (dbg_valbits): Make non-const.
4198         * alloc.c (dbg_gctypebits): Make non-const.
4199         * .gdbinit (decode_object): Make it work with AIX cc.
4200
4201 2001-02-06  Martin Buchholz  <martin@xemacs.org>
4202
4203         * elhash.c (make_general_lisp_hash_table):
4204         Use simpler and more efficient calloc to clear entries.
4205
4206 2001-02-07  Martin Buchholz  <martin@xemacs.org>
4207
4208         * window.c (window_scroll): Work around an AIX C compiler bug.
4209         Fixes 'scroll-up' does nothing problem with xlC.
4210
4211 2001-02-05  Martin Buchholz  <martin@xemacs.org>
4212
4213         * .gdbinit: Remove obsolete comment.
4214
4215 2001-01-31  Mike Alexander  <mta@arbortext.com>
4216
4217         * select.c (Fown_selection_internal): Set owned_p for device
4218         method correctly.
4219
4220 2001-02-01  Martin Buchholz  <martin@xemacs.org>
4221
4222         Port to g++ 2.97.
4223         "not" cannot be used as a macro name as it is an operator in C++
4224         * config.h.in: Stop #defining `not'.
4225         * chartab.c (check_category_char): not ==> not_p
4226         * chartab.h: Likewise.
4227         * regex.c (re_match_2_internal): Likewise.
4228
4229 2001-02-02  Martin Buchholz  <martin@xemacs.org>
4230
4231         * lisp-disunion.h: Fix up comments.
4232
4233 2001-01-31  Martin Buchholz  <martin@xemacs.org>
4234
4235         * keymap.c (define_key_check_and_coerce_keysym):
4236         (syms_of_keymap):
4237         Support mouse-6 and mouse-7 bindings in the obvious way.
4238
4239 2001-02-01  Martin Buchholz  <martin@xemacs.org>
4240
4241         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
4242
4243 2001-01-30  Martin Buchholz  <martin@xemacs.org>
4244
4245         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
4246         Previous patch missed DEFVAR_INT_MAGIC.
4247         Make sure future DEFVAR_foo use correct types.
4248         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
4249         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
4250         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
4251         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
4252         * (DEFVAR_INT): Likewise.
4253         * redisplay.c (vertical_clip): Should be of type Fixnum.
4254         * redisplay.c (horizontal_clip): Likewise.
4255         * lisp.h (dump_add_opaque_int): New.
4256         (dump_add_opaque_fixnum): New.
4257
4258 2001-01-29  Andy Piper  <andy@xemacs.org>
4259
4260         * glyphs-widget.c (check_valid_int_or_function): allow symbols
4261         since they can be eval'ed
4262
4263 2001-01-29  Martin Buchholz  <martin@xemacs.org>
4264
4265         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
4266         Oops, XEmacs redefines `class'.  Use `typename' instead.
4267
4268 2001-01-28  Martin Buchholz  <martin@xemacs.org>
4269
4270         * dumper.c: Fix C++ compile errors.
4271
4272 2001-01-29  Martin Buchholz  <martin@xemacs.org>
4273
4274         * tparam.c: Use correct prototypes.
4275
4276 2001-01-28  Martin Buchholz  <martin@xemacs.org>
4277
4278         * sysproc.h: #include util.h for NetBSD's openpty.
4279
4280 2001-01-27  Martin Buchholz  <martin@xemacs.org>
4281
4282         More 64-bit correctness.
4283         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
4284         Use a typedef `fixnum' for the type used for DEFVAR_INT.
4285         Fix up comments.
4286         This finally finishes the 64-bit SGI port.
4287         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
4288         * symbols.c: Fix up comments and type casts.
4289         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
4290         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
4291         * symeval.h (Fixnum): New type.
4292         * symeval.h (symbol_value_type): Fix up comment.
4293
4294         * commands.h:
4295         * nt.c:
4296         * emacs.c:
4297         * data.c:
4298         * redisplay.c:
4299         * abbrev.c:
4300         * dired-msw.c:
4301         * event-Xt.c:
4302         * eldap.c:
4303         * window.c:
4304         * sound.c:
4305         * event-stream.c:
4306         * eval.c:
4307         * buffer.c:
4308         * mule-canna.c: A million DEFVAR_INTs here...
4309         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
4310         * extents.c:
4311         * cmdloop.c:
4312         * lisp.h:
4313         * select-x.c:
4314         * console-x.h:
4315         * event-msw.c:
4316         * mule-wnnfns.c:
4317         * hpplay.c:
4318         * ralloc.c:
4319         * alloc.c:
4320         * keymap.c:
4321         * profile.c:
4322         s/int/Fixnum/g in DEFVAR_INT declarations.
4323
4324 2001-01-26  Martin Buchholz  <martin@xemacs.org>
4325
4326         Port pdump to SGI alignment-sensitive environment.
4327         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
4328         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
4329         properly aligned.
4330         Define and use aligned reading and writing macros.
4331         Use buffered stdio instead of posix i/o for faster dumping.
4332         Eliminate kludgy 256 byte space for header.
4333         Read and write from dump file using structs for alignment safety.
4334         * dumper.c (pdump_align_stream): New.
4335         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
4336         * dumper.c (PDUMP_READ_ALIGNED): New.
4337         * dumper.c (PDUMP_WRITE_ALIGNED): New.
4338         * dumper.c (pdump_static_Lisp_Object): New struct.
4339         * dumper.c (pdump_static_pointer): New struct.
4340         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
4341         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
4342         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
4343         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
4344
4345         * dumper.c (pdump_backtrace):
4346         * dumper.c (pdump_get_indirect_count):
4347         * dumper.c (pdump_register_object):
4348         * dumper.c (pdump_register_struct):
4349         * dumper.c (pdump_reloc_one):
4350         * dumper.c (pdump_scan_by_alignment):
4351         * dumper.c (pdump_dump_from_root_struct_ptrs):
4352         * dumper.c (pdump_dump_opaques):
4353         * dumper.c (pdump_dump_rtables):
4354         * dumper.c (pdump_dump_from_root_objects):
4355         * dumper.c (pdump):
4356         * dumper.c (pdump_load_finish):
4357         Use aligned reading and writing.
4358
4359         * dumper.c (pdump_free): Make static.
4360         * dumper.c (pdump_hFile): Likewise.
4361         * dumper.c (pdump_hMap): Likewise.
4362
4363 2001-01-26  Martin Buchholz <martin@xemacs.org>
4364
4365         * XEmacs 21.2.43 "Terspichore" is released.
4366
4367 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4368
4369         Type fiddling for window_config.saved_windows_count
4370         * window.c (struct window_config): 
4371         Make saved_windows_count member unsigned.
4372         * window.c (sizeof_window_config_for_n_windows): 
4373         Make parameter unsigned.
4374         * window.c (mark_window_config):
4375         * window.c (window_config_equal):
4376         * window.c (free_window_configuration):
4377         * window.c (Fset_window_configuration):
4378         * window.c (count_windows):
4379         * window.c (Fcurrent_window_configuration):
4380         * window.c (reinit_vars_of_window):
4381         Update all callers and users.
4382
4383 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4384
4385         Alignment correctness for flexible arrays.
4386         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
4387         Make alignment-correct. Add interesting comments.
4388         * alloc.c (size_vector):
4389         * alloc.c (make_vector_internal):
4390         * alloc.c (make_bit_vector_internal):
4391         * alloc.c (sweep_bit_vectors_1):
4392         * fns.c (size_bit_vector):
4393         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
4394         * window.c (sizeof_window_config_for_n_windows): 
4395         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
4396
4397 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4398
4399         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
4400
4401 2001-01-23  Andy Piper  <andy@xemacs.org>
4402
4403         * select.c (Fown_selection_internal): pass owned_p
4404
4405         * select-msw.c (mswindows_own_selection): New Signature.
4406
4407         * console.h (struct console_methods): add owned_p to
4408         _own_selection.
4409
4410         * select-x.c (x_own_selection): pass owned_p
4411         (hack_motif_clipboard_selection): use owned_p
4412         (vars_of_select_x): new variable -
4413         x_selection_strict_motif_ownership.
4414
4415 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4416
4417         * specifier.h (specifier_data_offset): Remove pointless parens.
4418         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
4419
4420 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4421
4422         Make Lisp_Object sizeof methods be alignment-correct.
4423         pdump must restore objects to the same alignment as the C compiler
4424         assumes.  It really matters on SGIs.
4425         * lstream.c (aligned_sizeof_lstream): New.
4426         (sizeof_lstream): Use aligned_sizeof_lstream.
4427         (Lstream_new): Likewise.
4428         * opaque.c (aligned_sizeof_opaque): New.
4429         (sizeof_opaque): Use aligned_sizeof_opaque.
4430         (make_opaque): Likewise.
4431         * specifier.c (aligned_sizeof_specifier): New.
4432         (sizeof_specifier): Use aligned_sizeof_specifier.
4433         (make_specifier_internal): Likewise.
4434
4435 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4436
4437         * lstream.h (struct lstream): Use max_align_t for trailing data.
4438         * specifier.h (struct Lisp_Specifier): Likewise.
4439
4440 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4441
4442         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
4443         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
4444         (CCL_SUSPEND): Likewise.
4445         (CCL_INVALID_CMD): Likewise.
4446         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
4447         (ccl_driver): Likewise.
4448         (CCL_WRITE_CHAR): Macro hygiene.
4449         (CCL_WRITE_STRING): Macro hygiene.
4450
4451 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4452
4453         Port "portable" dumper to SunOS 4 and HP-UX.
4454         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
4455         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
4456         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
4457
4458 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4459
4460         * lisp.h (ALIGNOF): A better definition for C++.
4461
4462 2001-01-20  Martin Buchholz  <martin@xemacs.org>
4463
4464         Macro hygiene.
4465         Fix printf warnings: int format, long int arg.
4466         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
4467         (PUSH_FAILURE_POINT): Use correct printf formats.
4468         (POP_FAILURE_POINT): Use correct printf formats.  
4469         Use do {...} while (0)
4470
4471 2001-01-20  Martin Buchholz <martin@xemacs.org>
4472
4473         * XEmacs 21.2.42 "Poseidon" is released.
4474
4475 2001-01-20  Martin Buchholz  <martin@xemacs.org>
4476
4477         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
4478
4479 2001-01-19  Martin Buchholz  <martin@xemacs.org>
4480
4481         De-kludgify FIXED_TYPE free list frobbing.
4482         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
4483         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
4484         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
4485         * alloc.c (Lisp_Free): New pseudo lisp object definition.
4486         * alloc.c (LRECORD_FREE_P): New.
4487         * alloc.c (MARK_LRECORD_AS_FREE): New.
4488         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
4489         * alloc.c (STRUCT_FREE_P): Deleted.
4490         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
4491         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
4492         * alloc.c (STRING_CHARS_FREE_P): New.
4493         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
4494         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
4495         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
4496         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
4497         * alloc.c (resize_string): Use new definitions.
4498         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
4499         * alloc.c (verify_string_chars_integrity): Use new definitions.
4500         * alloc.c (compact_string_chars): Use new definitions.
4501         * alloc.c: Update monster comments.
4502         * lrecord.h (lrecord_type): Add some new lrecord types for
4503         alloc.c's use.
4504
4505 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4506
4507         Improve alignment hackery.
4508         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
4509         (max_align_t): Moved from opaque.h - general purpose.
4510         (ALIGN_PTR): Use size_t, not long.
4511         * opaque.h (max_align_t): Move to lisp.h.
4512
4513 2001-01-18  Norbert Koch  <nk@LF.net>
4514
4515         * gui.h: Fix and add prototypes to fix build problems.
4516
4517 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4518
4519         temacs is going away, so `dump-temacs' is now a bad name.
4520         * .dbxrc (dump-temacs): Rename to `dmp'.
4521         * .gdbinit (dump-temacs): Rename to `dmp'.
4522
4523 2001-01-17  Andy Piper  <andy@xemacs.org>
4524
4525         * glyphs.c (print_image_instance): comment to make martin happy.
4526
4527         * glyphs-x.c (x_redisplay_widget): update faces after a frame
4528         change.
4529
4530         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
4531         activation.
4532         (mswindows_tab_control_redisplay): warning suppression.
4533
4534         * glyphs-widget.c (widget_update): re-write to cope with updated
4535         items.
4536         (widget_instantiate): use new gui_item functions.
4537         (tab_control_update): deleted.
4538         (progress_gauge_update): deleted.
4539         (image_instantiator_progress_guage): take out update reference.
4540         (image_instantiator_tree_view): ditto.
4541         (image_instantiator_tab_control): ditto.
4542
4543         * gui.c (widget_gui_parse_item_keywords): new function. Do things
4544         Right the new way.
4545         (gui_item_add_keyval_pair): re-write to cope with descriptors and
4546         return whether anything was changed.
4547         (update_gui_item_keywords): as it sounds.
4548
4549         * gui.h: declare widget_gui_parse_item_keywords.
4550
4551         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
4552         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
4553
4554 2001-01-17  Martin Buchholz <martin@xemacs.org>
4555
4556         * XEmacs 21.2.41 "Polyhymnia" is released.
4557
4558 2001-01-16  Didier Verna  <didier@xemacs.org>
4559
4560         * glyphs.c (image_instantiate): don't use fallbacks when
4561         instantiating a face's background pixmap by inheritance.
4562
4563 2001-01-14  Mike Sperber <mike@xemacs.org>
4564
4565         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
4566         Conditionalize accordingly.
4567
4568 2001-01-16  Martin Buchholz  <martin@xemacs.org>
4569
4570         * dumper.c (pdump_file_get): Fix a compiler warning.
4571
4572 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4573
4574         Make Purify happy when pdumping.
4575         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
4576         iniitalizing all bits of new lisp object memory.
4577         * symbols.c (Fmake_local_variable): Likewise.
4578         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
4579         * symbols.c (Fdefvaralias): Likewise.
4580         * mule-charset.c (vars_of_mule_charset): Likewise.
4581
4582 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4583         Add the `-nd' flag when running pre-dump operations under the debugger.
4584         * .dbxrc (run-temacs): Add `-nd'.
4585         * .dbxrc (update-elc): Likewise.
4586         * .dbxrc (dump-temacs): Likewise.
4587         * .gdbinit (run-temacs): Likewise.
4588         * .gdbinit (check-temacs): Likewise.
4589         * .gdbinit (update-elc): Likewise.
4590         * .gdbinit (dump-temacs): Likewise.
4591
4592 2001-01-14  Martin Buchholz  <martin@xemacs.org>
4593
4594         Allow building 64-bit executables on AIX with GNU malloc, e.g.
4595         export OBJECT_MODE=64
4596         configure --pdump --use-union-type=no
4597         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
4598         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
4599
4600         * miscplay.c (sndcnv8U_2mono):
4601         Avoid two uses of `++' in the same expression.
4602         Suppresses a GCC warning.
4603
4604 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4605
4606         Make sure future compilers don't miscompile alloc.c.
4607         * alloc.c:
4608         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
4609         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
4610
4611 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4612
4613         * dumper.c: A little post-pdump-rename comment fixup.
4614
4615 2001-01-09  Jerry James  <james@eecs.ku.edu>
4616
4617         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
4618
4619 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4620
4621         * *.[ch]: Globally rename symbols using the following `pdump-rename'
4622         script:
4623         #!/bin/sh
4624         replace_symbol () {
4625           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
4626         }
4627
4628         replace_symbol pdump_wire_lists pdump_weak_object_chains
4629         replace_symbol pdump_wire_list dump_add_weak_object_chain
4630
4631         replace_symbol pdump_wires pdump_root_objects
4632         replace_symbol pdump_wire dump_add_root_object
4633
4634         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
4635         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
4636
4637         replace_symbol dumpstructinfos pdump_root_struct_ptrs
4638         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
4639         replace_symbol dumpstructinfo pdump_root_struct_ptr
4640         replace_symbol dumpstruct dump_add_root_struct_ptr
4641
4642         replace_symbol dumpopaque dump_add_opaque
4643         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
4644         replace_symbol dumpopaqueinfos pdump_opaques
4645         replace_symbol dumpopaqueinfo pdump_opaque
4646
4647         replace_symbol nb_structdump nb_root_struct_ptrs
4648         replace_symbol nb_opaquedump nb_opaques
4649
4650         replace_symbol align_table pdump_align_table
4651         replace_symbol dump_header pdump_header
4652
4653         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
4654         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
4655
4656
4657 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4658
4659         * s/aix4.h: Keep the C for AIX compiler from overaggressively
4660         optimizing bytecount_to_charcount().
4661
4662 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4663
4664         * config.h.in:
4665         (HAVE_DLFCN_H): Removed.
4666         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
4667
4668 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4669
4670         Portable dumper maintainability improvements.
4671         * alloc.c (staticpro):
4672         * alloc.c (staticpro_nodump):
4673         * alloc.c (garbage_collect_1):
4674         * alloc.c (reinit_alloc_once_early):
4675         * alloc.c (init_alloc_once_early):
4676         * alloc.c: Move dumper functions to alloc.c.
4677         * dumper.c (pdump_backtrace):
4678         * dumper.c (pdump_dump_structs):
4679         * dumper.c (pdump_dump_opaques):
4680         * dumper.c (pdump_dump_rtables):
4681         * dumper.c (pdump_dump_wired):
4682         * dumper.c (pdump):
4683         * dumper.c (pdump_load_check):
4684         * dumper.c (pdump_load_finish):
4685         * dumper.c (pdump_file_unmap):
4686         * dumper.c (pdump_file_get):
4687         * dumper.c (pdump_resource_free):
4688         * dumper.c (pdump_resource_get):
4689         * dumper.c (pdump_file_free):
4690         * dumper.c (pdump_file_try):
4691         * dumper.c (pdump_load):
4692         Remove fixed size limits on staticpro(), staticpro_nodump(),
4693         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
4694         Remove custom code for dumping lrecord_implementations_table - use
4695         dumpopaque instead.
4696         Remove (most of the) custom code for dumping staticpros - dump it
4697         like any other dynarr.
4698
4699         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
4700         * dumper.c: Moved functions from alloc.c.
4701         * alloc.c (dumpstruct): Moved to dumper.c.
4702         * alloc.c (dumpopaque): Likewise.
4703         * alloc.c (pdump_wire): Likewise.
4704         * alloc.c (pdump_wire_list): Likewise.
4705
4706         * lisp.h (Dynarr_sizeof): New.
4707         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
4708         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
4709         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
4710
4711         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
4712         * lisp.h (dumpopaque): ditto.
4713         * lisp.h (pdump_wire): ditto.
4714         * lisp.h (pdump_wire_list): ditto.
4715
4716 2001-01-09  Martin Buchholz  <martin@xemacs.org>
4717
4718         * make-src-depend (PrintPatternDeps):
4719         Use `sort' to make output independent of perl version.
4720
4721 2001-01-08  Martin Buchholz  <martin@xemacs.org>
4722
4723         Port to Netbsd 1.5.
4724         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
4725         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
4726
4727 2001-01-03  Didier Verna  <didier@xemacs.org>
4728
4729         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
4730         that `focus_frame' is alive before thinking of calling
4731         `redisplay_redraw_cursor' on it.
4732
4733 2001-01-08  Martin Buchholz <martin@xemacs.org>
4734
4735         * XEmacs 21.2.40 is released.
4736
4737 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4738
4739         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
4740
4741 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4742
4743         * alloc.c (dbg_valmask): Make const.
4744         * alloc.c (dbg_typemask): Make const.
4745         * alloc.c (dbg_USE_UNION_TYPE): Make const.
4746         * alloc.c (dbg_valbits): Make const.
4747         * alloc.c (dbg_gctypebits): Make const.
4748
4749 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
4750
4751         * redisplay-x.c (x_bevel_area):
4752         redisplay.h (struct rune):
4753         Typo fixes in comments.
4754
4755 2001-01-05  Andy Piper  <andy@xemacs.org>
4756
4757         * glyphs-x.c (x_redisplay_widget): use size changed for offset
4758         adjustment.
4759
4760         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
4761
4762 2001-01-05  Martin Buchholz  <martin@xemacs.org>
4763
4764         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
4765
4766         * mule-ccl.c (stack_idx_of_map_multiple):
4767         Non const global data must not be initialized!
4768         Found by MIYASHITA Hisashi.
4769
4770 2001-01-02  Andy Piper  <andy@xemacs.org>
4771
4772         * frame.c (change_frame_size): make sure frame size is always
4773         marked as changed.
4774
4775         * glyphs.c (image_instance_layout): minor code reuse.
4776
4777         * window.c (Fcurrent_window_configuration): revert previous
4778         change.
4779
4780 2001-01-02  Martin Buchholz  <martin@xemacs.org>
4781
4782         * glyphs.h:
4783         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
4784
4785 2000-12-31  Andy Piper  <andy@xemacs.org>
4786
4787         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
4788         when widget gets unmapped.
4789
4790         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
4791         function. Make sure widgets losing focus don't just drop it.
4792         (handle_focus_event_1): record the widget with focus.
4793
4794 2000-12-31  Andy Piper  <andy@xemacs.org>
4795
4796         * window.c (allocate_window): use
4797         make_image_instance_cache_hash_table.
4798         (make_dummy_parent): ditto.
4799         (Fset_window_configuration): ditto.
4800
4801         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
4802
4803         * glyphs.c (process_image_string_instantiator): use
4804         INSTANTIATOR_TYPE.
4805         (get_image_instantiator_governing_domain): ditto.
4806         (normalize_image_instantiator): ditto.
4807         (instantiate_image_instantiator): ditto.
4808         (make_image_instance_1): ditto.
4809         (image_instantiate): ditto. Key on glyph *and* instantiator type.
4810         (instantiator_eq_equal): new function for use with instance hash
4811         tables.
4812         (instantiator_eq_hash): ditto.
4813         (make_image_instance_cache_hash_table): create a suitable hash
4814         table for storing image instances.
4815
4816         * elhash.h (hash_table_weakness): new internal weakness type
4817         HASH_TABLE_KEY_CAR_VALUE_WEAK.
4818         declare new functions.
4819
4820         * elhash.c (finish_marking_weak_hash_tables): introduce yet
4821         another weakness type for glyphs.
4822         (make_standard_lisp_hash_table): new function split out from
4823         make_general_lisp_hash_table.
4824         (make_lisp_hash_table): call make_standard_lisp_hash_table.
4825         (hash_table_instantiate): ditto.
4826         (Fmake_hash_table): ditto.
4827
4828 2000-12-31  Martin Buchholz <martin@xemacs.org>
4829
4830         * XEmacs 21.2.39 is released.
4831
4832 2000-12-29  Andy Piper  <andy@xemacs.org>
4833
4834         * menubar.c (menubar_visible_p_changed): signal the frame changed.
4835
4836         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
4837         the frame has changed so that we pick up geometry changes such as
4838         menubar visibility.
4839
4840 2000-12-28  Andy Piper  <andy@xemacs.org>
4841
4842         * lastfile.c (my_ebss): make a char array so we can pad the
4843         bss. Fixes cygwin unexec.
4844
4845         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
4846
4847 2000-12-26  Andy Piper  <andy@xemacs.org>
4848
4849         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
4850         comments and try and be more precise about a non-/SIGIO world.
4851         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
4852         SIGIO.
4853
4854         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
4855         we don't normalize to zero width or height.
4856
4857 2000-12-24  Andy Piper  <andy@xemacs.org>
4858
4859         * Makefile.in.in (ldflags): add -mwindows when appropriate.
4860
4861 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
4862
4863         * s/sco5.h: SCO 5 has pty support.
4864
4865 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
4866
4867         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
4868         input-method-xlib.c contains whole contents of input-method-xfs.c,
4869         so we can use input-method-xlib.c's code for USE_XFONTSET
4870         using #ifdefs.
4871         * input-method-xfs.c: removed.
4872
4873 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
4874
4875         * file-coding.h (enum coding_category_type): reorder enumerators to
4876         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
4877         (now one greater than largest real coding_category_type enumerator).
4878         * file-coding.c (coding_category_symbol, coding_category_by_priority,
4879         coding_category_system, fcd_descriptihon_1, decode_coding_category,
4880         Fcoding_category_list, Fset_coding_priority_list,
4881         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
4882         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
4883
4884 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4885
4886         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
4887         * redisplay-output.c (redisplay_output_window): Clear top of window
4888         when face is changed.
4889         * redisplay-x.c (x_redraw_exposed_window): Call
4890         redisplay_clear_top_of_window.
4891         * redisplay.h: Publish redisplay_clear_top_of_window.
4892
4893 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4894
4895         * buffer.c (Fkill_buffer): Map over all devices.
4896         * window.c (window_loop): Remove UNSHOW_BUFFER code.
4897         (list_windows): New function.
4898         (list_all_windows): Ditto.
4899         (Freplace_buffer_in_windows): Use them.
4900
4901 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4902
4903         * database.c (berkdb_subtype): Recognize new subtype `queue'.
4904         (Fopen_database): Use `db_create' instead of `db_open'.
4905         (syms_of_database): Initialize Qqueue.
4906
4907 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4908
4909         * buffer.c (common_init_complex_vars_of_buffer): Initialize
4910         buffer_local_face_property.
4911         * buffer.h (struct buffer): New member buffer_local_face_property.
4912         * window.c (Fset_window_buffer):  Mark window's face as changed
4913         when buffer has buffer local face.
4914         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
4915         * objects.c (color_after_change): Set buffer_local_face_property
4916         when locale of face specifier is buffer.
4917         * objects.c (font_after_change): Ditto.
4918         * objects.c (face_boolean_after_change): Ditto.
4919         * glyphs.c (image_after_change): Ditto.
4920
4921 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4922
4923         * nt.c (mswindows_fstat): Report file permissions, volume serial
4924         number, etc. Code adapted from FSF Emacs 20.7.
4925
4926 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4927
4928         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
4929         of stat when we don't have symbolic links, to make sure
4930         mswindows_stat is called on mswindows.
4931
4932 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
4933
4934         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
4935
4936 2000-12-12  Martin Buchholz  <martin@xemacs.org>
4937
4938         * doprnt.c (emacs_doprnt_1): More printing fixes.
4939         Make printing of numbers compatible with libc and FSF Emacs.
4940         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
4941         Use the system printf to do most of the hard work of formatting,
4942         instead of doprnt_1().
4943         Calculate memory to allocate for format string.
4944         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
4945         (doprnt_1): Cleaner code and documentation.
4946
4947 2000-12-01  Jerry James  <james@eecs.ukans.edu>
4948
4949         * Makefile.in.in: Use the loop variable to install headers.
4950
4951 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4952
4953         * window.c (Fsplit_window): Don't invalidate face cache.
4954
4955 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4956
4957         * minibuf.c (Fall_completions): Undo the previous change
4958         which removed checking elements start with space.
4959
4960 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4961
4962         * mule-canna.c: Didier suppression.
4963
4964 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4965
4966         * mule-canna.c: rename static unsigned char buf[] to key_buffer
4967         (warning suppression).  Add English comment translations.
4968
4969 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4970
4971         * unexelfsgi.c (unexec): Better test for mmap failure.
4972
4973 2000-12-05  Martin Buchholz <martin@xemacs.org>
4974
4975         * XEmacs 21.2.38 is released.
4976
4977 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4978
4979         * redisplay.c (bar-cursor): Make a user variable.
4980
4981         * symsinit.h: Add init_postgresql_from_environment.
4982
4983 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4984
4985         * regex.c: Convert to clean C.
4986
4987 2000-12-05  Dan Holmsand  <dan@eyebee.com>
4988
4989         * realpath.c:
4990         Don't #include sysfile.h. Revert to duplicating PATH_MAX
4991         initialization.
4992         (sys_readlink): renamed to system_readlink to avoid conflict with
4993         the other sys_readlink.
4994
4995 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
4996
4997         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
4998
4999 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
5000
5001         * postgresql.c (init_postgresql_from_environment): new function.
5002         (vars_of_postgresql): Move code initializing Lisp variables out and
5003         into init_postgresql_from_environment.
5004         emacs.c (main_1): Call init_postgresql_from_environment if and only
5005         if running a dumped XEmacs.
5006
5007 2000-08-31  Dan Holmsand  <dan@eyebee.com>
5008
5009         * buffer.c: Make find-file-compare-truenames default to true on
5010         windows.
5011
5012         * realpath.c (win32_abs_start):
5013         (cygwin_readlink):
5014         (win32_readlink): New functions.
5015         (xrealpath): Return really real filenames on windows.
5016
5017         * fileio.c (Ffile_truename): Make file-truename work on windows.
5018
5019 2000-11-29  Didier Verna  <didier@xemacs.org>
5020
5021         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
5022         * faces.c (update_face_cachel_data): use it.
5023         * faces.c (add_face_cachel): use it. Complete background pixmap
5024         frobbing in face cache if `update_face_cachel_data' has not done so.
5025
5026 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
5027
5028         * search.c (string_match_1): Don't set last_thing_searched
5029         when search failed.
5030
5031 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
5032
5033         * buffer.c: Include casetab.h
5034         (common_init_complex_vars_of_buffer): Use new case-table object.
5035         * buffer.h: Include casetab.h
5036         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
5037         (DOWNCASE_TABLE_OF): Ditto.
5038         * bufslots.h: Remove char-tables and add case-table.
5039         * casetab.c: Include casetab.h
5040         (CASE_TABLE_P): Removed.
5041         (mark_case_table): New function.
5042         (allocate_case_table): New function.
5043         (Fcase_table_p): Use new case-table.
5044         (case_table_char): New function.
5045         (Fget_case_table): Ditto.
5046         (Fput_case_table): Ditto.
5047         (Fput_case_table_pair): Ditto.
5048         (Fcopy_case_table): Ditto.
5049         (Fcurrent_case_table): Return case-table.
5050         (Fstandard_case_table): Return case-table.
5051         (Fset_case_table): Fix doc-string.
5052         (set_case_table): Use case-table
5053         (syms_of_casetab): DEFSUBR new functions.
5054         (complex_vars_of_casetab): Set up standard case-table.
5055         * casetab.h: New file.
5056         * editfns.c: Include casetab.h
5057         (Fcompare_buffer_substrings): Use case-table.
5058         * inline.c: Include casetab.h
5059         * lisp.h: Remove bogus extern.
5060         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
5061         * search.c: Include casetab.h
5062         (TRANSLATE_ASCII): Removed.
5063         (TRANSLATE): Unconditionally translate character.
5064         (looking_at_1): Use case-table.
5065         (string_match_1): Ditto.
5066         (fast_string_match): Ditto.
5067         (search_command): Ditto.
5068         (search_buffer): Separate boyer_moore.  Check whether
5069         boyer_moore is possible.
5070         (simple_search): New function.
5071         (boyer_moore): Separated from search_buffer. Translate char.
5072
5073 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
5074
5075         * regex.c (RE_TR_ASCII): Removed.
5076         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
5077         (PATFETCH): Call PATFETCH_RAW.
5078         (PATFETCH_RAW): Fetch Emchar.
5079         (PATUNFETCH): Decrement charptr.
5080         (GET_BUFFER_SPACE): Rename b to buf_end.
5081         (BUF_PUSH): Ditto.
5082         (BUF_PUSH_2): Ditto.
5083         (BUF_PUSH_3): Ditto.
5084         (EXTEND_BUFFER): Ditto.
5085         (SET_LIST_BIT): Ditto.
5086         (regex_compile): Ditto.  Translate non ASCII char.
5087         (compile_range): Ditto.
5088         (re_search_2): Ditto.
5089         (re_match_2_internal): Compare Emchar.
5090         (bcmp_translate): Ditto.
5091
5092 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
5093
5094         * lisp.h (basic char/int typedefs):  comment improvement.
5095
5096 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
5097
5098         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
5099         unstomp inhibit_site_lisp.  Improve comments.
5100
5101 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
5102
5103         * mule-charset.c (Fcharset_property):  improve type checking, comments.
5104
5105 2000-11-28  Andy Piper  <andy@xemacs.org>
5106
5107         * redisplay-output.c (redisplay_output_subwindow): make sure we do
5108         clipped display for windows in the gutter also.
5109         (redisplay_display_boxes_in_window_p): change semantics of return
5110         codes to be more intuitive.
5111
5112         * gutter.h: declare display_boxes_in_gutter_p.
5113
5114         * gutter.c (display_boxes_in_gutter_p): new function for
5115         redisplay.
5116
5117 2000-11-22  Andy Piper  <andy@xemacs.org>
5118
5119         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
5120         autodetect domain.
5121
5122 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
5123
5124         * callproc.c (Fold_call_process_internal):
5125         * gpm.c (Freceive_gpm_event):
5126         (tty_get_foreign_selection): Might be just warning supression.
5127         * fileio.c (Fwrite_region_internal):
5128         (Fset_visited_file_modtime):
5129         * keymap.c (event_matches_key_specifier_p):
5130         Initialize GCPROed variable.
5131
5132         * menubar-x.c (command_builder_find_menu_accelerator):
5133         Initialize before use.
5134
5135 2000-11-23  Andy Piper  <andy@xemacs.org>
5136
5137         * unexcw.c (unexec): make the resulting executable executable.
5138
5139 2000-11-21  Martin Buchholz  <martin@xemacs.org>
5140
5141         * doc.c (get_doc_string):
5142         Use size_t, not int, for result of XSTRING_LENGTH.
5143
5144         * cmds.c (Fdelete_char):
5145         * cmds.c (Fpoint_at_eol):
5146         * cmds.c (Fself_insert_command):
5147         Use EMACS_INT, not int, for result of XINT.
5148         Someday, someone will want to insert more than 2**31 identical characters.
5149
5150         * cmds.c (Fdelete_char):
5151         * cmds.c (Fdelete_backward_char):
5152         * syntax.c (Fforward_word):
5153         * syntax.c (Fforward_comment):
5154         Make COUNT argument optional, for consistency with forward-char et al.
5155
5156 2000-11-22  Martin Buchholz  <martin@xemacs.org>
5157
5158         * lisp.h:
5159         * print.c (long_to_string):
5160         Return a useful value: the pointer at end of data written.
5161
5162         * doprnt.c:
5163         Use `static const char * const' for constant strings.
5164         (union printf_arg): Delete `i', `ui' members.
5165         (get_doprnt_args):
5166         (emacs_doprnt_1):
5167         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
5168         Do all printf-ing via the `l' specifier.
5169         Use EMACS_INT instead of int.
5170         Optimize.
5171
5172 2000-11-20  Didier Verna  <didier@xemacs.org>
5173
5174         * faces.c (update_face_cachel_data): don't frob the background
5175         pixmap when the window is being created. The face is needed but
5176         does not exist yet.
5177
5178 2000-11-20  Andy Piper  <andy@xemacs.org>
5179
5180         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
5181         messing with a debug environment.
5182
5183 2000-11-20  Martin Buchholz  <martin@xemacs.org>
5184
5185         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
5186
5187 2000-11-20  Martin Buchholz  <martin@xemacs.org>
5188
5189         * casetab.c (Fcase_table_p): Fix compile error and crash.
5190
5191 2000-11-18  Philip Aston  <philipa@mail.com>
5192
5193         * s/cygwin32.h: Cygwin has SVR4-like pty support.
5194
5195 2000-11-18  Martin Buchholz  <martin@xemacs.org>
5196
5197         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
5198         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
5199
5200 2000-11-17  Martin Buchholz  <martin@xemacs.org>
5201
5202         * config.h.in: Define HAVE_ELF_H if elf.h exists.
5203         * unexelf.c: Use HAVE_ELF_H.
5204         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
5205         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
5206         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
5207         Greg Harrington <greg_harrington@hotmail.com> provided a machine
5208         for testing.
5209         So this is an unexelfsgi.c from a different line of development.
5210
5211 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
5212
5213         * regex.c (RE_TR_ASCII): New function.
5214         (RE_TRANSLATE): Call it.
5215
5216 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
5217
5218         * buffer.h (TRT_TABLE_OF): Remove assert.
5219         (IN_TRT_TABLE_DOMAIN): Removed.
5220
5221 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5222
5223         * free-hook.c (log_gcpro):
5224         (show_gcprohist): Add support for GCPRO5.
5225
5226 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
5227
5228         * emacs.c (main_1): Improve -sd error message when --pdump=no.
5229
5230 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
5231
5232         * symeval.h: Declare flush_all_buffer_local_cache.
5233
5234         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
5235         (flush_buffer_local_cache): Added.
5236         (flush_all_buffer_local_cache): Added.
5237
5238         * lrecord.h: Remove unused XD_LO_RESET_NIL.
5239
5240         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
5241         (pdump_dump_data): Ditto.
5242         (pdump_reloc_one): Ditto.
5243         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
5244         before dumping.
5245
5246
5247 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
5248
5249         * buffer.c: Remove if 0'ed entry.
5250         * buffer.h: Rewrite TRT to use char-table.
5251         * bufslots.h: Remove mirror tables.
5252         * casetab.c: Remove mirror tables.
5253         (CASE_TABLE_P): New macro.
5254         (Fcase_table_p): Element of a case table is string or char-table.
5255         (make_mirror_trt_table): Removed.
5256         (set_case_table): Setup char-table from strings for backward
5257         compatibility.
5258         * dired.c (Fdirectory_files):
5259         * dired-msw.c: (mswindows_get_files):
5260         * lisp.h: Change prototype of re_pattern_buffer.
5261         * regex.c: (RE_TRANSLATE): New macro.
5262         (TRANSLATE_P): Ditto.
5263         Change translate to type RE_TRANSLATE_TYPE.
5264         * regex.h: Define RE_TRANSLATE_TYPE
5265         * search.c (TRANSLATE): New macro.
5266         (TRANSLATE_ASCII): New macro.
5267         Translate table is changed to Lisp_Object.
5268         (signal_failure): Inhibit return.
5269
5270 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
5271
5272         * device-msw.c:
5273         * eldap.c:
5274         * event-Xt.c:
5275         * event-stream.c:
5276         * print.c:
5277         Do UNGCPRO before return.
5278
5279 2000-11-14  Martin Buchholz <martin@xemacs.org>
5280
5281         * XEmacs 21.2.37 is released.
5282
5283 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
5284
5285         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
5286         Add comments about discarded return value.
5287
5288 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
5289
5290         * callint.c:
5291         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
5292
5293 2000-10-27  Andy Piper  <andy@xemacs.org>
5294
5295         * gutter.c (Fset_default_gutter_position): default left and right
5296         gutters to visible.
5297         (calculate_gutter_size): calculate resonable heuristic for left
5298         and right gutter sizes.
5299         (specifier_vars_of_gutter): change left and right gutter sizes to
5300         autodetect.
5301         (calculate_gutter_size_from_display_lines): new function.
5302         (output_gutter): check for resizing on left and right gutters.
5303         (clear_gutter): don't special case top and left gutters.
5304         (specifier_vars_of_gutter): use new signature for
5305         set_specifier_caching.
5306
5307         * glyphs-x.c (x_redisplay_widget): spelling fix.
5308         * glyphs.c (specifier_vars_of_glyphs):
5309         * menubar.c (specifier_vars_of_menubar):
5310         * redisplay.c (specifier_vars_of_redisplay):
5311         * toolbar.c (specifier_vars_of_toolbar):
5312         * window.c (specifier_vars_of_window):
5313         * scrollbar.c (specifier_vars_of_scrollbar):
5314         (complex_vars_of_scrollbar): use new signature for
5315         set_specifier_caching.
5316
5317         * specifier.c (set_specifier_caching): include recompute flag.
5318         (recompute_one_cached_specifier_in_window): always recompute if
5319         flag set.
5320         (recompute_one_cached_specifier_in_frame): ditto.
5321
5322         * specifier.h (struct specifier_caching): add recompute flag.
5323
5324 2000-10-24  Andy Piper  <andy@xemacs.org>
5325
5326         * unexcw.c (copy_executable_and_dump_data_section): add new
5327         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
5328         5.0 happy.
5329
5330 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5331
5332         * console-x.h (x_device): New member modifier_release_time.
5333         * event-Xt.c (x_handle_sticky_modifiers):
5334         Bound interval modifier keys are sticky.
5335         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
5336         * events.h: extern it.
5337
5338 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5339
5340         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
5341
5342 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5343
5344         * event-stream.c (execute_command_event): Preserve current_events
5345         and the like when event is misc-user-event.
5346         Inhibit quit during the call to maybe_echo_keys.
5347
5348 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5349
5350         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
5351         symlink when buffer is killed.
5352         (inhibit_clash_detection): New variable.
5353
5354 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5355
5356         * console.c (Fset_input_method): Trigger redisplay on tty.
5357
5358 2000-11-07  Martin Buchholz  <martin@xemacs.org>
5359
5360         * process.c (Fprocess_status): Revert to previous behavior:
5361         (process-status "nosuchprocess") ==> nil
5362
5363 2000-11-06  Martin Buchholz  <martin@xemacs.org>
5364
5365         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
5366         Work around another GCC 2.95.2 optimizer bug.
5367
5368 2000-11-02  Martin Buchholz  <martin@xemacs.org>
5369
5370         * process.c (Fget_process): Use LIST_LOOP_2.
5371         (kill_buffer_processes): Use LIST_LOOP_2.
5372
5373         * minibuf.c (Fall_completions):
5374         Delete old non-functional code for FSF fourth argument.
5375
5376         * frame.c (frame_matches_frame_spec):
5377         Renamed from `frame_matches_frametype'.  Update all callers.
5378         (device_matches_device_spec):
5379         Renamed from 'device_matches_console_spec'.  Update all callers.
5380
5381         * doc.c (Fsubstitute_command_keys):
5382         Remove buffer overflow crash.  Small code cleanups.
5383
5384         * casetab.c (check_case_table): Simpler code.
5385
5386         * window.c (Freplace_buffer_in_windows):
5387         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
5388         (and similar implementation) as Fdelete_windows_on.
5389         Update all callers.
5390
5391         * alloc.c (Fmake_list):
5392         * alloc.c (make_vector):
5393         * alloc.c (Fmake_vector):
5394         * alloc.c (make_bit_vector):
5395         * alloc.c (Fmake_bit_vector):
5396         * alloc.c (Fbit_vector):
5397         * alloc.c (Fmake_string):
5398         * alloc.c (Fpurecopy):
5399         * alloc.c (Fmemory_limit):
5400         * buffer.c:
5401         * buffer.c (Fget_buffer):
5402         * buffer.c (Fkill_buffer):
5403         * buffer.c (complex_vars_of_buffer):
5404         * bytecode.c (Fcompiled_function_stack_depth):
5405         * callint.c (Fprefix_numeric_value):
5406         * event-stream.c:
5407         * event-stream.c (Fread_key_sequence):
5408         * casetab.c:
5409         * casetab.c (Fcase_table_p):
5410         * casetab.c (check_case_table):
5411         * casetab.c (Fset_case_table):
5412         * casetab.c (Fset_standard_case_table):
5413         * chartab.c:
5414         * chartab.c (Fchar_table_type):
5415         * chartab.c (Freset_char_table):
5416         * chartab.c (Fget_char_table):
5417         * chartab.c (Fget_range_char_table):
5418         * chartab.c (Fput_char_table):
5419         * chartab.c (Fmap_char_table):
5420         * chartab.c (Fcategory_table_p):
5421         * chartab.c (Fcheck_category_at):
5422         * chartab.c (Fchar_in_category_p):
5423         * chartab.c (Fcategory_table):
5424         * chartab.c (Fcopy_category_table):
5425         * chartab.c (Fset_category_table):
5426         * chartab.c (Fcategory_designator_p):
5427         * chartab.c (Fcategory_table_value_p):
5428         * cmds.c (Fdelete_char):
5429         * cmds.c (Fdelete_backward_char):
5430         * cmds.c (Fself_insert_command):
5431         * cmds.c (Fself_insert_internal):
5432         * console.c (Fvalid_console_type_p):
5433         * console.c (Fcdfw_console):
5434         * console.c (Fconsole_type):
5435         * console.c (Fconsole_name):
5436         * console.c (Fconsole_device_list):
5437         * console.c (Fconsole_on_window_system_p):
5438         * data.c:
5439         * data.c (Feq):
5440         * data.c (Fold_eq):
5441         * data.c (Fsubr_interactive):
5442         * data.c (Fchar_to_int):
5443         * data.c (Fint_to_char):
5444         * data.c (Fsetcar):
5445         * data.c (Fsetcdr):
5446         * data.c (Fnumber_to_string):
5447         * data.c (Fstring_to_number):
5448         * data.c (Frem):
5449         * database.c (mark_database):
5450         * database.c (finalize_database):
5451         * database.c (Fdatabase_live_p):
5452         * database.c (Fdatabasep):
5453         * device-x.c (Fx_get_resource):
5454         * device.c (Fdfw_device):
5455         * dired.c:
5456         * dired.c (Ffile_name_completion):
5457         * dired.c (Ffile_name_all_completions):
5458         * dired.c (Fuser_name_completion):
5459         * dired.c (Fuser_name_completion_1):
5460         * dired.c (Fuser_name_all_completions):
5461         * doc.c (Fdocumentation):
5462         * doc.c (Fdocumentation_property):
5463         * doc.c (Fsubstitute_command_keys):
5464         * editfns.c:
5465         * editfns.c (Fchar_to_string):
5466         * editfns.c (Fstring_to_char):
5467         * editfns.c (Ftemp_directory):
5468         * editfns.c (Finsert_char):
5469         * editfns.c (Fbuffer_substring_no_properties):
5470         * editfns.c (Fnarrow_to_region):
5471         * editfns.c (Fchar_equal):
5472         * editfns.c (Fchar_Equal):
5473         * editfns.c (Ftranspose_regions):
5474         * emacs.c (Fdump_emacs):
5475         * eval.c (Fthrow):
5476         * eval.c (Fcommand_execute):
5477         * eval.c (Fautoload):
5478         * eval.c (Fbacktrace):
5479         * eval.c (Fbacktrace_frame):
5480         * events.c:
5481         * events.c (Fcopy_event):
5482         * events.c (Fcharacter_to_event):
5483         * events.c (Fevent_button):
5484         * events.c (Fevent_process):
5485         * extents.c:
5486         * extents.c (Fnext_extent_change):
5487         * extents.c (Fextent_property):
5488         * faces.c (Ffacep):
5489         * faces.c (Fmake_face):
5490         * file-coding.c:
5491         * file-coding.c (Fencode_shift_jis_char):
5492         * file-coding.c (Fencode_big5_char):
5493         * fileio.c (Ffile_name_directory):
5494         * fileio.c (Ffile_name_nondirectory):
5495         * fileio.c (Ffile_name_as_directory):
5496         * fileio.c (Fdirectory_file_name):
5497         * fileio.c (Ffile_truename):
5498         * fileio.c (Fsubstitute_in_file_name):
5499         * fileio.c (Ffile_modes):
5500         * fileio.c (Fset_file_modes):
5501         * fileio.c (Fset_default_file_modes):
5502         * fileio.c (Fverify_visited_file_modtime):
5503         * floatfns.c (Facos):
5504         * floatfns.c (Fasin):
5505         * floatfns.c (Fatan):
5506         * floatfns.c (Fcos):
5507         * floatfns.c (Fsin):
5508         * floatfns.c (Ftan):
5509         * floatfns.c (Fbessel_j0):
5510         * floatfns.c (Fbessel_j1):
5511         * floatfns.c (Fbessel_jn):
5512         * floatfns.c (Fbessel_y0):
5513         * floatfns.c (Fbessel_y1):
5514         * floatfns.c (Fbessel_yn):
5515         * floatfns.c (Ferf):
5516         * floatfns.c (Ferfc):
5517         * floatfns.c (Flog_gamma):
5518         * floatfns.c (Fexp):
5519         * floatfns.c (Fexpt):
5520         * floatfns.c (Flog):
5521         * floatfns.c (Flog10):
5522         * floatfns.c (Fsqrt):
5523         * floatfns.c (Fcube_root):
5524         * floatfns.c (Facosh):
5525         * floatfns.c (Fasinh):
5526         * floatfns.c (Fatanh):
5527         * floatfns.c (Fcosh):
5528         * floatfns.c (Fsinh):
5529         * floatfns.c (Ftanh):
5530         * floatfns.c (Fabs):
5531         * floatfns.c (Ffloat):
5532         * floatfns.c (Flogb):
5533         * floatfns.c (Fceiling):
5534         * floatfns.c (Ffloor):
5535         * floatfns.c (Fround):
5536         * floatfns.c (Ftruncate):
5537         * floatfns.c (Ffceiling):
5538         * floatfns.c (Fffloor):
5539         * floatfns.c (Ffround):
5540         * floatfns.c (Fftruncate):
5541         * fns.c (Fstring_equal):
5542         * fns.c (Fstring_lessp):
5543         * fns.c (concat2):
5544         * fns.c (concat3):
5545         * fns.c (vconcat2):
5546         * fns.c (vconcat3):
5547         * fns.c (Fsubstring):
5548         * fns.c (Fassoc):
5549         * fns.c (Fold_assoc):
5550         * fns.c (assoc_no_quit):
5551         * fns.c (Fassq):
5552         * fns.c (Fold_assq):
5553         * fns.c (assq_no_quit):
5554         * fns.c (Frassoc):
5555         * fns.c (Fold_rassoc):
5556         * fns.c (Frassq):
5557         * fns.c (Fold_rassq):
5558         * fns.c (rassq_no_quit):
5559         * fns.c (Fremassoc):
5560         * fns.c (remassoc_no_quit):
5561         * fns.c (Fremassq):
5562         * fns.c (remassq_no_quit):
5563         * fns.c (Fremrassoc):
5564         * fns.c (Fremrassq):
5565         * fns.c (remrassq_no_quit):
5566         * fns.c (Fsort):
5567         * fns.c (Fplist_get):
5568         * fns.c (Fplist_put):
5569         * fns.c (Fplist_remprop):
5570         * fns.c (Fplist_member):
5571         * fns.c (Flax_plist_get):
5572         * fns.c (Flax_plist_put):
5573         * fns.c (Flax_plist_remprop):
5574         * fns.c (Flax_plist_member):
5575         * fns.c (Fequal):
5576         * fns.c (Fold_equal):
5577         * fns.c (Frequire):
5578         * fns.c (Fbase64_encode_region):
5579         * fns.c (Fbase64_encode_string):
5580         * fns.c (Fbase64_decode_region):
5581         * frame.c:
5582         * frame.c (frame_matches_frame_spec):
5583         * frame.c (device_matches_device_spec):
5584         * frame.c (next_frame):
5585         * frame.c (previous_frame):
5586         * frame.c (Fnext_frame):
5587         * frame.c (Fprevious_frame):
5588         * frame.c (Fframe_property):
5589         * frame.c (Fset_frame_height):
5590         * frame.c (Fset_frame_size):
5591         * frame.h:
5592         * glyphs.c:
5593         * glyphs.c (if):
5594         * glyphs.c (decode_error_behavior_flag):
5595         * glyphs.c (Fmake_image_instance):
5596         * indent.c (Findent_to):
5597         * intl.c (Fignore_defer_gettext):
5598         * keymap.c (Fkeymapp):
5599         * keymap.c (Flookup_key):
5600         * lread.c:
5601         * lread.c (Fload_internal):
5602         * lread.c (Feval_buffer):
5603         * lread.c (Feval_region):
5604         * macros.c (Fexecute_kbd_macro):
5605         * marker.c (set_marker_internal):
5606         * marker.c (Fset_marker):
5607         * marker.c (set_marker_restricted):
5608         * marker.c (Fcopy_marker):
5609         * marker.c (noseeum_copy_marker):
5610         * menubar.c:
5611         * menubar.c (Fpopup_menu):
5612         * minibuf.c:
5613         * mule-charset.c (Fcharset_name):
5614         * mule-charset.c (Fchar_charset):
5615         * mule-charset.c (Fchar_octet):
5616         * mule-charset.c (Fsplit_char):
5617         * mule-wnnfns.c (Fwnn_open):
5618         * mule-wnnfns.c (Fwnn_dict_comment):
5619         * mule-wnnfns.c (Fwnn_quit_henkan):
5620         * mule-wnnfns.c (Fwnn_word_toroku):
5621         * mule-wnnfns.c (Fwnn_word_sakujo):
5622         * mule-wnnfns.c (Fwnn_word_use):
5623         * mule-wnnfns.c (Fwnn_hindo_set):
5624         * objects.c:
5625         * objects.c (Fmake_color_instance):
5626         * objects.c (Fmake_font_instance):
5627         * print.c (Fwrite_char):
5628         * process.c:
5629         * process.c (mark_process):
5630         * process.c (print_process):
5631         * process.c (get_process_from_usid):
5632         * process.c (Fprocessp):
5633         * process.c (Fprocess_live_p):
5634         * process.c (Fget_process):
5635         * process.c (Fget_buffer_process):
5636         * process.c (get_process):
5637         * process.c (Fprocess_id):
5638         * process.c (Fprocess_name):
5639         * process.c (Fprocess_command):
5640         * process.c (init_process_io_handles):
5641         * process.c (start_process_unwind):
5642         * process.c (Fstart_process_internal):
5643         * process.c (Fopen_multicast_group_internal):
5644         * process.c (Fset_process_window_size):
5645         * process.c (read_process_output):
5646         * process.c (send_process):
5647         * process.c (Fprocess_tty_name):
5648         * process.c (Fset_process_buffer):
5649         * process.c (Fprocess_buffer):
5650         * process.c (Fprocess_mark):
5651         * process.c (set_process_filter):
5652         * process.c (Fset_process_filter):
5653         * process.c (Fprocess_filter):
5654         * process.c (Fprocess_send_region):
5655         * process.c (Fprocess_send_string):
5656         * process.c (exec_sentinel):
5657         * process.c (Fset_process_sentinel):
5658         * process.c (Fprocess_sentinel):
5659         * process.c (status_notify):
5660         * process.c (Fprocess_status):
5661         * process.c (Fprocess_exit_status):
5662         * process.c (process_send_signal):
5663         * process.c (Fprocess_send_eof):
5664         * process.c (deactivate_process):
5665         * process.c (remove_process):
5666         * process.c (Fdelete_process):
5667         * process.c (kill_buffer_processes):
5668         * process.c (Fprocess_kill_without_query):
5669         * process.c (Fprocess_kill_without_query_p):
5670         * rangetab.c:
5671         * rangetab.c (Fget_range_table):
5672         * rangetab.c (Fput_range_table):
5673         * rangetab.c (Fremove_range_table):
5674         * rangetab.c (Fclear_range_table):
5675         * search.c:
5676         * search.c (Fskip_chars_forward):
5677         * search.c (Fskip_chars_backward):
5678         * search.c (Fskip_syntax_forward):
5679         * search.c (Fskip_syntax_backward):
5680         * search.c (search_command):
5681         * search.c (Freplace_match):
5682         * search.c (Fregexp_quote):
5683         * select.c (Fown_selection_internal):
5684         * select.c (Fselection_owner_p):
5685         * select.c (Fselection_exists_p):
5686         * select.c (Fget_selection_internal):
5687         * specifier.c:
5688         * symbols.c:
5689         * symbols.c (Fintern):
5690         * symbols.c (Fintern_soft):
5691         * symbols.c (Funintern):
5692         * symbols.c (Fapropos_internal):
5693         * symbols.c (Fset_default):
5694         * syntax.c:
5695         * syntax.c (Fsyntax_table_p):
5696         * syntax.c (Fcopy_syntax_table):
5697         * syntax.c (Fset_syntax_table):
5698         * syntax.c (Fchar_syntax):
5699         * syntax.c (syntax_match):
5700         * syntax.c (Fmatching_paren):
5701         * syntax.c (Fforward_word):
5702         * syntax.c (scan_lists):
5703         * syntax.c (Fscan_lists):
5704         * syntax.c (Fscan_sexps):
5705         * syntax.c (Fparse_partial_sexp):
5706         * toolbar.c (Fcheck_toolbar_button_syntax):
5707         * tooltalk.doc:
5708         * window.c:
5709         * window.c (Fwindowp):
5710         * window.c (Fwindow_live_p):
5711         * window.c (Fwindow_point):
5712         * window.c (Fdelete_window):
5713         * window.c (Fnext_window):
5714         * window.c (Fprevious_window):
5715         * window.c (Fother_window):
5716         * window.c (window_loop):
5717         * window.c (Fget_lru_window):
5718         * window.c (Fsplit_window):
5719         * window.c (Fenlarge_window):
5720         * window.c (Fenlarge_window_pixels):
5721         * window.c (Fshrink_window):
5722         * window.c (Fshrink_window_pixels):
5723         * window.c (change_window_height):
5724         * window.c (Fwindow_configuration_p):
5725         * window.c (Fcurrent_window_configuration):
5726         * window.h:
5727         * casefiddle.c (casify_object):
5728         * casefiddle.c (Fupcase):
5729         * casefiddle.c (Fdowncase):
5730         * casefiddle.c (Fcapitalize):
5731         * casefiddle.c (Fupcase_initials):
5732         * casefiddle.c (casify_region_internal):
5733         * casefiddle.c (casify_region):
5734         * casefiddle.c (Fupcase_region):
5735         * casefiddle.c (Fdowncase_region):
5736         * casefiddle.c (Fcapitalize_region):
5737         * casefiddle.c (Fupcase_initials_region):
5738         * casefiddle.c (Fupcase_word):
5739         * casefiddle.c (Fdowncase_word):
5740         * casefiddle.c (Fcapitalize_word):
5741         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
5742         Replace 0 with '\0' when working with bytes.
5743         Replace initial "(" with "\(" in docstrings.
5744
5745 2000-11-01  Martin Buchholz  <martin@xemacs.org>
5746
5747         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
5748
5749         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
5750
5751 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5752
5753         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
5754
5755 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5756
5757         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
5758         correctly.
5759
5760 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5761
5762         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
5763         (inhibit_auto_save_session): New variable.
5764         (vars_of_fileio): Declare and initialize them.
5765         * fileio.c (Fdo_auto_save): Don't create session file if
5766         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
5767
5768 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5769
5770         * sgiplay.c (play_internal): C++ compilability.
5771         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
5772         * callproc.c (Fold_call_process_internal):
5773         Remove unused vars `env', `first'.
5774         * scrollbar.c (update_scrollbar_instance):
5775         #### unused var `current_window'.
5776         * redisplay-tty.c: Put currently unused vars insert_mode_on,
5777         etc. within #ifdef NOT_YET.
5778         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
5779         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
5780         * specifier.c (specifier_instance):
5781         #### unused var `tag'.
5782         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
5783
5784 2000-10-27  Martin Buchholz  <martin@xemacs.org>
5785
5786         * fns.c (Fbutlast):
5787         * fns.c (list_sort):
5788         * fns.c (Ffillarray):
5789         * fns.c (bytecode_nconc2):
5790         * fns.c (Fnconc):
5791         * fns.c (mapcar1):
5792         * fns.c (Fmapconcat):
5793         Be pedantically 64-bit correct.  For the time when someone will
5794         want to have a list with length > 2**32.
5795
5796         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
5797         Work around MIPSpro compiler bug.
5798
5799         * process-unix.c (unix_kill_child_process): Add snarky comment.
5800         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
5801
5802         * config.h.in: Oops, _getpt ==> _getpty
5803
5804 2000-10-26  Martin Buchholz  <martin@xemacs.org>
5805
5806         * config.h.in:
5807         * regex.c:
5808         Use void*, not char*, as return type of alloca().
5809
5810         * alloc.c (free_marker): Side effect inside assert expression!
5811
5812 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
5813
5814         * mule-charset.c (Fset_charset_ccl_program): To check
5815         if the given ccl program is valid, use setup_ccl_program()
5816         instead of CHECK_VECTOR().
5817         (Fmake_charset): Likewise.
5818
5819 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
5820
5821         * faces.c (get_extent_fragment_face_cache_index):
5822         Fix cachel.merged_faces memory leak.
5823
5824 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
5825
5826         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
5827         Reset MSB of octets obtained by DECODE_SJIS
5828         because of the incompatibility with Emacs.
5829         (ccl_driver)<CCL_ENCODE_SJIS>:
5830         Set MSB of octets before passing them to
5831         ENCODE_SJIS because of the incompatibility
5832         with Emacs.
5833
5834 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
5835
5836         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
5837         (DECLARE_LRECORD): Undo the last change.
5838         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
5839
5840 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
5841
5842         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
5843         the implementation to lrecord_implementations_table.
5844
5845 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
5846
5847         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
5848         initial value of `lrecord_type_##c_name' and
5849         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
5850         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
5851         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
5852         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
5853         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
5854
5855 2000-10-17  Martin Buchholz  <martin@xemacs.org>
5856
5857         * miscplay.c (sndcnv8S_2mono):
5858         (sndcnv2monounsigned):
5859         (sndcnvULaw_2linear):
5860         (sndcnv16swap):
5861         Remove implementation-defined behavior.
5862
5863 2000-10-12  Martin Buchholz  <martin@xemacs.org>
5864
5865         * input-method-xlib.c: Warning suppression.
5866
5867 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
5868
5869         * mule-ccl.c: Sync up with Emacs 21.0.90.
5870         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
5871         Do nothing.
5872         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
5873         Likewise.
5874         (ccl_driver[WriteMultibyteChar2]): Bug fix.
5875         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
5876         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
5877         leading char belongs to official 2-dimensional charset.
5878         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
5879         write the given character as is.  Otherwise,
5880         if it is a multibyte char, convert it by
5881         non_ascii_set_charptr_emchar, then write it.
5882         (CCL_WRITE_STRING): Likewise.
5883         (ccl_get_compiled_code): New function.
5884         (setup_ccl_program): When ccl_prog is invalid,
5885         return -1.
5886         (Fregister_code_conversion_map): New function.
5887         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
5888
5889         * mule-ccl.h: Sync up with Emacs 21.0.90.
5890         (Fregister_ccl_program): export it.
5891
5892         * redisplay-msw.c (separate_textual_runs):
5893         If ccl program is not valid, don't do ccl conversion.
5894
5895         * redisplay-x.c (separate_textual_runs): Ditto.
5896
5897         * file-coding.c (Fmake_coding_system):
5898         When type is ccl and value is vector, register it
5899         with a proper symbol.  And checks whether the
5900         given ccl program is valid.
5901         (mule_decode): When calling ccl_driver, if src indicates
5902         NULL pointer, set an empty string instead.
5903         (mule_encode): Likewise.
5904
5905 2000-10-11  Martin Buchholz  <martin@xemacs.org>
5906
5907         The following large batch of changes gets us back to a state of
5908         C++ compilability.  Extbyte is now a char, which means that
5909         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
5910
5911         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
5912
5913         * sound.c (Fplay_sound): Type correctness.
5914
5915         * select-x.c (hack_motif_clipboard_selection): Type correctness.
5916         (x_get_window_property): Type correctness.
5917         (receive_incremental_selection): unsigned char ==> Extbyte
5918         (selection_data_to_lisp_data): unsigned char ==> Extbyte
5919         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
5920         (Fx_store_cutbuffer_internal): Type correctness.
5921
5922         * process-unix.c (try_to_initialize_subtty): Type correctness.
5923
5924         * objects-x.c (x_print_color_instance): Type correctness.
5925         (x_print_font_instance): Type correctness.
5926         (x_list_fonts): SExtbyte ==> Extbyte.
5927         (valid_x_font_name_p): SExtbyte ==> Extbyte.
5928         (x_find_charset_font): SExtbyte ==> Extbyte.
5929         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
5930         (truename_via_XListFonts): SExtbyte ==> Extbyte.
5931         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
5932         Use bufbyte_strcmp.
5933
5934         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
5935         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
5936         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
5937         (BYTE_C0_P): Use bit ops for char-signedness safety.
5938         (BYTE_C1_P): Use bit ops for char-signedness safety.
5939         (CHARSET_BY_LEADING_BYTE):
5940         (CHARSET_BY_ATTRIBUTES):
5941         Always use inline function.
5942         Use type_checking_assert.
5943         Hide chlook.
5944
5945         * mule-charset.c (non_ascii_charptr_copy_char):
5946         Modify to work with both ASCII and non-ASCII characters.
5947         Improve docs and variable names.
5948         Replace over-clever fall-through switch with a simple loop.
5949         (Lstream_get_emchar_1):
5950         Replace over-clever fall-through switch with a simple loop.
5951
5952         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5953         Warning suppression.
5954
5955         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
5956         the return value of Lstream_getc, which could be EOF as well.
5957
5958         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
5959
5960         * lisp.h: Make Extbyte a char, not unsigned char, so that external
5961         APIs can be used on Extbytes without casts.  Risky!
5962         (SExtbyte): Remove.
5963         (UExtbyte): Remove.
5964
5965         * input-method-xlib.c (XIM_init_device):
5966         Use Xlib.h instead of IntrinsicP.h.
5967         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
5968         which will break in X11R7.
5969         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
5970         to call XRegisterIMInstantiateCallback with correct types.
5971
5972         * gui-x.c (button_item_to_widget_value): Type correctness.
5973
5974         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
5975
5976         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
5977         (xbm_instantiate_1): Type correctness.
5978         (BUILD_GLYPH_INST):  Type correctness.
5979
5980         * fileio.c (Fsubstitute_in_file_name): Type correctness.
5981
5982         * file-coding.c:
5983         (decode_coding_sjis):
5984         (decode_coding_big5):
5985         (decode_coding_ucs4):
5986         (decode_coding_utf8):
5987         (decode_coding_iso2022):
5988         (decode_coding_no_conversion):
5989         Make all decoding functions take an Extbyte * arg.
5990         (encode_coding_sjis):
5991         (encode_coding_big5):
5992         (encode_coding_ucs4):
5993         (encode_coding_utf8):
5994         (encode_coding_iso2022):
5995         (encode_coding_no_conversion):
5996         Make all encoding functions take a Bufbyte * arg.
5997         Use size_t instead of unsigned int for memory sizes.
5998         Only cast to unsigned char whenever dereferencing Extbyte *.
5999
6000         * doc.c (unparesseuxify_doc_string): Type correctness.
6001
6002         * console-x.c (split_up_display_spec):
6003         Rewrite without using details of internal string representation.
6004         (x_semi_canonicalize_device_connection): Type correctness.
6005
6006         * config.h.in:
6007         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
6008         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
6009         (HAVE_XFREE386): Removed.
6010
6011         * buffer.h (DEC_CHARPTR): `const' correctness.
6012         (bufbyte_strcmp): New.
6013         (bufbyte_memcmp): New.
6014
6015         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
6016
6017         * buffer.h (XCHAR_OR_CHAR_INT):
6018         Always use inline function.
6019         Remove redundant type checking assert() - XINT will abort quite nicely.
6020
6021 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
6022
6023         * search.c (Freplace_match): Set newtext to an empty string.
6024
6025 2000-10-10  Martin Buchholz  <martin@xemacs.org>
6026
6027         * s/decosf1-3.h: Remove #include of stropts.h
6028         * s/ptx.h: Remove #include of stropts.h
6029         * s/usg5-4.h: Remove #include of stropts.h
6030         * sysproc.h:
6031         * config.h.in:
6032         Use stropts.h, not sys/stropts.h.
6033         Use strtio.h, not sys/strtio.h.
6034
6035 2000-10-04  Martin Buchholz <martin@xemacs.org>
6036
6037         * XEmacs 21.2.36 is released.
6038
6039 2000-09-21  Andy Piper  <andy@xemacs.org>
6040
6041         * glyphs-x.c (x_redisplay_widget): make sure non-structural
6042         changes still involve copying the widget tree.
6043         (update_widget_face): make sure a change is register in the widget
6044         tree. Call update_tab_widget_face appropriately.
6045         (update_tab_widget_face): ditto.
6046         (x_tab_control_redisplay): make sure non-structural changes still
6047         involve copying the widget tree.
6048
6049 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
6050
6051         * lread.c (locate_file): Check the path element is non-nil.
6052
6053 2000-10-02  Martin Buchholz  <martin@xemacs.org>
6054
6055         * lisp.h: Warning suppression for SCO compilers.
6056
6057         * redisplay-tty.c (reset_tty_modes): Fix crash.
6058         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
6059
6060 2000-09-27  Martin Buchholz  <martin@xemacs.org>
6061
6062         Big signal/process handling overhaul.  Bugs fixed:
6063         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
6064         M-x comint-kill-subjob should work for both values nil and t of
6065         process-connection-type. It was broken on most platforms.
6066         Testing on Irix and Cygwin still needed.  Other plaforms tested.
6067         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
6068         * process-unix.c: Signal/Process handling overhaul.
6069         (pty_name): make 64 bytes, as `expect' does, for paranoia.
6070         (allocate_pty): Use all available modern methods of allocating
6071         ptys, falling back to old style BSD allocation as a last resort.
6072         Use allegedly more secure Unix98 pty allocation by default.
6073         (allocate_pty_the_old_fashioned_way): New. the last resort.
6074         (unix_create_process): Push ptem, ldterm, ttcompat where
6075         available.  Autoconfiscate.
6076         (try_to_initialize_subtty): New.
6077         (unix_kill_child_process): Proper signal handling for ptys on most
6078         platforms, using special knowledge of AIX, BSD, etc...
6079         (unix_create_process): Always disconnect_controlling_terminal() for
6080         subprocesses, whether using ptys or not.
6081         * process.h: Remove old getpt-dependent PTY code.
6082         * process.c (Fprocess_send_signal): New, obvious generic function.
6083         (decode_signal): New.
6084         (Finterrupt_process):
6085         (Fkill_process):
6086         (Fquit_process):
6087         (Fstop_process):
6088         (Fcontinue_process):
6089         (Fsignal_process): Use decode_signal.
6090         (process_send_signal):
6091         Many docstring corrections.
6092         Allow any signal to be sent to a process object.
6093         * config.h.in: Add symbols for big signal/process overhaul.
6094         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
6095         * sysproc.h: Include process-related headers, where available:
6096         sys/stropts.h sys/strtio.h pty.h libutil.h
6097         * s/irix4-0.h:
6098         * s/irix5-0.h:
6099         * s/cygwin32.h:
6100         * s/gnu.h:
6101         * s/linux.h:
6102         * s/hpux.h:
6103         * s/aix3-1.h:
6104         Remove old S&M pty stuff.
6105         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
6106         * systty.h: Simplify cpp hackery, improve comments.
6107         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
6108
6109         * editfns.c (Fformat_time_string):
6110         Be a little more paranoid with the return value of ctime.
6111
6112         * fileio.c (check_executable):
6113         (check_writable):
6114         Use symbolic constants X_OK, W_OK.
6115
6116         * console-x.c (split_up_display_spec): Fix a warning.
6117
6118 2000-10-02  Martin Buchholz  <martin@xemacs.org>
6119
6120         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
6121         * ntproc.c (sys_spawnve): make_string ==> build_string
6122         Small clarity improvements.
6123
6124 2000-09-30  Martin Buchholz  <martin@xemacs.org>
6125
6126         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
6127
6128         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
6129
6130         * config.h.in (HAVE_STRCASECMP): Remove.
6131
6132 2000-09-29  Martin Buchholz  <martin@xemacs.org>
6133
6134         * redisplay-output.c (redisplay_output_pixmap):
6135         Cleaner and possibly more 64-bit correct code.
6136
6137 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
6138
6139         * dumper.c (pdump_load_finish): move restoration of
6140         `noninteractive1' to emacs.c (main_1).
6141         * emacs.c (main_1): protect LISP-visible command-line flags
6142         from pdump_load().
6143
6144 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
6145
6146         * Makefile.in.in (versionclean):  Use EXE_TARGET and
6147         DUMP_TARGET instead of literal program names.
6148
6149 2000-09-20  Martin Buchholz  <martin@xemacs.org>
6150
6151         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
6152
6153 2000-09-19  Martin Buchholz  <martin@xemacs.org>
6154
6155         * *: Spelling mega-patch
6156
6157 2000-09-19  Martin Buchholz  <martin@xemacs.org>
6158
6159         * fns.c (bad_bad_turtle):
6160         Delete "Eek!" comment, since we fixed the bug to which it refers.
6161
6162 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6163
6164         * alloca.c: Replace REGISTER with register.
6165
6166 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
6167
6168         * file-coding.c (ucs_to_char): Use countof.
6169
6170 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6171
6172         * file-coding.c: (ucs_to_char):
6173         (complex_vars_of_file_coding):
6174         Use countof instead of sizeof.
6175         Use CHECK_NATNUM instead of CHECK_INT.
6176
6177         * sysdep.c (strcasecmp): Remove.
6178         * device-x.c (ascii_strcasecmp): New.
6179         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
6180         Avoid using non-standard non-portable strcasecmp.
6181
6182 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6183
6184         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
6185         * font-lock.c: remove reference to emacsfns.h.
6186         * search.c: small doc improvement.
6187         * event-Xt.c: correct file names in comments.
6188         * console-x.h Correct file names in comments.
6189         * frame.c: Correct file names in comments.
6190         * event-stream.c: remove Energize from comments.
6191
6192 2000-09-15  Martin Buchholz  <martin@xemacs.org>
6193
6194         * symeval.h (DEFERROR_STANDARD):
6195         (DEFERROR):
6196         (DEFSYMBOL):
6197         (DEFSYMBOL_NO_DUMP):
6198         (DEFSYMBOL_MULTIWORD_PREDICATE):
6199         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
6200         (DEFKEYWORD):
6201         The construct &##name is not sensible C.
6202         Fixes compilation errors with Unixware native compiler.
6203
6204 2000-09-14  Martin Buchholz  <martin@xemacs.org>
6205
6206         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
6207         (next_frame_internal): Removed.  We now just have next_frame.
6208         (next_frame):
6209         Write a simpler and cleaner one-pass algorithm.
6210         Remove called_from_delete_device arg and #ifdefed-out code.
6211         (previous_frame):
6212         Renamed from prev_frame.  Update callers.
6213         Cleaned up to have an analogous implementation to next_frame.
6214         (other_visible_frames_internal): Remove the
6215         called_from_delete_device bogus arg, and hence, remove this
6216         function.  Just use other_visible_frames().
6217
6218         * window.c (Fnext_window):
6219         Prettify docstring.
6220         Since next_frame() is guaranteed to return a frame, remove check
6221         for nil inserted in previous patch.
6222         (Fprevious_window):
6223         Prettify docstring.
6224         Make code look more like Fnext_window.
6225         (window_loop):
6226         Respect the `console' arg when iterating through windows.
6227         Fixes bug: (get-buffer-window buffer t device) not respecting
6228         the `device' arg.
6229         This function needs more work, as others have pointed out.
6230
6231         * frame.h: Rename prev_frame to previous_frame.
6232         device_matches_console_spec no longer takes a `frame' arg.
6233
6234         * s/gnu.h:
6235         * s/linux.h:
6236         * s/hpux.h:
6237         Use EMACS_BLOCK_SIGNAL instead of sigblock.
6238         From "Golubev I. N." <gin@mo.msk.ru>.
6239
6240         * make-src-depend: Fix typo.
6241
6242 2000-09-13  Martin Buchholz  <martin@xemacs.org>
6243
6244         * window.c (Fnext_window):
6245         next_frame() might return nil, not a frame.
6246         Fixes this crash:
6247         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
6248
6249         * frame.c (next_frame_internal):
6250         We've passed a frame if we've passed its device.
6251         Fixes this crash:
6252         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
6253 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
6254
6255 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6256
6257         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6258         Allow option to suppress accelerators in menu/dialog items.
6259         (populate_or_checksum_helper): Pass dialog title through above.
6260
6261 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6262
6263         * event-msw.c (mswindows_key_to_emacs_keysym):
6264         Add "pause" key, fix "menu" key.
6265
6266 2000-09-09  Martin Buchholz  <martin@xemacs.org>
6267
6268         * eval.c (reinit_vars_of_eval):
6269         Increase max_lisp_eval_depth to 1000,
6270         required for thai-xtis.el to byte-compile under some circumstances.
6271
6272 2000-09-04  Martin Buchholz  <martin@xemacs.org>
6273
6274         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
6275         From Kenichi Handa.
6276
6277 2000-09-01  Martin Buchholz  <martin@xemacs.org>
6278
6279         * make-src-depend: Make the generated Makefiles smaller.
6280
6281         * s/hpux.h (SETUP_SLAVE_PTY):
6282         Provide a %d in the format string for the errno argument.
6283
6284         * editfns.c (Ftemp_directory):
6285         Warning fix.
6286         Avoid buffer overrun on very long file name.
6287
6288         * input-method-xlib.c (XIM_init_device):
6289         6th parameter of XRegisterIMInstantiateCallback has different
6290         pointer types on different OSes, so simply cast to (void *).
6291
6292         * unexhp9k800.c: Warning fixes.  Fiddly changes.
6293
6294         * sysdll.c (dll_open):
6295         shl_load will hang hard if passed a NULL filename.
6296         Simply return NULL for compatibility with dlopen.
6297         * sysdll.c: Conform to XEmacs coding standards.
6298
6299         * sysdep.c (get_pty_max_bytes):
6300         Support pty input lines longer than 512 bytes on HP-UX 10.20.
6301
6302 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6303
6304         * tooltalk.c: Add #include <syssignal.h>
6305
6306 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
6307
6308         * s/hpux.h: Don't use undefined function sigunblock().
6309
6310 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6311
6312         * config.h.in: Add HAVE_BALLOON_HELP.
6313         * emacs.c: Use HAVE_BALLOON_HELP.
6314         * Makefile.in.in (x_objs):
6315         Make Balloon Help conditional on finding shape.h.
6316
6317 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
6318
6319         * syntax.c (regex_emacs_buffer_p): New variable.
6320         * syntax.h (regex_emacs_buffer_p): extern.
6321         * search.c (looking_at_1):
6322         (string_match_1):
6323         (fast_string_match):
6324         (search_buffer): Set regex_emacs_buffer_p.
6325         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
6326         when before_dot, at_dot, after_dot.
6327
6328 2000-08-23  Andy Piper  <andy@xemacs.org>
6329
6330         * gui-x.c (popup_selection_callback): Only set action_occurred
6331         when we really have an image instance.
6332         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
6333
6334 2000-08-23  Andy Piper  <andy@xemacs.org>
6335
6336         * gui-msw.c (mswindows_handle_gui_wm_command): set
6337         action_occurred.
6338         * gui-x.c (popup_selection_callback): ditto.
6339
6340         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
6341         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
6342         (struct Lisp_Image_Instance): add action_occurred flag.
6343
6344         * glyphs.c (redisplay_subwindow): use action_occurred flag.
6345         (image_instance_changed): ditto.
6346         (reset_frame_subwindow_instance_cache): only unmap windows - do
6347         not remove them from the cache also.
6348
6349         * glyphs-widget.c (tab_control_update): better debug.
6350         (progress_gauge_update): ditto.
6351         (layout_update): ditto.
6352         (layout_instantiate): ditto.
6353         (tab_control_order_only_changed): cope with null pending items.
6354
6355         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
6356         debug. Force selection of an item when an action occurred. Cope
6357         with null pending_items.
6358         (mswindows_progress_gauge_redisplay): better debug.
6359         * glyphs-x.c (x_tab_control_redisplay): ditto.
6360
6361         * redisplay.c (redisplay_frame): reset the frame cache if the
6362         frame is garbaged.
6363
6364         * window.c (Fset_window_configuration): potentially re-enable
6365         frame cache reset.
6366         (window_unmap_subwindows): need to finalize instances here since
6367         it is only used in mark_window_as_deleted.
6368
6369 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
6370
6371         * nas.c (SndOpenDataForReading):
6372         nas.c (WaveOpenDataForReading):
6373         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
6374         Somehow escaped from the 2000-08-14 patch.
6375
6376 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6377
6378         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
6379         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
6380
6381 2000-08-21  Andy Piper  <andy@xemacs.org>
6382
6383         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
6384         window if it is not already displayed.
6385
6386         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
6387         it is not already displayed.
6388
6389         * window.c (Fset_window_configuration): don't reset the frame
6390         cache.
6391
6392         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
6393         instances from the frame cache if we are actually finalizing them.
6394         (reset_frame_subwindow_instance_cache): reset frame cache only
6395         after unmapping everything.
6396         (map_subwindow): set displayed flag after mapping.
6397
6398 2000-08-21  Martin Buchholz  <martin@xemacs.org>
6399
6400         * data.c (indirect_function):
6401         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
6402
6403         * eval.c (function_argcount):
6404         Use original function when signaling errors.
6405
6406 2000-08-18  Andy Piper  <andy@xemacs.org>
6407
6408         * frame.c (delete_frame_internal): use new
6409         free_frame_subwindow_instances name.
6410
6411         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
6412         (add_tab_item): make return type correct.
6413         (mswindows_tab_control_instantiate): assert index of tab.
6414         (mswindows_tab_control_redisplay): Re-code to use
6415         gui_item_equal_sans_selected and gui_item_list_find_selected.
6416
6417         * glyphs-widget.c (tab_control_update): Correct comment.
6418
6419         * window.c (window_unmap_subwindows): use new
6420         unmap_subwindow_instance_cache_mapper.
6421         (window_unmap_subwindows_cache_mapper): deleted.
6422         (Fset_window_configuration): comparisons should now be with
6423         EQ. Preserve the subwindow instance cache across configuration
6424         changes.
6425         (allocate_window): ditto.
6426         (make_dummy_parent): ditto.
6427
6428         * glyphs.c (free_frame_subwindow_instances): rename from
6429         free_frame_subwindow_instance_cache. finalize all instances rather
6430         than just those in the display cache.
6431         (finalize_all_subwindow_instances): walk windows unmapping and
6432         finalizing subwindows.
6433         (unmap_subwindow_instance_cache_mapper): moved from
6434         window.c. Allow finalization as well as unmapping.
6435
6436         * gui.c (gui_item_list_find_selected): new function.
6437
6438         * gui.h (gui_item_list_find_selected): declare.
6439
6440         * glyphs-x.c (x_tab_control_redisplay): pick tab
6441         explicitly. Re-code to use gui_item_equal_sans_selected and
6442         gui_item_list_find_selected.
6443
6444         * glyphs-x.h: add lwlib-utils.h
6445
6446         * buffer.c (Frecord_buffer): undo previous change.
6447
6448 2000-08-09  Vin Shelton  <acs@xemacs.org>
6449
6450         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
6451         possible.  Create temporary files more securely.  The patch was
6452         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
6453         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
6454         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
6455         for details.
6456
6457 2000-08-07  Ben Wing  <ben@xemacs.org>
6458
6459         * getloadavg.c: remove duplicate (and windows-breaking)
6460         includes of fcntl.h and sys/file.h.
6461
6462         * nt.c: remove duplicate getloadavg() definition.
6463
6464         * sysdll.h (Qdll_filename_encoding): add missing stand-in
6465         encodings.
6466
6467 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6468
6469         * eval.c (function_argcount): If function needs to be autoloaded
6470         actually use the loaded definition.
6471         GCPRO function.
6472
6473 2000-08-05  Ben Wing  <ben@xemacs.org>
6474
6475         * getloadavg.c: add prototype for getloadavg().  remove
6476         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
6477         of the code).  remove duplicate header includes.
6478
6479         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
6480
6481         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
6482         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
6483         useful load average.
6484
6485         * alloc.c (reinit_alloc_once_early): removed references to
6486         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
6487         the lisp vars are the only things referencing the malloc_sbrk_*
6488         vars, and they were already if 0'd out.  these vars only exist
6489         in the older malloc.c, which is basically unused, and they're
6490         only for informational purposes.
6491
6492         * m\*.h: removed useless VIRT_ADDR_VARIES.
6493
6494         * m\powerpc.h: removed stray NO_ARG_ARRAY.
6495
6496 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
6497
6498         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
6499         color if the image is a mono pixmap.
6500
6501 2000-07-30  Ben Wing  <ben@xemacs.org>
6502
6503         * Makefile.in.in (release):
6504         Remove stray @.
6505
6506         * buffer.c (directory_is_current_directory):
6507         * dired-msw.c (mswindows_get_files):
6508         * dired.c:
6509         * dired.c (Fdirectory_files):
6510         * dired.c (file_name_completion_stat):
6511         * dired.c (Ffile_attributes):
6512         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
6513         preprocessor tricks, to avoid problems on some machines
6514         (e.g. SCO).
6515
6516         * callproc.c (egetenv): GC docs.
6517
6518         * console-msw.h:
6519         * console-msw.h (struct mswindows_dialog_id):
6520         * lrecord.h (lrecord_type):
6521         New object for use with MSW dialogs.
6522
6523         * console.h (struct console_methods):
6524         New enable/disable frame methods, for proper modal dialogs.
6525
6526         * device-msw.c (msprinter_default_printer): Fix to follow
6527         proper Mule conventions.
6528
6529         * device-msw.c:
6530         * device-msw.c (signal_open_printer_error):
6531         * device-msw.c (msprinter_init_device):
6532         * device-msw.c (ensure_not_printing):
6533         * device-msw.c (plist_get_margin):
6534         * device-msw.c (Fmsprinter_select_settings):
6535         * device-msw.c (finalize_devmode):
6536         * device-msw.c (Fmsprinter_settings_despecialize):
6537         * device-msw.c (signal_enum_priner_error):
6538         * extents.c (decode_extent):
6539         * extents.c (decode_map_extents_flags):
6540         * extents.c (decode_extent_at_flag):
6541         * extents.c (Fextent_at):
6542         * extents.c (Fextents_at):
6543         * extents.c (symbol_to_glyph_layout):
6544         [[[[2]]]] Use structured errors.
6545
6546         * dialog-msw.c:
6547         * dialog-msw.c (mswindows_is_dialog_msg):
6548         * dialog-msw.c (mark_mswindows_dialog_id):
6549         * dialog-msw.c (dialog_proc):
6550         * dialog-msw.c (handle_question_dialog_box):
6551         * dialog-msw.c (syms_of_dialog_mswindows):
6552         Define new object to clean up marking; use it as a dialog identifier.
6553         Call new delete-dialog-box-hook.
6554
6555         * dialog-x.c (dbox_selection_callback):
6556         * dialog-x.c (dbox_descriptor_to_widget_value):
6557         * dialog-x.c (x_make_dialog_box_internal):
6558         Call new delete-dialog-box-hook.
6559         Return an id.
6560
6561         * dialog.c:
6562         * dialog.c (syms_of_dialog):
6563         * dialog.c (vars_of_dialog):
6564         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
6565
6566         * eval.c:
6567         * eval.c (signal_call_debugger):
6568         when noninteractive, output stack traces on the console instead
6569         of in a (never-seen) buffer.
6570
6571         * eval.c (signal_type_error):
6572         * eval.c (invalid_argument_2):
6573         * lisp.h:
6574         new funs for use w/structured errors.
6575
6576         * event-Xt.c:
6577         * event-Xt.c (x_to_emacs_keysym):
6578         * event-Xt.c (describe_event):
6579         * event-Xt.c (emacs_Xt_event_handler):
6580         * event-Xt.c (vars_of_event_Xt):
6581         * event-msw.c:
6582         * event-msw.c (mswindows_wnd_proc):
6583         * event-msw.c (vars_of_event_mswindows):
6584         rename {x,mswindows}-debug-events to debug-{}-events for
6585         consistency with other debug-foo variables.
6586
6587         * event-stream.c:
6588         document next-event more clearly.
6589
6590         * fileio.c (Ffile_name_directory):
6591         * fileio.c (Ffile_name_nondirectory):
6592         * fileio.c (Funhandled_file_name_directory):
6593         * fileio.c (file_name_as_directory):
6594         * fileio.c (Ffile_name_as_directory):
6595         * fileio.c (directory_file_name):
6596         * fileio.c (Fdirectory_file_name):
6597         * fileio.c (Fmake_temp_name):
6598         * fileio.c (Ffile_truename):
6599         * fileio.c (Fsubstitute_in_file_name):
6600         * fileio.c (expand_and_dir_to_file):
6601         * fileio.c (barf_or_query_if_file_exists):
6602         * fileio.c (check_executable):
6603         * fileio.c (Ffile_exists_p):
6604         * fileio.c (Ffile_writable_p):
6605         * fileio.c (Ffile_directory_p):
6606         * fileio.c (Ffile_regular_p):
6607         * fileio.c (Ffile_modes):
6608         * fileio.c (Ffile_newer_than_file_p):
6609         * fileio.c (Fverify_visited_file_modtime):
6610         * fileio.c (Fset_visited_file_modtime):
6611         * fileio.c (auto_save_1):
6612         (1). (2).
6613         fix up gcpro's.
6614
6615         * frame-msw.c:
6616         * frame-msw.c (mswindows_init_frame_1):
6617         * frame-msw.c (mswindows_enable_frame):
6618         * frame-msw.c (error_frame_unsizable):
6619         * frame-msw.c (msprinter_init_frame_1):
6620         * frame-msw.c (msprinter_init_frame_3):
6621         * frame-msw.c (console_type_create_frame_mswindows):
6622         (2).
6623         implement new enable/disable frame methods.
6624
6625         * frame-x.c:
6626         * frame-x.c (x_enable_frame):
6627         * frame-x.c (console_type_create_frame_x):
6628         implement new enable/disable frame methods.
6629
6630         * frame.c:
6631         * frame.c (Fdisable_frame):
6632         * frame.c (syms_of_frame):
6633         * frame.h (struct frame):
6634         implement new enable/disable frame methods/functions.
6635
6636         * general-slots.h:
6637         add initial-focus.
6638
6639         * glyphs-msw.c (mswindows_widget_instantiate):
6640         comment that initial-focus should be implemented.
6641
6642         * glyphs-widget.c:
6643         * glyphs-widget.c (check_valid_instantiator):
6644         * glyphs-widget.c (check_valid_orientation):
6645         * glyphs-widget.c (check_valid_tab_orientation):
6646         * glyphs-widget.c (check_valid_justification):
6647         * glyphs-widget.c (check_valid_border):
6648         * glyphs-widget.c (check_valid_callback):
6649         * glyphs-widget.c (check_valid_int_or_function):
6650         * glyphs-widget.c (check_valid_string_or_vector):
6651         * glyphs-widget.c (check_valid_item_list_1):
6652         * glyphs-widget.c (widget_validate):
6653         * glyphs-widget.c (combo_box_validate):
6654         * glyphs-widget.c (widget_instantiate):
6655         * glyphs-widget.c (syms_of_glyphs_widget):
6656         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
6657         * glyphs-widget.c (image_instantiator_combo_box):
6658         * glyphs-widget.c (image_instantiator_scrollbar):
6659         * glyphs-widget.c (image_instantiator_tab_control):
6660         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
6661         (2).
6662         support (unimplemented) keyword initial-focus.
6663         reindent long macros.
6664
6665         * glyphs-x.c (x_redisplay_widget):
6666         * glyphs-x.c (x_button_instantiate):
6667         * glyphs-x.c (x_button_redisplay):
6668         * glyphs-x.c (x_progress_gauge_instantiate):
6669         * glyphs-x.c (x_edit_field_instantiate):
6670         * glyphs-x.c (x_combo_box_instantiate):
6671         * glyphs-x.c (x_tab_control_instantiate):
6672         * glyphs-x.c (x_label_instantiate):
6673         * gui-x.c:
6674         * gui-x.c (button_item_to_widget_value):
6675         * gui-x.c (gui_items_to_widget_values_1):
6676         * gui-x.c (gui_item_children_to_widget_values):
6677         * gui-x.c (gui_items_to_widget_values):
6678         * gui-x.h:
6679         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6680         add new flag to gui-parsing routines to indicate whether
6681         accelerator specs should be supported.
6682
6683         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
6684
6685         * glyphs.h (struct Lisp_Image_Instance):
6686         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
6687         add initial-focus flag.
6688
6689         * gui.c:
6690         * gui.c (syms_of_gui):
6691         * gui.c (vars_of_gui):
6692         clean up menu-no-selection-hook.
6693
6694         * gui.h:
6695         support delete-dialog-box-hook.
6696
6697         * lread.c (Fload_internal):
6698         * lread.c (locate_file_in_directory_mapper):
6699         (1).
6700
6701         * lrecord.h:
6702         * lrecord.h (struct toolbar_button):
6703         * lrecord.h (syms_of_toolbar):
6704         document how to create a new object.
6705
6706         * menubar-msw.c (mswindows_char_is_accelerator):
6707         may be called on frames w/o menus.
6708
6709         * menubar.c (vars_of_menubar):
6710         clean up :filter docs.
6711
6712         * nt.c (readdir):
6713         * ntproc.c:
6714         (1).
6715
6716         * process-nt.c:
6717         * process-nt.c (validate_signal_number):
6718         * process-nt.c (signal_cannot_launch):
6719         * process-nt.c (nt_create_process):
6720         * process-nt.c (nt_send_process):
6721         * process-nt.c (nt_kill_child_process):
6722         * process-nt.c (nt_open_network_stream):
6723         * process-nt.c (syms_of_process_nt):
6724         (2).
6725         delete quote-handling.  call new lisp code that does it better.
6726
6727         * process-unix.c (connect_to_file_descriptor):
6728         * process-unix.c (allocate_pty):
6729         * process-unix.c (unix_send_process):
6730         * process-unix.c (unix_kill_child_process):
6731         * process-unix.c (unix_open_network_stream):
6732         * process-unix.c (unix_open_multicast_group):
6733         (1). (2).
6734
6735         * process.c:
6736         * process.c (Fstart_process_internal):
6737         (2).  need to canonicalize process path even if absolute.
6738
6739         * select-msw.c (symbol_to_ms_cf):
6740         * select-msw.c (ms_cf_to_symbol):
6741         * select-msw.c (cf_is_autofreed):
6742         * select-msw.c (mswindows_destroy_selection):
6743         * select.c:
6744         * select.c (syms_of_select):
6745         * select.h:
6746         support dibv5, fix bugs. (from Mike Alexander)
6747
6748         * select.c (Fget_selection_internal):
6749         * select.c (select_convert_out):
6750
6751         * sysdep.c:
6752         * sysdep.c (xemacs_stat):
6753         renamed.
6754
6755         * sysdep.c (mkdir):
6756         * sysdep.c (rmdir):
6757         but keep original stat() here because we provide encapsulation
6758         around these funs.
6759
6760         * sysfile.h:
6761         * sysfile.h (fstat):
6762         remove stat garbage.
6763
6764         * syswindows.h:
6765         fix X/MSW conflict.
6766         don't include tchar.h.  it's inappropriate because it makes
6767         compile-time distinctions when we want runtime distinctions.
6768         (we provide our own tchar replacements)
6769
6770         * toolbar.c:
6771         use default object printer for toolbar-button.
6772
6773         * unexcw.c:
6774         make sure we don't encapsulate.
6775
6776         * window.c (vars_of_window):
6777         emphasize that temp-buffer-show-hook is obsolete.
6778
6779 2000-08-05  Martin Buchholz  <martin@xemacs.org>
6780
6781         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
6782         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
6783
6784         * events.c (Fevent_timestamp_lessp):
6785         Not 64-bit clean.  Use EMACS_INT, not int.
6786
6787 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
6788
6789         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
6790         unsigned int and changed the last enum to
6791         lrecord_type_last_built_in_type.
6792         (lrecord_implementations_table): changed prototype to know how
6793         long the array is supposed to be.
6794         (lrecord_type_count): new unsigned int to keep track of the
6795         current number of lisp lrecord types.
6796         (DEFINE_EXTERNAL_LRECORD):
6797         (DECLARE_EXTERNAL_LRECORD): Added these two for external
6798         dynamic-modules to declare new lisp types. They are the same
6799         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
6800         int for each new type, and increment lrecord_type_count by 1.
6801
6802         * alloc.c (lrecord_implementations_table): Changed to reference
6803         lrecord_type_last_built_in_type for the size of the array.
6804         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
6805
6806 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
6807
6808         * glyphs.h (check_valid_item_list): Renamed from
6809         check_valid_item_list_1.
6810
6811 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
6812
6813         * select.c (Qselect_coerce): New.
6814         * select.c (Vselection_coercion_alist): New.
6815         * select.c (syms_of_select): Declare.
6816         * select.c (get-selection-internal): Use it.
6817         Use the new select-coerce functionality.
6818
6819         * select.c (select_coerce): New.
6820         * select.h (select_coerce): Declare.
6821         New function to coerce one type of data into another.
6822
6823 2000-08-03  Martin Buchholz  <martin@xemacs.org>
6824
6825         * callproc.c (Fcall_process_internal):
6826         (Fcall_process_internal):
6827         * process-unix.c (unix_create_process):
6828         Save and restore the value of errno, so that error messages are accurate.
6829
6830 2000-08-01  Martin Buchholz  <martin@xemacs.org>
6831
6832         * elhash.c (print_hash_table):
6833         Fix printing of hash tables to also use `key-and-value' instead of `t'.
6834         Prettify docstrings and indentation.
6835
6836 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
6837
6838         * window.c (Fwindow_pixel_edges): Subtract frame border and
6839         gutter size.
6840
6841 2000-07-31  Andy Piper  <andy@xemacs.org>
6842
6843         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
6844         will acknowledge the change.
6845
6846         * glyphs.h: declare tab_control_order_only_changed.
6847
6848         * glyphs-x.c (x_tab_control_redisplay): use
6849         tab_control_order_only_changed.
6850
6851         * glyphs-widget.c (tab_control_order_only_changed): new function.
6852
6853         * glyphs-msw.c (mswindows_tab_control_redisplay): use
6854         tab_control_order_only_changed.
6855
6856         * gui.c (gui_item_equal_sans_selected): new function.
6857         (gui_item_equal): use it.
6858
6859         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
6860         :properties in favor of :items..
6861
6862         * glyphs-widget.c (check_valid_item_list): rename from
6863         check_valid_item_list_1.
6864         (check_valid_item_list_1): renamed.
6865         (combo_box_validate): deprecate :properties in favor of :items.
6866         (widget_instantiate): ditto.
6867         (tab_control_update): ditto.
6868         (image_instantiator_combo_box): ditto.
6869         (image_instantiator_tree_view): ditto.
6870         (image_instantiator_tab_control): ditto.
6871         (layout_post_instantiate): remove dead code.
6872
6873         * print.c (debug_print_no_newline): only write to debugger if in
6874         WIN32_NATIVE.
6875
6876         * elhash.c (Fmake_hash_table): update doc string.
6877
6878         * event-msw.c (mswindows_wnd_proc): don't allow processing of
6879         messages whilst in GC. This at least stops XEmacs crashing but has
6880         the potential for wierd behaviour.
6881
6882 2000-07-31  Martin Buchholz  <martin@xemacs.org>
6883
6884         * config.h.in:
6885         Make existence of s&m files optional.
6886
6887         * s/bsd386.h: Remove HAVE_GETLOADAVG.
6888         * s/freebsd.h: Remove HAVE_GETLOADAVG.
6889         * s/gnu.h: Remove HAVE_GETLOADAVG.
6890         * s/netbsd.h: Remove HAVE_GETLOADAVG.
6891         * s/sol2.h: Remove HAVE_GETLOADAVG.
6892         * lisp.h: Remove getloadavg() declaration.
6893         * fns.c:
6894         Include <sys/loadavg.h> if available.
6895         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
6896         * config.h.in:  Group together getloadavg()-related macros.
6897         Use only configure-time tests to detect getloadavg().
6898
6899 2000-07-30  Martin Buchholz  <martin@xemacs.org>
6900
6901         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
6902
6903 2000-07-25  Andy Piper  <andy@xemacs.org>
6904
6905         * syswindows.h: add tchar.h for native builds.
6906
6907         * frame.c (syms_of_frame): remove set-glyph-image.
6908
6909         * general-slots.h: add Qset_glyph_image.
6910
6911         * glyphs-widget.c (layout_update): add domain arg to
6912         set-glyph-image.
6913         (syms_of_glyphs_widget): remove set-glyph-image.
6914
6915 2000-07-23  Ben Wing  <ben@xemacs.org>
6916
6917         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
6918         Vpopup_frame_list.
6919
6920 2000-07-22  Andy Piper  <andy@xemacs.org>
6921
6922         * symsinit.h: add syms_of_win32().
6923
6924         * gui-msw.c (syms_of_gui_mswindows): remove
6925         Fmswindows_shell_execute.
6926         (Fmswindows_shell_execute): moved to win32.c.
6927
6928         * emacs.c (main_1): add syms_of_win32 ().
6929
6930         * win32.c (init_potentially_nonexistent_functions): rewrite in
6931         compiler-friendly terms.
6932         (Fmswindows_shell_execute): move here from gui-msw.c.
6933         (syms_of_win32): new.
6934
6935         * device-msw.c (Fmswindows_printer_list): clean up args to
6936         EnumPrinters.
6937         Don't include tchar under cygwin or mingw.
6938         (msprinter_default_printer): make cygwin-friendly.
6939
6940 2000-07-21  Andy Piper  <andy@xemacs.org>
6941
6942         * glyphs-widget.c (image_instantiator_tree_view): use tab
6943         control's update function.
6944         (layout_property): new function. Retrieve items.
6945
6946         * glyphs-msw.c (mswindows_tree_view_redisplay): new
6947         function. Re-populate the tree view from the pending items.
6948
6949         * glyphs.c (instantiate_image_instantiator): Make sure the domain
6950         is designated the parent if the domain is an image instance. This
6951         is needed so that dirtiness can be cascade up the hierarchy and
6952         thus for layout children to be redisplayed correctly.
6953         (allocate_image_instance): rename glyph -> parent.
6954
6955         * redisplay.h: change redisplay_output_layout signature.
6956
6957         * redisplay-msw.c (mswindows_output_display_block): use domain
6958         arg.
6959
6960         * redisplay-x.c (x_output_display_block): use domain arg.
6961
6962 2000-07-10  Andy Piper  <andy@xemacs.org>
6963
6964         * window.c (Fset_window_configuration): add comment.
6965
6966         * redisplay-output.c (compare_runes):
6967         (redisplay_output_subwindow): redisplay rather than update subwindow.
6968         (redisplay_output_layout): ditto.
6969
6970         * redisplay-msw.c (mswindows_frame_output_end):
6971         (mswindows_frame_output_end): make defer window pos optional.
6972
6973         * lisp.h: add Flast.
6974
6975         * glyphs.h (struct image_instantiator_methods): add dest_mask top
6976         normalize method. Change update method to be for changed
6977         instantiators. Add redisplay method. Change signature of layout
6978         method.
6979         (struct Lisp_Image_Instance): add instantiator.
6980         (IMAGE_INSTANCE_INSTANTIATOR): new.
6981         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
6982         (XIMAGE_INSTANCE_INSTANTIATOR): new.
6983         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
6984
6985         * glyphs.c:
6986         (find_instantiator_differences): new function.
6987         (Fset_instantiator_property): new convenience function.
6988         (check_image_instance_structure): strictly check for vector
6989         instantiators.
6990         (normalize_image_instantiator): make non-static.
6991         (instantiate_image_instantiator): pass on dest_mask and use new
6992         signatures for image_instance_layout and friends.
6993         (mark_image_instance): mark the instantiator. Mark the subwindow
6994         face not the widget face.
6995         (image_instance_equal): add instantiator.
6996         (image_instance_hash): ditto.
6997         (allocate_image_instance): ditto.
6998         (Fset_image_instance_property): removed.
6999         (Fimage_instance_file_name): ditto.
7000         (Fcolorize_image_instance): ditto.
7001         (image_instance_layout): add offsets to be set.
7002         (update_image_instance): new function. update an image instance
7003         from its changed instantiator.
7004         (inherit_normalize): add dest_mask.
7005         (xbm_normalize): ditto.
7006         (xface_normalize): ditto.
7007         (xpm_normalize): ditto.
7008         (text_update): set_property -> update.
7009         (image_instantiate): use the glyph identity as a hash key, not the
7010         instantiator.
7011         (glyph_width): use new image_instance_layout signature.
7012         (glyph_ascent): ditto.
7013         (glyph_descent): ditto.
7014         (glyph_height): ditto.
7015         (glyph_query_geometry): ressurrect.
7016         (glyph_layout): ditto.
7017         (redisplay_subwindow): update -> redisplay.
7018         (syms_of_glyphs): add Fset_instantiator_property.
7019         (image_instantiator_format_create): set_property -> update.
7020
7021         * glyphs-x.c:
7022         (autodetect_normalize): add dest_maks to signature.
7023         (x_redisplay_subwindow): update -> redisplay.
7024         (x_redisplay_widget): ditto.
7025         (x_button_redisplay): ditto.
7026         (x_progress_gauge_redisplay): ditto.
7027         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
7028         stacking order.
7029         (console_type_create_glyphs_x): update -> redisplay.
7030         (image_instantiator_format_create_glyphs_x): ditto.
7031
7032         * glyphs-widget.c:
7033         (check_valid_instantiator): disallow glyphs in the instantiator,
7034         they must now be vectors.
7035         (check_valid_instantiator_list): ditto.
7036         (glyph_instantiator_to_glyph): use internal symbol rather than
7037         intern.
7038         (widget_update): renamed from widget_set_property. Call cascaded
7039         update methods.
7040         (redisplay_widget): renamed from update_widget.
7041         (widget_layout): image_instance_layout now takes position as well
7042         as size.
7043         (widget_normalize): ditto.
7044         (widget_instantiate): ditto.
7045         (tab_control_query_geometry) ditto.:
7046         (tab_control_update): renamed from tab_control_set_property.
7047         (progress_gauge_update): set_property -> update.
7048         (layout_normalize): rewrite so that child instantiators are
7049         normalized also.
7050         (layout_update): new function. Create glyphs from the normalized
7051         children and cope with any other layout keywords. We do not
7052         instantiate children here that will be take care of by
7053         redisplay_output_layout.
7054         (layout_instantiate): call layout_update and not much else.
7055         (layout_post_instantiate): not sure whether this is needed
7056         anymore.
7057         (layout_query_geometry): query glyph geometry rather than
7058         image_instance geometry.
7059         (layout_layout): set offsets from pass in parameters. Use glyph
7060         geometry and layout functions rather than image instance ones.
7061         (native_layout_layout): ditto.
7062         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
7063         (image_instantiator_widget): set_property -> update.
7064         (image_instantiator_buttons): ditto.
7065         (image_instantiator_progress_guage): ditto.
7066         (image_instantiator_tab_control): ditto.
7067         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
7068         (image_instantiator_layout): add update method.
7069
7070         * glyphs-msw.c (bmp_normalize):
7071         (mswindows_resource_normalize): add dest_mask so that it can be
7072         proprogated by layout_normalize.
7073         (begin_defer_window_pos): make optional because it may not be the
7074         right thing to do and it introduces differences with X.
7075         (mswindows_unmap_subwindow): ditto.
7076         (mswindows_map_subwindow): ditto.
7077         (mswindows_redisplay_subwindow): renamed from
7078         mswindows_update_subwindow.
7079         (mswindows_redisplay_widget): ditto.
7080         (mswindows_button_redisplay): renamed from
7081         mswindows_button_update. Update is now what the instantiation
7082         function does for a changed instantiator.
7083         (mswindows_progress_gauge_instantiate): set the progress value
7084         here if appropriate.
7085         (mswindows_tab_control_redisplay): cope with re-ordering of the
7086         members of the tab widget by simply selecting the new top
7087         widget. This makes things appear ok if you click on a tab.
7088         (mswindows_combo_box_instantiate): image_instance_layout now takes
7089         position as well as size.
7090         (mswindows_progress_gauge_redisplay): renamed from
7091         mswindows_progress_gauge_update.
7092         (console_type_create_glyphs_mswindows): fix update -> redisplay.
7093         (image_instantiator_format_create_glyphs_mswindows): ditto.
7094
7095         * glyphs-eimage.c (jpeg_normalize):
7096         (gif_normalize):
7097         (png_normalize):
7098         (tiff_normalize): add dest_mask so that it can be proprogated by
7099         layout_normalize.
7100
7101         * elhash.c:
7102         (print_hash_table):
7103         (hash_table_weakness_validate):
7104         (decode_hash_table_weakness):
7105         (Fhash_table_weakness):
7106         (Fhash_table_type):
7107         (syms_of_elhash): use Ben's naming scheme for hashtable types..
7108
7109         * console.h (struct console_methods): move update_* to
7110         redisplay_*.
7111
7112 2000-07-20  Ben Wing  <ben@xemacs.org>
7113
7114         * *.[ch] (XSETOBJ): remove unused middle argument.
7115         lisp-disunion.h: correct wrap_object() to one argument.
7116
7117 2000-07-15  Ben Wing  <ben@xemacs.org>
7118
7119         * s/cygwin32.h:
7120         * s/cygwin32.h (CYGWIN_CONV_PATH):
7121         Add missing logb prototype for v1.1.
7122         Use post-b20 names and alias to pre-b20 names when pre-b20.
7123
7124         * s/windowsnt.h: [5].
7125
7126 2000-07-15  Ben Wing  <ben@xemacs.org>
7127
7128         * Makefile.in.in (x_objs):
7129         * Makefile.in.in (sheap_objs):
7130         * Makefile.in.in (objs):
7131         added win32.o, cosmetic cleanups.
7132
7133         * alloc.c (Fmake_byte_code):
7134         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
7135         etc. macros which declare their own args now.
7136
7137         * alloc.c (syms_of_alloc):
7138         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
7139
7140         * buffer.c:
7141         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
7142
7143         * buffer.c (Fget_file_buffer):
7144         Fixed GCPRO problem.
7145
7146         * buffer.c (get_truename_buffer):
7147         Fixed comment about GC checking.
7148
7149         * buffer.c (syms_of_buffer):
7150         Undeclared those dedicated frame funs.
7151         [2].
7152
7153         * buffer.h:
7154         Define convenience macros for internal/external conversions.
7155         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
7156         and Qenvironment_variable_encoding for cleaner code.
7157
7158         * bufslots.h:
7159         Remove dedicated-frame; in lisp.
7160
7161         * bytecode.c (funcall_compiled_function):
7162         [1].
7163
7164         * bytecode.c (syms_of_bytecode):
7165         [2].
7166
7167         * console-msw.c:
7168         * console-msw.c (mswindows_show_console): Rewrote.
7169
7170         * console-msw.c (Fmswindows_debugging_output): New.
7171         Sends to OutputDebugString (special MSWin debugger interface).
7172
7173         * console-msw.c (Fmswindows_message_box):
7174         Fixed stupid bugs so it works when called from kill-emacs.
7175
7176         * console-msw.c (syms_of_console_mswindows):
7177         Declare Fmswindows_debugging_output.
7178
7179         * console-msw.h:
7180         New MSWin prototypes.
7181
7182         * console-msw.h (struct mswindows_frame):
7183         New entry last-click-mods for improved button-modifier support.
7184
7185         * console-msw.h (FRAME_MSWINDOWS_POPUP):
7186         New struct entry `popup' with corresponding accessor.
7187
7188         * console-x.c:
7189         * console-x.c (split_up_display_spec):
7190         * console-x.c (get_display_arg_connection):
7191         * console-x.c (x_semi_canonicalize_console_connection):
7192         * console-x.c (x_canonicalize_device_connection):
7193         [[[6]]]: Change char to more specific type.
7194         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
7195
7196         * console-x.c (x_semi_canonicalize_console_connection):
7197         * console-x.c (x_canonicalize_device_connection):
7198         [[[9]]]: Fix up error signalling to use new structured error system.
7199
7200         * console-x.h:
7201         [[[4]]]: Define codesys aliases:
7202         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
7203         Qx_color_name_encoding, Qx_display_name_encoding.
7204
7205         * console.h (struct console_methods):
7206         New method make_dialog_box_internal supersedes older
7207         popup_dialog_box method.
7208
7209         * data.c:
7210         Define many new errors, part of new structured errors.
7211
7212         * data.c (init_errors_once_early):
7213         * data.c (syms_of_data):
7214         [2].
7215
7216         * device-msw.c (mswindows_init_device):
7217         [[[5]]]: Cleanup to support NT 3.51.
7218
7219         * device-msw.c (decode_devmode): Cleanup.
7220
7221         * device-msw.c (mswindows_handle_print_setup_dialog_box):
7222         * device-msw.c (mswindows_handle_print_dialog_box):
7223         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7224         * device-msw.c (syms_of_device_mswindows):
7225         Delete the dialog box primitives recently introduced by Kirill and
7226         instead interface to general dialog box interface.
7227
7228         * device-x.c:
7229         * device-x.c (compute_x_app_name):
7230         * device-x.c (x_init_device):
7231         * device-x.c (Fx_valid_keysym_name_p):
7232         * device-x.c (Fx_set_font_path):
7233         [6].
7234         [7].
7235
7236         * device.h (wrap_device): New.
7237         First of its kind; meant to replace XSETDEVICE.
7238
7239         * dialog-msw.c: Many file-dialog symbols.
7240
7241         * dialog-msw.c (mswindows_register_popup_frame): New.
7242         * dialog-msw.c (mswindows_is_dialog_msg): New.
7243         For supporting kbd traversal in dialog boxes.
7244
7245         * dialog-msw.c (dialog_proc):
7246         Support hitting ESC in dialogs.
7247
7248         * dialog-msw.c (struct):
7249         Common dialog box errors.
7250
7251         * dialog-msw.c (handle_file_dialog_box): New.
7252         Add file dialog code.
7253
7254         * dialog-msw.c (handle_question_dialog_box):
7255         Redo existing code to support new question dialog syntax.
7256
7257         * dialog-msw.c (console_type_create_dialog_mswindows):
7258         We support new dialog console method.
7259
7260         * dialog-msw.c (syms_of_dialog_mswindows):
7261         * dialog-msw.c (vars_of_dialog_mswindows):
7262         New file dialog symbols, vars.
7263
7264         * dialog-x.c:
7265         * dialog-x.c (maybe_run_dbox_text_callback):
7266         * dialog-x.c (dbox_descriptor_to_widget_value):
7267         * dialog-x.c (x_make_dialog_box_internal):
7268         * dialog-x.c (console_type_create_dialog_x):
7269         Mule-ize entire file.
7270         Redo to support question dialog syntax.
7271         [6].
7272
7273         * dialog.c:
7274         * dialog.c (Fmake_dialog_box_internal):
7275         * dialog.c (syms_of_dialog):
7276         Kill old popup-dialog-box, replace with new primitive.
7277         Just call device method or signal error.
7278
7279         * eldap.c (Fldap_open):
7280         * eldap.c (Fldap_search_basic):
7281         * eldap.c (Fldap_add):
7282         * eldap.c (Fldap_modify):
7283         [1].
7284         [7].
7285
7286         * emacs.c:
7287         * emacs.c (make_arg_list_1):
7288         * emacs.c (make_arg_list):
7289         Mule-ize call to dll_init().
7290         [6].
7291         [8].
7292
7293         * emacs.c (make_argc_argv):
7294         * emacs.c (free_argc_argv):
7295         * emacs.c (init_cmdargs):
7296         * emacs.c (main_1):
7297         * emacs.c (Fkill_emacs):
7298         * emacs.c (Fdump_emacs):
7299         Update comments about what can be used in syms_* etc.
7300         Call init_win32() when necessary.
7301         Fix up MS Win dialog box in kill-buffer to actually work right.
7302         [7].
7303
7304         * eval.c:
7305         * eval.c (For):
7306         * eval.c (Fand):
7307         * eval.c (Fprogn):
7308         * eval.c (Fprog1):
7309         * eval.c (Fprog2):
7310         * eval.c (FletX):
7311         * eval.c (Flet):
7312         * eval.c (condition_case_3):
7313         * eval.c (Feval):
7314         * eval.c (function_argcount):
7315         * eval.c (funcall_lambda):
7316         [1].
7317
7318         * eval.c (type_error): New.
7319         * eval.c (maybe_type_error): New.
7320         * eval.c (continuable_type_error): New.
7321         * eval.c (maybe_continuable_type_error): New.
7322         * eval.c (type_error_with_frob): New.
7323         * eval.c (maybe_type_error_with_frob): New.
7324         * eval.c (continuable_type_error_with_frob): New.
7325         * eval.c (maybe_continuable_type_error_with_frob): New.
7326         New functions for use with structured errors.
7327
7328         * event-Xt.c:
7329         * event-Xt.c (x_event_to_emacs_event):
7330         Buttons are now modifiers too.
7331
7332         * event-Xt.c (emacs_Xt_current_event_timestamp):
7333         Implement new event method.
7334         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
7335
7336         * event-msw.c:
7337         * event-msw.c (ntpipe_shove_writer): [5].
7338         * event-msw.c (mswindows_enqueue_mouse_button_event):
7339         * event-msw.c (mswindows_drain_windows_queue):
7340         * event-msw.c (mswindows_wnd_proc): [7].
7341         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
7342         * event-msw.c (mswindows_modifier_state):
7343         Throughout: support new button modifiers.
7344
7345         * event-msw.c (emacs_mswindows_current_event_timestamp):
7346         Implement new event method.
7347         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
7348
7349         * event-stream.c:
7350         * event-stream.c (event_stream_current_event_timestamp): New.
7351         * event-stream.c (maybe_kbd_translate): New functionality.
7352         * event-stream.c (vars_of_event_stream):
7353         Document new kbd-translate-table functionality.
7354
7355         * event-stream.c (Fcurrent_event_timestamp): New.
7356         New primitive for use in fabricated events.
7357         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
7358
7359         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
7360
7361         * events.c:
7362         * events.c (Fmake_event):
7363         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
7364         [1].
7365         [9].
7366
7367         * events.c (format_event_object): fix gcc warnings.
7368
7369         * events.c (Fevent_timestamp): Document new primitives.
7370
7371         * events.c (TIMESTAMP_HALFSPACE): New.
7372
7373         * events.c (Fevent_timestamp_lessp): New.  New primitive for
7374         comparing timestamps correctly (half-space algorithm).
7375
7376         * events.c (Fevent_modifier_bits): Doc fix.
7377
7378         * events.c (Fevent_modifiers): Major doc addition.
7379         * events.c (event_x_y_pixel_internal): Typo fix.
7380         * events.c (syms_of_events): Declare new primitives.
7381
7382         * events.h:
7383         Update long comment for button modifiers, timestamps.
7384
7385         * events.h (struct event_stream):
7386         New current_event_timestamp method.
7387
7388         * extents.c:
7389         * extents.c (extent_in_region_p):
7390         * extents.c (decode_extent):
7391         * extents.c (Fset_extent_parent):
7392         * extents.c (decode_map_extents_flags):
7393         Fix gcc warnings.
7394         [9].
7395
7396         * extents.c (struct extent_at_arg):
7397         * extents.c (decode_extent_at_flag):
7398         * extents.c (extent_at_mapper):
7399         * extents.c (extent_at_bytind):
7400         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
7401         * extents.c (Fextents_at): New primitive. [9].
7402         * extents.c (symbol_to_glyph_layout): [9].
7403         Support new primitive `extents-at'.
7404
7405
7406         * extents.c (get_text_property_bytind):
7407         extent_at_bytind has another arg.
7408         [9].
7409
7410         * extents.c (syms_of_extents): New primitive.
7411
7412         * file-coding.c (Fmake_coding_system): [1].
7413         * file-coding.c (subsidiary_coding_system): fix gcc warning
7414         * file-coding.c (syms_of_file_coding): [2].
7415
7416         * fileio.c (Fexpand_file_name):
7417         * fileio.c (Fsysnetunam):
7418         * fileio.c (Ffile_exists_p):
7419         * fileio.c (Ffile_executable_p):
7420         * fileio.c (Fverify_visited_file_modtime):
7421         Clean up GCPROing.
7422
7423         * fileio.c (syms_of_fileio): [2].
7424
7425         * filelock.c (lock_file_1):
7426         * filelock.c (current_lock_owner):
7427         * filelock.c (lock_if_free):
7428         * filelock.c (lock_file):
7429         * filelock.c (unlock_file):
7430         Clean up GCPROing.
7431
7432         * fns.c (concat): Fix gcc warning.
7433
7434         * fns.c (Fmember):
7435         * fns.c (Fold_member):
7436         * fns.c (Fmemq):
7437         * fns.c (Fold_memq):
7438         * fns.c (memq_no_quit):
7439         * fns.c (Fassoc):
7440         * fns.c (Fold_assoc):
7441         * fns.c (Fassq):
7442         * fns.c (Fold_assq):
7443         * fns.c (assq_no_quit):
7444         * fns.c (Frassoc):
7445         * fns.c (Fold_rassoc):
7446         * fns.c (Frassq):
7447         * fns.c (Fold_rassq):
7448         * fns.c (rassq_no_quit):
7449         * fns.c (Fdelete):
7450         * fns.c (Fold_delete):
7451         * fns.c (Fdelq):
7452         * fns.c (Fold_delq):
7453         * fns.c (delq_no_quit):
7454         * fns.c (Fremassoc):
7455         * fns.c (Fremassq):
7456         * fns.c (remassq_no_quit):
7457         * fns.c (Fremrassoc):
7458         * fns.c (Fremrassq):
7459         * fns.c (remrassq_no_quit):
7460         * fns.c (Freverse):
7461         * fns.c (mapcar1):
7462         [1].
7463
7464         * frame-msw.c (mswindows_init_frame_1):
7465         * frame-msw.c (mswindows_delete_frame):
7466         Register popups with dialog code so keyboard traversing works.
7467
7468         * frame-tty.c (tty_raise_frame_no_select): [1].
7469
7470         * frame-x.c:
7471         * frame-x.c (x_set_frame_text_value):
7472         * frame-x.c (x_set_frame_properties):
7473         * frame-x.c (x_create_widgets):
7474         [7].
7475
7476         * frame.c:
7477         * frame.c (Fmouse_pixel_position): Minor doc fixes.
7478
7479         * frame.h (wrap_frame): New.
7480         Macro like wrap_device.
7481
7482         * general.c:
7483         * general.c (SYMBOL):
7484         * general.c (syms_of_general):
7485         Major reorg.  This is now just a wrapper and symbols themselves
7486         are listed in general-slots.h.
7487
7488         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
7489         * glyphs-msw.c (mswindows_resource_instantiate): [5].
7490
7491         * glyphs-msw.c (mswindows_native_layout_instantiate):
7492         Add DS_CONTROL so keyboard traversal will work.
7493
7494         * glyphs-widget.c:
7495         * glyphs-widget.c (syms_of_glyphs_widget):
7496         Move some symbols to general-slots.h.
7497
7498         * glyphs-x.c:
7499         * glyphs-x.c (xbm_instantiate_1):
7500         * glyphs-x.c (x_xbm_instantiate):
7501         * glyphs-x.c (x_xface_instantiate):
7502         * glyphs-x.c (autodetect_instantiate):
7503         * glyphs-x.c (cursor_font_instantiate):
7504         * glyphs-x.c (x_update_widget):
7505         * glyphs-x.c (x_widget_instantiate):
7506         * glyphs.c (bitmap_to_lisp_data):
7507         * glyphs.c (pixmap_to_lisp_data):
7508         [7].
7509
7510         * glyphs.c (syms_of_glyphs):
7511         [2].
7512
7513         * gui-x.c:
7514         * gui-x.c (print_widget_value):
7515         * gui-x.c (menu_separator_style_and_to_external):
7516         * gui-x.c (add_accel_and_to_external):
7517         * gui-x.c (button_item_to_widget_value):
7518         * gui-x.c (gui_items_to_widget_values_1):
7519         * gui-x.c (gui_items_to_widget_values):
7520         * gui-x.c (syms_of_gui_x):
7521         * gui-x.c (vars_of_gui_x):
7522         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
7523         [9].
7524
7525         * gui-x.h:
7526         Muleize, prototype changes matching gui-x.c.
7527
7528         * gui.c:
7529         * gui.c (separator_string_p):
7530         * gui.c (gui_item_add_keyval_pair):
7531         * gui.c (make_gui_item_from_keywords_internal):
7532         * gui.c (signal_too_long_error):
7533         * gui.c (parse_gui_item_tree_item):
7534         * gui.c (syms_of_gui):
7535         * gui.c (vars_of_gui):
7536         * gui.h:
7537         menu-no-selection-hook moved here (used by MSWin).
7538         Move some symbols to general-slots.h.
7539         [6].
7540         [9].
7541
7542         * insdel.c (get_buffer_pos_char):
7543         * insdel.c (get_buffer_range_char):
7544         Add GC comments.
7545
7546         * keymap.c (keymap_lookup_directly):
7547         * keymap.c (keymap_store):
7548         * keymap.c (ensure_meta_prefix_char_keymapp):
7549         * keymap.c (describe_map):
7550         * keymap.h:
7551         Support new button modifiers.
7552
7553         * lisp-disunion.h (wrap_object):
7554         * lisp-disunion.h (XSETOBJ):
7555         Rename make_obj to wrap_object.
7556
7557         * lisp-union.h:
7558         * lisp-union.h (make_int):
7559         * lisp-union.h (make_char):
7560         Support wrap_object.
7561
7562         * lisp.h:
7563         * lisp.h (LIST_LOOP):
7564         * lisp.h (EXTERNAL_LIST_LOOP):
7565         * lisp.h (LIST_LOOP_2):
7566         * lisp.h (EXTERNAL_LIST_LOOP_1):
7567         * lisp.h (EXTERNAL_LIST_LOOP_2):
7568         * lisp.h (EXTERNAL_LIST_LOOP_3):
7569         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
7570         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
7571         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
7572         * lisp.h (EXTERNAL_ALIST_LOOP_5):
7573         * lisp.h (EXTERNAL_ALIST_LOOP_6):
7574         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
7575         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
7576         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
7577         * lisp.h (struct Lisp_Symbol):
7578         * lisp.h (maybe_continuable_error_with_frob):
7579         Fix up section comments.
7580         Add new types for char to indicate usage.
7581         Delete symbols auto-generated from general-slots.h.
7582         Add prototypes for structured error functions.
7583         Add long comments describing looping macros and change interface
7584         so that lvalues are automatically declared.
7585         Add NO_DECLARE macro in case callers want to declare lvalues
7586         themselves.
7587
7588         * lread.c (read_syntax_error):
7589         * lread.c (continuable_read_syntax_error):
7590         * lread.c (read_structure):
7591         * lread.c (sequence_reader):
7592         * lread.c (read_list_conser):
7593         * lread.c (read_compiled_function):
7594         Rename syntax_error and continuable_syntax_error to avoid clash
7595         with same-named structured error functions.
7596
7597         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7598         * menubar-msw.c (populate_menu_add_item):
7599         * menubar-msw.c (populate_or_checksum_helper):
7600         [5].
7601         [9].
7602
7603         * menubar-x.c:
7604         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
7605         Mule-ize whole file.
7606
7607         * menubar.c (Fnormalize_menu_item_name): Add optimization.
7608
7609         * mule-charset.c (Fmake_charset):
7610         * mule-wnnfns.c (Fwnn_set_param):
7611         [1].
7612
7613         * ntproc.c (create_child):
7614         * ntproc.c (Fwin32_set_current_locale):
7615         Add comments portending doom.
7616
7617         * objects-msw.c:
7618         * objects-msw.c (old_font_enum_callback_2):
7619         * objects-msw.c (font_enum_callback_1):
7620         * objects-msw.c (mswindows_enumerate_fonts):
7621         [5].
7622
7623         * objects-x.c:
7624         * objects-x.c (allocate_nearest_color):
7625         * objects-x.c (x_parse_nearest_color):
7626         * objects-x.c (x_initialize_color_instance):
7627         * objects-x.c (x_print_color_instance):
7628         * objects-x.c (x_finalize_color_instance):
7629         * objects-x.c (x_valid_color_name_p):
7630         * objects-x.c (x_initialize_font_instance):
7631         * objects-x.c (x_print_font_instance):
7632         * objects-x.c (valid_x_font_name_p):
7633         * objects-x.c (truename_via_FONT_prop):
7634         * objects-x.c (truename_via_random_props):
7635         * objects-x.c (truename_via_XListFonts):
7636         * objects-x.c (x_font_truename):
7637         * objects-x.c (x_font_instance_truename):
7638         * objects-x.c (x_font_instance_properties):
7639         * objects-x.c (x_list_fonts):
7640         * objects-x.c (x_find_charset_font):
7641         Mule-ize entire file.
7642         [7].
7643
7644         * objects-x.h:
7645         Mule-verify.
7646
7647         * print.c:
7648         * print.c (std_handle_out_external):
7649         * print.c (debug_print_no_newline):
7650         * print.c (syms_of_print):
7651         Output to all debugger kinds in debug-print.
7652         Fix console-output code under MSWin to actually work.
7653
7654         * process-nt.c (send_signal):
7655         * process-nt.c (nt_create_process):
7656         Use newer Unicode macros.
7657
7658         * process-unix.c (unix_create_process):
7659         * process-unix.c (unix_canonicalize_host_name):
7660         * process-unix.c (unix_open_network_stream):
7661         [7].
7662
7663         * scrollbar-x.c:
7664         Mule-verify.
7665
7666         * search.c (syms_of_search):
7667         [2].
7668
7669         * select-msw.c (mswindows_destroy_selection):
7670         Use LIST_LOOP_2.
7671
7672         * select-x.c (symbol_to_x_atom):
7673         [7].
7674
7675         * select.c (syms_of_select):
7676         [2].
7677
7678         * sound.c (Fplay_sound_file):
7679         [7].
7680
7681         * specifier.c:
7682         * specifier.c (decode_specifier_type):
7683         * specifier.c (Fvalid_specifier_locale_type_p):
7684         * specifier.c (check_valid_locale_or_locale_type):
7685         * specifier.c (decode_locale):
7686         * specifier.c (decode_locale_type):
7687         * specifier.c (decode_locale_list):
7688         * specifier.c (check_valid_domain):
7689         * specifier.c (decode_specifier_tag_set):
7690         * specifier.c (Fcanonicalize_tag_set):
7691         * specifier.c (Fdefine_specifier_tag):
7692         * specifier.c (Fspecifier_tag_predicate):
7693         * specifier.c (check_valid_inst_list):
7694         * specifier.c (check_valid_spec_list):
7695         * specifier.c (decode_how_to_add_specification):
7696         * specifier.c (check_modifiable_specifier):
7697         * specifier.c (specifier_add_spec):
7698         * specifier.c (boolean_validate):
7699         * specifier.c (display_table_validate):
7700         [9].
7701
7702         * specifier.c (syms_of_specifier):
7703         Move some symbols to general-slots.h.
7704         [2].
7705
7706         * symbols.c:
7707         * symbols.c (Fmapatoms):
7708         * symbols.c (Fapropos_internal):
7709         Add GCPROs.
7710
7711         * symbols.c (set_default_buffer_slot_variable):
7712         * symbols.c (set_default_console_slot_variable):
7713         [1].
7714
7715         * symbols.c (defsymbol_massage_name_1):
7716         * symbols.c (defkeyword_massage_name):
7717         * symbols.c (deferror_1):
7718         * symbols.c (deferror):
7719         * symbols.c (deferror_massage_name_and_message):
7720         * symeval.h:
7721         * symeval.h (DEFSYMBOL):
7722         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
7723
7724         * symbols.c (syms_of_symbols):
7725         [2].
7726
7727         * symsinit.h:
7728         * symsinit.h (init_win32): New.
7729         Also new is syms_of_dialog_mswindows.
7730
7731         * syswindows.h:
7732         Add new Unicode macros, missing Cygwin wide-char functions,
7733         convenience conversion macros for Qmswindows_tstr, macros for
7734         encapsulating required MSWin <-> Cygwin filename conversions,
7735         prototype for dynamically-extracted (not in NT 3.51) functions.
7736
7737         * toolbar-x.c:
7738         Mule-verify.
7739
7740         * tooltalk.c (Fadd_tooltalk_message_arg):
7741         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
7742         * tooltalk.c (Fadd_tooltalk_pattern_arg):
7743         [7].
7744
7745         * tooltalk.c (syms_of_tooltalk):
7746         [2].
7747
7748         * unexnt.c:
7749         * unexnt.c (unexec):
7750         Fix up headers, declaration of unexec() to be more standard.
7751
7752 2000-07-20  Martin Buchholz  <martin@xemacs.org>
7753
7754         * offix.h: Revert change to guard macros - they're used in offix.c!
7755
7756 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7757
7758         * lisp.h: Defsubred Fdelete.
7759
7760         * console-msw.h:  (msprinter_default_printer): Added.
7761
7762         * console-msw.c (msprinter_canonicalize_console_connection):
7763         (msprinter_canonicalize_device_connection): Added.
7764
7765         * device-msw.c (msprinter_default_printer):
7766         (Fmswingows_get_default_printer):
7767         (signal_enum_priner_error):
7768         (Fmswingows_printer_list): Added.
7769
7770 2000-07-19  Martin Buchholz <martin@xemacs.org>
7771
7772         * XEmacs 21.2.35 is released.
7773
7774 2000-07-19  Martin Buchholz  <martin@xemacs.org>
7775
7776         * select-x.c (x_handle_selection_request):
7777         Text selected in xemacs and pasted into xterm failed to appear.
7778         Spelling fixes and cosmetic changes.
7779
7780 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7781
7782         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
7783         XEmacs frame (fix for doubling chars in dialog boxes).
7784
7785 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7786
7787         * select.c (select_convert_in, select_convert_out):
7788         Don't call intern() every time.
7789
7790         * select.c (Qselect_convert_in, Qselect_convert_out): New.
7791         * select.c (vars_of_select): Initialise them.
7792
7793 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7794
7795         * select.c (selection-coercible-types): New.
7796
7797         * select.c (own-selection-internal):
7798         * select.c (get-selection-internal):
7799         MULE bug fix - these should default to COMPOUND_TEXT and not
7800         STRING for MULE. I think.
7801
7802         * select.c (select_convert_out): Use selection-coercible-types
7803         to find types that we can attempt to perform coercions on.
7804
7805 2000-07-18  Martin Buchholz  <martin@xemacs.org>
7806
7807         * mule-wnnfns.c:
7808         * mule-canna.c:
7809         Add coding: cookie to identify encoding.
7810
7811         * mule-canna.c (CANNA_mode_keys): make static.
7812         Use proper prototypes, even for functions of no arguments.
7813         Remove external prototype for Fding().
7814
7815         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
7816
7817         * select.c (syms_of_select): Add missing DEFSUBR.
7818
7819 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7820
7821         * select.c (get_selection_internal, own_selection_internal):
7822         Make the type default to STRING, rather than placing a nil type
7823         into Vselection_alist.
7824
7825 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7826
7827         * gpmevent.c (tty_selection_exists_p):
7828         * gpmevent.c (tty_own_selection):
7829         Updated parameter lists.
7830
7831 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
7832
7833         * select.h (selection-alist): Removed declaration.
7834
7835         * select.h (get_local_selection):
7836         * select.c (get_local_selection):
7837         Made static.
7838
7839         * select.h (convert_selection): Removed declaration.
7840         * select.c (convert_selection): Removed.
7841         This function belongs in Lisp.
7842
7843         * select.h (select_convert_in): Declare.
7844         * select.h (select_convert_out): Declare.
7845         * select.c (select_convert_in): New.
7846         * select.c (select_convert_out): New.
7847         New conversion functions for other files to call.
7848
7849         * select.h (select_notify_buffer_kill): Declare.
7850         * select.c (select_notify_buffer_kill): New.
7851         New functions that get called from kill-buffer.
7852
7853         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
7854         X-specific lisp code.
7855
7856         * select.h: Declare some of the lisp-visible functions for
7857         external use.
7858
7859         * select.c (clean_local_selection_data): Removed. This was
7860         a disgusting function, and previously should have been in
7861         select-x.c in any case. The functionality is now provided
7862         in select-convert-from-integer (select.el).
7863
7864         * select.c (available-selection-types): Fixed stupidity where
7865         INTEGER and ATOM got added twice. Also add STRING when we see an
7866         extent.
7867
7868         * select.c (get-selection-internal): Removed symbol stripping. No
7869         longer causes conversion when data comes from the internal cache.
7870
7871         * select.c (syms_of_select): Added new functions.
7872
7873         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
7874         error checking - previously this called abort!
7875
7876         * select-x.c (x_own_selection): Changed comment.
7877
7878         * select-x.c (x_handle_selection_request): Use select_convert_out.
7879         Don't mess with selection-alist; it's an internal variable of select.c.
7880
7881         * select-x.c (x_get_foreign_selection): Use select_convert_in.
7882
7883         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
7884         rather than messing with selection-alist.
7885
7886         * select-msw.c (mswindows_get_foreign_selection):
7887         Use TO_INTERNAL_FORMAT rather than hacking.
7888
7889 2000-07-14  Martin Buchholz  <martin@xemacs.org>
7890
7891         * process-unix.c (unix_open_multicast_group):
7892         (unix_open_multicast_group): Remove useless casts.
7893
7894 2000-07-13  Martin Buchholz  <martin@xemacs.org>
7895
7896         * sound.c (Fplay_sound): Fix `unused variable' warning.
7897
7898         * emacs.c (main): Use correct type for _environ on SCO5.
7899
7900 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
7901
7902         * console.h (own_selection_method):
7903         * console.h (selection_exists_p_method):
7904         * console.h (available_selection_types_method): New.
7905         * console.h (register_selection_data_type_method): New.
7906         * console.h (selection_data_type_name): New.
7907
7908         * console-msw.h (mswindows_destroy_selection): Declare it.  New
7909         function & alist to track GlobalAlloc()'d handles that need
7910         releasing when the clipboard data gets replaced or emptied.
7911
7912         * event-msw.c (mswindows_wnd_proc): Call it.
7913
7914         * lisp.h, general.c (Qappend): New symbol representing a
7915         `how-to-add' mode.
7916
7917         * select.c (own-selection-internal):
7918         * select.c (selection-exists-p):
7919         * select.c (available-selection-types): New.
7920         * select.c (register-selection-data-type): New.
7921         * select.c (selection-data-type-name): New.  New functions to deal
7922         with device-specific selection data formats.
7923         * select.c (selection-converter-out-alist): Renamed.
7924         * select.c (selection-converter-in-alist): New.
7925         * select.c (selection-appender-alist): New.  Added new alists.
7926         * select.c (syms_of_select, vars_of_select): Added new symbols &
7927         variables.
7928         * select.c (get_local_selection): Split.
7929         * select.c: Removed spurious type checking - selections may now be
7930         of any type, not just strings.
7931         * select.c (own-selection-internal):
7932
7933         * select.h, select.c (convert_selection): New. Created
7934         convert_selection() function based on get_local_selection().
7935         * select.h, select.c (QCF_*): New symbols representing mswindows
7936         clipboard formats.
7937         * select.h, select.c (Qreplace_all, Qreplace_existing): New
7938         symbols representing `how-to-add' modes.
7939
7940         * select-msw.c (x_sym_p): New.
7941         * select-msw.c (symbol_to_ms_cf): New.
7942         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
7943         symbols & clipboard formats. Can also handle string names.
7944         * select-msw.c (mswindows_own_selection):
7945         * select-msw.c (mswindows_selection_exists_p):
7946         Added `data-type' parameter. Use it.
7947         * select-msw.c (mswindows_available_selection_types): New.
7948         * select-msw.c (mswindows_register_selection_data_type): New.
7949         * select-msw.c (mswindows_selection_data_type_name): New.
7950         * select-msw.c (mswindows_own_selection):
7951         * select-msw.c (mswindows_get_foreign_selection):
7952         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
7953         * select-msw.c (console_create_select_mswindows): Added new methods.
7954         * select-msw.c (mswindows_destroy_selection): New.
7955         * select-msw.c (Vhandle_alist): New list.
7956         * select-msw.c (mswindows_own_selection):
7957
7958         * select-x.c (x_own_selection):
7959         * select-x.c (x_selection_exists_p):
7960         * select-x.c: Added some comments about maybe using new
7961         functionality.
7962         * select-x.c (x_own_selection):
7963
7964         * specifier.c: Remove definition of Qappend (now in general.c)
7965         * specifier.c (syms_of_specifier): Remove Qappend.
7966
7967 2000-07-12  Martin Buchholz  <martin@xemacs.org>
7968
7969         * config.h.in: Add socklen_t.
7970
7971         * s/decosf4-0.h: No special compiler flags needed or desired.
7972         In particular, undefine _BSD for DEC OSF 4.0.
7973
7974 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7975
7976         * redisplay-msw.c (msprinter_frame_output_end): Added.
7977         (console_type_create_redisplay_mswindows): Referred the above.
7978
7979         * frame.c (setup_frame_without_minibuffer): Do not create a
7980         default minibuffer frame on a printer device.
7981
7982         * frame-msw.c (apply_dc_geometry): Added.
7983         (msprinter_start_page):
7984         (msprinter_init_frame_3):
7985         (msprinter_eject_page): Use it.
7986
7987         * console-msw.h (struct msprinter_frame): Added pix_left and top,
7988         and removed residual duplex and orientation properties.
7989
7990 2000-07-11  Martin Buchholz  <martin@xemacs.org>
7991
7992         * eval.c (function_argcount): Work around a DEC CC compiler bug.
7993
7994         * unexalpha.c: Remove system prototypes from C sources!
7995
7996 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
7997
7998         * eval.c: Remove references to M-x edit-options in DEFUNs for
7999         `defvar' and `defconst'.
8000
8001 2000-07-09  Martin Buchholz  <martin@xemacs.org>
8002
8003         * config.h.in: Remove SMART_INCLUDE hackery.
8004
8005         PostgreSQL hacking:
8006         * config.h.in: Don't use SMART_INCLUDE.
8007
8008         * postgresql.h: Include libpq-fe.h here.  Fix typo.
8009         * inline.c: Simply #include "postgresql.h"
8010         * postgresql.c:
8011         - Don't use SMART_INCLUDE
8012         - Use simply "const".
8013         - Use standard doc string conventions.
8014         - Use correct type for result of PQstatus.
8015
8016 2000-07-09  Martin Buchholz  <martin@xemacs.org>
8017
8018         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
8019
8020         C++ compilation changes.
8021         * config.h.in (EXTERN_C): Define.
8022         * config.h.in (not): This is also a C++ keyword.
8023         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
8024         * cm.c: Use EXTERN_C.
8025         * redisplay-tty.c: Use EXTERN_C.
8026         * sysdep.c: Use EXTERN_C.  Remove Gould support.
8027
8028 2000-07-09  Martin Buchholz  <martin@xemacs.org>
8029
8030         * general.c: Remove duplicate definition for Qfunction.
8031
8032 2000-07-08  Ben Wing  <ben@xemacs.org>
8033
8034         * device-msw.c (msprinter_init_device):
8035         * device-msw.c (sync_printer_with_devmode):
8036         * device-msw.c (handle_devmode_changes):
8037         * device-msw.c (print_dialog_worker):
8038         * device-msw.c (Fmsprinter_apply_settings):
8039         * device-msw.c (hash_devmode):
8040         * device-msw.c (Fmsprinter_settings_despecialize):
8041         use Qmswindows_tstr, not Qctext.
8042
8043         * vm-limit.c (check_memory_limits):
8044         avoid infinite loop printing warning messages.
8045
8046 2000-07-05  Craig Lanning  <lanning@scra.org>
8047
8048         * Makefile.in.in: Add support for including the Windows resources
8049         when building with the cygwin and mingw targets.
8050
8051         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
8052         not set or not correct.
8053         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
8054         (init_initial_directory): Don't try to use $PWD on the
8055         WIN32_NATIVE target.
8056
8057         * s\cygwin32.h:
8058         [[Add -mwindows to eliminate console window.]] not required --ben
8059         (HAVE_NATIVE_SOUND): removed; now handled by configure.
8060         (MAIL_USE_POP): removed; now handled by configure.
8061
8062         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
8063         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
8064         (HAVE_NATIVE_SOUND): removed; now handled by configure.
8065         (MAIL_USE_POP): removed; now handled by configure.
8066         (ENCAPSULATE_STAT): from Dan Holmsand, added.
8067         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
8068         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
8069         constant string.
8070         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
8071         up from <winsock.h> via systime.h.
8072         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
8073         (getpagesize): from Dan Holmsand, added.
8074         Added #endif which was left dangling by Ben's mega patch; added
8075         comment to help prevent this in the future.
8076
8077         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
8078
8079 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8080
8081         * console-msw.h (struct mswindows_device): Removed unnecessary
8082         cached device geometry values.
8083         Added update_tick and an accessor macro.
8084         (Lisp_Devmode): Added lrecord declaration.
8085         (struct msprinter_device): Contain devmode as a Lisp object.
8086         Added mswindows_get_selected_frame_hwnd();
8087
8088         * console.h (struct console_methods): Indentation nitpicking.
8089
8090         * device-msw.c (mswindows_init_device): Do not initialize geometry
8091         cache. Initialize update tick.
8092         (mswindows_device_system_metrics): Ask the device for its geometry.
8093         (global_free_2_maybe):
8094         (devmode_to_hglobal):
8095         (handle_printer_changes):
8096         (ensure_not_printing):
8097         (print_dialog_worker):
8098         (Fmsprinter_print_setup_dialog):
8099         (Fmsprinter_print_dialog):
8100         (plist_get_margin):
8101         (plist_set_margin):
8102         (Fmsprinter_page_setup_dialog): Added functions.
8103         (sync_printer_with_devmode):
8104         (handle_devmode_changes):
8105         (Fmsprinter_get_settings):
8106         (Fmsprinter_select_settings):
8107         (Fmsprinter_apply_settings):
8108         (allocate_devmode):
8109         (Fmsprinter_settings_copy):
8110         (Fmsprinter_settings_despecialize):
8111         (print_devmode):
8112         (finalize_devmode):
8113         (equal_devmode):
8114         (hash_devmode): Added functions
8115         (syms_of_device_mswindows): Init devmode lrecord class.
8116
8117         * device.h: Added an exfun for find-device.
8118
8119         * event-msw.c (mswindows_wnd_proc): Do not update the cached
8120         geometry; although, recreate the device compatible DC.
8121
8122         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
8123         (msprinter_init_frame_3):
8124         (msprinter_frame_property):
8125         (msprinter_internal_frame_property_p):
8126         (msprinter_frame_properties):
8127         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
8128         print job properties (will move to device settings).
8129
8130         * lisp.h: Added symbols.
8131
8132         * general.c (syms_of_general): Declared them.
8133
8134         * hash.c (string_hash): Added.
8135
8136         * lrecord.h (lrecord_type): Added devmode lrecord type.
8137
8138 2000-07-02  Mike Sperber <mike@xemacs.org>
8139
8140         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
8141         FreeBSD 4.0.
8142
8143 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
8144
8145         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
8146         integer.
8147
8148 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
8149
8150         * data.c (Fstring_to_number): Don't recognize floating point if
8151         base is not 10.
8152
8153 2000-06-22  Martin Buchholz  <martin@xemacs.org>
8154
8155         * glyphs-widget.c (tab_control_query_geometry):
8156         (widget_query_geometry):
8157         (button_query_geometry):
8158         * glyphs.c (text_query_geometry):
8159         Enforce type correctness.
8160
8161 2000-06-18  Martin Buchholz  <martin@xemacs.org>
8162
8163         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
8164         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
8165
8166 2000-06-17  Martin Buchholz  <martin@xemacs.org>
8167
8168         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
8169         conflicts with gcc's fixincluded version of FOO.h.
8170
8171         * glyphs.h (image_instance_geometry): Remove trailing `,'
8172
8173 2000-06-08  Mike Alexander  <mta@arbortext.com>
8174
8175         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
8176         (shove_thread): Don't write the same output twice
8177         (make_ntpipe_output_stream): Increase priority of shove thread
8178         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
8179         chance to run
8180         (ntpipe_shove_closer): Don't delete the pipe until we're done with
8181         it.
8182
8183 2000-06-12  Ben Wing  <ben@xemacs.org>
8184
8185         * s\mingw32.h (sigset):
8186         * s\windowsnt.h (sigset):
8187         rename msw_ to mswindows_ for consistency with general convention.
8188
8189 2000-06-12  Ben Wing  <ben@xemacs.org>
8190
8191         * console-msw.c:
8192         * console-msw.c (mswindows_get_console_hwnd):
8193         * console-msw.c (mswindows_ensure_console_allocated):
8194         * console-msw.c (mswindows_hide_console):
8195         * console-msw.c (mswindows_show_console):
8196         * console-msw.c (mswindows_ensure_console_buffered):
8197         * console-msw.c (mswindows_output_console_string):
8198         * console-msw.c (mswindows_windows9x_p):
8199         * console-msw.h:
8200         * device-msw.c (mswindows_get_workspace_coords):
8201         * device-msw.c (mswindows_device_system_metrics):
8202         * dialog-msw.c (mswindows_popup_dialog_box):
8203         * event-msw.c (mswindows_wnd_proc):
8204         * frame-msw.c (mswindows_size_frame_internal):
8205         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8206         * menubar-msw.c (displayable_menu_item):
8207         * menubar-msw.c (mswindows_char_is_accelerator):
8208         * nt.c:
8209         * nt.c (mswindows_sigset):
8210         * nt.c (mswindows_sigrelse):
8211         * nt.c (mswindows_sigpause):
8212         * nt.c (mswindows_raise):
8213         * nt.c (timer_proc):
8214         * ntproc.c:
8215         * ntproc.c (find_child_console):
8216         * ntproc.c (sys_kill):
8217         * print.c:
8218         * print.c (std_handle_out_external):
8219         * process-nt.c (find_child_console):
8220         * process-nt.c (send_signal_the_95_way):
8221         * process-nt.c (ensure_console_window_exists):
8222         * process-nt.c (nt_create_process):
8223         * syssignal.h:
8224         rename msw_ to mswindows_ for consistency with general convention.
8225
8226         * emacs.c:
8227         * dumper.c:
8228         include nt.h, not syswindows.h.
8229
8230         * nt.c (mswindows_fstat):
8231         * nt.c (mswindows_stat):
8232         prefix mswindows_ instead of attempting to directly override the
8233         library functions.  fix declarations.
8234
8235         * nt.h:
8236         include syswindows.h.  move some sysdep.h stuff here.
8237
8238         * ntheap.h:
8239         include syswindows.h, not <windows.h>.
8240
8241         * ntplay.c:
8242         clean up headers.
8243
8244         * sysdep.c:
8245         clean up headers.
8246
8247         * sysdep.c (sys_fstat):
8248         * sysdep.c (sys_stat):
8249         call mswindows versions when appropriate.
8250
8251         * sysdep.h:
8252         move mswin decls to nt.h.
8253
8254         * syswindows.h:
8255         add long comment describing appropriate use of the various windows
8256         headers.
8257
8258 2000-06-11  Ben Wing  <ben@xemacs.org>
8259
8260         * device-x.c: Correct doc string for sixth arg of x-get-resource.
8261
8262 2000-06-10  Ben Wing  <ben@xemacs.org>
8263
8264         * Makefile.in.in (release):
8265         Correction to make sure xemacs.exe always dumped when correct.
8266
8267         * alloca.c:
8268         * balloon_help.c:
8269         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
8270
8271         * buffer.c (set_buffer_internal):
8272         [[[[2]]]]: Remove HAVE_FEP code.
8273
8274         * buffer.c (init_initial_directory):
8275         [3].
8276
8277         * bytecode.c:
8278         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
8279         individual files.
8280
8281         * callproc.c:
8282         * callproc.c (call_process_cleanup):
8283         * callproc.c (Fold_call_process_internal):
8284         * callproc.c (child_setup):
8285         * callproc.c (getenv_internal):
8286         * callproc.c (init_callproc):
8287         * callproc.c (vars_of_callproc):
8288         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
8289         __CYGWIN32__ -> CYGWIN.
8290         DOS_NT -> WIN32_NATIVE.
8291         Remove MSDOS support/references, converting to WIN32_NATIVE
8292           where correct.
8293         __MINGW32__ -> MINGW.
8294         Fix windows.h includes.
8295         Remove bogus HAVE_NTGUI.
8296
8297         * config.h.in:
8298         [2].
8299
8300         * console-msw.c:
8301         mswindows_message_outputted added for use in allowing startup
8302         errors on the console to be seen.
8303
8304         * console-msw.c (msw_ensure_console_allocated):
8305         * console-msw.c (msw_output_console_string):
8306         * console-msw.c (DHEADER):
8307         * console-msw.c (DOPAQUE_DATA):
8308         * console-msw.c (DEVENT):
8309         * console-msw.c (DCONS):
8310         * console-msw.c (DCONSCDR):
8311         * console-msw.c (DSTRING):
8312         * console-msw.c (DVECTOR):
8313         * console-msw.c (DSYMBOL):
8314         * console-msw.c (DSYMNAME):
8315         Fix warnings.
8316
8317         * console-stream.c (stream_init_console):
8318         Fix text/binary problems.
8319
8320         * device-msw.c:
8321         * device-msw.c (mswindows_finish_init_device):
8322         * device-msw.c (mswindows_delete_device):
8323         [1].
8324
8325         * device.c (handle_asynch_device_change):
8326         [3].
8327
8328         * dgif_lib.c:
8329         * dgif_lib.c (DGifOpenFileName):
8330         * dgif_lib.c (DGifOpenFileHandle):
8331         * dgif_lib.c (DGifGetLine):
8332         * dgif_lib.c (DGifGetPixel):
8333         Added config.h/lisp.h, fix up includes.
8334         [1].
8335
8336         * dired-msw.c:
8337         [4].
8338
8339         * dired.c:
8340         * dired.c (file_name_completion):
8341         * dired.c (Ffile_attributes):
8342         * dired.c (syms_of_dired):
8343         [1].
8344
8345         * dumper.c:
8346         * dumper.c (pdump_file_unmap):
8347         * dumper.c (pdump_load):
8348         [1].
8349
8350         * editfns.c:
8351         * editfns.c (Ftemp_directory):
8352         * editfns.c (user_login_name):
8353         * editfns.c (Fuser_real_login_name):
8354         * editfns.c (get_home_directory):
8355         [1].
8356
8357         * elhash.c (finish_marking_weak_hash_tables):
8358         [[[[5]]]]: Fix GCC warnings.
8359
8360         * emacs.c:
8361         * emacs.c (mswindows_handle_hardware_exceptions):
8362         * emacs.c (make_arg_list_1):
8363         * emacs.c (main_1):
8364         * emacs.c (Fkill_emacs):
8365         * emacs.c (Fdump_emacs):
8366         [1].
8367         Fix problems with nested crashes, add long comment.
8368
8369         * event-Xt.c (init_event_Xt_late):
8370         [1].
8371
8372         * event-msw.c:
8373         * event-msw.c (mswindows_dde_callback):
8374         * event-msw.c (mswindows_handle_sticky_modifiers):
8375         * event-msw.c (mswindows_wnd_proc):
8376         [1].
8377         [5].
8378
8379         * events.c (character_to_event):
8380         [1].
8381
8382         * fileio.c:
8383         * fileio.c (Ffile_name_directory):
8384         * fileio.c (Ffile_name_nondirectory):
8385         * fileio.c (directory_file_name):
8386         * fileio.c (Fexpand_file_name):
8387         * fileio.c (Fsubstitute_in_file_name):
8388         * fileio.c (Ffile_name_absolute_p):
8389         * fileio.c (check_executable):
8390         * fileio.c (Ffile_readable_p):
8391         * fileio.c (Ffile_accessible_directory_p):
8392         * fileio.c (Ffile_modes):
8393         * fileio.c (Funix_sync):
8394         * fileio.c (vars_of_fileio):
8395         [1]. [4].
8396
8397         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
8398
8399         Expand getdefdir defn.
8400         Fix bogus rename() comment.
8401
8402         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
8403         to use standard XEmacs include files, e.g. sysfile.h, rather
8404         than system-specific includes.
8405
8406         * fns.c:
8407         * fns.c (Fsubseq):
8408         [5]. [6].
8409
8410         * frame.c (vars_of_frame):
8411         [1].
8412
8413         * getloadavg.c:
8414         * getloadavg.c (getloadavg):
8415         [1]. [6].
8416         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
8417         (We don't use it elsewhere in the code; just add a comment.)
8418
8419         * gif_io.c:
8420         [6].
8421         Add config.h.
8422
8423         * glyphs-msw.c:
8424         * glyphs-msw.c (mswindows_resource_instantiate):
8425         [1].
8426
8427         * glyphs-x.c (x_native_layout_instantiate):
8428         [5].
8429
8430         * gui-msw.c (Fmswindows_shell_execute):
8431         [1].
8432
8433         * insdel.c:
8434         [4].
8435
8436         * lisp.h:
8437         [4]. [5].
8438
8439         * lread.c (locate_file_in_directory_mapper):
8440         [1].
8441
8442         * lstream.c:
8443         [4].
8444
8445         * mem-limits.h:
8446         * mem-limits.h (get_lim_data):
8447         [1].
8448
8449         * menubar-msw.c:
8450         [4].
8451
8452         * ndir.h:
8453         [1].
8454
8455         * nt.c:
8456         * nt.c (getwd):
8457         * nt.c (closedir):
8458         * nt.c (rva_to_section):
8459         * nt.c (mswindows_executable_type):
8460         [1]. [6].
8461         Fix closedir() defn.
8462
8463         * nt.h:
8464         [[[[8]]]]: *_OK defs moved to sysfile.h.
8465
8466         * ntproc.c:
8467         [6]. [7].
8468
8469         * objects-x.c:
8470         [4].
8471
8472         * print.c:
8473         * print.c (std_handle_out_external):
8474         [1]. [4].
8475
8476         * process-nt.c:
8477         * process-nt.c (nt_create_process):
8478         [6].
8479         try to fix process quoting somewhat.
8480
8481         * process-unix.c (unix_create_process):
8482         [1].
8483
8484         * process.c:
8485         * process.c (vars_of_process):
8486         Add Vnull_device.
8487
8488         * process.h:
8489         [1].
8490
8491         * realpath.c:
8492         * realpath.c (xrealpath):
8493         [1].
8494
8495         * redisplay-tty.c (init_tty_for_redisplay):
8496         [3].
8497
8498         * redisplay.c:
8499         [4]. [6].
8500
8501         * scrollbar-msw.c:
8502         [4].
8503
8504         * sheap.c:
8505         * sheap.c (more_static_core):
8506         * sheap.c (report_sheap_usage):
8507         [5]. [6].
8508
8509         * signal.c:
8510         * signal.c (alarm_signal):
8511         [1]. [6].
8512
8513         * sound.c:
8514         [6].
8515
8516         * strftime.c:
8517         * strftime.c (zone_name):
8518         [1]. [5].
8519
8520         * symsinit.h (init_sunpro):
8521         [1].
8522
8523         * syscommctrl.h:
8524         commctrl.h not in Cygwin b20.1.
8525
8526         * sysdep.c:
8527         * sysdep.c (endif):
8528         * sysdep.c (sys_subshell):
8529         * sysdep.c (init_baud_rate):
8530         * sysdep.c (emacs_get_tty):
8531         * sysdep.c (emacs_set_tty):
8532         * sysdep.c (tty_init_sys_modes_on_device):
8533         * sysdep.c (init_system_name):
8534         * sysdep.c (sys_open):
8535         * sysdep.c (interruptible_open):
8536         * sysdep.c (sys_fopen):
8537         * sysdep.c (sys_mkdir):
8538         * sysdep.c (sys_rename):
8539         * sysdep.c (get_process_times_1):
8540         [1]. [6].
8541
8542         * sysdep.h:
8543         [1].
8544
8545         * sysdir.h:
8546         * sysdir.h (DIRENTRY_NONEMPTY):
8547         [1]. [6].
8548
8549         * sysdll.c (dll_init):
8550         * sysdll.h:
8551         [1].
8552
8553         * sysfile.h:
8554         [1]. [6]. [8].
8555         added text/binary defs.
8556
8557         * sysfloat.h:
8558         [1].
8559
8560         * sysproc.h:
8561         * sysproc.h (EDESTADDRREQ):
8562         * sysproc.h (poll_fds_for_input):
8563         [1]. [6].
8564
8565         * syspwd.h:
8566         [6].
8567
8568         * syssignal.h:
8569         [1].
8570
8571         * systime.h:
8572         [1]. [6].
8573
8574         * systty.h:
8575         [1].
8576
8577         * syswindows.h:
8578         [1].
8579         Always define WIN32_LEAN_AND_MEAN.
8580
8581         * unexcw.c (unexec):
8582         [5].
8583
8584         * unexec.c:
8585         * unexec.c (copy_text_and_data):
8586         * unexec.c (adjust_lnnoptrs):
8587         [1].
8588
8589         * unexnt.c:
8590         * unexnt.c (_start):
8591         [1].
8592
8593 2000-06-07  Ben Wing  <ben@xemacs.org>
8594
8595         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
8596         was used only as a model.  We've long since extracted any useful
8597         logic or code out of this. (I just did an exhaustive search.)
8598
8599         * s\msdos.h: Removed.
8600
8601         * s\windows95.h: Removed.
8602
8603 2000-06-10  Ben Wing  <ben@xemacs.org>
8604
8605         * s\cygwin32.h:
8606         [1]. [5].
8607         Don't use extern with fun defs.
8608
8609         * s\mingw32.h:
8610         [1]. [7].
8611         Remove nt\inc include.
8612         Remove getdisk, getdefdir. (The former is unused, the latter
8613         expanded in fileio.h.)
8614
8615         * s\windowsnt.h:
8616         * s\windowsnt.h (WIN32_NATIVE):
8617         * s\windowsnt.h (HAVE_STRCASECMP):
8618         [1]. [7].
8619         Add long comment about preprocessor changes.
8620         Remove getdisk, getdefdir. (The former is unused, the latter
8621         expanded in fileio.h.)
8622
8623 2000-06-10  Ben Wing  <ben@xemacs.org>
8624
8625         * m\arm.h:
8626         * m\delta.h:
8627         * m\intel386.h:
8628         * m\sequent.h:
8629         * m\template.h:
8630         * m\windowsnt.h:
8631         [1].
8632         Remove bogus/unused NO_SOCK_SIGIO.
8633
8634 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
8635
8636         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
8637         not an Emchar.
8638
8639 2000-06-04  Mike Sperber <mike@xemacs.org>
8640
8641         * casetab.c (set_case_table): For `set-standard-case-table',
8642         actually deposit the new case tables where the rest of XEmacs can
8643         see them.
8644
8645 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
8646
8647         * data.c (Faset): Don't cast XCHAR() to unsigned char.
8648
8649 2000-06-05  Ben Wing  <ben@xemacs.org>
8650
8651         * callproc.c (child_setup): Don't do close_load_descs() under
8652         MS Windows.  Put in a comment explaining why.
8653
8654 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
8655
8656         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
8657         Toolkit shell" which breaks `kill-compilation' on Windows NT
8658         native, retaining STDERR handling improvements.
8659
8660 2000-06-01  Andreas Jaeger  <aj@suse.de>
8661
8662         * s/s390.h: Support for S390, based on a patch by Martin
8663         Schwidefsky <schwidefsky@de.ibm.com>.
8664
8665 2000-05-30  Andy Piper  <andy@xemacs.org>
8666
8667         * window.c (allocate_window):
8668         (make_dummy_parent):
8669         (Fset_window_configuration): use new hashtable type.
8670
8671         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
8672         (struct image_instantiator_methods):
8673         (struct Lisp_Image_Instance): make instance geometry signed.
8674
8675         * glyphs.c (instantiate_image_instantiator):
8676         (image_instance_query_geometry):
8677         (image_instance_layout):
8678         (image_instance_layout):
8679         (query_string_geometry):
8680         (text_query_geometry):
8681         (image_instantiate):
8682         (image_instantiate):
8683         (cache_subwindow_instance_in_frame_maybe):
8684         (subwindow_query_geometry): make instance geometry signed.
8685
8686         * glyphs-widget.c (widget_query_geometry):
8687         (widget_layout):
8688         (button_query_geometry):
8689         (tree_view_query_geometry):
8690         (tab_control_query_geometry):
8691         (layout_query_geometry):
8692         (layout_layout):
8693         (native_layout_layout): make instance geometry signed.
8694
8695 2000-05-29  Olivier Galibert  <galibert@pobox.com>
8696
8697         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
8698         constant.
8699
8700         * general.c (syms_of_general): Add Qfull_assoc symbol.
8701
8702         * data.c (finish_marking_weak_lists): Mark full-assoc lists
8703         correctly.
8704         (decode_weak_list_type): Decode full-assoc type.
8705         (encode_weak_list_type): Encode full-assoc type.
8706         (Fmake_weak_list): Update doc string.
8707
8708 2000-05-30  Andy Piper  <andy@xemacs.org>
8709
8710         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
8711
8712         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
8713         (decode_hash_table_weakness): ditto.
8714         (Fhash_table_weakness): ditto.
8715         (Fhash_table_type): ditto.
8716         (finish_marking_weak_hash_tables): ditto.
8717         (hash_table_weakness_validate): ditto.
8718         (syms_of_elhash): ditto.
8719
8720 2000-05-28  Martin Buchholz <martin@xemacs.org>
8721
8722         * XEmacs 21.2.34 is released.
8723
8724 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8725
8726         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
8727         start cache.
8728         (updating_line_start_cache): Gone.
8729         (regenerate_window): Replace resetting of VERTICAL_CLIP by
8730         generic code to force a minimum of 1 line laid out in the
8731         CMOTION_DISP case.
8732
8733 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8734
8735         * glyphs.c (instantiate_image_instantiator): Check for initialized
8736         height & width no longer special cases IMAGE_NOTHING.
8737         (nothing_instantiate): Set height and width of instance.
8738
8739 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8740
8741         * unexelf.c (unexec): Search for ".data" section.
8742         Initialize new_data2_offset from old_data_index.
8743         Remove redundant check for ElfW.
8744
8745 2000-05-23  Andy Piper  <andy@xemacs.org>
8746
8747         * glyphs.c (get_image_instantiator_governing_domain): allow more
8748         specific domains as the governing domain rather than expecting an
8749         exact match. This fixes problems with layouts.
8750
8751 2000-05-22  Andy Piper  <andy@xemacs.org>
8752
8753         * redisplay-output.c (compare_runes): check for non-images
8754
8755         * glyphs.c (set_glyph_dirty_p): ditto.
8756         (update_glyph_cachel_data): ditto.
8757
8758         * glyphs-widget.c (layout_post_instantiate): ditto.
8759         (layout_post_instantiate): ditto.
8760
8761         * event-msw.c (mswindows_wnd_proc): warning removal.
8762
8763 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
8764
8765         * s\mingw32.h: Added #undef for CLASH_DETECTION.
8766
8767         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
8768
8769         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
8770
8771         * nt.c (rva_to_section): mingw32 needs rva_to_section.
8772         (mswindows_executable_type): mingw32 now has enough headers for
8773         this to work.
8774
8775 2000-05-20  Andy Piper  <andy@xemacs.org>
8776
8777         * console-msw.c (mswindows_output_last_error): ; -> ,
8778
8779 2000-05-12  Andy Piper  <andy@xemacs.org>
8780
8781         * console-msw.c (FROB): compare ints with ints.
8782
8783 2000-05-11  Andy Piper  <andy@xemacs.org>
8784
8785         * glyphs-x.c (x_finalize_image_instance): make minimal build
8786         happy.
8787
8788 2000-05-20  Ben Wing  <ben@xemacs.org>
8789
8790         * event-Xt.c:
8791         * event-Xt.c (vars_of_event_Xt):
8792         move modifier-keys-are-sticky to event-stream.c.
8793
8794         * event-msw.c:
8795         * event-msw.c (mswindows_enqueue_mouse_button_event):
8796         * event-msw.c (key_needs_default_processing_p):
8797         * event-msw.c (XEMSW_LCONTROL):
8798         * event-msw.c (mswindows_handle_sticky_modifiers):
8799         * event-msw.c (FROB):
8800         * event-msw.c (clear_sticky_modifiers):
8801         * event-msw.c (output_modifier_keyboard_state):
8802         * event-msw.c (output_alt_keyboard_state):
8803         * event-msw.c (mswindows_wnd_proc):
8804         * event-msw.c (mswindows_modifier_state):
8805         * event-msw.c (emacs_mswindows_handle_magic_event):
8806         implement sticky modifiers.
8807
8808         * event-stream.c:
8809         * event-stream.c (vars_of_event_stream):
8810         move modifier-keys-are-sticky here.
8811
8812         * lisp.h:
8813         add CHECK_FUNCTION.
8814
8815         * rangetab.c:
8816         implement map-range-table.
8817
8818
8819 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
8820
8821         * redisplay-tty.c (reset_tty_modes):
8822         (tty_redisplay_shutdown): Adjust argument type to
8823         tty_frame_output_end.
8824
8825 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8826
8827         * eval.c (Fbacktrace): Don't output a line with only right
8828         parenthesis.
8829
8830 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
8831
8832         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
8833         (Fpq_reset_poll): Ditto.
8834
8835 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
8836
8837         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
8838
8839 2000-05-16  Ben Wing  <ben@xemacs.org>
8840
8841         * buffer.c:
8842         * buffer.c (dfc_convert_to/from_internal_format):
8843         * buffer.c (reinit_vars_of_buffer):
8844         Fix conversion functions to allow reentrancy.
8845
8846         * console-msw.c:
8847         * console-msw.c (mswindows_output_last_error):
8848         New fun, generally useful -- output a human-readable
8849         version of GetLastError() on the console.
8850
8851         * console-msw.h:
8852         * console-msw.h (struct mswindows_frame):
8853         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
8854
8855         * console-stream.c (stream_output_begin):
8856         * console-stream.c (stream_output_end):
8857         * console-stream.c (stream_output_vertical_divider):
8858         * console-stream.c (stream_clear_region):
8859         * console-stream.c (stream_flash):
8860         * console-stream.c (console_type_create_stream):
8861         Delete blank stream methods, not needed.
8862
8863         * console.h (struct console_methods):
8864         Split begin/end methods into window and frame.
8865
8866         * event-msw.c:
8867         * event-msw.c (mswindows_handle_paint):
8868         * event-msw.c (output_alt_keyboard_state):
8869         * event-msw.c (mswindows_wnd_proc):
8870         * event-msw.c (vars_of_event_mswindows):
8871         Comment about problems with ignored-expose.
8872         Define mswindows-debug-events; not really implemented.
8873
8874         * frame-msw.c (mswindows_init_frame_1):
8875         random cleanups.
8876
8877         * glyphs-msw.c:
8878         * glyphs-msw.c (begin_defer_window_pos):
8879         * glyphs-msw.c (mswindows_unmap_subwindow):
8880         * glyphs-msw.c (mswindows_map_subwindow):
8881         * glyphs-msw.c (mswindows_resize_subwindow):
8882         Use DeferWindowPos to reduce flashing when mapping/unmapping.
8883
8884         * glyphs.c (make_image_instance_1):
8885         Fix crash.
8886
8887         * gutter.c (Fredisplay_gutter_area):
8888         Use new begin/end methods.
8889
8890         * lisp.h (Dynarr_new2):
8891         New creation fun.
8892
8893         * redisplay-msw.c:
8894         * redisplay-msw.c (mswindows_frame_output_begin):
8895         * redisplay-msw.c (mswindows_frame_output_end):
8896         * redisplay-msw.c (console_type_create_redisplay_mswindows):
8897         New begin/end methods -- handle DeferWindowPos.
8898
8899         * redisplay-output.c (redisplay_move_cursor):
8900         * redisplay-output.c (redraw_cursor_in_window):
8901         * redisplay-output.c (redisplay_update_line):
8902         * redisplay-output.c (redisplay_output_window):
8903         New begin/end methods.
8904
8905         * redisplay-tty.c:
8906         * redisplay-tty.c (tty_frame_output_begin):
8907         * redisplay-tty.c (tty_frame_output_end):
8908         * redisplay-tty.c (console_type_create_redisplay_tty):
8909         New begin/end methods.
8910
8911         * redisplay-x.c:
8912         * redisplay-x.c (x_window_output_begin):
8913         * redisplay-x.c (x_window_output_end):
8914         * redisplay-x.c (console_type_create_redisplay_x):
8915         New begin/end methods.
8916
8917         * redisplay.c (redisplay_frame):
8918         * redisplay.c (Fredisplay_echo_area):
8919         New begin/end methods.
8920         use MAYBE_DEVMETH for clear_frame; it may not exist.
8921
8922         * window.h (WINDOW_XFRAME):
8923         WINDOW_XFOO macros -- get locale and decode struct pointer.
8924
8925
8926 2000-05-12  Ben Wing  <ben@xemacs.org>
8927
8928         * emacs.c:
8929         * emacs.c (ensure_no_quitting_from_now_on):
8930         * emacs.c (fatal_error_signal):
8931         * emacs.c (mswindows_handle_hardware_exceptions):
8932         * emacs.c (main):
8933         * emacs.c (Fkill_emacs):
8934         * emacs.c (shut_down_emacs):
8935         * emacs.c (assert_failed):
8936         various improvements in fatal error handling.
8937
8938         * eval.c:
8939         move preparing_for_armageddon to emacs.c.
8940
8941         * lisp.h:
8942         declare fatal_error_in_progress.
8943
8944         * print.c:
8945         * print.c (std_handle_out_external):
8946         * print.c (std_handle_out_va):
8947         * print.c (stderr_out):
8948         * print.c (stdout_out):
8949         use console under mswin when no standard output.
8950         don't do code conversion during fatal error.
8951
8952         * scrollbar.c (Fscrollbar_page_up):
8953         * scrollbar.c (Fscrollbar_page_down):
8954         fix missing else.  reindent.
8955
8956 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
8957
8958         Emergency fix.
8959
8960         * glyphs.h (GLYPH_CACHEL_DESCENT):
8961         (GLYPH_CACHEL_DESCENT):
8962         (GLYPH_CACHEL_DESCENT):
8963         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
8964         used in case these are inline functions.
8965         Use more absurd values to error check.
8966
8967         include window.h for error check functions.
8968
8969 2000-05-11  Ben Wing  <ben@xemacs.org>
8970
8971         * cmdloop.c (Freally_early_error_handler):
8972         Display message box under windows; otherwise, message will disappear
8973         before it can be viewed.
8974
8975         * console-msw.c:
8976         * console-msw.c (Fmswindows_message_box):
8977         * console-msw.c (FROB):
8978         * console-msw.c (syms_of_console_mswindows):
8979         Define new fun `mswindows-message-box'.
8980         #### I will merge this into `popup-dialog-box'; just give me
8981         a bit of time.
8982
8983         * general.c:
8984         * general.c (syms_of_general):
8985         Some new symbols used in `mswindows-message-box'.
8986
8987         * glyphs.c:
8988         * glyphs.c (Fset_image_instance_property):
8989         put warning in this fun.
8990
8991         * glyphs.h:
8992         * glyphs.h (GLYPH_CACHEL_WIDTH):
8993         * glyphs.h (GLYPH_CACHEL_ASCENT):
8994         * glyphs.h (GLYPH_CACHEL):
8995         * glyphs.h (GLYPH_CACHEL_GLYPH):
8996         define error-checking versions to try to catch a bug i've seen --
8997         redisplay gets in an infinite loop because the glyph width of the
8998         continuation glyph is 65535.
8999
9000         * lisp.h:
9001         Extern message-box stuff.
9002
9003         * window.c (allocate_window):
9004         * window.c (make_dummy_parent):
9005         * window.c (Fset_window_configuration):
9006         Use EQUAL not EQ for subwindow caches to make them work a bit
9007         better. (Something is still very broken.)
9008
9009
9010 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
9011
9012         * glyphs.c (image_instantiate): Suppress gcc warnings.
9013         (Fmake_image_instance): Fix doc string.
9014         * specifier.c (Fmake_specifier): Ditto.
9015
9016 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
9017
9018         * paths.h.in (PATH_LOCK): Removed.
9019         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
9020         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
9021
9022 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
9023
9024         * fns.c (Ffeaturep): Update e-mail address in doc-string.
9025         Document (featurep '(and xemacs 21.02)).
9026
9027 2000-05-09  Ben Wing  <ben@xemacs.org>
9028
9029         * buffer.c (complex_vars_of_buffer):
9030         update modeline-format doc.
9031
9032         * device.h:
9033         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
9034
9035         * emacs.c:
9036         timeline of all released versions of Emacs, for use in creating
9037         authorship comments and in synching up.
9038
9039         * glyphs-widget.c (image_instantiator_buttons):
9040         * glyphs-widget.c (image_instantiator_edit_fields):
9041         * glyphs-widget.c (image_instantiator_combo_box):
9042         * glyphs-widget.c (image_instantiator_scrollbar):
9043         * glyphs-widget.c (image_instantiator_progress_guage):
9044         * glyphs-widget.c (image_instantiator_tree_view):
9045         * glyphs-widget.c (image_instantiator_tab_control):
9046         * glyphs-widget.c (image_instantiator_labels):
9047         * glyphs-widget.c (image_instantiator_layout):
9048         * glyphs-widget.c (image_instantiator_native_layout):
9049         rename decode_domain method to governing_domain.
9050
9051         * glyphs.c:
9052         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
9053         * glyphs.c (add_entry_to_device_ii_format_list):
9054         make sure we don't put an entry more than once into the list.
9055         * glyphs.c (check_instance_cache_mapper):
9056         *************************************************************
9057         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
9058         HAVE BEEN GETTING.
9059         *************************************************************
9060         * glyphs.c (get_image_instantiator_governing_domain):
9061         clean up, expand on new concept of governing domain.
9062         * glyphs.c (instantiate_image_instantiator):
9063         * glyphs.c (allocate_image_instance):
9064         use governing_domain instead of cache_domain in naming.
9065         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
9066         * glyphs.c (make_image_instance_1):
9067         * glyphs.c (Fmake_image_instance):
9068         allow for any domain (not just device), and process the
9069         governing domain correctly.  very big doc fix.
9070         * glyphs.c (Fimage_instance_domain):
9071         new primitive, to retrieve the governing domain of an image instance.
9072         * glyphs.c (image_instantiate):
9073         use new governing_domain stuff.  this fixes a crash you could get
9074         by instantiating certain widget glyphs in frame locales. (should
9075         signal an error instead of crashing.)
9076         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
9077         * glyphs.c (Fglyphp): clean up doc.
9078         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
9079         * glyphs.c (syms_of_glyphs):
9080         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
9081         * glyphs.c (image_instantiator_format_create): add some comments about
9082         bogus code.
9083         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
9084         for current-display-table. (Apparently Hrjove implemented in 1998 a
9085         design I wrote up in 1996, but didn't update the doc string.)
9086
9087         * glyphs.h: clean up a doc string.
9088         * glyphs.h (governing_domain):
9089         * glyphs.h (struct image_instantiator_methods):
9090         changes for governing_domain stuff.
9091
9092         * gutter.c:
9093         * gutter.c (Fgutter_specifier_p):
9094         * gutter.c (Fgutter_size_specifier_p):
9095         * gutter.c (Fgutter_visible_specifier_p):
9096         * objects.c:
9097         * objects.c (Fcolor_specifier_p):
9098         * objects.c (Ffont_specifier_p):
9099         * objects.c (Fface_boolean_specifier_p):
9100         doc strings moved to make-*-specifier.
9101
9102         * redisplay.c (add_disp_table_entry_runes_1):
9103         * redisplay.c (generate_fstring_runes):
9104         * redisplay.c (screen):
9105         add random comments and doc strings.
9106
9107         * specifier.c:
9108         * specifier.c (Fmake_specifier):
9109         major overhaul of this doc string.
9110
9111         * specifier.c (Fvalid_specifier_domain_p):
9112         comment about the bogosity of image instances being domains.
9113         * specifier.c (decode_domain):
9114         now non-static, used in glyphs.c.
9115         * specifier.c (specifier_instance):
9116         comment about the bogosity of image instances being domains.
9117         * specifier.c (Fgeneric_specifier_p):
9118         move doc string to make-generic-specifier.
9119         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
9120         rebackslashify.
9121
9122         * specifier.h:
9123         * specifier.h (DOMAIN_FRAME):
9124         * specifier.h (DOMAIN_LIVE_P):
9125         * specifier.h (DOMAIN_XDEVICE):
9126         rebackslashify.
9127         add comments about problems with these macros.
9128         prototype for decode_domain.
9129
9130         * toolbar.c:
9131         * toolbar.c (Ftoolbar_specifier_p):
9132         move doc string to `make-toolbar-specifier'.
9133
9134         * window.c (window_unmap_subwindows_cache_mapper):
9135         *************************************************************
9136         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
9137         HAVE BEEN GETTING.
9138         *************************************************************
9139
9140 2000-05-09  Andy Piper  <andy@xemacs.org>
9141
9142         * glyphs.h: declare reset_frame_subwindow_instance_cache.
9143
9144         * window.c (Fset_window_configuration): reset the frame subwindow
9145         cache and re-initialize the window subwindow caches.
9146
9147         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
9148
9149 2000-05-09  Ben Wing  <ben@xemacs.org>
9150
9151         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
9152         DWORD.
9153
9154 2000-04-26  Mike Woolley  <mike@bulsara.com>
9155
9156         * ntheap.c: Changed recreate_heap to limit the amount reserved
9157         for the heap to that which is actually available. Also now
9158         displays a message box (with some dignostics) in the event that
9159         it still can't start.
9160
9161 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
9162
9163         * callproc.c (Fold_call_process_internal): GCPRO path
9164
9165 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
9166
9167         Patch by Bill Perry.
9168
9169         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
9170         back data instead of #ifdef.
9171         (Fscrollbar_page_down): ditto.
9172
9173 2000-05-07  Ben Wing  <ben@xemacs.org>
9174
9175         * buffer.h:
9176         Kludge for defining Qmswindows_tstr.
9177
9178         * nt.c:
9179         * nt.c (open_input_file):
9180         * nt.c (open_output_file):
9181         * nt.c (rva_to_section):
9182         * nt.c (mswindows_executable_type):
9183         Move all memory-mapped-file routines here (some were in unexnt.c,
9184         which is bad because they are used by process-nt.c, and unexnt
9185         won't be around when portable dumping).  Synched the above routines
9186         with FSF 20.6.
9187
9188         * nt.h:
9189         Removed ifdef'd out bogus code.
9190         Fixed some prototypes.
9191
9192         * nt.h (file_data):
9193         * nt.h (OFFSET_TO_RVA):
9194         * nt.h (RVA_TO_OFFSET):
9195         * nt.h (RVA_TO_PTR):
9196         Moved the memory-mapped-file structures, macros and prototypes
9197         here, to parallel nt.c.  ntheap.h should really be removed
9198         entirely, and it's a non-portable-dumper specific file.
9199
9200         * ntheap.h (round_to_next):
9201         Moved the memory-mapped-file structures, macros and prototypes
9202         to nt.h.
9203
9204         * ntproc.c (compare_env):
9205         Moved rva_to_section and mswindows_executable_type to nt.c.
9206         Moved compare_env to process-nt.c.
9207         ntproc.c will die, one day.
9208
9209         * ntproc.c (sys_spawnve):
9210         Account for win32_ -> mswindows_.
9211
9212         * process-nt.c:
9213         * process-nt.c (struct nt_process_data):
9214         * process-nt.c (ensure_console_window_exists):
9215         * process-nt.c (compare_env):
9216         * process-nt.c (nt_create_process):
9217         * process-nt.c (nt_kill_process_by_pid):
9218         * process-nt.c (syms_of_process_nt):
9219         * process-nt.c (vars_of_process_nt):
9220         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
9221         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
9222         changes).  Eliminate our old `nt-quote-process-args' mechanism.
9223         Synch up nt_create_process with FSF 20.6 sys_spawnve.
9224         Move compare_env here from ntproc.c.
9225
9226         * process.c (Fprocess_send_region):
9227         Takes an optional fourth argument, BUFFER, which should fix some
9228         problems with call-process.
9229
9230         * syscommctrl.h:
9231         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
9232
9233         * syswindows.h:
9234         Move ICC_BAR_CLASSES to syscommctrl.h.
9235         Add preliminary macros for MSWindows/Mule.  More to come.
9236
9237         * unexnt.c:
9238         * unexnt.c (unexec):
9239         open_output_file moved to nt.c.
9240
9241
9242 2000-05-05  Andy Piper  <andy@xemacs.org>
9243
9244         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
9245         instance from the frame cache also since GC may catch up too late
9246         to make frame deletion sane.
9247
9248 2000-05-04  Andy Piper  <andy@xemacs.org>
9249
9250         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
9251         (x_finalize_image_instance): ungcpro on deletion.
9252
9253         * glyphs.c (image_instantiator_format_create): give pointers a
9254         query geometry method so that the geometry is at least set.
9255
9256         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
9257         initialize layouts if using widgets.
9258
9259 2000-05-03  Andy Piper  <andy@xemacs.org>
9260
9261         * nt.c: remove bogus reference to sysmmsystem.h
9262
9263         * gui-x.c (popup_selection_callback): fix no selection abort.
9264
9265 2000-05-02  Andy Piper  <andy@xemacs.org>
9266
9267         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
9268         (mswindows_widget_instantiate): ditto.
9269
9270         * glyphs-widget.c (initialize_widget_image_instance): initialize
9271         children correctly.
9272         (widget_instantiate): cope with children and items in the same
9273         instance.
9274
9275         * glyphs.c (mark_image_instance): cope with children as a first
9276         class member.
9277         (image_instance_equal): ditto.
9278         (image_instance_hash): ditto.
9279         (image_instance_changed): ditto.
9280
9281 2000-04-30  Andy Piper  <andy@xemacs.org>
9282
9283         * glyphs.c (subwindow_query_geometry): new function. Return some
9284         defaults.
9285         (subwindow_instantiate): don't assign dimensions if none have been
9286         given.
9287         (image_instantiator_format_create): add subwindow_query_geometry.
9288         (print_image_instance): cope with layouts as widgets.
9289
9290 2000-04-29  Andy Piper  <andy@xemacs.org>
9291
9292         * frame.c (delete_frame_internal): call
9293         free_frame_subwindow_instance_cache so that all subwindows are
9294         finalized before their parent.
9295         (mark_frame): remove subwindow_cachels.
9296         (Fmake_frame): remove subwindow_cachel manipulation.
9297         (allocate_frame_core): subwindow_instance_cache is a weak list.
9298         (delete_frame_internal): set subwindow_instance_cache to nil.
9299
9300         * glyphs-msw.c (mswindows_finalize_image_instance): make double
9301         finalization safe.
9302         (mswindows_finalize_image_instance): use the device
9303         not the domain as the domain may have died already.
9304
9305         * glyphs-x.c (x_finalize_image_instance): ditto.
9306         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
9307         HEIGHT.
9308
9309         * redisplay-output.c (redisplay_unmap_subwindows): update for
9310         subwindow instance cache as a weak list.
9311         (redisplay_unmap_subwindows_maybe): ditto.
9312         (redisplay_unmap_subwindows_except_us): ditto.
9313
9314         * glyphs.c (unmap_subwindow): error checking will check the domain
9315         so don't deal with it here. Don't use cachels anymore.
9316         (map_subwindow): ditto.
9317         (update_subwindow_cachel_data): remove old accessor names.
9318         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
9319         (Fresize_subwindow): don't update cachel.
9320         (mark_subwindow_cachels):
9321         (update_subwindow_cachel_data):
9322         (add_subwindow_cachel):
9323         (get_subwindow_cachel_index):
9324         (update_subwindow_cachel):
9325         (reset_subwindow_cachels):
9326         (mark_subwindow_cachels_as_not_updated): deleted.
9327         (cache_subwindow_instance_in_frame_maybe): new function. Add a
9328         subwindow instance to the frame cache.
9329         (find_matching_subwindow): update for subwindow instance cache as
9330         a weak list.
9331         (update_widget_instances): ditto.
9332         (image_instance_type_to_mask):inlined.
9333         (free_frame_subwindow_instance_cache): new function. finalize all
9334         subwindows that are instantiated.
9335
9336         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
9337         of cachel information.
9338         (IMAGE_INSTANCE_DISPLAY_X):
9339         (IMAGE_INSTANCE_DISPLAY_Y):
9340         (IMAGE_INSTANCE_DISPLAY_WIDTH):
9341         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
9342         (XIMAGE_INSTANCE_DISPLAY_X):
9343         (XIMAGE_INSTANCE_DISPLAY_Y):
9344         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
9345         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
9346         remove subwindow_cachel structure and function references.
9347         (image_instance_type_to_mask): inline from glyphs.c
9348
9349         * redisplay.c (redisplay_frame): remove subwindow_cachel
9350         references.
9351
9352         * frame.h (struct frame): remove subwindow_cachels.
9353         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
9354
9355         * frameslots.h: add subwindow_instance_cache.
9356
9357         * window.c (replace_window): check subwindow cache of replacement.
9358         (window_unmap_subwindows_cache_mapper):
9359         (window_unmap_subwindows): new functions. Unmap all subwindows
9360         cached on this window.
9361         (mark_window_as_deleted): unmap all subwindows.
9362
9363 2000-04-27  Andy Piper  <andy@xemacs.org>
9364
9365         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
9366
9367         * glyphs-widget.c (widget_layout): return something.
9368         (layout_layout): return something. Fail if not initialized.
9369         (layout_query_geometry): ditto.
9370         (image_instantiator_native_layout): new function. Initialized the
9371         native layout type.
9372         (widget_instantiate): don't do layout stuff here.
9373
9374         * glyphs.c (instantiate_image_instantiator): reorded calling or
9375         instantiate and post_instantiate with layout in between.
9376         (image_instance_layout): be more selective about deciding whether
9377         the layout has been done or not.
9378
9379         * glyphs.h (struct image_instantiator_methods): return a value
9380         from layout_method.
9381
9382 2000-04-26  Andy Piper  <andy@xemacs.org>
9383
9384         * glyphs.c (allocate_image_instance): make initial width and
9385         height unspecified. Set initialized to 0.
9386
9387         * syscommctrl.h new file. Encapsulates commctrl.h.
9388
9389         * syswindows.h new file. Encapsulates windows.h.
9390
9391         * ntplay.c: use new syswindows.h and syscommctrl.h header.
9392         * nt.c: ditto.
9393         * console-msw.h: ditto.
9394
9395         * redisplay-tty.c (tty_output_display_block): remove layout references.
9396
9397         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
9398         window handle rather than just the frame.
9399
9400         * glyphs.c (mark_image_instance): remove layout references.
9401         (print_image_instance): ditto.
9402         (image_instance_equal): ditto.
9403         (image_instance_hash): ditto.
9404         (decode_image_instance_type): ditto.
9405         (encode_image_instance_type): ditto.
9406         (image_instantiate): ditto.
9407         (allocate_glyph): ditto.
9408         (Fimage_instance_height): ditto.
9409         (Fimage_instance_width): ditto.
9410         (update_subwindow): ditto.
9411
9412         * redisplay-x.c (x_output_display_block): recode for layouts as
9413         widgets.
9414
9415         * redisplay-output.c (redisplay_output_layout): recode for layouts
9416         as widgets.
9417         (compare_runes): remove layout references.
9418
9419         * redisplay-msw.c (mswindows_output_display_block): recode for
9420         layouts as widgets.
9421
9422         * glyphs-widget.c (image_instantiator_layout): remove
9423         layout_possible_dest_types.
9424         (layout_possible_dest_types): deleted.
9425
9426         * glyphs.h (image_instance_type): remove layout references.
9427         (struct Lisp_Image_Instance): ditto. Add initialized flag.
9428         (IMAGE_INSTANCE_INITIALIZED): new accessor.
9429         (XIMAGE_INSTANCE_INITIALIZED): ditto.
9430
9431 2000-04-25  Andy Piper  <andy@xemacs.org>
9432
9433         * glyphs-widget.c (image_instantiator_buttons):
9434         (image_instantiator_edit_fields):
9435         (image_instantiator_combo_box):
9436         (image_instantiator_scrollbar):
9437         (image_instantiator_progress_guage):
9438         (image_instantiator_tree_view):
9439         (image_instantiator_tab_control):
9440         (image_instantiator_labels):
9441         (image_instantiator_layout): call default post_instantiate method.
9442         (widget_post_instantiate): new function. Simply lays out the
9443         widgets.
9444
9445         * glyphs.h (struct image_instantiator_methods): add
9446         post_instantiate method.
9447
9448         * glyphs.c (instantiate_image_instantiator): add post_instantiate
9449         method calls.
9450
9451 2000-04-23  Andy Piper  <andy@xemacs.org>
9452
9453         * glyphs.h (struct image_instantiator_methods): add
9454         decode_domain_method.
9455         (struct Lisp_Image_Instance): remove subwindow frame - it can be
9456         derived from the domain.
9457         (IMAGE_INSTANCE_FRAME): new accessor.
9458         (XIMAGE_INSTANCE_FRAME): ditto.
9459
9460         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
9461         instead of _SUBWINDOW_FRAME.
9462         (finalize_image_instance): ditto.
9463         (Fimage_instance_foreground): ditto.
9464         (Fimage_instance_background): ditto.
9465         (image_instantiate): ditto.
9466         (update_subwindow_cachel): ditto.
9467         (update_subwindow): ditto.
9468         (unmap_subwindow): ditto.
9469         (map_subwindow): ditto
9470         (subwindow_instantiate): ditto.
9471         * glyphs-msw.c (mswindows_update_widget): ditto.
9472         (mswindows_progress_gauge_instantiate): ditto.
9473         (mswindows_tab_control_update): ditto.
9474         * glyphs-x.c (x_update_widget): ditto.
9475         (x_widget_instantiate): ditto.
9476         (x_tab_control_instantiate): ditto.
9477         (x_tab_control_update): ditto.
9478         * event-msw.c (mswindows_wnd_proc): ditto
9479
9480         * glyphs-widget.c (image_instantiator_layout): use
9481         subwindow_decode_domain.
9482         (image_instantiator_buttons): ditto.
9483         (image_instantiator_edit_fields): ditto.
9484         (image_instantiator_combo_box): ditto.
9485         (image_instantiator_scrollbar): ditto.
9486         (image_instantiator_progress_guage): ditto.
9487         (image_instantiator_tree_view): ditto.
9488         (image_instantiator_tab_control): ditto.
9489         (image_instantiator_labels): ditto.
9490         (image_instantiator_layout): ditto.
9491
9492         * glyphs.c: add instance error checking to many functions.
9493         (instantiate_image_instantiator): decode device from cache_domain.
9494         (image_instantiate): partially rewrite by using
9495         decode_image_instantiator_domain to determine what domain the
9496         instance needs to be cached in.
9497         (decode_image_instantiator_domain): new function. Determine what
9498         domain the image needs to be cached in.
9499         (check_window_subwindow_cache): new error checking function.
9500         (check_instance_cache_mapper): ditto.
9501         (check_image_instance_structure): ditto.
9502         (subwindow_decode_domain): new function. Encodes a window as a
9503         subwindow's cache domain.
9504         (image_instantiator_format_create): use it for text and
9505         subwindows.
9506
9507 2000-04-21  Andy Piper  <andy@xemacs.org>
9508
9509         * glyphs.c (image_instance_device): new function.
9510         (image_instance_frame): new function.
9511         (image_instance_window): new function.
9512         (image_instance_live_p): new function.
9513
9514         * window.c (mark_window_as_deleted): reset the subwindow_instance_
9515         cache to nil.
9516
9517         * glyphs.h (struct Lisp_Image_Instance): device->domain.
9518         (IMAGE_INSTANCE_DOMAIN): new accessor.
9519         (XIMAGE_INSTANCE_DOMAIN): ditto.
9520
9521         * glyphs-x.c (x_finalize_image_instance): device->domain.
9522
9523         * glyphs-msw.c (init_image_instance_geometry): device->domain.
9524         (mswindows_finalize_image_instance): ditto.
9525
9526         * glyphs-eimage.c (jpeg_instantiate): device->domain.
9527         (gif_instantiate): ditto.
9528         (png_instantiate): ditto.
9529         (tiff_instantiate): ditto.
9530
9531         * glyphs.c (instantiate_image_instantiator): use domain rather
9532         than device.
9533         (mark_image_instance): device -> domain.
9534         (print_image_instance): ditto.
9535         (finalize_image_instance): ditto.
9536         (image_instance_equal): ditto.
9537         (allocate_image_instance): ditto.
9538         (Fcolorize_image_instance): ditto.
9539         (query_string_geometry): ditto.
9540         (image_instantiate): ditto
9541         (query_string_font): ditto.
9542         (image_instantiate): ditto.
9543         (update_subwindow): ditto.
9544         (unmap_subwindow): ditto.
9545         (map_subwindow): ditto.
9546         (subwindow_instantiate): ditto.
9547
9548         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
9549         (DOMAIN_FRAME): ditto.
9550         (DOMAIN_WINDOW): ditto.
9551         (DOMAIN_LIVE_P): ditto.
9552         (XDOMAIN_DEVICE): ditto.
9553         (XDOMAIN_FRAME): ditto.
9554         (XDOMAIN_WINDOW): ditto.
9555
9556         * specifier.c (Fvalid_specifier_domain_p): add image instances as
9557         a valid specifier domain.
9558
9559 2000-04-19  Andy Piper  <andy@xemacs.org>
9560
9561         * glyphs-widget.c (syms_of_glyphs_widget): remove
9562         widget-callback-current-channel.
9563         (vars_of_glyphs_widget): ditto.
9564         * glyphs.h: ditto
9565
9566         * gui.c (get_gui_callback): revert to previous behaviour.
9567
9568 2000-04-18  Andy Piper  <andy@xemacs.org>
9569
9570         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
9571         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
9572         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
9573
9574         * glyphs.c (image_instance_equal): add margin_width.
9575         (image_instance_hash): ditto.
9576
9577         * glyphs-widget.c (widget_instantiate): deal with margin-width.
9578         (layout_query_geometry): ditto.
9579         (layout_layout): ditto.
9580         (syms_of_glyphs_widget): add margin-width.
9581         (image_instantiator_layout): allow margin-width.
9582
9583         * glyphs.c (update_widget_instances): make a normal function.
9584         (syms_of_glyphs): remove Qupdate_widget_instances.
9585         * glyphs.h: ditto.
9586
9587         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
9588         so that we don't corrupt ideas about the last event or
9589         command. Remove widget-callback-current-channel fiddling.
9590         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9591
9592 2000-05-01  Martin Buchholz <martin@xemacs.org>
9593
9594         * XEmacs 21.2.33 is released.
9595
9596 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
9597
9598         * make-src-depend: Allow dots in header file name.
9599
9600 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
9601
9602         * mule-charset.h (struct charset_lookup): Add
9603         next_allocated_1_byte_leading_byte and
9604         next_allocated_2_byte_leading_byte.
9605         * mule-charset.c: Move above two variables so that those values
9606         will be dumped.
9607
9608 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
9609
9610         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
9611         when string length is zero.
9612         (find_charsets_in_emchar_string): Ditto.
9613
9614 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
9615
9616         * lisp.h: extern Qdialog and Qmenubar.
9617
9618         * gui-x.c: added events.h.
9619                 also fixed typo which made the file uncompilable.
9620
9621         * general.c: Added Qmenubar and Qdialog
9622
9623 2000-04-28  Ben Wing  <ben@xemacs.org>
9624
9625         * frame-msw.c (mswindows_init_frame_1):
9626         * frame-msw.c (mswindows_mark_frame):
9627         * event-msw.c (mswindows_enqueue_dispatch_event):
9628         * console-msw.h:
9629         * console-msw.h (struct mswindows_frame):
9630         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
9631         there are now three hash tables for callbacks.
9632         mswindows_enqueue_dispatch_event is no longer static.
9633
9634         * dialog-x.c (maybe_run_dbox_text_callback):
9635         * dialog-x.c (dbox_descriptor_to_widget_value):
9636         switch to new cons3 form for callbacks.
9637
9638         * glyphs-msw.c (mswindows_register_gui_item):
9639         * glyphs-msw.c (mswindows_widget_instantiate):
9640         * glyphs-msw.c (add_tree_item):
9641         * glyphs-msw.c (add_tab_item):
9642         new image instance parameter, so it can be passed to callback-ex.
9643         respect :callback-ex as well as :callback.
9644
9645         * glyphs-widget.c (VALID_GUI_KEYWORDS):
9646         add :callback-ex.
9647
9648         * glyphs.c (print_image_instance):
9649         prettify, e.g. now prints widget type.
9650
9651         * gui-x.h:
9652         certain funs have new image instance parameter.
9653
9654         * gui.c:
9655         * gui.c (get_gui_callback):
9656         * gui.c (gui_item_add_keyval_pair):
9657         * gui.c (gui_item_init):
9658         * gui.c (gui_add_item_keywords_to_plist):
9659         * gui.c (mark_gui_item):
9660         * gui.c (gui_item_hash):
9661         * gui.c (gui_item_equal):
9662         * gui.c (copy_gui_item):
9663         * gui.c (syms_of_gui):
9664         recognize callback-ex in a number of places.
9665         also, fix the annoying "can't get out of yes-no dialog" bug.
9666
9667         * gui.h:
9668         * gui.h (struct Lisp_Gui_Item):
9669         recognize callback-ex in a number of places.
9670
9671         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9672         new parameter in button_item_to_widget_value.
9673
9674         * glyphs-x.c (x_update_widget):
9675         * glyphs-x.c (x_button_instantiate):
9676         * glyphs-x.c (x_button_update):
9677         * glyphs-x.c (x_progress_gauge_instantiate):
9678         * glyphs-x.c (x_edit_field_instantiate):
9679         * glyphs-x.c (x_combo_box_instantiate):
9680         * glyphs-x.c (x_tab_control_instantiate):
9681         * glyphs-x.c (x_label_instantiate):
9682         new image instance parameter in various places.
9683
9684         * event-Xt.c:
9685         * event-Xt.c (enqueue_Xt_dispatch_event):
9686         this fun gets exported.
9687
9688         * gui-msw.c:
9689         * gui-msw.c (mswindows_handle_gui_wm_command):
9690         handle both :callback and :callback-ex, and generate our own
9691         event because it's one of the callback-ex arguments.
9692
9693         * gui-x.c:
9694         * gui-x.c (popup_selection_callback):
9695         handle both :callback and :callback-ex, and generate our own
9696         event because it's one of the callback-ex arguments.
9697         * gui-x.c (button_item_to_widget_value):
9698         * gui-x.c (gui_items_to_widget_values_1):
9699         * gui-x.c (gui_item_children_to_widget_values):
9700         * gui-x.c (gui_items_to_widget_values):
9701         new image instance parameter in various places.
9702
9703         * fns.c (Freplace_list):
9704         fix small typo in doc string.
9705
9706         * lisp.h:
9707         declare enqueue_Xt_dispatch_event.
9708
9709 2000-04-28  Ben Wing  <ben@xemacs.org>
9710
9711         * buffer.c:
9712         * buffer.c (Frecord_buffer):
9713         * buffer.c (syms_of_buffer):
9714         delete record-buffer-hook.
9715
9716         * fns.c:
9717         * fns.c (Freplace_list):
9718         * fns.c (syms_of_fns):
9719         new primitive replace-list.
9720
9721         * frameslots.h:
9722         slot for old buffer-alist.
9723
9724         * lisp.h:
9725         exfun replace-list.
9726
9727         * redisplay.c:
9728         * redisplay.c (redisplay_frame):
9729         * redisplay.c (syms_of_redisplay):
9730         * redisplay.c (vars_of_redisplay):
9731         new hook buffer-list-changed-hook.
9732         call it.
9733
9734 2000-04-27  Ben Wing  <ben@xemacs.org>
9735
9736         * extents.h: extern in_modeline_generation.
9737
9738         * redisplay.c (generate_formatted_string_db): set
9739         in_modeline_generation.
9740
9741         * extents.c (extent_changed_for_redisplay): don't mark redisplay
9742         flags if in modeline generation.  otherwise frame-modified-tick
9743         is ticked far too often.
9744         Declare in_modeline_generation.
9745
9746 2000-04-26  Ben Wing  <ben@xemacs.org>
9747
9748         * emacs.c (vars_of_emacs): document quick-build "error-checking"
9749         option.
9750         (vars_of_emacs): add quick-build as an error-checking option.
9751         A bit kludgy, but there doesn't seem much point in creating
9752         a real var for this.
9753
9754         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
9755
9756 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9757
9758         * redisplay.h (struct display_line): Add a new variable,
9759         line_continuation.
9760
9761         * redisplay.c (create_text_block): Set dl->line_continuation if
9762         the line continues.
9763         (create_string_text_block): Ditto.
9764         (regenerate_window_incrementally): Use line_continuation instead
9765         of searching continuation glyph.
9766         (add_margin_runes): Call add_glyph_rune.
9767         (add_glyph_rune): Handle margin glyph.
9768
9769 2000-04-20  Martin Buchholz  <martin@xemacs.org>
9770
9771         * filelock.c (fill_in_lock_file_name):
9772         ANSIfy.
9773         Check for IS_ANY_SEP instead of '/'.
9774         (lock_file_1):
9775         Avoid generating gratuitous garbage.  Call user_login_name() directly.
9776         Never check errno without first seeing that system call failed.
9777         (unlock_file): Add GCPRO.
9778         (Flock_buffer): Fix docstring.
9779         (Ffile_locked_p): Fix docstring.  Add GCPRO.
9780
9781 2000-04-19  Martin Buchholz  <martin@xemacs.org>
9782
9783         * sysdep.c (get_pty_max_bytes):
9784         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
9785         strings longer than 252 bytes.
9786
9787         * md5.c: Unconditionally include ANSI header <limits.h>
9788
9789         * glyphs-x.c (convert_EImage_to_XImage):
9790         * lisp-union.h (union Lisp_Object):
9791         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
9792
9793 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9794
9795         * filelock.c (current_lock_owner): Remove unused variable o, p.
9796
9797 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
9798
9799         * callint.c: Remove multiply defined symbol Qlet
9800         (syms_of_callint): ditto.
9801
9802 2000-04-14  Andy Piper  <andy@xemacs.org>
9803
9804         * general.c (syms_of_general): add last-command, this-command, let
9805         and funcall.
9806
9807         * lisp.h: declare various symbols.
9808
9809         * glyphs.h: declare Qwidget_callback_current_channel;
9810
9811         * glyphs-widget.c (syms_of_glyphs_widget): add
9812         Qgui_callback_current_channel.
9813         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
9814
9815         * gui-msw.c (mswindows_handle_gui_wm_command): bind
9816         widget-callback-current-channel when invoking the interactive
9817         arg. Also bind last-command and next-command when invoking the
9818         widget updates.
9819         * gui-x.c (popup_selection_callback): ditto.
9820
9821         * gui.c (get_gui_callback): massage args so that we are always
9822         calling eval. This allows us to add our own variable bindings
9823         outside.
9824
9825         * glyphs-x.c (x_button_instantiate): use
9826         gui_items_to_widget_values since this is GC safe.
9827         (x_progress_gauge_instantiate): ditto.
9828         (x_edit_field_instantiate): ditto.
9829         (x_label_instantiate): ditto.
9830
9831         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
9832         (emacs_Xt_event_widget_focus_out): new function
9833         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
9834         focus.
9835         (emacs_Xt_event_add_widget_actions): new function. add focus
9836         functions as actions.
9837         (init_event_Xt_late): use it.
9838
9839 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
9840
9841         * event-stream.c (Fdispatch_event): Doc fix.
9842
9843 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
9844
9845         * postgresql.c: Remove all references to PQsetenv*.
9846
9847         * postgresql.h: Remove references to PGsetenvHandler object.
9848         * lrecord.h (lrecord_type): Ditto.
9849
9850 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9851
9852         * glyphs-msw.h (struct mswindows_image_instance_data): Added
9853         real_heigh and real_width members, and accessor macros for these.
9854
9855         * glyphs-msw.c (init_image_instance_geometry): New function.
9856         (init_image_instance_from_dibitmap): Use it.
9857         (mswindows_resource_instantiate): Use it.
9858         (init_image_instance_from_xbm_inline): Use it.
9859         (mswindows_initialize_image_instance_mask): Use real bitmap
9860         geometry.
9861         (mswindows_create_resized_bitmap): Ditto.
9862         (mswindows_create_resized_mask): Ditto.
9863
9864         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
9865         and bitmap to their surface size.
9866
9867 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
9868
9869         * process-unix.c (unix_send_process): Guard against process MIA
9870         after Faccept_process_output.
9871
9872 2000-04-11  Ben Wing  <ben@xemacs.org>
9873
9874         * eval.c (unbind_to_hairy): fix brokenness introduced by
9875         nanosecond speed improvements.
9876
9877 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
9878
9879         * sunplay.c (init_device): To play sounds correctly, the device
9880         apparently needs to be initialized at least once by XEmacs.  Make
9881         it so.
9882
9883 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9884
9885         * redisplay.c (add_margin_runes): Add text image glyph
9886           handling.
9887
9888 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9889
9890         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
9891         gcc is newer than 2.5.
9892
9893 2000-04-06  Colin Rafferty  <colin@xemacs.org>
9894
9895         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
9896
9897         * fns.c (size_bit_vector):
9898         * alloc.c (size_vector):
9899         (make_vector_internal):
9900         (make_bit_vector_internal):
9901         (sweep_bit_vectors_1):
9902         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
9903
9904 2000-04-06  Andy Piper  <andy@xemacs.org>
9905
9906         * gmalloc.c (malloc): undo previous change.
9907         (malloc): ditto.
9908         (free): ditto.
9909         (realloc): ditto.
9910
9911 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
9912
9913         * line-number.c (buffer_line_number): Revert to former version.
9914
9915 2000-04-06  Andy Piper  <andy@xemacs.org>
9916
9917         * gmalloc.c (malloc): add error checking.
9918         (malloc): ditto.
9919         (free): ditto.
9920         (realloc): ditto.
9921
9922         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
9923         button_item_to_widget_value arg.
9924
9925         * glyphs-x.c (x_button_instantiate): add extra
9926         button_item_to_widget_value arg.
9927         (x_progress_gauge_instantiate): ditto.
9928         (x_edit_field_instantiate): ditto.
9929         (x_label_instantiate): ditto.
9930
9931         * gui-x.c (gui_items_to_widget_values_1): add extra
9932         button_item_to_widget_value arg.
9933         (button_item_to_widget_value): add extra menu_item_p arg.
9934
9935         * gui-x.h: change signature of button_item_to_widget_value.
9936
9937         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
9938         button_item_to_widget_value arg.
9939
9940 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9941
9942         * buffer.h (struct buffer): auto_save_modified should be long.
9943
9944 2000-04-05  Andy Piper  <andy@xemacs.org>
9945
9946         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
9947         type.
9948         (button_query_geometry): give a little more room so that athena
9949         buttons fit.
9950
9951 2000-04-05  Andy Piper  <andy@xemacs.org>
9952
9953         * faces.c (complex_vars_of_faces): The widget face should inherit
9954         the font of the gui-element face.
9955
9956 2000-04-04  Andy Piper  <andy@xemacs.org>
9957
9958         * glyphs-x.c (x_button_update): new function. unconditionally
9959         update a button's state when the instance is dirty.
9960         (image_instantiator_format_create_glyphs_x): add x_button_update.
9961         (x_widget_instantiate): remove old resize cruft.
9962
9963 2000-04-02  Andy Piper  <andy@xemacs.org>
9964
9965         * frame.c (change_frame_size_1): The introduction of gutters means
9966         that we need to allow 0 as a potential frame dimension.
9967
9968 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9969
9970         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
9971         image glyph if allow_cursor.
9972         (add_hscroll_rune): Don't allow cursor to border glyph.
9973         (create_text_block): Ditto.
9974
9975         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
9976         text not in buffer.
9977         (redisplay_output_layout): Call ensure_face_cachel_complete for
9978         text image glyph.
9979
9980
9981 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9982
9983         * redisplay.c (add_glyph_rune): Adding text image as text runes.
9984
9985         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
9986         not in buffer
9987
9988         * redisplay-tty.c (tty_output_display_block): Delete the routine
9989         for text image glyph
9990         * redisplay-x.c (x_output_display_block): ditto
9991         * redisplay-msw.c (mswindows_output_display_block): ditto
9992
9993 2000-02-02  Mike Alexander  <mta@arbortext.com>
9994
9995         Note: Some of these were committed by accident as part of other
9996         patches.
9997
9998         * regex.c (regex_compile): Avoid compiler warnings.
9999
10000         * ntproc.c (sys_spawnve): Avoid compiler warnings.
10001
10002         * nt.h: Declare term_ntproc correctly.
10003
10004         * nt.c: Remove incorrect declaration of get_home_directory which
10005         is declared correctly in lisp.h.
10006
10007         * keymap.c (get_keyelt): Avoid compiler warnings.
10008         (raw_lookup_key_mapper): Avoid compiler warnings.
10009
10010         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
10011
10012         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
10013
10014         * filemode.c (mode_string): Avoid compiler warnings.
10015
10016         * file-coding.c (Fcoding_system_aliasee): Add return statement to
10017         avoid warning.
10018
10019         * events-mod.h: Undef some things that winuser.h defines differently.
10020
10021         * data.c (Faset): Avoid compiler warnings.
10022
10023         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
10024
10025 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10026
10027         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
10028         Fall through to simple beep on error.
10029         Replace "extern" by real header file.
10030
10031         * linuxplay.c: Use nativesound.h
10032         (play_sound_data): Return error code. Be less verbose on error.
10033
10034         * sunplay.c: Use nativesound.h
10035         (play_sound_data): Return error code. Be less verbose on error.
10036
10037         * ntplay.c: Use nativesound.h
10038         (play_sound_data): Return fake error code
10039
10040         * sgiplay.c: Use nativesound.h
10041         (play_sound_data): Return error code
10042
10043         * hpplay.c: Use nativesound.h, partially implement
10044         new error code. Break compilation until finished.
10045         (play_sound_data): error code.
10046
10047         * nativesound.h (play_sound_file):
10048           (play_sound_data): Prototype in new header.
10049
10050 2000-03-31  Andy Piper  <andy@xemacs.org>
10051
10052         * glyphs-widget.c: (button_query_geometry): new function. Adjust
10053         for toggle and radio buttons.
10054         (image_instantiator_buttons): use it.
10055
10056 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10057
10058         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
10059         (x_update_horizontal_scrollbar_callback): Return if no mirror was
10060         found. Scrollbar event probably belonged to some old config.
10061
10062 2000-03-31  Andy Piper  <andy@xemacs.org>
10063
10064         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
10065         than 1.
10066         (initialize_widget_image_instance): default layout to
10067         LAYOUT_HORIZONTAL rather than 0.
10068         (widget_instantiate): reverse the item list at the end rather than
10069         every iteration.
10070         (layout_layout): re-code for the border text at the front of the
10071         item list rather than at the end.
10072         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
10073         provided by the user.
10074         (widget_query_geometry): comment.
10075
10076 2000-03-30  Andy Piper  <andy@xemacs.org>
10077
10078         * glyphs-widget.c (image_instantiator_layout): allow standard
10079         widget keywords in layouts.
10080
10081         * gutter.c (output_gutter): cope with nil gutter contents.
10082
10083         * frame.c (Fset_frame_properties): add gutter docs.
10084
10085 2000-03-29  Andy Piper  <andy@xemacs.org>
10086
10087         * toolbar-msw.c (TBSTYLE_FLAT): add.
10088         (mswindows_output_toolbar): minor fiddling.
10089
10090 2000-03-29  Andy Piper  <andy@xemacs.org>
10091
10092         * gutter.c (output_gutter): force gutter size recalculation if
10093         what we are trying to display won't fit.
10094         (update_gutter_geometry): new function. A per-gutter version of
10095         update_frame_gutter_geometry.
10096         (update_frame_gutter_geometry): use it.
10097         (redraw_exposed_gutter): add extra debugging output.
10098
10099 2000-03-28  Mike Alexander  <mta@arbortext.com>
10100
10101         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
10102         (pdump_file_unmap): Implement it on Windows
10103         (pdump_file_get): Save alocated handles for pdump_file_unmap
10104
10105 2000-03-28  Andy Piper  <andy@xemacs.org>
10106
10107         * gui.c (get_gui_callback): treat Quit specially.
10108
10109 2000-03-27  Andy Piper  <andy@xemacs.org>
10110
10111         * glyphs.c (image_instantiate): be careful to check in the same
10112         way we assigned.
10113
10114 2000-03-27  Didier Verna  <didier@xemacs.org>
10115
10116         * config.h.in: define the proper SMART_INCLUDE macro.
10117         handle renaming of `foo_h_path' to `foo_h_file'.
10118
10119         * database.c: ditto.
10120
10121         * emacs.c: ditto.
10122
10123         * linuxplay.c: ditto.
10124
10125         * terminfo.c: ditto.
10126
10127         * tooltalk.h: ditto.
10128
10129 2000-03-27  Andy Piper  <andy@xemacs.org>
10130
10131         * glyphs-msw.c (mswindows_update_widget): make sure the widget
10132         gets updated whenever the face might have changed.
10133
10134 2000-03-26  Mike Alexander  <mta@arbortext.com>
10135
10136         * dumper.c (pdump_resource_free): Fix the comment.
10137
10138 2000-03-21  Olivier Galibert  <galibert@pobox.com>
10139
10140         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
10141
10142 2000-03-22  Mike Alexander  <mta@arbortext.com>
10143
10144         * dumper.c: Include Windows headers on Windows
10145         (pdump_resource_free): Add a body to the function
10146         (pdump_load): exe_name -> exe_path and add some comments.
10147
10148 2000-03-25  Mike Alexander  <mta@arbortext.com>
10149
10150         * gui.c (copy_gui_item_tree): Return a value in all cases
10151
10152 2000-03-21  Didier Verna  <didier@xemacs.org>
10153
10154         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
10155         lwlib/config.h.in.
10156         (SMART_INCLUDE): new macro.
10157         (POSTGRES_INCLUDE): new macro to include postgresql headers from
10158         the proper location.
10159
10160         * postgresql.c: use it.
10161
10162         * inline.c: ditto.
10163
10164 2000-03-24  Andy Piper  <andy@xemacs.org>
10165
10166         * gutter.c (redraw_exposed_gutters): must be "in display" when we
10167         do this.
10168
10169 2000-03-24  Andy Piper  <andy@xemacs.org>
10170
10171         * redisplay-output.c (compare_runes): use image_instance_changed
10172         to detect changes. Do not depend on glyphs_changed, only depend on
10173         dirtiness.
10174          (redisplay_output_layout): add debug messages.
10175         (compare_runes): ditto.
10176
10177         * glyphs.h: declare new functions.
10178         (struct Lisp_Image_Instance): remove percent and associated
10179         accessors.
10180
10181         * gui.h: declare new copying functions.
10182
10183         * gui.c (copy_gui_item_tree): new function.
10184         (copy_gui_item): new function.
10185         (gui_item_id_hash): revert to standard hash.
10186         (gui_item_hash): ditto.
10187         (gui_item_hash_internal): deleted.
10188         (mark_gui_item): mark value.
10189         (gui_item_add_keyval_pair): add value.
10190         (gui_item_init): ditto.
10191         (gui_add_item_keywords_to_plist): ditto.
10192         (gui_item_equal): ditto.
10193         (syms_of_gui): add Q_value.
10194
10195         * glyphs-x.c (x_progress_gauge_update): use pending items and
10196         value for setting the state.
10197         (x_update_widget): don't set items from pending here.
10198
10199         * glyphs-widget.c (update_widget): update items here.
10200         (progress_gauge_set_property): use items for storing value. Put
10201         new value in pending items.
10202
10203         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
10204         items for new value. Convert percent -> value.
10205         (mswindows_tab_control_update): don't update items here.
10206
10207         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
10208         (update_subwindow): ditto.
10209         (image_instance_changed): new function. Compare hash values and
10210         past and present widget items.
10211         (image_instantiate): We more careful about where we instantiate
10212         things.
10213         (image_instantiate): add error checking.
10214
10215         * gutter.c (syms_of_gutter): use -hook.
10216
10217 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
10218
10219         * console-tty.c (Fset_console_tty_input_coding_system): Use
10220         Qkeyboard.
10221         (Fset_console_tty_output_coding_system): Use Qterminal.
10222         (tty_init_console): Use Qkeyboard and Qterminal.
10223
10224 2000-03-21  Ben Wing  <ben@xemacs.org>
10225
10226         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
10227         From Mike Alexander <mta@arbortext.com>.
10228
10229 2000-03-21  Ben Wing  <ben@xemacs.org>
10230
10231         * event-msw.c (mswindows_need_event): Horrible kludge to fix
10232         process brokenness.  Proper implementation to come.
10233         * callproc.c:
10234         Rename call-process-internal to old-call-process-internal.
10235         New impl. in process.el.
10236
10237 2000-03-21  Martin Buchholz  <martin@xemacs.org>
10238
10239         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
10240
10241 2000-03-20  Andy Piper  <andy@xemacs.org>
10242
10243         * glyphs.c (full_list_hash): make hashes of the same elements in
10244         different orders return different values.
10245
10246 2000-03-20  Martin Buchholz <martin@xemacs.org>
10247
10248         * XEmacs 21.2.32 is released.
10249
10250 2000-03-20  Martin Buchholz  <martin@xemacs.org>
10251
10252         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
10253         (DFC_MALLOC_USE_CONVERTED_DATA):
10254         Add aliasing-safe casts to allow use with char* or unsigned char*
10255         lvalues.
10256
10257         * eldap.c (Fldap_open):
10258         (Fldap_search_basic):
10259         (Fldap_add):
10260         (Fldap_modify):
10261         Make C++-compilable.
10262         Make sure GCPRO'ed variables are initialized.
10263         Use temp variables to avoid repeated calls to Flength.
10264
10265 2000-03-16  Martin Buchholz  <martin@xemacs.org>
10266
10267         * sysfile.h:
10268         Make sure PATH_MAX is always defined.
10269         Include limits.h for PATH_MAX.
10270         Deprecate use of MAXPATHLEN.
10271
10272 2000-03-10  Martin Buchholz  <martin@xemacs.org>
10273
10274         * emacs.c: Add reinit_vars_of_fileio.
10275         * symsinit.h: Add reinit_vars_of_fileio.
10276         * fileio.c (reinit_vars_of_fileio): New.
10277         * fileio.c (Fmake_temp_name):
10278         Initialize temp_name random number from microseconds to make
10279         collisions even less likely.  Initialize always at process startup
10280         time.  (make-temp-name) used to return the same file name twice in
10281         a row when PDUMP.
10282         Random stylistic fiddling.
10283         Comment fixes.
10284
10285 2000-03-20  Andy Piper  <andy@xemacs.org>
10286
10287         * glyphs.c (image_instantiate): allow text glyphs to be
10288         instantiated in the minibuffer window.
10289
10290 2000-03-19  Andy Piper  <andy@xemacs.org>
10291
10292         * glyphs.c (image_instance_hash): be careful about which items we
10293         hash on.
10294
10295         * glyphs-widget.c (tab_control_set_property): record into pending
10296         items rather than the actual items.
10297
10298         * glyphs-x.c (x_update_widget): use pending items to update with.
10299
10300         * glyphs-msw.c (mswindows_tab_control_update): use pending items
10301         to update with.
10302
10303         * glyphs.c (mark_image_instance): mark pending items.
10304
10305         * window.c (Fset_window_configuration): record the buffer.
10306         (Fselect_window): totally revert previous change which breaks many
10307         things.
10308
10309 2000-03-18  Andy Piper  <andy@xemacs.org>
10310
10311         * glyphs-msw.c (mswindows_tab_control_update): force selected
10312         item.
10313
10314         * glyphs.c (image_instantiate): don't allow the minibuffer as a
10315         window domain cache, otherwise we get inconsistencies at
10316         startup. There is something fishy at startup which can lead to the
10317         minibuffer being the selected window when the gutter content is
10318         instantiated.
10319
10320         * gui.c (parse_gui_item_tree_list): add probably unnecessary
10321         gcpros.
10322         (parse_gui_item_tree_children): ditto.
10323         (parse_gui_item_tree_item): ditto.
10324
10325         * glyphs.c (Fupdate_widget_instances): return something.
10326
10327 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
10328
10329         * window.c (Fselect_window): Undo 2000-03-17 change.
10330
10331 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
10332
10333         * postgresql.c (Fpq_setenv): Remove this turkey when linking
10334         against v7.0 libraries.  Insta-coredump city until the postgres
10335         folks fix it.
10336
10337 2000-03-17  Andy Piper  <andy@xemacs.org>
10338
10339         * faces.c (complex_vars_of_faces): don't give the widget face an
10340         inherited background pixmap.
10341
10342         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
10343         selected item.
10344
10345         * event-stream.c (Fdispatch_non_command_events): return something.
10346
10347         * gutter.c (output_gutter): use widget face.
10348         (clear_gutter): ditto.
10349
10350         * NEWS: adjust again.
10351
10352         * window.c (Fselect_window): make sure this runs to completion to
10353         avoid oddities with Fset_window_configuration.
10354         (Fcurrent_window_configuration): in general do not save the
10355         minibuffer as the selected window.
10356
10357         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
10358
10359 2000-03-16  Olivier Galibert  <galibert@pobox.com>
10360
10361         * emacs.c (Frunning_temacs_p): Revert previous patch.
10362         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
10363
10364 2000-03-16  Andy Piper  <andy@xemacs.org>
10365
10366         * glyphs-x.c (x_tab_control_update): if no widget values then
10367         return.
10368
10369         * NEWS: update for new features.
10370
10371         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
10372         synthetic event to the native system.
10373         (reinit_vars_of_event_Xt): set force_event_pending to
10374         emacs_Xt_force_event_pending.
10375
10376         * events.h (struct event_stream): add force_event_pending.
10377
10378         * specifier.c (recompute_one_cached_specifier_in_window): add
10379         comment.
10380
10381         * redisplay.c (redisplay_frame): don't call
10382         update_frame_subwindows. Reset subwindow cachels when
10383         subwindows_changed, removing this was an optimization too far.
10384
10385         * redisplay-output.c (compare_runes): reorganize so that we catch
10386         glyph changes when we want them. Set optimize_output when this
10387         would help layouts.
10388         (redisplay_output_layout): remove frame_really_changed, use
10389         optimize_output instead.
10390
10391         * redisplay-msw.c (mswindows_output_display_block): reset
10392         optimize_output after outputting a glyph.
10393         * redisplay-x.c (x_output_display_block): ditto.
10394         * redisplay-tty.c (tty_output_display_block): ditto.
10395
10396         * gutter.c: (specifier_vars_of_gutter): use new spec changed
10397         functions.
10398         (gutter_specs_changed): do specific gutter positions.
10399         (top_gutter_specs_changed): new function. Only update the
10400         specified gutter specs.
10401         (bottom_gutter_specs_changed): ditto.
10402         (left_gutter_specs_changed): ditto.
10403         (right_gutter_specs_changed): ditto.
10404
10405         * gui.c (gui_item_hash_internal): new function, does a real hash.
10406         (gui_item_id_hash): use it.
10407         (gui_item_hash): hash the eval'ed gui_item.
10408
10409         * gui-x.c (popup_selection_callback): send an eval event to call
10410         Fupdate_widget_instances.
10411
10412         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
10413         to call Fupdate_widget_instances.
10414
10415         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
10416         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
10417
10418         * glyphs.c: (update_frame_subwindows): deleted.
10419         (Fupdate_widget_instances): new function for updating the dirty
10420         state of widgets that might have changed.
10421         (syms_of_glyphs): add Qupdate_widget_instances.
10422         (full_list_hash): hash a list completely.
10423         (image_instance_hash): use it for items and properties.
10424
10425         * frame-msw.c (mswindows_size_frame_internal): remove unused
10426         variable.
10427
10428         * faces.h (struct face_cachel): fix comment.
10429
10430         * event-stream.c (Fdispatch_non_command_events): new
10431         function. Process non-command events, forcing an event cycle
10432         beforehand.
10433         (syms_of_event_stream): declare.
10434         (event_stream_force_event_pending): new function. Force an event
10435         on the native event queue so that an event cycle will occur next
10436         time we check.
10437
10438         * event-msw.c:
10439         (struct ntpipe_shove_stream):
10440         (mswindows_enqueue_dispatch_event):
10441         (mswindows_dequeue_dispatch_event):
10442         (mswindows_cancel_dispatch_event):
10443         (mswindows_pump_outstanding_events):
10444         (mswindows_drain_windows_queue):
10445         (mswindows_handle_paint):
10446         (mswindows_wnd_proc):
10447         (mswindows_key_to_emacs_keysym):
10448         (get_process_input_waitable):
10449         (emacs_mswindows_delete_stream_pair): re-indent file.
10450         (mswindows_need_event): do not process further fds if the windows
10451         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
10452         fixes the 100% cpu problem.
10453         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
10454
10455 2000-03-15  Olivier Galibert  <galibert@pobox.com>
10456
10457         * alloc.h: New.
10458         * dumper.h: New.
10459         * dumper.c: New.
10460
10461         * emacs.c: Moved dump file searching to dumper.c.
10462         (Frunning_temacs_p): Fixed.
10463
10464         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
10465         last_lrecord_type_index_assigned.
10466
10467 2000-02-20  Olivier Galibert  <galibert@pobox.com>
10468
10469         * symsinit.h: Added reinit parameter to init_console_stream
10470         declaration.
10471
10472         * lisp.h: Added file parameter to pdump_load declaration.
10473
10474         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
10475         support.  Added dump file searching.
10476
10477         * config.h.in: Added EMACS_PROGNAME.
10478
10479         * console-stream.c (init_console_stream): Fix reinitialisation
10480         when running from temacs.
10481
10482         * alloc.c (pdump): Add id support.
10483         (pdump_load): Add file parameter and signature/id support.
10484
10485         * Makefile.in.in: Add full pdump support.
10486
10487 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
10488
10489         * postgresql.c: Update documentation to reflect latest code
10490         status.
10491         (print_result): Show tuple counts in printed representation when
10492         appropriate.
10493         (Fpq_put_nbytes): MULE-ize.
10494         (Fpq_get_line_async): Ditto.
10495
10496 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10497
10498         * postgresql.c (Fpq_lo_import): Fix return value.
10499         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
10500
10501 2000-03-13  Ben Wing  <ben@xemacs.org>
10502
10503         * alloc.c (pdump_load):
10504         Fix compile warning under mswin.
10505
10506 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10507
10508         * postgresql.c: Mule-ization, bug fixes.
10509         Use PG_CODING to encapsulate coding system name changes.
10510         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
10511         (pg-coding-system): Create.
10512
10513         (Fpq_conn_defaults): Mule-ize.
10514         (Fpq_connectdb): Mule-ize & bug fix.
10515         (Fpq_connect_start): Mule-ize.
10516         (Fpq_set_client_encoding): Mule-ize.
10517         (Fpq_finish): Document `DEAD' connection status.
10518         (Fpq_clear): Ditto.
10519         (Fpq_pgconn): Mule-ize.
10520         (Fpq_exec): Mule-ize & bug fix.
10521         (Fpq_send_query): Ditto.
10522         (Fpq_get_result): Ditto.
10523         (Fpq_res_status): Mule-ize.
10524         (Fpq_result_error_message): Mule-ize.
10525         (Fpq_ntuples): fix comments.
10526         (Fpq_fname): Mule-ize.
10527         (Fpq_fnumber): Mule-ize.
10528         (Fpq_ftype): fix comments.
10529         (Fpq_get_value): Mule-ize.
10530         (Fpq_cmd_status): Ditto.
10531         (Fpq_cmd_tuples): Ditto.
10532         (Fpq_oid_value): Ditto.
10533         (Fpq_notifies): Ditto.
10534         (Fpq_lo_import): Ditto.
10535         (Fpq_lo_export): Ditto.
10536         (Fpq_get_line): Ditto.
10537         (Fpq_put_line): Mule-ize and bug fix.
10538         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
10539
10540 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10541
10542         * postgresql.c (vars_of_postgresql): Mule-ize.
10543         (Fpq_conn_defaults): Ditto.
10544
10545 2000-03-12  Ben Wing  <ben@xemacs.org>
10546
10547         * alloc.c (Fmake_byte_code):
10548         * alloc.c (debug_string_purity_print):
10549         * alloc.c (pdump_backtrace):
10550         * alloc.c (pdump_get_indirect_count):
10551         * alloc.c (pdump_register_sub):
10552         * alloc.c (pdump_register_object):
10553         * alloc.c (pdump_register_struct):
10554         * alloc.c (pdump_dump_data):
10555         * alloc.c (pdump_reloc_one):
10556         Minor cleanups.
10557
10558         * console-msw.c:
10559         * console-msw.c (GetConsoleHwnd):
10560         * console-msw.c (msw_hide_console):
10561         * console-msw.c (msw_show_console):
10562         * console-msw.c (msw_ensure_console_buffered):
10563         * console-msw.c (msw_output_console_string):
10564         * console-msw.c (console_type_create_mswindows):
10565
10566         a) Added functions to manipulate the console window for use with
10567         shell support.
10568
10569         b) Added support for writing text to the console, which is now
10570         used under Windows when xemacs is not being run non-interactively,
10571         to write text that would otherwise be destined for stdout because
10572         under these circumstances, text written to stdout tends to
10573         disappear and not be seen.
10574
10575         * console-msw.h:
10576         * event-Xt.c:
10577         * event-Xt.c (x_event_to_emacs_event):
10578         * event-Xt.c (describe_event_window):
10579         * events-mod.h (XEMACS_MOD_CONTROL):
10580         * events.c:
10581         * events.c (Fmake_event):
10582         * events.c (character_to_event):
10583         * events.c (event_to_character):
10584         * events.c (format_event_object):
10585         * events.c (Fevent_modifiers):
10586         * events.h:
10587         * events.h (struct key_data):
10588         * events.h (struct button_data):
10589         * events.h (struct misc_user_data):
10590         * frame-x.c (Fcde_start_drag_internal):
10591         * frame-x.c (Foffix_start_drag_internal):
10592         * gpmevent.c (Freceive_gpm_event):
10593         * keymap.c:
10594         * keymap.c (bucky_sym_to_bucky_bit):
10595         * keymap.c (control_meta_superify):
10596         * keymap.c (make_key_description):
10597         * keymap.c (keymap_lookup_directly):
10598         * keymap.c (create_bucky_submap):
10599         * keymap.c (keymap_store):
10600         * keymap.c (define_key_check_and_coerce_keysym):
10601         * keymap.c (define_key_parser):
10602         * keymap.c (define_key_alternate_name):
10603         * keymap.c (Fdefine_key):
10604         * keymap.c (raw_lookup_key_mapper):
10605         * keymap.c (struct map_keymap_unsorted_closure):
10606         * keymap.c (map_keymap_unsorted_mapper):
10607         * keymap.c (map_keymap_sort_predicate):
10608         * keymap.c (map_keymap_sorted):
10609         * keymap.c (accessible_keymaps_mapper_1):
10610         * keymap.c (where_is_recursive_mapper):
10611         * keymap.c (describe_map_mapper):
10612         * keymap.c (describe_map_sort_predicate):
10613         * keymap.c (describe_map):
10614         * keymap.c (complex_vars_of_keymap):
10615         And a number of other files, the key modifier preprocessor
10616         constants that xemacs uses have names that conflict with constants
10617         defined under MS Windows for other purposes, so they were renamed
10618         to begin with the prefix XEMACS_. The variables that hold such
10619         modifiers were changed to consistently be of type int to fix
10620         various compile warnings.
10621
10622         * console.c (complex_vars_of_console):
10623         * device.c:
10624         * device-msw.c:
10625         * device-msw.c (mswindows_finish_init_device):
10626         * device-msw.c (msw_get_workspace_coords):
10627         * device-msw.c (mswindows_device_system_metrics):
10628         and various other files, added support for a new
10629         device property called offset-workspace which returns the position
10630         of the upper left corner of the workspace area and goes along with
10631         the existing size-workspace property.
10632
10633         * dialog-msw.c:
10634         * dialog-msw.c (push_bufbyte_string_as_unicode):
10635         * dialog-msw.c (mswindows_popup_dialog_box):
10636         Added support for XEmacs-style accelerator specifications in
10637         button text.  Note: I didn't add support for this under X Windows,
10638         and somebody needs to do this.
10639
10640         * dialog.c:
10641         * dialog.c (Fpopup_dialog_box):
10642         Documented the support for accelerators that was just mentioned.
10643
10644         editfns.c (get_home_directory): Changed behavior under Windows
10645         when HOME not defined; former behavior was irretrievably broken.
10646
10647         * emacs.c:
10648         * emacs.c (main_1):
10649         * emacs.c (main):
10650         * minibuf.c (clear_echo_area_internal):
10651         * minibuf.c (echo_area_append):
10652         * print.c:
10653         * print.c (std_handle_out_external):
10654         * print.c (std_handle_out_va):
10655         * print.c (fatal):
10656         * print.c (write_string_to_stdio_stream):
10657         * print.c (output_string):
10658         * print.c (debug_print):
10659         * print.c (debug_backtrace):
10660         * print.c (debug_short_backtrace):
10661         Cleaned up the code that prints text to stdout so that this can be
10662         changed to output into a console window instead under MS Windows,
10663         as described above.
10664
10665         * eval.c:
10666         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
10667         * eval.c (internal_catch):
10668         * eval.c (unwind_to_catch):
10669         * eval.c (throw_or_bomb_out):
10670         * eval.c (condition_case_1):
10671         * eval.c (signal_1):
10672         * eval.c (check_error_state_sanity):
10673         * eval.c (call_with_suspended_errors_1):
10674         * eval.c (call_with_suspended_errors):
10675         * eval.c (reinit_vars_of_eval):
10676         Added code to catch throw loops and check for a pesky bug that may
10677         be gone now.
10678
10679         * event-msw.c:
10680         * event-msw.c (key_needs_default_processing_p):
10681         * event-msw.c (mswindows_wnd_proc):
10682         * event-msw.c (mswindows_modifier_state):
10683         * event-msw.c (emacs_mswindows_quit_p):
10684         * event-msw.c (vars_of_event_mswindows):
10685         a) Added support for using the alt key to select menu items as is
10686         standard under MS Windows.  This is controlled using the variable
10687         menu-accelerator-enabled, just like under X Windows.  There is an
10688         option on the options menu to turn this support on.  I really
10689         think that it should be on by default under Windows, but I'm not
10690         going to make this change yet.
10691
10692         b)  Added support for dynamic display size changes under Windows.
10693
10694         * event-stream.c:
10695         * event-stream.c (maybe_echo_keys):
10696         * event-stream.c (Fnext_event):
10697         * event-stream.c (command_builder_find_leaf):
10698         * event-stream.c (lookup_command_event):
10699         * event-stream.c (execute_command_event):
10700         * event-stream.c (pre_command_hook):
10701         * event-stream.c (post_command_hook):
10702         * event-stream.c (syms_of_event_stream):
10703         * event-stream.c (vars_of_event_stream):
10704         * event-stream.c (complex_vars_of_event_stream):
10705         * events.h (struct command_builder):
10706
10707         a) Tried to clean up a little bit the horribly written x-specific
10708         accelerator code that crept into this file.  I moved this code
10709         into menubar-x.c where it belongs. I also needed to move the
10710         command builder structure into the file events.h because it is
10711         accessed directly by this accelerator code.  What I didn't do, but
10712         which should be done at some point, is to properly abstract this
10713         code using device methods instead of the kludgy way that it
10714         currently hooks into the event code.
10715
10716         b) Added the lisp variables this-command-properties and
10717         last-command- properties, which should be used to synchronize two
10718         adjacent commands in preference to playing games with the variable
10719         this-command, which is typically what happens.
10720
10721         c) Added some slightly nasty code to hook into the lisp support
10722         for shifted- motion-key selection.  This is actually necessary for
10723         somewhat complicated reasons, which are described in
10724         simple.el. (NB: I think the proper thing would be to have the code
10725         that calls the pre and post command hooks also call out to generic
10726         lisp functions in simple.el, where all built-in stuff could be
10727         added.  I will think about this more.)
10728
10729         * event-unixoid.c (poll_fds_for_input):
10730         * lread.c (readchar):
10731         * redisplay-tty.c (tty_clear_frame):
10732         * redisplay-x.c (x_get_gc):
10733         * signal.c (interrupt_signal):
10734         And a whole bunch of other files: fixed up places that printed
10735         directly to stderr to instead call the function stderr_out so that
10736         the changes I made under Windows work correctly.
10737
10738         * filemode.c (mode_string):
10739         Warning fixes.
10740
10741         * frame-msw.c:
10742         * frame-msw.c (mswindows_size_frame_internal):
10743         Fixed the computation of frame size and position to keep the frame
10744         within the workspace area, rather than within the physical
10745         dimensions of the screen, so that the frame doesn't overlap window
10746         manager decorations, such as the start menu and toolbar, typically
10747         at the bottom of the screen.
10748
10749         * frame.c (vars_of_frame):
10750         Changed the default frame title format under MS Windows to consist
10751         of buffername-XEmacs, which is standard under MS Windows.  I think
10752         it might be a good idea to change this everywhere because I think
10753         it is superior to the current frame title format, but this is the
10754         kind of change that is likely to cause some people to get annoyed,
10755         so I'm not making it.
10756
10757         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
10758
10759         * gui-msw.c (mswindows_handle_gui_wm_command):
10760         Fixed compile warnings.
10761
10762         * gui-x.c:
10763         * gui-x.c (strdup_and_add_accel):
10764         * gui-x.c (button_item_to_widget_value):
10765         * gui-x.h:
10766         Added code to automatically put an accelerator onto the beginning
10767         of menu items that don't have one as is now the standard, and is
10768         described more later.  Also fixed things so that the menu item
10769         name can be an evaluated expression, again a new standard.
10770
10771         * gui.c:
10772         * gui.c (gui_item_add_keyval_pair):
10773         * gui.c (make_gui_item_from_keywords_internal):
10774         * gui.c (gui_add_item_keywords_to_plist):
10775         * gui.c (gui_item_accelerator):
10776         * gui.c (gui_name_accelerator):
10777         * gui.c (gui_item_included_p):
10778         * gui.c (gui_item_display_flush_left):
10779         * gui.c (gui_item_display_flush_right):
10780         * gui.c (parse_gui_item_tree_item):
10781         * gui.c (parse_gui_item_tree_children):
10782         * gui.c (parse_gui_item_tree_list):
10783         Mule-ized.  Cleanup.  GCPRO addition.
10784
10785         * line-number.c (buffer_line_number):
10786         * lisp.h:
10787         * lisp.h (EMACS_INT_MAX):
10788         Added the manifest constant EMACS_INT_MIN corresponding to the
10789         existing constant EMACS_INT_MAX.  This is partially to fix compile
10790         warnings under Windows, and partly for cleanliness.
10791
10792         * menubar-msw.c:
10793         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
10794         * menubar-msw.c (msw_translate_menu_or_dialog_item):
10795         * menubar-msw.c (displayable_menu_item):
10796         * menubar-msw.c (populate_menu_add_item):
10797         * menubar-msw.c (populate_or_checksum_helper):
10798         * menubar-msw.c (populate_menu):
10799         * menubar-msw.c (update_frame_menubar_maybe):
10800         * menubar-msw.c (prune_menubar):
10801         * menubar-msw.c (msw_char_is_accelerator):
10802         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
10803         * menubar-msw.c (mswindows_handle_wm_command):
10804         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
10805         * menubar-msw.c (mswindows_handle_wm_initmenu):
10806         * menubar-msw.c (mswindows_update_frame_menubars):
10807         * menubar-msw.c (mswindows_free_frame_menubars):
10808         * menubar-msw.c (mswindows_popup_menu):
10809         Fixed a bug in handling accelerators where an extra character
10810         would be displayed in the menu item.  Also generalized the
10811         function displayable_menu_item because it is now used by the
10812         dialog box code as well.  And finally, added code in the functions
10813         that create the menubar to extract a list of accelerators for the
10814         top level menubar, which is used in the event code to determine
10815         whether a particular alt-key combination should be used to invoke
10816         a menu item, or should be passed through to access the standard
10817         XEmacs keymap binding for this key combination.
10818
10819         Much needed GCPROing.
10820
10821         * menubar-x.c:
10822         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10823         * menubar-x.c (menu_item_descriptor_to_widget_value):
10824         * menubar-x.c (restore_in_menu_callback):
10825         * menubar-x.c (x_popup_menu):
10826         * menubar-x.c (menu_move_up):
10827         * menubar-x.c (menu_move_down):
10828         * menubar-x.c (menu_move_left):
10829         * menubar-x.c (menu_move_right):
10830         * menubar-x.c (menu_select_item):
10831         * menubar-x.c (command_builder_operate_menu_accelerator):
10832         * menubar-x.c (menu_accelerator_junk_on_error):
10833         * menubar-x.c (command_builder_find_menu_accelerator):
10834         * menubar-x.c (Faccelerate_menu):
10835         * menubar.h:
10836         Moved a whole bunch of code here that was previously in
10837         event-stream.c as described above.  There is also code connected
10838         to the new standard of adding an accelerator to the beginning of
10839         menu items that don't have one as described above and below.
10840
10841         * menubar.c:
10842         * menubar.c (menu_parse_submenu_keywords):
10843         * menubar.c (Fmenu_find_real_submenu):
10844         * menubar.c (Fnormalize_menu_item_name):
10845         * menubar.c (syms_of_menubar):
10846         * menubar.c (vars_of_menubar):
10847         * menubar.c (complex_vars_of_menubar):
10848
10849         a) Cleaned up a bunch of documentation and improved it.
10850
10851         b) XEmacs now automatically adds an accelerator onto the beginning
10852         of any menu items that don't have one.  I did this because there
10853         will inevitably be some menu items on the main menubar that don't
10854         have accelerators on them because the package that adds that
10855         particular menu item hasn't yet been fixed up to have accelerators
10856         in them and it looked rather strange to have some items with and
10857         some items without accelerators, especially since even in items
10858         without accelerators, you can, at least under windows, still
10859         access the item through an accelerator corresponding to the first
10860         character in the item's name.  If people don't like this behavior,
10861         I can add a variable to turn it off optionally, but I'm not sure
10862         this is a good idea because we really do need to have accelerators
10863         on all of the menu items, and if a package doesn't like the
10864         accelerators being put on the first character, then it should put
10865         the accelerators where they belong.
10866
10867         c) I made a behavior change, which is that the descriptor that
10868         specifies the text of the menu item, which formerly was just a
10869         string, can now also be an evaluated expression.  This makes this
10870         descriptor parallel with all of the others, which could also be
10871         evaluated expressions.  This also obviates the need for the
10872         keyword :label, which was previously listed in the documentation
10873         as unimplemented, and which was for the same purpose.
10874
10875         d) GCPROing.
10876
10877         * ntproc.c:
10878         * ntproc.c (new_child):
10879         * ntproc.c (sys_spawnve):
10880         * ntproc.c (find_child_console):
10881         * ntproc.c (sys_kill):
10882         Fixed compile warnings.  By the way, this file should really go
10883         away entirely, and this will happen as soon as Kirill makes his
10884         final round of process cleanups, which affect the function
10885         call-process.
10886
10887         * process-nt.c:
10888         * process-nt.c (struct nt_process_data):
10889         * process-nt.c (find_process_from_pid):
10890         * process-nt.c (send_signal_the_nt_way):
10891         * process-nt.c (enable_child_signals):
10892         * process-nt.c (find_child_console):
10893         * process-nt.c (send_signal_the_95_way):
10894         * process-nt.c (nt_finalize_process_data):
10895         * process-nt.c (ensure_console_window_exists):
10896         * process-nt.c (nt_create_process):
10897         * process-nt.c (nt_kill_child_process):
10898         * process-nt.c (nt_kill_process_by_pid):
10899         * process-nt.c (nt_open_network_stream):
10900         * process-nt.c (vars_of_process_nt):
10901         Copied over code from Emacs 20.5 to correctly send signals to sub-
10902         processes under Windows 95.  Also added code to automatically
10903         create and hide console window when a sub-process is created under
10904         Windows 95, which obviates the need for the separate runemacs.exe
10905         executable, and finally implemented some variables that were
10906         implemented in Emacs 20.5, but previously not in XEmacs.  These
10907         include mswindows- start-process-share-console and
10908         mswindows-start-process-inherit-error-mode. (Both of these only
10909         apply to Windows 95.)
10910
10911         * regex.c (regex_compile): Fixed a compile warning.
10912
10913         * select-msw.c:
10914         * select-msw.c (mswindows_own_selection):
10915         * select-msw.c (mswindows_get_foreign_selection):
10916         * select-msw.c (mswindows_disown_selection):
10917         * select-msw.c (console_type_create_select_mswindows):
10918         * select-msw.c (syms_of_select_mswindows):
10919         Cleaned up the file and implemented the device method
10920         selection_exists_p, which had accidentally been left out.  Also
10921         removed four lisp functions that were remnants from before the
10922         time when the selection code was properly device abstracted.
10923         These functions are no longer needed because there are generic
10924         equivalents, and because they were added recently and don't exist
10925         in FSF Emacs, I don't think there's any problem with just deleting
10926         them.
10927
10928         * sysdep.c:
10929         * sysdep.c (sys_subshell):
10930         Fixed a compile warning, although in this case there's probably
10931         something wrong with this code, and it ought to be looked into
10932         more thoroughly by somebody who understands it.
10933
10934         * window.c:
10935         * window.c (Fwindow_text_area_height):
10936         * window.c (Fwindow_width):
10937         * window.c (Fwindow_full_width):
10938         * window.c (Fwindow_pixel_width):
10939         * window.c (debug_print_window):
10940         * window.c (syms_of_window):
10941         Added functions window-text-area-height and window-full-width,
10942         which are functions for returning various width and height
10943         characteristics of a window. (One of these functions is necessary
10944         for making the file dialog box work correctly, and the other one
10945         was added for completeness.)  Also added a table to the
10946         documentation for window-height which describes the entire scheme
10947         for accessing width and height characteristics of a window.
10948
10949 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10950
10951         * nt.c (fstat): Added a comment for another problem with
10952         non-encapsulated [f]stat(), reported by Adrian Aichner
10953         <aichner@ecf.teradyne.com>.
10954
10955 2000-03-11  Andy Piper  <andy@xemacs.org>
10956
10957         * window.c (make_dummy_parent): initialize subwindow instance
10958         cache.
10959         (Fset_window_configuration): zero extent_modiff.
10960
10961 2000-03-10  Andy Piper  <andy@xemacs.org>
10962
10963         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
10964         more changes can be triggered.
10965         (Fredisplay_frame): ditto.
10966         (Fredraw_device): ditto.
10967         (Fredisplay_device): ditto.
10968         (redisplay_frame): make non-static.
10969         (redisplay_frame): call update_frame_gutter_geometry outside of
10970         display proper.
10971
10972         * gutter.h: declare update_frame_gutter_geometry.
10973
10974         * redisplay.h: declare redisplay_frame.
10975
10976         * gutter.c (update_frame_gutter_geometry): move geometry changes
10977         in update_frame_gutters here. Geometry changes can only occur
10978         outside of redisplay.
10979         (update_frame_gutters): remove geometry change code.
10980         (Fredisplay_gutter_area): make sure that we are in display when we
10981         update and that we have flushed any size changes.
10982
10983 2000-03-11  Andy Piper  <andy@xemacs.org>
10984
10985         * alloc.c (pdump_dump_data): remove i & count shadows.
10986
10987 2000-02-27  Mike Alexander  <mta@arbortext.com>
10988
10989         * sysdep.h: Declare pdump_read_file
10990
10991         * sysdep.c (pdump_read_file): New function
10992
10993         * alloc.c (pdump_load): Call pdump_read_file to get the portable
10994         dump data
10995
10996 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10997
10998         * lrecord.h: add `lrecord_type_pgsetenv'.
10999
11000 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
11001
11002         * symsinit.h: declare (vars|syms)_of* functions.
11003         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
11004
11005 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
11006
11007         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
11008
11009         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
11010         GCCs.
11011
11012         * emacs.c (main_1): Call postgres initialization code.
11013
11014         * postgresql.h: New file.  PostgreSQL RDBMS support.
11015         * postgresql.c: New file.
11016
11017 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
11018
11019         * redisplay-output.c (redisplay_output_display_block): Disable
11020         redundant code.
11021
11022 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11023
11024         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
11025         (Fcanna_henkan_next): Ditto.
11026         (Fcanna_bunsetu_henkou): Ditto.
11027         (Fcanna_henkan_kakutei): Ditto.
11028         (Fcanna_henkan_end): Ditto.
11029         (Fcanna_henkan_quit): Ditto.
11030         (Fcanna_henkan_next): Set retun value correctly.
11031         (c2mu): Use unsigned char instead of signed char.
11032
11033 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11034
11035         * emacs.c (main_1): Always call syms_of_gui.
11036         * inline.c: include gui.h
11037
11038 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11039
11040         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
11041         converted to Lisp_Object.
11042         (Qtop_bottom): New variable.
11043         (syms_of_redisplay): Initialize it.
11044         * redisplay.h (Vvisible_bell): Ditto.
11045         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
11046         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
11047         only flash top and bottom.
11048
11049 2000-03-08  Andy Piper  <andy@xemacs.org>
11050
11051         * buffer.c (Frename_buffer): record new buffer name the right way.
11052
11053 2000-03-08  Andy Piper  <andy@xemacs.org>
11054
11055         * glyphs.c (update_subwindow): increase hash depth so that widget
11056         items get picked up properly.
11057
11058         * redisplay-output.c (compare_runes): increase hash depth so that
11059         widget items get picked up properly.
11060
11061 2000-03-08  Andy Piper  <andy@xemacs.org>
11062
11063         * gutter.c (output_gutter): add some debug.
11064
11065         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
11066         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
11067         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
11068
11069         * redisplay-output.c (compare_runes): use display_hash to
11070         determine if glyphs really are not the same.
11071
11072         * glyphs.c (update_subwindow): check display_hash to see if
11073         anything really needs to be updated. If not then do
11074         nothing. Record the display_hash after updating.
11075         (image_instance_equal): compare the image_instance face also.
11076
11077 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
11078
11079         * redisplay.h: Fix comment style.
11080
11081 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11082
11083         * consle-msw.h (struct mswindows_frame):
11084         Added new member paint_pending to indicate whether a WM_PAINT
11085         magic event has been queued for this frame.
11086
11087         * event-msw.c (mswindows_drain_windows_queue):
11088         Don't queue a WM_PAINT magic event if one is already queued.
11089         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
11090
11091         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
11092
11093 2000-03-07  Didier Verna  <didier@xemacs.org>
11094
11095         * dired.c: #include `regex.h' after `sysfile.h'.
11096
11097 2000-03-06  Martin Buchholz  <martin@xemacs.org>
11098
11099         * sound.c (init_nas_sound): Fix compiler warning.
11100
11101         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
11102         (FREE_STRUCT_P):
11103         (MARK_STRUCT_AS_FREE):
11104         (MARK_STRUCT_AS_NOT_FREE):
11105         Make `gcc -fstrict-aliasing' work properly.
11106
11107 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11108
11109         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
11110         (mswindows_delete_device): Call CoUnnitialize().
11111
11112         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
11113
11114 2000-02-25    <CraigL@DyCon.com>
11115
11116         * process-nt.c: MinGW now has <shellapi.h>, but still needs
11117         <errno.h>.
11118
11119         * sysdep.c: This extern declaration for environ prevents MinGW
11120         from finding the variable in CRTDLL.DLL.
11121
11122         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
11123         windows headers.
11124         (SHGFI_EXETYPE): ..
11125         (WM_MOUSEWHEEL): ..
11126         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
11127         definitions.
11128         (MMRESULT): Removed, now defined in cygwin's windows headers.
11129         (TIMECAPS): ..
11130         (uid_t,gid_t,pid_t,ssize_t): ..
11131         (_timeb): Removed, MinGW defines both _timeb and timeb.
11132         (HAVE_H_ERRNO): Added.
11133         (HAVE_TZNAME): Added, configure is not detecting this.
11134
11135 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
11136
11137         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
11138         * syntax.c (syntax_match): Use it.
11139
11140         * cmds.c: Import auto-fill-chars from FSF Emacs.
11141         (Vauto_fill_chars): New variables.
11142         (internal_self_insert): Check Vauto_fill_chars.
11143         (vars_of_cmds):
11144         Declare auto-fill-chars as a Lisp variable and initialize it.
11145
11146 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11147
11148         * fileio.c (Fmake_symbolic_link):
11149         (Ffile_symlink_p):
11150         Run handlers even if local machine doesn't have symlinks.
11151
11152 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11153
11154         * event-msw.c (mswindows_drain_windows_queue):
11155         Don't generate paint magic events for non-XEmacs frames.
11156
11157 2000-03-05  Andy Piper  <andy@xemacs.org>
11158
11159         * redisplay.c (redisplay_frame): generate_displayable_area and
11160         friends assumes that we are not in GC, we therefore have to make
11161         sure that this doesn't happen.
11162
11163         * gutter.c (calculate_gutter_size): generate_displayable_area
11164         assumes that we are not in GC, we therefore have to make sure that
11165         this doesn't happen.
11166
11167 2000-03-05  Martin Buchholz  <martin@xemacs.org>
11168
11169         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
11170
11171 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
11172
11173         * redisplay.c (regenerate_window): Make sure we set a sane value
11174         for end_pos even if we jump out of the loop.
11175         (regenerate_window): Answer Ben's question :-).
11176         (start_end_of_last_line): Add may_error argument.
11177         (start_of_last_line):
11178         (end_of_last_line): Pass may_error = 0.
11179         (end_of_last_line_may_error): New function.
11180         (pixel_to_glyph_translation): Use it, so we don't crash in
11181         event_to_glyph.
11182
11183 2000-03-04  Andy Piper  <andy@xemacs.org>
11184
11185         * window.h (struct window): add gutter_extent_modiff.
11186
11187         * window.c (allocate_window): zero out gutter_extent_modiff.
11188
11189         * redisplay.h: declare sync_display_line_structs.
11190
11191         * redisplay.c (add_glyph_rune): add a better comment.
11192
11193         * redisplay-output.c (sync_display_line_structs): made non-static.
11194         (compare_runes): remove unneccesary glyph cachel access.
11195
11196         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
11197
11198         * gutter.c (output_gutter): don't output the gutter if extent
11199         changes only involve extents in buffers. use 4 sets of display
11200         lines.
11201         (gutter_extent_signal_changed_region_maybe): new function. Mark
11202         extents in gutters as changed.
11203         (update_frame_gutters): use 4 sets of display lines.
11204         (reset_gutter_display_lines): ditto.
11205         (free_frame_gutters): ditto.
11206         (redraw_exposed_gutter): force output of gutters.
11207
11208         * frame.h (struct frame): add 4 sets of gutter display lines.
11209
11210         * extents.c: (extent_changed_for_redisplay): signal changes to
11211         extents in strings in the gutter as well as extents in buffers.
11212
11213 2000-03-02  Andy Piper  <andy@xemacs.org>
11214
11215         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
11216
11217         * frame.c (Fmake_frame): make sure the gutters get initialized
11218         after the frame is visible.
11219         (set_frame_selected_window): re-arrange compilation macros a
11220         little.
11221         (change_frame_size_1): mark gutters changed.
11222
11223         * device.c (Fset_device_class): mark gutters changed.
11224
11225 2000-03-01  Andy Piper  <andy@xemacs.org>
11226
11227         * window.c (window_top_frame_gutter_height): deleted.
11228         (window_bottom_frame_gutter_height): ditto.
11229         (window_left_frame_gutter_height): ditto.
11230         (window_right_frame_gutter_height): ditto.
11231         (window_top_gutter_height): don't use them.
11232         (window_bottom_gutter_height): ditto.
11233         (window_left_gutter_width): ditto.
11234         (window_right_gutter_width): ditto.
11235         (Fsplit_window): ditto.
11236         (Fwindow_pixel_edges): don't use border dimensions here.
11237
11238         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
11239         (update_scrollbar_instance): ditto.
11240
11241         * redisplay.c (generate_modeline): don't take gutters into account.
11242         (generate_modeline): ditto.
11243         (redisplay_frame): small gutter display optimization.
11244
11245         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
11246
11247         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
11248         gutters into account.
11249
11250         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
11251         for window position and type.
11252
11253         * gutter.c (get_gutter_coords): fix for frame gutters.
11254         (update_frame_gutters): update frame geometry if the gutters have
11255         changed.
11256         (init_frame_gutters): record current gutter geometries.
11257
11258         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
11259         var.
11260         (mswindows_widget_instantiate): ditto.
11261
11262         * frame.h (struct frame): add current_gutter_bounds.
11263
11264         * frame.c (change_frame_size_1): position window and minibuffer
11265         appropriately taking into account the frame gutters.
11266
11267         * frame-x.c: (x_initialize_frame_size): take into account the
11268         frame gutters.
11269
11270 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
11271
11272         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
11273
11274 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
11275
11276         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
11277
11278 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11279
11280         * file-coding.c (reset_decoding_stream): Clear previous
11281         detection state when autodetect.
11282
11283 2000-02-29  Didier Verna  <didier@xemacs.org>
11284
11285         * extents.c (set_extent_glyph_1): don't require extents to be
11286         attached.
11287
11288 2000-02-27  Andy Piper  <andy@xemacs.org>
11289
11290         * gutter.c (Fset_default_gutter_position): don't default left and
11291         right gutter visibility to t.
11292         (Fset_default_gutter_position): run
11293         default-gutter-position-changed-hook.
11294         (syms_of_gutter): add default-gutter-position-changed-hook.
11295
11296 2000-02-26  Andy Piper  <andy@xemacs.org>
11297
11298         * specifier.c (Fmake_specifier): add gutter references.
11299
11300         * gutter.h (RAW_WINDOW_GUTTER): new macro.
11301
11302         * lisp.h: declare Fvalid_plist_p.
11303
11304         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
11305         as changed.
11306         (default_gutter_visible_p_changed_in_window): invalidate gutter as
11307         well as its visibility so that it gets reconstructed.
11308         (construct_window_gutter_spec): new function. Construct a string
11309         to be displayed in the gutter from a plist of strings. Take care
11310         to only use elements that are declared as visible.
11311         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
11312         WINDOW_GUTTER.
11313         (gutter_validate): allow plists of strings in the specifier.
11314         (gutter_specs_changed): construct the real_gutter from the gutter
11315         specs using construct_window_gutter_spec.
11316         (gutter_visible_validate): gutter-visible is a new specifier type.
11317         (Fgutter_visible_specifier_p): new function for the new specifier.
11318         (syms_of_gutter): declare gutter-visible and
11319         Fgutter_visible_specifier_p.
11320         (specifier_type_create_gutter): intitalize new gutter-visible
11321         specifier.
11322         (reinit_specifier_type_create_gutter): ditto.
11323         (specifier_vars_of_gutter): use new specifier type for gutter
11324         visibility.
11325         (init_frame_gutters): construct real_gutter correctly.
11326         (Fgutter_specifier_p): beef up documentation.
11327         (Fgutter_size_specifier_p): ditto.
11328
11329         * winslots.h: add real_gutter slots.
11330
11331 2000-02-25  Andy Piper  <andy@xemacs.org>
11332
11333         * device-msw.c: Be kind to older cygwin versions. From Raymond
11334         Toy <toy@rtp.ericsson.se>.
11335
11336         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
11337         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
11338
11339 2000-02-25  Martin Buchholz  <martin@xemacs.org>
11340
11341         * elhash.c (MARK_OBJ): Practice macro hygiene.
11342
11343 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11344
11345         * miscplay.c: s/__inline__/inline/g;
11346         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
11347         (get_device_compdc): INLINE ==> static inline
11348         * *.[ch]: Change INLINE to INLINE_HEADER globally.
11349         find -name '*.h' | \
11350         xargs global-replace \
11351         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
11352
11353 2000-02-25  Andy Piper  <andy@xemacs.org>
11354
11355         * window.c (window_top_frame_gutter_height): new function.
11356         (window_top_window_gutter_height): ditto.
11357         (window_top_gutter_height): use them.
11358         (window_bottom_frame_gutter_height): new function.
11359         (window_bottom_window_gutter_height): ditto.
11360         (window_bottom_gutter_height): use them.
11361         (window_left_window_gutter_width): new function.
11362         (window_left_frame_gutter_width): ditto.
11363         (window_left_gutter_width): use them.
11364         (window_right_window_gutter_width): new function.
11365         (window_right_frame_gutter_width): ditto.
11366         (window_right_gutter_width): use them.
11367         (window_pixel_height): new function. calulate window pixel height
11368         with frame gutter involvement.
11369         (Fsplit_window): calculate new sizes taking frame gutters into
11370         account.
11371         (window_char_height_to_pixel_height): don't include frame gutters.
11372         (window_char_height): use window_pixel_height.
11373         (window_pixheight): rename from window_pixel_height.
11374         (change_window_height): use it.
11375         (window_pixel_height_to_char_height): don't include frame gutters.
11376         (window_char_width_to_pixel_width): ditto.
11377
11378 2000-02-25  Andy Piper  <andy@xemacs.org>
11379
11380         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
11381         if it is.
11382
11383 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11384
11385         * alloc.c (staticpro):
11386         (staticpro_nodump):
11387         (dumpstruct):
11388         (dumpopaque):
11389         (pdump_wire):
11390         (pdump_wire_list):
11391         (compact_string_chars):
11392         (pdump_dump_wired):
11393         Convert:  if (foo) abort();  ==>  assert (! foo);
11394
11395         * eldap.c (Fldap_search_basic):
11396         (Fldap_add):
11397         (Fldap_modify):
11398         (Fldap_delete):
11399         Fix compiler warnings, and possible crashes if (random) return
11400         value were to be used.
11401
11402 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11403
11404         * device-msw.c: Workaround ResetDC failure.
11405
11406         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
11407         applying a devmode.
11408
11409         * redisplay-msw.c (get_frame_dc): Added start_page_p.
11410         (mswindows_text_width): Do not start printer page.
11411
11412         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
11413
11414         * glyphs-msw.c: Added image methods to msprinter console and
11415         msprinter-specific image instantiation.
11416
11417 2000-02-20  Mike Alexander  <mta@arbortext.com>
11418
11419         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
11420         to avoid crashes when selection-sets-clipboard is on
11421         (mswindows_own_selection): ditto
11422
11423 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11424
11425         * glyphs-msw.c:
11426         * redisplay-msw.c (get_frame_dc):
11427         (get_frame_compdc):
11428         * console-msw.h:
11429         * device-msw.c (mswindows_init_device):
11430         (mswindows_delete_device):
11431         (msprinter_init_device):
11432         (msprinter_delete_device):
11433         * frame-msw.c (mswindows_init_frame_1):
11434         (mswindows_delete_frame):
11435         (msprinter_init_frame_3):
11436         (msprinter_delete_frame): Move compatible DC to device object from
11437         frame object, for both mswindows and msprinter. Only one at a time
11438         is needed, it is a real waste to have one per frame!
11439
11440 2000-02-23  Andy Piper  <andy@xemacs.org>
11441
11442         * glyphs.c: add dynamic width and height elements.
11443         (image_instance_equal): ditto.
11444
11445         * glyphs-widget.c (widget_query_geometry): calculate width and
11446         height dynamically if required.
11447         (initialize_widget_image_instance): initialize dynamic dimensions.
11448         (widget_instantiate): pick-up dynamic dimensions.
11449
11450         * glyphs.h (struct Lisp_Image_Instance): add width and height for
11451         dynamic determination. Add appropriate macros.
11452
11453         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
11454         dimensions safe.
11455         (WINDOW_GUTTER_SIZE): ditto.
11456         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
11457
11458         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
11459         inline.
11460         (get_frame_dc): ditto.
11461
11462         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
11463         here.
11464
11465 2000-02-23  Martin Buchholz <martin@xemacs.org>
11466
11467         * XEmacs 21.2.31 is released.
11468
11469 2000-02-22  Ben Wing <ben@xemacs.org>
11470
11471         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
11472
11473 2000-02-22  Andy Piper  <andy@xemacs.org>
11474
11475         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
11476
11477 2000-02-21  Mike Sperber <mike@xemacs.org>
11478
11479         * .dbxrc:
11480         * .gdbinit:
11481         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
11482         variables.
11483
11484 2000-02-21  Mike Sperber <mike@xemacs.org>
11485
11486         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
11487
11488 2000-02-21  Martin Buchholz <martin@xemacs.org>
11489
11490         * XEmacs 21.2.30 is released.
11491
11492 2000-02-20  Martin Buchholz  <martin@xemacs.org>
11493
11494         Performance hacking.
11495         * *.c (syms_of_*):
11496         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
11497         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
11498         * emacs.c (main_1):
11499         * lisp.h (DEFUN):
11500         * console.c (DEFVAR_CONSOLE_LOCAL_1):
11501         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
11502         * symeval.h (DEFVAR_SYMVAL_FWD):
11503         * symbols.c (guts_of_unbound_marker):
11504         Make all c_readonly objects also lisp_readonly and marked for life.
11505         * lrecord.h (struct lrecord_implementation):
11506         Document flags better.
11507         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
11508         * lrecord.h (DECLARE_LRECORD):
11509         * lrecord.h (XSETRECORD):
11510         * lrecord.h (RECORDP):
11511         * lrecord.h (RECORD_TYPEP):
11512         * lrecord.h (RECORD_MARKER): New.
11513         * lrecord.h (error_check_*):
11514         * lrecord.h (CONCHECK_NONRECORD):
11515         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
11516         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
11517         * lrecord.h (set_lheader_implementation):
11518         * lrecord.h (enum lrecord_type): New.
11519         * symeval.h (SYMBOL_VALUE_MAGIC_P):
11520         * alloc.c (disksave_object_finalization_1):
11521         * alloc.c (mark_object):
11522         * alloc.c (lrecord_type_index):
11523         * alloc.c (tick_lcrecord_stats):
11524         * alloc.c (Fgarbage_collect):
11525         * alloc.c (init_alloc_once_early):
11526         * alloc.c (pdump_load):
11527         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
11528         * alloc.c (lrecord_type_index): Delete.
11529         Make lisp object type indexes be constant.
11530           Makes (byte-compile) 5% faster.
11531         Put all marker functions into their own array.
11532           Makes (garbage-collect) 5% faster.
11533         Optimize SYMBOL_VALUE_MAGIC_P.
11534           Makes (byte-compile) 2-3% faster.
11535         * config.h.in (gc_checking_assert): New.
11536         * alloc.c: Use gc_checking_assert().
11537         * .dbxrc: Make compatible with new object type implementation.
11538         * .gdbinit: Make compatible with new object type implementation.
11539         * alloc.c: Delete all symbols defined only for debugging, such as
11540         Lisp_Type_Vector and lrecord_charset.
11541
11542 2000-02-21  Andy Piper  <andy@xemacs.org>
11543
11544         * gui-msw.c (Fmswindows_shell_execute): fix file location
11545         problems.
11546
11547         * buffer.c (Fkill_buffer): remove buffer from alist buffer
11548         unshowing so that set_window_buffer doesn't undo
11549         kill_buffer_hook's hard work.
11550
11551         * glyphs-widget.c (tab_control_query_geometry): don't count the
11552         first item when calculating geometry.
11553
11554         * glyphs.c (map_subwindow): remove redundant code.
11555         (update_frame_subwindows): be more circumspect about when to
11556         update subwindows.
11557
11558         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
11559         when items haven't changed. Update faces if faces have changed as
11560         well as just the widget face.
11561         (x_tab_control_update): Update faces if faces have changed as well
11562         as just the widget face.
11563
11564 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11565
11566         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
11567         registration.
11568         (build_syscolor_string): Use mswindows_color_to_string to try to
11569         get a named color.
11570         (mswindows_device_system_metrics): Reverse the foreground and
11571         background colors so that they match the documentation.
11572
11573         * objects-msw.c: (mswindows_X_color_map): tweak some values so
11574         they match the default Windows palette.
11575         (mswindows_color_to_string): New function.
11576
11577 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11578
11579         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
11580
11581 2000-02-18  Olivier Galibert  <galibert@pobox.com>
11582
11583         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
11584         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
11585
11586         * symbols.c (init_symbols_once_early): Removed obsolete
11587         DATA_SEG_BITS related kludge.
11588         (defvar_magic): Ditto.
11589
11590         * malloc.c: Removed obsolete DATA_SEG_BITS
11591         * ralloc.c: Ditto.
11592         * mem-limits.h: Ditto.
11593
11594         * Makefile.in.in: Removed obsolete HAVE_SHM
11595         * emacs.c: Ditto.
11596
11597 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11598
11599         *  device-msw.c (mswindows_delete_device): Free DDE string
11600         handles.
11601
11602 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11603
11604         * keymap.c (get_keyelt):
11605         * unexnt.c (unexec):
11606         * vm-limit.c (memory_warnings):
11607         * ntheap.c (recreate_heap):
11608         * ntheap.h (UNINIT_PTR):
11609         * select-msw.c (Fmswindows_get_clipboard):
11610         (Fmswindows_set_clipboard):
11611         * objects-msw.h (MSWINDOWS_BAD_HFONT):
11612         * objects-msw.c:
11613         * menubar-msw.c (displayable_menu_item):
11614         * glyphs-msw.c:
11615         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
11616         * sysdep.c (sys_subshell):
11617         * process-nt.c (nt_create_process):
11618         * nt.c (normalize_filename):
11619         (dostounix_filename):
11620         (unixtodos_filename):
11621         * ntproc.c (win32_executable_type):
11622         * ntplay.c (play_sound_data_1):
11623         (play_sound_file):
11624         * editfns.c (get_home_directory):
11625         * event-msw.c (struct winsock_stream):
11626         (mswindows_dde_callback):
11627         * device-msw.c (msprinter_init_device):
11628         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
11629
11630         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
11631         mswindows_clear_toolbar were swapped!
11632
11633         * objects-msw.c:(colormap_t):
11634         (fontmap_t):
11635         * emacs.c (struct standard_args): Fixed const jumble.
11636
11637         * glyphs-widget.c (update_widget): Fixed comparison notation.
11638
11639         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
11640
11641         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
11642         __declspec(noreturn) syntax.
11643
11644 2000-02-19  Martin Buchholz  <martin@xemacs.org>
11645
11646         * eldap.c (Fldap_open):
11647         (Fldap_search_basic):
11648         (Fldap_add):
11649         (Fldap_modify):
11650         Use new coding system conversion macros.
11651
11652 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11653
11654         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
11655
11656 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
11657
11658         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
11659         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11660
11661         * eldap.c (Qadd, Qreplace): New constant symbols
11662         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
11663         interruptions by XEmacs signals
11664         Remove unnecessary calls to slow_down_interrupts and
11665         speed_up_interrupts
11666         (Fldap_search_basic): Renamed from Fldap_search_internal
11667         Added new optional parameter VERBOSE that triggers the
11668         display of progress messages
11669         Remove unnecessary calls to slow_down_interrupts and
11670         speed_up_interrupts
11671         LDAP result code analysis rewritten
11672         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11673         (syms_of_eldap): Define the new symbols and functions
11674
11675
11676 2000-02-17  Martin Buchholz  <martin@xemacs.org>
11677
11678         * realpath.c: Determine PATH_MAX maximally portably.
11679
11680         * insdel.c (bytecount_to_charcount): Optimize.
11681         The function used to be optimized for entirely ASCII sequences.
11682         Now it is optimized for successive characters from the same
11683         charset.  This also wins big for _mostly_ ASCII sequences.
11684
11685         * fileio.c (Ffile_truename): convert return from realpath() using
11686         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
11687         - Rewrite GCPROing slightly.
11688
11689         * sysdep.c (sys_open): Do filename conversion, like all other
11690         sys_* functions.  Fixes bug:
11691         (let ((file-name-coding-system 'iso-8859-2))
11692            (write-region x y latin2-name))
11693         ==> writes filename using internal encoding.
11694
11695 2000-02-18  Martin Buchholz  <martin@xemacs.org>
11696
11697         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
11698         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
11699         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
11700         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
11701         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
11702         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
11703         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
11704         (CONST_IF_NOT_DEBUG): Delete.
11705         * alloc.c (this_one_is_unmarkable): Delete.
11706         (mark_object): Don't check for this_one_is_unmarkable. Use the
11707         c_readonly flag instead.
11708         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
11709
11710 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11711
11712         * event-msw.c (mswindows_drain_windows_queue):
11713         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
11714         away redundant repaint events.
11715
11716 2000-02-17  Andy Piper  <andy@xemacs.org>
11717
11718         * redisplay.h: declare mark_redisplay_structs.
11719
11720         * redisplay.c (redisplay_window):
11721         (redisplay_frame): don't check subwindows_state_changed.
11722         (mark_redisplay): mark gutters here.
11723
11724         * glyphs.c: (instantiate_image_instantiator): always layout if we
11725         haven't done so already.
11726         (allocate_image_instance): don't mark as dirty.
11727         (update_subwindow): bind inhibit_quit.
11728
11729         * gutter.c (mark_gutters): new function.
11730
11731         * glyphs-x.c (x_update_widget): Always resize to get round a
11732         widget bug.
11733
11734         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
11735         breaking absolutely everything.
11736
11737         * gutter.h: declare mark_gutters.
11738
11739 2000-02-16  Martin Buchholz <martin@xemacs.org>
11740
11741         * XEmacs 21.2.29 is released.
11742
11743 2000-02-15  Olivier Galibert  <galibert@pobox.com>
11744
11745         * fns.c (size_bit_vector): Fix computation of the size.
11746
11747 2000-02-15  Martin Buchholz  <martin@xemacs.org>
11748
11749         * *.[ch]: Change CONST to const globally.
11750         find -name '*.[ch]' | \
11751         xargs global-replace \
11752         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
11753         - Remove vestigial references to CONST_IS_LOSING
11754
11755 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11756
11757         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
11758         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
11759         events instead of dispatching them directly.
11760         (mswindows_handle_paint): New function to do repainting.
11761         (mswindows_wnd_proc):
11762         (emacs_mswindows_handle_magic_event): Call above function.
11763
11764 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11765
11766         * objects-msw.c (mswindows_create_font_variant): Return the new
11767         font handle.
11768         (initialize_font_instance): Get font metrics from the underlined
11769         variant of the font to cope with the case where the underlined
11770         font has a bigger descent.
11771
11772 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11773
11774         * gui.c (gui_item_accelerator): Return the first underlined
11775         character in item name.
11776
11777 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11778
11779         * lisp.h: Added Qprinter.
11780
11781         * general.c (syms_of_general): Initialized it.
11782
11783         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
11784         (get_frame_dc):
11785         (get_frame_compdc): Made inline.
11786
11787         * console.h (struct console_methods): Added eject_page method.
11788
11789         * frame.h: Added FRAME_DISPLAY_P and friends.
11790         Aligned backslahes in many macros in more readable fashion.
11791         Added page_number to struct frame, and an accessor macro
11792         for it.
11793
11794         * defice.h: Added DEVICE_DISPLAY_P and friends.
11795
11796         * device.c (Fdevice_printer_p): Used these.
11797
11798         * frame.c (allocate_frame_core): Initialize page number.
11799         (Fprint_job_page_number):
11800         (Fprint_job_eject_page): Implemented.
11801
11802         * frame-msw.c (msprinter_eject_page): Added method.
11803         (msprinter_start_page): Added.
11804
11805         * window.c (Fwindow_truncated_p): Fixed docstring.
11806         (Fwindow_last_line_visible_height): Implemented.
11807
11808 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11809
11810         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
11811
11812 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11813
11814         * syntax.c (scan_words): Always advance at least one character.
11815
11816 2000-02-13  Andy Piper  <andy@xemacs.org>
11817
11818         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
11819         to make sure the glyph is in the cachels.
11820
11821         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
11822         global image instance flag.
11823         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
11824         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
11825
11826         * glyphs.c (allocate_image_instance): set dirty bits correctly.
11827         (Fset_image_instance_property): mark layout as changed.
11828         (invalidate_glyph_geometry_maybe): mark layout as changed.
11829         (glyph_width): use new NEEDS_LAYOUT macro.
11830         (glyph_ascent): ditto.
11831         (glyph_descent): ditto.
11832         (glyph_height): ditto.
11833         (image_instance_layout): mark layout as clean after laying out.
11834         (update_subwindow): don't mark layout as clean here.
11835
11836         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
11837         should no longer be needed.
11838
11839         * glyphs-x.c (x_update_widget): sanitize asserts.
11840         (x_finalize_image_instance): sanitize assignment to widgets.
11841
11842         * glyphs-widget.c (widget_instantiate): don't need to clear the
11843         layout flag here.
11844
11845 2000-02-13  Martin Buchholz  <martin@xemacs.org>
11846
11847         * sysdep.c (getcwd): Use standard prototype.
11848         * sysdep.h (getcwd): Use standard prototype.
11849
11850         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
11851         (sequence, start, end).
11852         Remove redundant type checking.
11853         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
11854         view of `caller-protects') to avoid a crash where the real fix was
11855         found elsewhere.
11856
11857 2000-02-12  Martin Buchholz  <martin@xemacs.org>
11858
11859         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
11860
11861         * s/sol2.h: Remove feature macro initialization.
11862
11863         * alloc.c (alloc_lcrecord): Add more type checking assertions.
11864         (vector_hash): New.  Code from internal_hash.
11865         * lrecord.h:
11866         Fix up allocation subsystem comments.
11867
11868         * config.h.in: Add __EXTENSIONS__ for Solaris.
11869
11870         * systime.h (EMACS_GETTIMEOFDAY): New.
11871         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
11872         Remove Solaris-specific code.
11873         Use void* for the (ignored) second arg for gettimeofday().
11874
11875         * elhash.c (hash_table_hash): Implement it, finally.
11876         * elhash.c:  Use hashcode_t.
11877
11878         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
11879         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
11880
11881         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
11882         * fns.c (size_bit_vector):
11883         * alloc.c (size_vector):
11884         (make_vector_internal):
11885         (make_bit_vector_internal):
11886         (sweep_bit_vectors_1):
11887         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
11888
11889 2000-02-10  Martin Buchholz  <martin@xemacs.org>
11890
11891         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
11892         Include strings.h to avoid warnings for bzero and strcasecmp.
11893
11894 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11895
11896         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
11897         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
11898
11899         * fns.c (size_bit_vector): New.  Declare bit vectors as a
11900         sequence.
11901
11902 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11903
11904         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
11905         use a value field instead.
11906         (symbol_value_forward_forward): Use value field.
11907         (DEFVAR_SYMVAL_FWD): Use value field.
11908         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
11909         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
11910         (DEFVAR_CONST_INT): Ditto.
11911         (DEFVAR_BOOL): Ditto.
11912         (DEFVAR_CONST_BOOL): Ditto.
11913         (DEFVAR_INT_MAGIC): Ditto.
11914         (DEFVAR_BOOL_MAGIC): Ditto.
11915
11916         * symbols.c (guts_of_unbound_marker): Use value field.
11917         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
11918         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
11919
11920         * lisp.h: Declare dumpopaque and noninteractive1.
11921
11922         * alloc.c (dumpopaque): Added.
11923         (pdump_dump_opaquevec): Added.
11924         (pdump): Call pdump_dump_opaquevec to dump opaque data.
11925         (pdump_load): Reload opaque data.  Sync noninteractive1 with
11926         noninteractive.
11927
11928 2000-02-10  Andy Piper  <andy@xemacs.org>
11929
11930         * glyphs.c (image_instance_layout): if the size changes, mark it
11931         as such.
11932
11933         * redisplay-output.c (redisplay_output_layout): Update the
11934         subwindow here.
11935         (redisplay_output_subwindow): ditto.
11936
11937         * glyphs.c (update_subwindow): make sure we reset flags for
11938         layouts as well as everything else.
11939
11940         * glyphs-widget.c (layout_layout): don't need to set the instances
11941         dimensions here.
11942
11943 2000-02-09  Martin Buchholz  <martin@xemacs.org>
11944
11945         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
11946         not HAVE_DLOPEN, which is a lower-level thing.
11947
11948         * .cvsignore: Ignore gmon.out
11949
11950 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
11951
11952         * .cvsignore: Ignore portable dumper xemacs.dmp file
11953
11954 2000-02-09  Andy Piper  <andy@xemacs.org>
11955
11956         * redisplay-output.c (redisplay_output_layout): be more clever
11957         about when we output based on the changed flags.
11958
11959         * glyphs.h (struct image_instantiator_methods): add update_method.
11960         (struct Lisp_Image_Instance): add changed flags. Declare new
11961         macros for manipulating them.
11962
11963         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
11964         (image_instance_parent_glyph): find an image_instance's parent
11965         glyph or image_instance.
11966         (image_instance_layout): mark the size as changed.
11967         (set_image_instance_dirty_p): new function. mark an image
11968         instance, plus all of its parents, as dirty.
11969         (Fset_image_instance_property): use it.
11970         (Fglyph_animated_timeout_handler): use it.
11971         (update_subwindow): call update_widget and device methods for
11972         update_subwindow. Mark all changed flags as clean.
11973         (Fresize_subwindow): mark size as changed.
11974
11975         * glyphs-x.c (x_finalize_image_instance): try and detect gc
11976         failures.
11977         (x_update_subwindow): only resize subwindows here.
11978         (x_update_widget): new function. Update all changed properties of
11979         a widget.
11980         (x_resize_subwindow): deleted.
11981         (x_widget_set_property): deleted.
11982         (x_progress_gauge_set_property): deleted.
11983         (x_progress_gauge_update): new function. Implement recorded
11984         changes.
11985         (x_tab_control_update): ditto.
11986         (x_tab_control_set_property): deleted.
11987         (console_type_create_glyphs_x): declare new functions.
11988         (image_instantiator_format_create_glyphs_x): ditto.
11989
11990         * glyphs-widget.c (widget_set_property): mark text changed.
11991         (update_widget): new function. Update properties of a widget.
11992         (widget_instantiate): for layouts make sure we set their
11993         children's parent correctly.
11994         (tab_control_set_property): new function. Record changes that will
11995         take place under redisplay's control.
11996         (progress_gauge_set_property): ditto.
11997         (image_instantiator_progress_guage): declare new functions.
11998         (image_instantiator_tab_control): ditto.
11999
12000         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
12001         now.
12002         (mswindows_update_widget): new function. Update all properties on
12003         a widget that have changed.
12004         (mswindows_button_update): new function. Update a button's set
12005         state.
12006         (mswindows_tab_control_update): new function. Update the items in
12007         a tab.
12008         (mswindows_tab_control_set_property): deleted.
12009         (mswindows_progress_gauge_update): new function. Update the
12010         progress gauge's progress.
12011         (mswindows_widget_set_property): deleted. This is all done
12012         asynchronously now.
12013         (mswindows_progress_gauge_set_property): ditto.
12014         (console_type_create_glyphs_mswindows): declare new methods.
12015         (image_instantiator_format_create_glyphs_mswindows): ditto.
12016
12017         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
12018         (msprinter_set_frame_properties): ditto.
12019
12020         * console.h (struct console_methods): Add update_widget_method.
12021
12022 2000-02-09  Andy Piper  <andy@xemacs.org>
12023
12024         * gui-msw.c (Fmswindows_shell_execute): Make
12025         mswindows-shell-execute industrial strength.
12026
12027 2000-02-08  Martin Buchholz  <martin@xemacs.org>
12028
12029         * lrecord.h: Make macro argument `props' match member function `plist'.
12030         * fns.c (Fget):
12031         * fns.c (Fput):
12032         * fns.c (Fremprop):
12033         * fns.c (Fobject_plist):
12034         * alloc.c:
12035         * symbols.c:
12036         Object property list frobbing cleanup.
12037         - Allow any lisp object (compared with `eq'), not just symbols, as
12038           keys in object plists.
12039         - Move symbol plist frobbing into symbols.c, where it belongs.
12040         - Move string plist frobbing into alloc.c, where it belongs.
12041         - Everything's an lrecord now, so no need to test for symbolp, etc.
12042         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
12043
12044         * extents.c: Reorder code to remove declarations.
12045
12046         * frame.h (store_in_alist): Remove useless declaration.
12047
12048 2000-02-07  Martin Buchholz  <martin@xemacs.org>
12049
12050         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
12051         * config.h.in: Add HAVE_XCONVERTCASE.
12052
12053 2000-02-07  Andy Piper  <andy@xemacs.org>
12054
12055         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
12056         it breaks many things.
12057
12058 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
12059
12060         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
12061         actually can start a common comment type.
12062         * src/syntax.h (SYNTAX_END_P): ditto for end.
12063
12064 2000-02-07  Martin Buchholz <martin@xemacs.org>
12065
12066         * XEmacs 21.2.28 is released.
12067
12068 2000-02-06  Martin Buchholz  <martin@xemacs.org>
12069
12070         * event-Xt.c (x_keysym_to_character): New.
12071         (maybe_define_x_key_as_self_inserting_character): New.
12072         (x_has_keysym): New.
12073         Auto-define all keys on the keyboard as self-insert-key.
12074
12075 2000-02-02  Martin Buchholz  <martin@xemacs.org>
12076
12077         * menubar.c (vars_of_menubar): A small code simplification.
12078
12079         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
12080
12081         * ExternalShell.c:
12082         * ExternalClient.c:
12083         * EmacsShell-sub.c:
12084         * EmacsManager.c:
12085         * EmacsFrame.c:
12086         Use consistent style for specifying X resources.
12087
12088         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
12089         This makes (dontusethis-set-symbol-value-handler) actually usable.
12090
12091         * lrecord.h (lrecord_decription_type):
12092         * alloc.c (pdump_register_sub):
12093         (pdump_dump_data):
12094         (pdump_reloc_one):
12095         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
12096         Comply with XEmacs coding style.
12097         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
12098         args, and XD_LISP_OBJECT_ARRAY with 3 args.
12099
12100         * keymap.c (Faccessible_keymaps):
12101         Make (accessible-keymaps map "\C-h") do the Right Thing.
12102         Make (accessible-keymaps map []) do the Right Thing.
12103         Make (accessible-keymaps map "") do the Right Thing.
12104         (check_keymap_definition_loop): New function.
12105         (keymap_store_internal): Keep luser from shooting self in foot,
12106           via (define-key ctl-x-4-map "p" global-map).
12107         Remove fullness slot from struct Lisp_Keymap, since hash tables
12108         are now reliable.
12109         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
12110
12111 2000-01-30  Martin Buchholz  <martin@xemacs.org>
12112
12113         * redisplay.c (init_redisplay): Fix small memory leak.
12114         * elhash.h:
12115         * elhash.c (pdump_reorganize_hash_table):
12116         Rename from reorganize_hash_table. Change prototype.
12117         Reuse the original memory for hentries.  Save 100k.
12118         * alloc.c (PDUMP_READ): new macro.
12119         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
12120         * alloc.c: No need to #ifndef before #undef.
12121
12122         * print.c: Allow debug_print() to print readably by modifying
12123         debug_print_readably.  Use consistent variable names.
12124
12125         * .dbxrc: Try to get things to work even if stopped in a function
12126         without source available by explicitly specifying source files.
12127 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12128
12129         * unexnt.c (_start): Removed bogus code which caused loading heap
12130         from differrent executable file.
12131         Removed bogus assignment to _fmode, which caused inconsistencies.
12132
12133 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12134
12135         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
12136         Have spawnve encapsulation regard DONT_ENCAPSULATE.
12137         Do not preliminary `#define signal sigset'.
12138
12139         * systime.h: Do not prototype environ on windows nt and cygwin,
12140         this conflicts with system header.
12141
12142         * syssignal.h: Use correct define for WINDOWSNT
12143
12144         * sysdep.h: Do not prototype environ on windows nt, this conflicts
12145         with system header.
12146
12147         * sysdep.c (near start of file): Fixed commentary and rearranged
12148         ifdefs in readable order.
12149         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
12150         (start_of_text):
12151         (end_of_text):
12152         (end_of_data): Do not compile in if using PDUMP.
12153
12154         * symsinit.h: Prototyped vars_of_nt().
12155
12156         * ntproc.c (windows9x_p): Added, instead of os_subtype.
12157         (find_child_console): Use it.
12158         (sys_kill): Use it.
12159
12160         * ntheap.h: Do not extern os_subtype.
12161
12162         * ntheap.c (cache_system_info): Do not cache unneeded:
12163         nt_major_version, nt_minor_version and os_subtype.
12164         (recreate_heap): Do not compile in when PDUMPing.
12165
12166         * nt.c (geteuid and friends): Use the new varibale
12167         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
12168         (init_user_info): Removed the above mentioned hackery.
12169         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
12170         stat has been fixed in the C runtime.
12171         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
12172
12173         * file-coding.c (struct file_coding_dump): Do not define
12174         ucs_to_mule_table in the struct if not MULE.
12175         (struct struct lrecord_description fcd_description_1): Do not dump
12176         the above.
12177
12178         * emacs.c (main_1): Call vars_of_nt().
12179         (right before Fdump_emacs_data): Don't need lastfile if using both
12180         portabe dumper and system malloc.
12181
12182         * alloc.c (Fmemory_limit): Conditionalized out.
12183         (pdump): Use OPEN_BINARY for the portable dump file.
12184         (pdump_load): Ditto.
12185
12186 2000-02-02  Mike Alexander  <mta@arbortext.com>
12187
12188         * nt.c (convert_time): Set tm_isdst before calling mktime and
12189         avoid calling it at all if the compiler supports 64 bit integers.
12190         Also initialize utc_base_ft before using it.
12191
12192 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
12193
12194         * frame.c (change_frame_size_1): Take f->internal_border_width
12195         into consideration when calculating the width of the frame.
12196
12197 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12198
12199         * window.c (frame_min_height):
12200         (frame_size_valid_p):
12201         (frame_pixsize_valid_p): Added.
12202         (check_frame_size): Generalized.
12203
12204         * window.h: Prototyped the above.
12205
12206         * lisp.h:
12207         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
12208         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
12209         Deleted Vwin32_* and Vbinary_process_* unused variables.
12210
12211         * device-msw.c (msprinter_init_device): Do not get printer font
12212         list; Added DEVMODE functions.
12213
12214         * frame-msw.c: Added lots of printer code.
12215
12216         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
12217         general.c.
12218
12219         * console-msw.h: Added more msprinter device private slots.
12220
12221 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12222
12223         * event-msw.c (key_needs_default_processing_p): Added.
12224         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
12225
12226 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12227
12228         * glyphs.c (image_instance_layout): Mark image instance as clean
12229         after layout.
12230         (glyph_dirty_p): Removed redundant function.
12231         (invalidate_glyph_geometry_maybe): Added.
12232         (update_glyph_cachel_data): Call it.
12233
12234         * glyphs.h: Prototyped it.
12235
12236         * redisplay.c (add_glyph_rune): Call it.
12237         (redisplay_window): Reset glyphs cachels when frame faces have
12238         changed, thus forcing recomputation of built-in border glyphs.
12239
12240 2000-01-30  Martin Buchholz  <martin@xemacs.org>
12241
12242         * Makefile.in.in: Make portable dumper and purify play well together.
12243         Add imperfect, but better than nothing, support for pdump.
12244         Remove xemacs.dmp when temacs is re-generated.
12245         Don't ignore errors when dumping xemacs.
12246
12247         * symbols.c (maybe_call_magic_handler): Remove one magic number.
12248
12249 2000-01-28  Andy Piper  <andy@xemacs.org>
12250
12251         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
12252         (setup_normal_frame): ditto.
12253         (setup_frame_without_minibuffer): ditto.
12254         (setup_minibuffer_frame): ditto.
12255         (delete_frame_internal): ditto.
12256         (Fmake_frame_invisible): ditto.
12257         (Ficonify_frame): ditto.
12258
12259         * window.h: change Fset_window_buffer signature.
12260
12261         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
12262         (Fset_window_buffer): allow recording of buffer if the window is
12263         the selected window.
12264         (window_loop): Use new Fset_window signature.
12265
12266 2000-01-23  Daniel Pittman  <daniel@danann.net>
12267
12268         * config.h.in: Added template for `HAVE_ATHENA_3D'
12269
12270 2000-01-29  Andy Piper  <andy@xemacs.org>
12271
12272         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
12273
12274         * gutter.c (output_gutter): Don't output if the window isn't live.
12275
12276 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12277
12278         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
12279         of 01/12/00: Moved SetFocus back here where it belongs.
12280
12281 2000-01-23  Andy Piper  <andy@xemacs.org>
12282
12283         * s/cygwin32.h: declare printer things.
12284
12285 2000-01-26  Andy Piper  <andy@xemacs.org>
12286
12287         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
12288         Alexander.
12289
12290 2000-01-24  Andy Piper  <andy@xemacs.org>
12291
12292         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
12293         (mswindows_button_instantiate): Make sure glyph is a pixmap.
12294
12295         * glyphs-widget.c (widget_instantiate): Avoid shadows.
12296
12297         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
12298
12299         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
12300
12301         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
12302         (mswindows_output_display_block): Avoid local shadows.
12303
12304         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
12305         (mswindows_enqueue_mouse_button_event): ditto.
12306         (mswindows_handle_gui_wm_command): remove declaration.
12307
12308         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
12309         warnings.
12310
12311         * console-msw.h: Avoid shadows.
12312         (mswindows_get_toolbar_button_text):
12313         (emacs_mswindows_create_stream_pair):
12314         (emacs_mswindows_delete_stream_pair):
12315         (mswindows_handle_toolbar_wm_command): declare.
12316
12317         * device-msw.c (build_syscolor_string): Avoid shadows.
12318
12319 2000-01-23  Andy Piper  <andy@xemacs.org>
12320
12321         * glyphs-widget.c (widget_instantiate): reverse the items for
12322         layouts so that children are in the expected order.
12323
12324 2000-01-28  Martin Buchholz  <martin@xemacs.org>
12325
12326         * ralloc.c: safe_bcopy ==> memmove
12327         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
12328         * s/msdos.h: Remove BCOPY macros.
12329         * insdel.c (gap_right): Remove BCOPY conditional code.
12330         * insdel.c (gap_left): Remove BCOPY conditional code.
12331         XEmacs demands a working ANSI C compiler - hence memmove.
12332
12333         * regex.c (regex_compile): Remove accidental use of trigraphs.
12334
12335 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12336
12337         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
12338         event timestamp.
12339
12340 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12341
12342         * event-msw.c (mswindows_drain_windows_queue): Added the
12343         parameter.
12344         (mswindows_need_event): Commented the call to
12345         mswindows_drain_windows_queue().
12346         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
12347         only.
12348
12349         * console-msw.h: Moved a few function prototypes here from
12350         event-msw.c.
12351
12352         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
12353         parameter from unsigned short to unsigned long.
12354         (Fmswindows_shell_execute): Added return value.
12355
12356 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12357
12358         * sysdep.c (init_system_name):
12359           process-unix.c (unix_canonicalized_host_name):
12360         Don't call freeaddrinfo() if getaddrinfo() fails.
12361
12362         * process-unix.c (unix_open_unix_network_stream):
12363         Moved the code to get a port # into address loop.
12364
12365 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12366
12367         * buffer.c (reinit_vars_of_buffer):
12368         The right place to initialize conversion_in_dynarr and
12369         conversion_out_dynarr.
12370
12371         * alloc.c (pdump): Use the real open() till sys_open() is functional.
12372
12373         * process-unix.c (unix_canonicalize_host_name): Muleize.
12374         (unix_open_network_stream): Muleize.
12375
12376         * buffer.h: Fix up prototypes for ralloc.c functions.
12377
12378 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12379         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
12380         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
12381                 instead of gethostbyname()
12382         * process-unix.c: In unix_canonicalize_host_name() and
12383                 unix_open_network_stream(), add code to use getaddrinfo()
12384                 instead of gethostbyname().
12385
12386 2000-01-27  Daniel Pittman <daniel@danann.net>
12387
12388         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
12389         libs when built with flat Athena.
12390
12391 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12392
12393         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
12394         Use coding standards for function prototypes.
12395
12396 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12397
12398         * dialog-msw.c (push_lisp_string_as_unicode):
12399         * doc.c (unparesseuxify_doc_string):
12400         * dired.c (Fuser_name_completion_1):
12401         * dired.c (Fuser_name_all_completions):
12402         * dired.c (free_user_cache):
12403         * dired.c (user_name_completion):
12404         * console-x.c (get_display_arg_connection):
12405         * minibuf.c (clear_echo_area_internal):
12406         * minibuf.c (echo_area_append):
12407         * eldap.c (Fldap_open):
12408         * eldap.c (Fldap_search_internal):
12409         * frame-x.c (x_set_frame_text_value):
12410         * frame-x.c (x_set_frame_properties):
12411         * frame-x.c (x_create_widgets):
12412         * redisplay-tty.c (term_get_fkeys_1):
12413         * objects-x.c (x_parse_nearest_color):
12414         * objects-x.c (x_valid_color_name_p):
12415         * objects-x.c (x_initialize_font_instance):
12416         * objects-x.c (x_list_fonts):
12417         * objects-x.c (x_find_charset_font):
12418         * tooltalk.c (Fadd_tooltalk_message_arg):
12419         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12420         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12421         * process-unix.c (unix_create_process):
12422         * ntproc.c (sys_spawnve):
12423         * sound.c (Fplay_sound_file):
12424         * sound.c (Fplay_sound):
12425         * buffer.c (init_initial_directory):
12426         * buffer.c (init_buffer):
12427         * editfns.c (init_editfns):
12428         * editfns.c (Ftemp_directory):
12429         * editfns.c (Fuser_full_name):
12430         * editfns.c (uncache_home_directory):
12431         * editfns.c (get_home_directory):
12432         * editfns.c (Fuser_home_directory):
12433         * editfns.c (Fformat_time_string):
12434         * editfns.c (Fcurrent_time_string):
12435         * gui-x.c (button_item_to_widget_value):
12436         * database.c (Fopen_database):
12437         * event-Xt.c (x_to_emacs_keysym):
12438         * event-Xt.c (x_event_to_emacs_event):
12439         * event-Xt.c (describe_event_window):
12440         * event-msw.c (mswindows_wnd_proc):
12441         * glyphs-eimage.c (jpeg_instantiate):
12442         * glyphs-eimage.c (gif_instantiate):
12443         * glyphs-eimage.c (png_instantiate):
12444         * glyphs-eimage.c (tiff_instantiate):
12445         * glyphs-x.c (xbm_instantiate_1):
12446         * glyphs-x.c (x_xbm_instantiate):
12447         * glyphs-x.c (x_xface_instantiate):
12448         * glyphs-x.c (autodetect_instantiate):
12449         * glyphs-x.c (cursor_font_instantiate):
12450         * glyphs-x.c (x_widget_instantiate):
12451         * glyphs-x.c (x_widget_set_property):
12452         * glyphs-x.c (x_widget_property):
12453         * glyphs-x.c (BUILD_GLYPH_INST):
12454         * print.c (write_string_to_stdio_stream):
12455         * print.c (output_string):
12456         * print.c (Falternate_debugging_output):
12457         * print.c (Fexternal_debugging_output):
12458         * glyphs-msw.c (extract_xpm_color_names):
12459         * glyphs-msw.c (mswindows_xpm_instantiate):
12460         * glyphs-msw.c (bmp_instantiate):
12461         * glyphs-msw.c (resource_name_to_resource):
12462         * glyphs-msw.c (mswindows_resource_instantiate):
12463         * glyphs-msw.c (xbm_instantiate_1):
12464         * glyphs-msw.c (mswindows_xbm_instantiate):
12465         * glyphs-msw.c (mswindows_xface_instantiate):
12466         * glyphs-msw.c (mswindows_widget_instantiate):
12467         * glyphs-msw.c (add_tree_item):
12468         * glyphs-msw.c (add_tab_item):
12469         * glyphs-msw.c (mswindows_combo_box_instantiate):
12470         * glyphs-msw.c (mswindows_widget_property):
12471         * glyphs-msw.c (mswindows_combo_box_property):
12472         * glyphs-msw.c (mswindows_widget_set_property):
12473         * console.c (stuff_buffered_input):
12474         * objects-msw.c (mswindows_initialize_color_instance):
12475         * objects-msw.c (mswindows_valid_color_name_p):
12476         * objects-msw.c (mswindows_list_fonts):
12477         * objects-msw.c (mswindows_font_instance_truename):
12478         * bytecode.c (optimize_compiled_function):
12479         * select-x.c (symbol_to_x_atom):
12480         * select-x.c (x_atom_to_symbol):
12481         * select-x.c (hack_motif_clipboard_selection):
12482         * select-x.c (selection_data_to_lisp_data):
12483         * select-x.c (lisp_data_to_selection_data):
12484         * select-x.c (Fx_get_cutbuffer_internal):
12485         * select-x.c (Fx_store_cutbuffer_internal):
12486         * buffer.h (TO_EXTERNAL_FORMAT): New function.
12487         * buffer.h (TO_INTERNAL_FORMAT): New function.
12488         * emacs.c (make_arg_list_1):
12489         * emacs.c (make_argc_argv):
12490         * emacs.c (main_1):
12491         * emacs.c (Fdump_emacs):
12492         * emacs.c (split_string_by_emchar_1):
12493         * file-coding.h:
12494         * lisp.h:
12495         * lstream.h:
12496         * symsinit.h:
12497         * device-x.c (x_init_device):
12498         * device-x.c (Fx_valid_keysym_name_p):
12499         * device-x.c (Fx_get_font_path):
12500         * device-x.c (Fx_set_font_path):
12501         * glyphs.c (bitmap_to_lisp_data):
12502         * glyphs.c (pixmap_to_lisp_data):
12503         * alloc.c (make_ext_string): Use coding system arguments.  Update
12504         all callers.
12505         * alloc.c (build_string):
12506         * callproc.c (child_setup):
12507         * callproc.c (init_callproc):
12508         * fileio.c (lisp_strerror):
12509         * fileio.c (directory_file_name):
12510         * fileio.c (Fexpand_file_name):
12511         * fileio.c (Ffile_truename):
12512         * fileio.c (Fsysnetunam):
12513         * fileio.c (Fdo_auto_save):
12514         * sysdep.c (sys_readdir):
12515         * tests.c: New file.  Allow adding C tests.
12516         Replace GET_* macros with a more comprehensible and flexible
12517         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
12518         Modify all calls.
12519         Any coding system can be used to do format conversion.
12520         Eliminate enum external_data_format.
12521         Eliminate convert_to_external_format.
12522         Eliminate convert_to_internal_format.
12523         Make sure file-name, keyboard, terminal, and ctext are always
12524         defined as coding systems or aliases.  Make
12525         file-name-coding-system, terminal-coding-system, and
12526         keyboard-coding-system magical variables that are equivalent to
12527         defining the corresponding coding system aliases.
12528
12529         * file-coding.c (Fcoding_system_canonical_name_p): New function.
12530         * file-coding.c (Fcoding_system_alias_p): New function.
12531         * file-coding.c (Fcoding_system_aliasee): New function.
12532         * file-coding.c (append_suffix_to_symbol): New function.
12533         * file-coding.c (dangling_coding_system_alias_p): New function.
12534         * file-coding.c (Ffind_coding_system):
12535         * file-coding.c (Fcopy_coding_system):
12536         * file-coding.c (encode_coding_no_conversion):
12537         * file-coding.c (syms_of_file_coding):
12538         * file-coding.c (vars_of_file_coding):
12539         Rewrite coding system alias code.
12540         Allow nested aliases, like symbolic links.
12541         Allow redefinition of coding system aliases.
12542         Prevent existence of dangling coding system aliases.
12543
12544         * dired.c (Fuser_name_completion_1):
12545         * dired.c (Fuser_name_all_completions):
12546         A crash would happen if user did QUIT in the middle of building
12547         user_name_cache.  Remove redundant code in mainline and unwind_protect.
12548
12549         * lisp.h:
12550         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
12551
12552         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
12553         an unsigned char *.  Update all callers.
12554
12555 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12556
12557         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
12558
12559 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12560
12561         * elhash.c (hentry_description): Use more portable definition.
12562         (resize_hash_table): Initialize new hentries using
12563         xnew_array_and_zero, thereby simplifying the code.
12564
12565         * mule-charset.c (make_charset): Make sure entire object is
12566         initialized, to avoid Purify warnings.
12567
12568         * alloc.c (resize_string): Fix unlikely crash with big strings.
12569
12570 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12571
12572         * realpath.c (xrealpath):
12573         Don't call getwd().
12574
12575 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12576
12577         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
12578
12579 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
12580
12581         * unexelfsgi.c (unexec): Change the way we decide which segment
12582         should be extended.
12583
12584         Assumption that .bss section should be outside the PT_LOADable
12585         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
12586         it's present) is inside the 'data' segment. This would fail the
12587         test which was used to find a segment to grow and cover new
12588         heap. Instead of this assumption, I created another one - on IRIX
12589         the segment to grow should start below .bss and it's address
12590         should extent above the end of .bss. Once this segment is
12591         identified, it's grown to accommodate the new heap and new
12592         zero-length .bss section is added at the end of .data2.
12593
12594 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12595
12596         * eval.c (Feval): Wrong number of arguments should use original
12597         function, not the indirect_function version of it.
12598
12599 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
12600
12601         * glyphs-x.c (x_button_instantiate): Don't add image if
12602         it is not a pixmap.
12603         (x_locate_pixmap_file): Call Fexpand_file_name when file name
12604         is relative.
12605
12606 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
12607
12608         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
12609         declaration.
12610         (DEFVAR_INT_MAGIC): Ditto.
12611         (DEFVAR_BOOL_MAGIC): Ditto.
12612         * glyphs.h: Reindent backslash.
12613
12614 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12615
12616         * glyphs-widget.c (layout_query_geometry):
12617         (layout_layout): Use correct types for gheight, gwidth.
12618
12619 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12620
12621         * EmacsManager.c (QueryGeometry): Purified.
12622
12623 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12624
12625         * alloc.c (make_float): Make sure entire object is initialized, to
12626         avoid Purify warnings.
12627         (pdump_register_sub): Remove useless assignment.
12628         (pdump): Use xmalloc, not malloc.
12629         (pdump_load): Use xmalloc, not malloc.
12630
12631 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12632
12633         * callproc.c:
12634         * dired-msw.c:
12635         * fileio.c:
12636         * process-nt.c:
12637         * redisplay-msw.c:
12638         * sysdep.c: Removed redundant #include <windows.h>
12639
12640 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12641
12642         * frame.c (delete_frame_internal): Do not delete device when its
12643         implementation so declares.
12644         (delete_frame_internal): Set device selected frame to nil when
12645         last frame goes away.
12646
12647         * device-msw.c (msprinter_device_system_metrics): Implemented.
12648         (mswindows_device_system_metrics): Added 'device-dpi property.
12649
12650         * device.c: (Fdevice_printer_p): Added.
12651         Added 'offset-workspace device metric.
12652
12653         * console.h (device_metrics): Declared DM_offset_workspace.
12654
12655 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12656
12657         * fileio.c (Ffile_truename): Remove pointless and confusing
12658         initialization of elen.
12659
12660         * glyphs-widget.c: Compiler warning fixes.
12661
12662 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
12663
12664         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
12665         instead of a Lisp_Object as argument to make it consistent with
12666         the other LIVE_P macros.
12667         (CHECK_LIVE_PROCESS): New macro.
12668
12669         * process.c: Declare Qprocess_live_p.
12670         (Fprocess_live_p): New function.
12671         (create_process): Use PROCESS_LIVE_P.
12672         (read_process_output): Ditto.
12673         (set_process_filter): Ditto.
12674         (Fdelete_process): Ditto.
12675         (kill_buffer_processes): Ditto
12676         (process_send_signal): Use CHECK_LIVE_PROCESS.
12677         (Fprocess_input_coding_system): Check whether process is still
12678         alive (fix PR#1061).
12679         (Fprocess_output_coding_system): Ditto.
12680         (Fprocess_coding_system): Ditto.
12681         (Fset_process_input_coding_system): Ditto.
12682         (Fset_process_output_coding_system): Ditto.
12683
12684 2000-01-23  Andy Piper  <andy@xemacs.org>
12685
12686         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
12687         layout and widget.
12688
12689         * glyphs.c (mark_image_instance): take into account changed
12690         image_instance format.
12691         (image_instance_equal): ditto.
12692         (image_instance_hash): ditto.
12693
12694         * glyphs-widget.c (widget_instantiate): Incorporate layout
12695         instantiation here. Delay layout of the layout until later.
12696         (layout_instantiate): deleted.
12697         (layout_query_geometry): new function. get the geometry of a
12698         layout.
12699         (layout_layout): layout a layout dynamically.
12700         (image_instantiator_widget): New function - splitting up
12701         image_instantiator_format_create_glyphs_widget for netwinder
12702         compilation.
12703         (image_instantiator_buttons):
12704         (image_instantiator_edit_fields):
12705         (image_instantiator_combo_box):
12706         (image_instantiator_scrollbar):
12707         (image_instantiator_progress_guage):
12708         (image_instantiator_tree_view):
12709         (image_instantiator_tab_control):
12710         (image_instantiator_labels):
12711         (image_instantiator_layout): ditto.
12712         (image_instantiator_format_create_glyphs_widget): Call preceding
12713         functions.
12714
12715 2000-01-22  Martin Buchholz  <martin@xemacs.org>
12716
12717         * process.c (Fset_process_coding_system):
12718         * device-x.c (Fx_keysym_hash_table):
12719         Docstring fixes.
12720
12721         * lstream.c (Lstream_write): Return documented value, not 0.
12722
12723         * fileio.c (directory_file_name):
12724         (Fsubstitute_in_file_name):
12725         (Fsubstitute_insert_file_contents_internal):
12726         (Fwrite_region_internal):
12727         * emacs.c:
12728         * sysdep.c:
12729         * getloadavg.c:
12730         * systty.h:
12731         Remove vestigial APOLLO-conditional code.
12732
12733 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12734
12735         * getpagesize.h: Add guard macros.
12736         * libsst.h: Add guard macros.
12737         * libst.h: Add guard macros.
12738         * line-number.h: Add guard macros.
12739         * ndir.h: Add guard macros.
12740         * sysfloat.h: Add guard macros.
12741         * sysfile.h: Add guard macros.
12742         * sysproc.h: Add guard macros.
12743         * syswait.h: Add guard macros.
12744         * xintrinsic.h: Add guard macros.
12745         * xintrinsicp.h: Add guard macros.
12746         * xmmanager.h: Add guard macros.
12747         * xmmanagerp.h: Add guard macros.
12748         * xmprimitive.h: Add guard macros.
12749         * xmu.h: Add guard macros.
12750         * gpmevent.h: Add copyright statement. Add guard macros.
12751         * miscplay.h: Add guard macros.
12752         * *.h: Use consistent C-standards-approved guard macro names.
12753
12754         * opaque.c (make_opaque): Switch parameter order.
12755         * opaque.h (make_opaque): Switch parameter order.
12756         Update all callers.
12757         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
12758
12759         * config.h.in (type_checking_assert): Added.
12760         (bufpos_checking_assert): Added.
12761
12762 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12763
12764         * alloc.c: Harmless pdump changes.
12765         - Use countof().
12766         - spell alignment correctly.
12767         * sysdep.c: Use countof()
12768
12769 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12770
12771         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
12772         initially_selected_for_input() console method, default to 0.
12773         (semi_canonicalize_console_connection): Try to delegate to
12774         canonicalize_console_connection if no such console method.
12775         (canonicalize_console_connection): Vice versa.
12776         (print_console): Do not print nil connection.
12777
12778         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
12779         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
12780         (XDEVIMPF_FRAMELESS_OK): Added.
12781         (CONSOLE_INHERITS_METHOD): Added.
12782
12783         * console-msw.c (mswindows_canonicalize_console_connection):
12784         Added.
12785         (mswindows_canonicalize_device_connection): Added.
12786
12787         * console-msw.h (struct msprinter_device): Added this struct and
12788         accessor macros.
12789         (mswindows_device): Made fontlist a lisp object.
12790
12791         * device.c (semi_canonicalize_device_connection):  Try to delegate
12792         to canonicalize_device_connection if no such console method.
12793         (canonicalize_device_connection): Vice versa.
12794         (print_device): Do not print nil connection.
12795
12796         * device-msw.c (mswindows_init_device): Call InitCommonControls
12797         when have widgets.
12798         (mswindows_delete_device): Removed fontlist deallocation.
12799         (mswindows_mark_device): Added.
12800
12801         * events.c (event_equal): Added abort() at unreached code.
12802         (event_hash): Ditto.
12803
12804         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
12805         fallback tags of Windows devices.
12806
12807         * general.c (syms_of_general): Initialized Qmsprinter.
12808
12809         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
12810         of fallback tags of Windows devices.
12811
12812         * lisp.h: Declared Qmsprinter.
12813
12814         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
12815         of strings.
12816         (mswindows_list_fonts): Ditto.
12817         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
12818         that it can be used by both mswindows and msprinter devices.
12819         (initialize_font_instance): Added.
12820         (mswindows_initialize_font_instance): Use it.
12821         (msprinter_initialize_font_instance): Added.
12822
12823         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
12824         and implementation flags check.
12825         (redisplay_without_hooks): Changed the call to the above.
12826         (Fredraw_device): Ditto.
12827         (Fredisplay_device): Ditto.
12828
12829         * redisplay-msw.c (get_frame_dc): Implemented.
12830         (get_frame_compdc): Implemented.
12831         (many functions): Use the two functions above to get device
12832         contexts, ether for a window or a printer.
12833
12834 2000-01-21  Olivier Galibert  <galibert@pobox.com>
12835
12836         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
12837         initialization here.
12838         (init_symbols_once_early): Call it.
12839         * emacs.c (main_1): Call it.
12840         * symsinit.h: Declare it.
12841
12842 2000-01-19  Olivier Galibert  <galibert@pobox.com>
12843
12844         * alloc.c: Use a lrecord_header * in the backtrace instead of a
12845         Lisp_Object.
12846         (pdump_backtrace): Ditto.
12847         (pdump_register_object): Ditto.  Cleanup use of the pointers.
12848         (pdump_get_entry): Abort if trying to register a null pointer.
12849         (pdump_dump_data): Cleanup types when relocating.
12850         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
12851         (pdump_dump_rtables): Remove bad casts.
12852         (pdump_load): Cleanup relocation w.r.t union type.  Use a
12853         Lisp_Object instead of a EMACS_INT for the hashtable
12854         reorganization.
12855
12856 2000-01-20  Martin Buchholz  <martin@xemacs.org>
12857
12858         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
12859
12860         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
12861
12862         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
12863
12864         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
12865
12866 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12867
12868         * faces.h (FACE_STRIKETHRU_P): Added.
12869
12870         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
12871         of font variants.
12872
12873         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
12874         (mswindows_set_dc_font): New function, aware of font variants,
12875         separated from mswindows_update_dc.
12876
12877         * objects-msw.h (struct mswindows_font_instance_data): Added
12878         definition.
12879
12880         * objects-msw.c (mswindows_finalize_font_instance): Delete all
12881         cached fonts and the data structure.
12882         (mswindows_initialize_font_instance): Added creation of font data
12883         structure.
12884         (mswindows_print_font_instance): Print at least something.
12885         (mswindows_create_font_variant): Implemented.
12886         (mswindows_get_hfont): Implemented.
12887
12888 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
12889
12890         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
12891         prototyping problem with msvc.
12892
12893         * emacs.c (main_1): added syms_of_gui_mswindows() call
12894
12895         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
12896         syms_of_gui_mswindows() function
12897
12898         * symsinit.h: added the prototype for syms_of_gui_mswindows()
12899
12900 2000-01-18  Martin Buchholz <martin@xemacs.org>
12901
12902         * XEmacs 21.2.27 is released.
12903
12904 2000-01-18  Martin Buchholz  <martin@xemacs.org>
12905
12906         * glyphs-eimage.c (struct tiff_error_struct):
12907         (tiff_error_func):
12908         (tiff_warning_func):
12909         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
12910
12911         * unexmips.c:
12912         * unexhp9k3.c:
12913         * unexfreebsd.c:
12914         * unexec.c: Remove vestigial Lucid C code.
12915         * unexalpha.c:
12916         * unexaix.c:
12917         * termcap.c:
12918         * libsst.c: Ansify.
12919         Remove declarations of errno and strerror().
12920
12921         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
12922
12923         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
12924
12925 2000-01-16  Martin Buchholz  <martin@xemacs.org>
12926
12927         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
12928         Optimize.
12929
12930 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12931
12932         * md5.c:
12933         * file-coding.c:
12934         * file-coding.h:
12935         Change enum eol_type to eol_type_t.
12936
12937 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12938
12939         * gui.c (get_gui_callback): Check cons before accessing car.
12940
12941 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12942
12943         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
12944         (XSETSPECIFIER_TYPE): Ditto.
12945
12946 2000-01-17  Didier Verna  <didier@xemacs.org>
12947
12948         * redisplay.c (generate_fstring_runes): compute string size in
12949         characters, not bytes.
12950
12951 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12952
12953         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
12954
12955 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
12956
12957         * print.c (print_error_message): Call print_prepare().
12958
12959 2000-01-14  Martin Buchholz  <martin@xemacs.org>
12960
12961         * .dbxrc: Renamed from dbxrc.
12962
12963         * events.c (event_to_character):
12964         Use `assert (foo)' instead of `if (!foo) abort()'
12965
12966         * .gdbinit (xtype): Add documentation.
12967         * .gdbinit (check-temacs): New function.
12968         * .gdbinit (check-xemacs): New function.
12969         * dbxrc (check-xemacs): New function.
12970         * dbxrc (check-xemacs): New function.
12971
12972 2000-01-14  Andy Piper  <andy@xemacs.org>
12973
12974         * glyphs-widget.c (widget_query_geometry): Make sure that we
12975         calculate default dimensions correctly.
12976
12977 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12978
12979         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
12980
12981         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
12982         pdump_wire'd variable.
12983
12984         * emacs.c: (main_1): Conditionalized calls to
12985         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
12986
12987 2000-01-13  Martin Buchholz  <martin@xemacs.org>
12988
12989         * window.c (Fset_window_configuration):
12990         * sysdep.c (_start):
12991         * input-method-motif.c (res):
12992         * event-Xt.c (Xt_process_to_emacs_event):
12993         Simple compiler warning fixes.
12994
12995         * bytecode.c (funcall_compiled_function): Use the original
12996         function symbol on the backtrace list in preference to the
12997         compiled_function object in error messages.
12998
12999 2000-01-13  Andy Piper  <andy@xemacs.org>
13000
13001         * glyphs-x.c (update_widget_face): Make sure we update the widget
13002         background as well as foreground.
13003
13004 2000-01-13  Andy Piper  <andy@xemacs.org>
13005
13006         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
13007         fields to subwindow.
13008         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
13009         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
13010         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
13011         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
13012
13013         * glyphs-widget.c (check_valid_tab_orientation): new function.
13014         (initialize_widget_image_instance): zero orientation and
13015         justification.
13016         (widget_instantiate): pick up orientation.
13017         (tab_control_query_geometry): return appropriate values for
13018         vertical tabs.
13019
13020         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
13021         appropriate creation flags for left, right and bottom tabs.
13022
13023         * s/cygwin32.h: add tab definitions.
13024
13025 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13026
13027         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
13028         frame upon hiding a subwindow.
13029         (mswindows_button_instantiate): Changed the push button style to
13030         BS_PUSHBUTTON.
13031         (mswindows_button_instantiate): Removed button BS_NOTIFY
13032         style.
13033         (mswindows_button_instantiate): Removed redundant check for
13034         a disabled gui item.
13035         (mswindows_button_instantiate): Made use of WS_TABSTOP
13036         consistent: "operable" controls (edit, button, tree, scroll) have
13037         this style, "display-only" ones (static, progress gauge) do
13038         not. This style is currently ignored by XEmacs though. Also,
13039         removed the WS_EX_CONTROLPARENT style - it is not for children,
13040         it is for their parents!
13041         (mswindows_edit_field_instantiate): Ditto.
13042         (mswindows_progress_gauge_instantiate): Ditto.
13043         (mswindows_tree_view_instantiate): Ditto.
13044         (mswindows_tab_control_instantiate): Ditto.
13045         (mswindows_scrollbar_instantiate): Ditto.
13046         (mswindows_combo_box_instantiate): Ditto.
13047         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
13048         style to the "clip" window.
13049         (mswindows_button_instantiate): Removed compilation warning by
13050         equally typing terms of the ?: operator.
13051
13052 2000-01-12  Didier Verna  <didier@xemacs.org>
13053
13054         * redisplay.c (generate_fstring_runes): new parameter holding the
13055         last modeline-format extent.
13056         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
13057         extent, fill the glyph block with it.
13058         (generate_fstring_runes): handle these parameters.
13059         (generate_formatted_string_db): ditto.
13060
13061         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
13062         glyphs'extents in the modeline.
13063
13064 1999-01-11  Mike Woolley  <mike@bulsara.com>
13065
13066         * ntheap.c: Reduced the reserved heap space from 1Gb down to
13067         256Mb, as a workaround for the non-starting problem many people
13068         have experienced.
13069
13070 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13071
13072         * console-tty.c (Fset_console_tty_output_coding_system):
13073         Force redrawing tty frame.
13074
13075 2000-01-10  Didier Verna  <didier@xemacs.org>
13076
13077         * redisplay.c (generate_fstring_runes): fix size computation bug.
13078
13079 2000-01-09  William M. Perry <wmperry@aventail.com>
13080
13081         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
13082
13083 2000-01-09  Andy Piper  <andy@xemacs.org>
13084
13085         * glyphs-msw.c: index -> i to avoid shadows.
13086         (xbm_create_bitmap_from_data): make static.
13087         (check_valid_string_or_int): deleted.
13088         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
13089
13090         * glyphs-x.c (x_update_subwindow): remove unused args.
13091
13092         * glyphs.c (glyph_image_instance): return the thing. Don't set the
13093         back pointer - this is done in allocate_image_instance.
13094         (query_string_font): return Qnil to make the compiler happy.
13095         (unmap_subwindow): set to ~0 to make the compiler happy.
13096         (glyph_query_geometry): comment out until used.
13097         (glyph_layout): ditto.
13098
13099 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
13100
13101         * insdel.c (signal_after_change): Remove extraneous unbind_to().