Sync up with r21-4-10-utf-2000-0_20-ucs-cns-l.
[chise/xemacs-chise.git] / src / ChangeLog
1 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2
3         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
4
5         * mule-charset.c (Vcharset_ucs_cns): Deleted.
6         (Qucs_cns): Deleted.
7         (syms_of_mule_charset): Delete `ucs-cns'.
8         (complex_vars_of_mule_charset): Likewise.
9
10 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
11
12         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
13
14         * mule-charset.c (Vcharset_ucs_jis): Deleted.
15         (Qucs_jis): Deleted.
16         (syms_of_mule_charset): Delete `ucs-jis'.
17         (complex_vars_of_mule_charset): Likewise.
18
19 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
20
21         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
22
23         * mule-charset.c (Vcharset_ucs_ks): Deleted.
24         (Qucs_ks): Deleted.
25         (syms_of_mule_charset): Delete `ucs-ks'.
26         (complex_vars_of_mule_charset): Likewise.
27
28 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
29
30         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
31         (Qideograph_daikanwa_2): Deleted.
32         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
33         (complex_vars_of_mule_charset): Likewise.
34
35         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
36         (LEADING_BYTE_DAIKANWA_1): Deleted.
37         (LEADING_BYTE_DAIKANWA_2): Deleted.
38         (MIN_CHAR_DAIKANWA): Deleted.
39         (MAX_CHAR_DAIKANWA): Deleted.
40
41 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
42
43         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
44         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
45         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
46
47         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
48         (Vcharset_ideograph_daikanwa): Deleted.
49         (Qideograph_hanziku_{1..12}): Deleted.
50         (Qideograph_daikanwa): Deleted.
51         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
52         Vcharset_ideograph_daikanwa.
53         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
54         `ideograph-hanziku-{1..12}'.
55         (complex_vars_of_mule_charset): Likewise.
56
57 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
58
59         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
60
61         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
62         (Qideograph_gt_pj_{1..11}): Deleted.
63         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
64         (complex_vars_of_mule_charset): Likewise.
65
66 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
67
68         * mule-charset.c (Vcharset_ucs_big5): Deleted.
69         (Vcharset_ideograph_gt): Deleted.
70         (Qucs_big5): Deleted.
71         (Qideograph_gt): Deleted.
72         (syms_of_mule_charset): Delete symbol `ucs-big5' and
73         `ideograph-gt'.
74         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
75         and `ideograph-gt'.
76
77         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
78         (LEADING_BYTE_GT): Deleted.
79         (GC_CHARSETP): Deleted.
80         (MIN_CHAR_GT): Deleted.
81         (MAX_CHAR_GT): Deleted.
82
83 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
84
85         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
86
87 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
88
89         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
90         (Qideograph_cbeta): Deleted.
91         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
92         (complex_vars_of_mule_charset): Likewise.
93
94         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
95         (MIN_CHAR_CBETA): Comment out.
96         (MAX_CHAR_CBETA): Likewise.
97
98 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
99
100         * mule-charset.c (charset_lookup_description_1): Use
101         `NUM_LEADING_BYTES' in UTF-2000.
102
103 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
104
105         * mule-charset.c (Vcharset_china3_jef): Deleted.
106         (Qchina3_jef): Deleted.
107         (syms_of_mule_charset): Don't define `china3-jef'.
108         (complex_vars_of_mule_charset): Likewise.
109
110         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
111         (MIN_CHAR_CHINA3_JEF): Comment out.
112         (MAX_CHAR_CHINA3_JEF): Comment out.
113
114 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
115
116         * mule-charset.c (Vcharset_ucs_gb): New variable.
117         (Qucs_gb): New variable.
118         (syms_of_mule_charset): Add new symbol `ucs-gb'.
119         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
120
121         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
122
123 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
124
125         * mule-charset.c (charset_code_point): if a coded-charset has a
126         final-byte, don't inherit the builtin range of the mother CCS.
127
128 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
129
130         * mule-charset.c (charset_code_point): Fix problem about
131         inheritance.
132
133 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
134
135         * mule-charset.c (decode_builtin_char): Reorganized.
136
137 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
138
139         * text-coding.c (char_encode_shift_jis): Modify for
140         `charset_code_point'.
141         (char_encode_big5): Likewise.
142         (char_encode_utf8): Likewise.
143         (char_encode_iso2022): Likewise.
144
145         * mule-charset.c (charset_code_point): Add new argument
146         `defined_only'.
147         (Fencode_char): Add new optional argument `defined_only'.
148
149         * chartab.c (put_char_table): Modify for `charset_code_point'.
150         (map_char_table): Likewise.
151
152         * char-ucs.h (charset_code_point): Add new argument
153         `defined_only'.
154         (encode_char_1): Modify for `charset_code_point'.
155
156 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
157
158         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
159         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
160
161 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
162
163         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
164         (Qjis_x0208): Likewise.
165         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
166         XCHARSET_FINAL(charset).
167         (charset_code_point): Modify condition for final-byte based
168         builtin-chars.
169         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
170         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
171         in UTF-2000; specify `=jis-x0208' as the mother of
172         `japanese-jisx0208-1978', `japanese-jisx0208' and
173         `japanese-jisx0208-1990' in UTF-2000.
174
175 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
176
177         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
178
179 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
180
181         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
182         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
183         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
184         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
185         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
186         CONVERSION_96x96x96x96 are introduced.
187         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
188         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
189         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
190
191         * char-ucs.h (CONVERSION_94): New macro.
192         (CONVERSION_96): New macro.
193         (CONVERSION_94x94): New macro.
194         (CONVERSION_96x96): New macro.
195         (CONVERSION_94x94x94): New macro.
196         (CONVERSION_96x96x96): New macro.
197         (CONVERSION_94x94x94x60): New macro.
198         (CONVERSION_94x94x94x94): New macro.
199         (CONVERSION_96x96x96x96): New macro.
200
201 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
202
203         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
204
205         * fns.c (Qideographic_structure): New variable.
206         (Qkeyword_char): New variable.
207         (ids_format_unit): New function.
208         (Fideographic_structure_to_ids): New function.
209         (syms_of_fns): Add new symbols `ideographic-structure' and
210         `:char'; add new builtin function `ideographic-structure-to-ids'.
211
212         * data.c (Fchar_ref_p): New function.
213         (syms_of_data): Add new builtin function `char-ref-p'.
214
215         * chartab.h: Add an EXFUN for `Ffind_char'.
216
217 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
218
219         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
220         and `COMPOSE_ADD_CHAR'.
221         (decode_coding_iso2022): Use `decode_flush_er_chars'.
222
223 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
224
225         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
226         instead of `DECODE_ADD_UCS_CHAR'.
227         (COMPOSE_ADD_CHAR): Likewise.
228
229 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
230
231         * text-coding.c (decode_flush_er_chars): New inline function.
232         (decode_add_er_char): New function.
233         (decode_coding_utf8): Use `decode_flush_er_chars' and
234         `decode_add_er_char'.
235
236 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
237
238         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
239         done before `decode_output_utf8_partial_char'.
240
241         * mule-charset.c (complex_vars_of_mule_charset): Specify
242         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
243         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
244
245 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
246
247         * mule-charset.c (decode_defined_char): New function; search
248         mother.
249         (decode_builtin_char): Don't search mother if
250         XCHARSET_MAX_CODE(charset) == 0.
251         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
252         == 0 even if code >= XCHARSET_MAX_CODE(charset).
253         (Fdecode_char): Use `decode_defined_char' instead of
254         `DECODE_DEFINED_CHAR'.
255         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
256         mother of `Vcharset_ucs_jis'.
257
258         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
259         instead of `DECODE_DEFINED_CHAR'.
260
261         * char-ucs.h (decode_defined_char): Renamed from
262         `DECODE_DEFINED_CHAR'; changed to normal function.
263         (DECODE_CHAR): Use `decode_defined_char' instead of
264         `DECODE_DEFINED_CHAR'.
265
266         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
267
268 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
269
270         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
271
272         * text-coding.c (Vcoded_charset_entity_reference_alist): New
273         variable.
274         (Quse_entity_reference): New variable.
275         (Qd): New variable.
276         (Qx): New variable.
277         (QX): New variable.
278         (coding_system_description): Add description for
279         `ccs_priority_list'.
280         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
281         (allocate_coding_system): Initialize `ccs_priority_list' in
282         UTF-2000.
283         (Fmake_coding_system): Add description about
284         'use-entity-reference; setup
285         CODING_SYSTEM_USE_ENTITY_REFERENCE(codesys).
286         (Fcoding_system_property): Accept `disable-composition' and
287         `use-entity-reference' in UTF-2000.
288         (struct decoding_stream): Add new member `er_counter' and `er_buf'
289         in UTF-2000.
290         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
291         (decode_coding_utf8): Decode entity-reference if
292         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
293         (char_encode_utf8): Encode non-Unicode characters as
294         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
295         (str->codesys).
296         (syms_of_file_coding): Add new symbols `use-entity-reference',
297         `d', `x', `X'.
298         (vars_of_file_coding): Add new variable
299         `coded-charset-entity-reference-alist'.
300         (complex_vars_of_file_coding): Declare `disable-composition' and
301         `use-entity-reference' to be coding-system-properties in UTF-2000.
302
303         * file-coding.h (struct Lisp_Coding_System): Add new member
304         `use_entity_reference' and `ccs_priority_list'.
305         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
306         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
307         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
308
309 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
310
311         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
312
313 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
314
315         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
316         `XCHARSET_GRAPHIC(ccs)'.
317
318 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
319
320         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
321         for decoding-table.
322
323 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
324
325         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
326         instead of `XCHARSET_CHARS'.
327
328 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
329
330         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
331         (XCHARSET_BYTE_SIZE): Likewise.
332
333         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
334         mule-charset.c].
335         (XCHARSET_BYTE_SIZE): Likewise.
336
337 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
338
339         * char-ucs.h (decoding_table_check_elements): Delete prototype.
340         (get_ccs_octet_table): New inline function.
341         (put_ccs_octet_table): Likewise.
342         (decoding_table_put_char): Use `get_ccs_octet_table' and
343         `put_ccs_octet_table'.
344         (decoding_table_remove_char): Use `decoding_table_put_char'.
345         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
346
347         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
348         into encoding_table.
349         (make_charset): Use Qunbound instead Qnil as initial value of
350         decoding_table.
351
352 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
353
354         * mule-charset.c (put_char_ccs_code_point): Modify for
355         `decoding_table_remove_char' and `decoding_table_put_char'.
356         (remove_char_ccs): Modify for `decoding_table_remove_char'.
357
358         * char-ucs.h (decoding_table_remove_char): Change arguments to
359         hide decoding_table vector.
360         (decoding_table_put_char): Likewise.
361
362 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
363
364         * mule-charset.c (decoding_table_remove_char): Moved to
365         char-ucs.h.
366         (decoding_table_put_char): Likewise.
367
368         * char-ucs.h (decoding_table_check_elements): New prototype [moved
369         from mule-charset.c].
370         (decoding_table_remove_char): New inline function [moved from
371         mule-charset.c].
372         (decoding_table_put_char): Likewise.
373
374 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
375
376         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
377         instead of `DECODE_CHAR' for mother; don't use special code for
378         chinese-big5 to use code space of chinese-big5-1 and
379         chinese-big5-2.
380         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
381         `MAX_CHAR_BIG5_CDP' for chinese-big5.
382
383         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
384         (MAX_CHAR_BIG5_CDP): Revival.
385
386 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
387
388         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
389         the XLFD registry-encoding name of `chinese-big5'.
390
391 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
392
393         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
394         (Qchinese_big5_cdp): Deleted.
395         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
396         (complex_vars_of_mule_charset): Delete coded-charset
397         `chinese-big5-cdp'.
398
399         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
400         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
401         `CHARSET_ID_OFFSET - n' for private CCS.
402         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
403         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
404         of `MIN_LEADING_BYTE'.
405         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
406         `(CHARSET_ID_OFFSET - 97)'.
407         (MIN_CHAR_BIG5_CDP): Deleted.
408         (MAX_CHAR_BIG5_CDP): Deleted.
409
410 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
411
412         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
413         extension.
414
415 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
416
417         * mule-charset.c (decode_builtin_char): Support mother charsets.
418
419 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
420
421         * mule-charset.c (Q94x94x60): New variable.
422         (charset_code_point): Support conversion `94x94x60'.
423         (Fmake_charset): Likewise.
424         (syms_of_mule_charset): Add new symbol `94x94x60'.
425
426         * char-ucs.h (CONVERSION_94x94x60): New macro.
427
428 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
429
430         * mule-charset.c (charset_code_point): Unify code about
431         `code-offset'.
432
433 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
434
435         * mule-charset.c (charset_code_point): Merge code about builtin
436         characters into code about mother charsets; don't use
437         `range_charset_code_point'.
438         (range_charset_code_point): Deleted.
439
440 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
441
442         * mule-charset.c (Qcode_offset): New variable.
443         (Fmake_charset): Use `XUINT' to get value of `min-code' and
444         `max-code'; accept new property `code-offset'.
445         (syms_of_mule_charset): Add new symbol `code-offset'.
446
447 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
448
449         * mule-charset.c (range_charset_code_point): Fixed.
450
451 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
452
453         * mule-charset.c (decode_builtin_char): Change semantics of
454         code-offset of coded-charset.
455         (charset_code_point): Likewise.
456         (range_charset_code_point): Likewise.
457         (complex_vars_of_mule_charset): Modify for the change.
458
459 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
460
461         * mule-charset.c (Fencode_char): Reverse arguments.
462
463         * mule-charset.c (charset_code_point): Fixed.
464
465 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
466
467         * mule-charset.c (Vcharset_mojikyo): Deleted.
468         (Vcharset_mojikyo_2022_1): Deleted.
469         (Vcharset_mojikyo_pj_{1..21}): Deleted.
470         (Qmin_code): New variable in UTF-2000.
471         (Qmax_code): Likewise.
472         (Qmother): Likewise.
473         (Qconversion): Likewise.
474         (Q94x60): Likewise.
475         (Qmojikyo): Deleted.
476         (Qmojikyo_2022_1): Deleted.
477         (Qmojikyo_pj_{1..22}): Deleted.
478         (mark_charset): Mark `cs->mother'.
479         (charset_description): Add description for `mother'.
480         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
481         new arguments `mother' and `conversion'; use
482         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
483         (charset_code_point): Moved from char-ucs.h; support `mother'
484         charset feature.
485         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
486         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
487         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
488         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
489         allow 2 as the value of `graphic' in UTF-2000; add new properties
490         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
491         require `final' in UTF-2000; modify for `make_charset'.
492         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
493         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
494         (Fcharset_property): Support `mother', `min-code' and `max-code'.
495         (Fencode_char): New function.
496         (syms_of_mule_charset): Add new builtin function `encode-char' in
497         UTF-2000; add new symbols `min-code', `max-code', `mother',
498         `conversion' and `94x60'; delete symbols `mojikyo',
499         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
500         (complex_vars_of_mule_charset): Modify for `make_charset' change;
501         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
502         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
503
504         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
505         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
506
507         * char-ucs.h (Vcharset_mojikyo): Deleted.
508         (Vcharset_mojikyo_2022_1): Deleted.
509         (LEADING_BYTE_MOJIKYO): Deleted.
510         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
511         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
512         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
513         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
514         add new member `mother'; add new member `conversion'.
515         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
516         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
517         (CHARSET_MOTHER): New macro.
518         (CHARSET_CONVERSION): New macro.
519         (CONVERSION_IDENTICAL): New macro.
520         (CONVERSION_94x60): New macro.
521         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
522         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
523         (XCHARSET_MOTHER): New macro.
524         (XCHARSET_CONVERSION): New macro.
525         (MIN_CHAR_MOJIKYO): Deleted.
526         (MAX_CHAR_MOJIKYO): Deleted.
527         (DECODE_MOJIKYO_2022): Deleted.
528         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
529         (charset_code_point): Changed to non-inline function.
530         (encode_char_1): Use `charset_code_point'.
531         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
532
533 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
534
535         * lread.c (read_compiled_function): Fix prototype.
536         (read_vector): Likewise.
537
538 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
539
540         * lrecord.h (struct lrecord_header): Delete `older'.
541         (set_lheader_implementation): Delete code for `older'.
542         (set_lheader_older_implementation): Deleted.
543         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
544         (OLDER_RECORD_P): Deleted.
545         (OLDER_RECORD_HEADER_P): Deleted.
546         (alloc_older_lcrecord): Deleted.
547         (alloc_older_lcrecord_type): Deleted.
548
549         * alloc.c (all_older_lcrecords): Deleted.
550         (alloc_older_lcrecord): Deleted.
551         (disksave_object_finalization_1): Delete code for older objects.
552         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
553         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
554
555 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
556
557         * mule-charset.c (decoding_table_put_char): Use `make_vector'
558         instead of `make_older_vector'.
559         (put_char_ccs_code_point): Likewise.
560         (mark_charset): Mark `cs->decoding_table'.
561         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
562
563         * lisp.h (make_older_vector): Deleted.
564         (make_vector_newer): Deleted.
565
566         * config.h.in (HAVE_GGC): Deleted.
567
568         * alloc.c (make_older_vector): Deleted.
569         (make_vector_newer_1): Deleted.
570         (make_vector_newer): Deleted.
571
572 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
573
574         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
575         (Qideograph_daikanwa_2): New variable.
576         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
577         (complex_vars_of_mule_charset): Add new coded-charset
578         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
579         `LEADING_BYTE_DAIKANWA'.
580
581         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
582         (LEADING_BYTE_DAIKANWA_1): New macro.
583         (LEADING_BYTE_DAIKANWA_2): New macro.
584         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
585
586 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
587
588         * mule-charset.c (complex_vars_of_mule_charset): Change
589         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
590         the second revised version.
591
592 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
593
594         * mule-charset.c (Vcharset_ucs_smp): New variable.
595         (Vcharset_ucs_sip): New variable.
596         (Qucs_smp): New variable.
597         (Qucs_sip): New variable.
598         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
599         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
600         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
601         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
602         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
603         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
604
605         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
606         (LEADING_BYTE_UCS_SIP): New macro.
607         (MIN_CHAR_SMP): New macro.
608         (MAX_CHAR_SMP): New macro.
609         (MIN_CHAR_SIP): New macro.
610         (MAX_CHAR_SIP): New macro.
611
612 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
613
614         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
615         utf-2000.
616
617 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
618
619         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
620         value; don't store value into `encoding_table' of `Lisp_Charset'.
621         (mark_charset): `encoding_table' was deleted.
622         (charset_description): Likewise.
623         (make_charset): Likewise.
624         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
625         `put_char_ccs_code_point'.
626
627         * chartab.h (Fput_char_attribute): New EXFUN.
628
629         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
630         is unified with normal symbol space.
631         (Fget_char_attribute): Likewise.
632         (Fput_char_attribute): Likewise; behavior of
633         `put_char_ccs_code_point' is changed.
634
635         * char-ucs.h: Include "elhash.h".
636         (Vchar_attribute_hash_table): New external variable.
637         (struct Lisp_Charset): Delete `encoding_table'.
638         (CHARSET_ENCODING_TABLE): New implementation; refer
639         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
640         `Lisp_Charset'.
641
642 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
643
644         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
645         (cs) == 0.
646
647 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
648
649         * text-coding.c (char_encode_big5): Prefer charset-g1 than
650         `chinese-big5'.
651
652 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
653
654         * chartab.c (uint8_byte_table_description): New constant.
655         (uint8-byte-table): Use `uint8_byte_table_description'.
656         (uint16_byte_table_description): New constant.
657         (uint16-byte-table): Use `uint16_byte_table_description'.
658
659 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
660
661         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
662         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
663
664 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
665
666         * mule-charset.c (Vcharset_ucs_ks): New variable.
667         (Qucs_ks): New variable.
668         (syms_of_mule_charset): Add new symbol `ucs-ks'.
669         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
670
671         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
672
673 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
674
675         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
676         (Fdecode_char): Likewise.
677
678         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
679         chartab.h.
680         (Fdefine_char): Modify for Fdecode_char.
681         (Ffind_char): Likewise.
682
683         * mule-charset.c (Fdecode_char): Add new optional argument
684         `defined-only'.
685         (Fdecode_builtin_char): Modify for `Fdecode_char'.
686
687 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
688
689         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
690         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
691         (allocate_coding_system): Initialize initial-charsets of
692         CODESYS_BIG5 in XEmacs UTF-2000.
693         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
694         CODESYS_BIG5 in XEmacs UTF-2000.
695         (decode_coding_big5): Use initial-charset-g0 and -g1 of
696         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
697
698         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
699         variables.
700         (Qideograph_hanziku_{1 .. 12}): Likewise.
701         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
702         .. 12}'.
703         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
704         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
705         `ideograph-hanziku-{1 .. 12}'.
706
707         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
708         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
709         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
710         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
711         (DECODE_DEFINED_CHAR): New inline function.
712         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
713
714 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
715
716         * mule-charset.c (Vcharset_china3_jef): Renamed from
717         `Vcharset_japanese_jef_china3'.
718         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
719         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
720         `{MIN|MAX}_CHAR_JEF_CHINA3'..
721         (syms_of_mule_charset): Rename `china3-jef' from
722         `japanese-jef-china3'.
723         (complex_vars_of_mule_charset): Likewise; rename
724         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
725
726         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
727         `LEADING_BYTE_JEF_CHINA3'.
728         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
729         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
730
731 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
732
733         * mule-charset.c (encode_builtin_char_1): Comment out special code
734         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
735
736         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
737         (MAX_CHAR_MOJIKYO_0): Comment out.
738         (MIN_CHAR_CBETA): Changed to 0x00E20000.
739         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
740         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
741         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
742
743 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
744
745         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
746         (Qideograph_cbeta): New variable.
747         (encode_builtin_char_1): Comment out special code for
748         coded-charset `mojikyo' and `japanese-jef-china3'.
749         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
750         (complex_vars_of_mule_charset): Add new coded-charset
751         `ideograph-cbeta'.
752
753         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
754         (MIN_CHAR_CBETA): New macro.
755         (MAX_CHAR_CBETA): New macro.
756
757 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
758
759         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
760         (LEADING_BYTE_JEF_CHINA3): New macro.
761         (MIN_CHAR_JEF_CHINA3): New macro.
762         (MAX_CHAR_JEF_CHINA3): Likewise.
763         (DECODE_CHAR): Fixed.
764
765 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
766
767         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
768         (Qjapanese_jef_china3): New variable.
769         (encode_builtin_char_1): Support `japanese-jef-china3'.
770         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
771         (complex_vars_of_mule_charset): Add new coded-charset
772         `japanese-jef-china3'.
773
774 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
775
776         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
777         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
778         94^4, 96^3, 96^4, 128^n and 256^n set.
779         (put_char_table): Use `XCHARSET_CELL_RANGE'.
780         (map_char_table): Likewise.
781
782 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
783
784         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
785         UTF-2000.
786
787 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
788
789         * chartab.h (get_char_id_table): New inline function.
790
791         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
792         function.
793
794 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
795
796         * chartab.h (decode_char_table_range): New prototype in XEmacs
797         UTF-2000.
798         (put_char_id_table): New inline function in XEmacs UTF-2000.
799
800         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
801         function.
802         (decode_char_table_range): Delete static declaration in XEmacs
803         UTF-2000.
804
805 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
806
807         * chartab.c (put_char_id_table): Use `put_char_table'.
808
809 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
810
811         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
812         (map_over_uint16_byte_table): Likewise.
813         (map_over_byte_table): Likewise.
814         (map_char_table): Modify for `map_over_uint8_byte_table',
815         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
816         UTF-2000.
817
818 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
819
820         * chartab.c (struct map_char_table_for_charset_arg): New
821         structure.
822         (map_char_table_for_charset_fun): New function.
823         (map_char_table): Use `map_char_table' for encoding_table of
824         `range->charset'.
825
826 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
827
828         * chartab.c (map_char_table): Check a character is found in
829         range->charset instead of non default value is defined in
830         char-table when range is CHARTAB_RANGE_ROW.
831
832 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
833
834         * chartab.c (map_char_id_table): Deleted.
835         (Fmap_char_attribute): Use `map_char_table' instead of
836         `map_char_id_table'.
837
838 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
839
840         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
841         UTF-2000.
842         (update_syntax_table): Deleted in XEmacs UTF-2000.
843
844         * syntax.c (find_defun_start): Use `syntax_table' instead of
845         `mirror_syntax_table' in XEmacs UTF-2000.
846         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
847         UTF-2000.
848         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
849         XEmacs UTF-2000.
850         (Fmatching_paren): Likewise.
851         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
852         in XEmacs UTF-2000.
853         (find_start_of_comment): Likewise.
854         (find_end_of_comment): Likewise.
855         (Fforward_comment): Likewise.
856         (scan_lists): Likewise.
857         (char_quoted): Likewise.
858         (Fbackward_prefix_chars): Likewise.
859         (scan_sexps_forward): Likewise.
860         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
861         (update_syntax_table): Likewise.
862
863         * search.c (skip_chars): Use `syntax_table' instead of
864         `mirror_syntax_table' in XEmacs UTF-2000.
865         (wordify): Likewise.
866         (Freplace_match): Likewise.
867
868         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
869         `mirror_syntax_table' in XEmacs UTF-2000.
870         (WORDCHAR_P_UNSAFE): Likewise.
871         (re_match_2_internal): Likewise.
872
873         * font-lock.c (find_context): Use `buf->syntax_table' instead of
874         `buf->mirror_syntax_table' in XEmacs UTF-2000.
875
876         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
877         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
878
879         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
880         XEmacs UTF-2000.
881
882         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
883         UTF-2000.
884         (print_char_table): Print `default_value' in XEmacs UTF-2000.
885         (char_table_description): Delete `mirror_table' in XEmacs
886         UTF-2000.
887         (fill_char_table): Don't call `update_syntax_table' in XEmacs
888         UTF-2000.
889         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
890         (Fcopy_char_table): Likewise.
891         (put_char_table): Don't call `update_syntax_table' in XEmacs
892         UTF-2000.
893
894         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
895         `buf->mirror_syntax_table' in XEmacs UTF-2000.
896         (casify_region_internal): Likewise.
897
898         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
899
900         * buffer.c (common_init_complex_vars_of_buffer): Don't use
901         `mirror_syntax_table' in XEmacs UTF-2000.
902
903         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
904         `buf->mirror_syntax_table' in XEmacs UTF-2000.
905         (Fexpand_abbrev): Likewise.
906
907 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
908
909         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
910
911 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
912
913         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
914         (map_over_uint16_byte_table): Likewise.
915         (map_over_byte_table): Likewise.
916         (get_char_id_table): Refer `cit->default_value'.
917         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
918         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
919         of character-id ranges.
920         (mark_char_table): Mark `ct->default_value'.
921         (char_table_description): Add `default_value'.
922         (fill_char_table): Use `default_value'.
923         (decode_char_table_range): Decode `nil' as
924         `CHARTAB_RANGE_DEFAULT'.
925         (get_char_id_table): Refer `cit->default_value'.
926         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
927         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
928         temporary hack; check value of char-table is bound or not.
929         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
930
931         * chartab.h (struct Lisp_Char_Table): Add new member
932         `default_value' in XEmacs UTF-2000.
933         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
934         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
935         UTF-2000.
936
937 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
938
939         * chartab.h (Lisp_Char_ID_Table): Deleted.
940
941         * chartab.c (char_table_description): Fix typo.
942         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
943         `Lisp_Char_ID_Table'.
944
945 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
946
947         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
948         `CHAR_ID_TABLE_P'.
949
950         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
951         `CHAR_ID_TABLE_P'.
952
953         * chartab.h (XCHAR_ID_TABLE): Deleted.
954         (XSETCHAR_ID_TABLE): Deleted.
955         (CHAR_ID_TABLE_P): Deleted.
956
957         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
958         `CHAR_ID_TABLE_P'.
959         (Fget_composite_char): Likewise.
960         (put_char_table): Likewise.
961         (add_char_attribute_alist_mapper): Fixed.
962         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
963         `CHAR_ID_TABLE_P'.
964         (Fget_char_attribute): Likewise.
965         (Fget_char_attribute): Likewise.
966         (Fmap_char_attribute): Likewise.
967
968         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
969         `CHAR_ID_TABLE_P'.
970         (encode_char_1): Likewise.
971
972 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
973
974         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
975         `XCHAR_ID_TABLE'.
976
977         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
978         instead of `XCHAR_ID_TABLE'.
979         (remove_char_ccs): Likewise.
980
981         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
982         `XCHAR_ID_TABLE'.
983         (Fget_composite_char): Likewise.
984         (Fchar_variants): Likewise.
985         (put_char_table): Likewise.
986         (add_char_attribute_alist_mapper): Likewise.
987         (Fchar_attribute_alist): Likewise.
988         (Fget_char_attribute): Likewise.
989         (Fput_char_attribute): Likewise.
990         (Fmap_char_attribute): Likewise.
991         (Fmap_char_attribute): Likewise.
992
993         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
994         `XCHAR_ID_TABLE'.
995         (encode_char_1): Likewise.
996
997 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
998
999         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
1000         `Lisp_Char_ID_Table'.
1001         (mark_char_id_table): Deleted.
1002         (print_char_id_table): Likewise.
1003         (char_id_table_equal): Likewise.
1004         (char_id_table_hash): Likewise.
1005         (char_id_table_description): Likewise.
1006         (char_id_table): Likewise.
1007         (make_char_id_table): Use `Fmake_char_table' and
1008         `fill_char_table'.
1009         (get_char_id_table): Use `Lisp_Char_Table' instead of
1010         `Lisp_Char_ID_Table'.
1011         (put_char_id_table): Likewise.
1012         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
1013         `XCHAR_ID_TABLE'.
1014         (Fremove_char_attribute): Likewise.
1015         (syms_of_chartab): Don't define type `char-id-table'.
1016
1017         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
1018         (char_id_table): Likewise.
1019         (GC_CHAR_ID_TABLE_P): Likewise.
1020         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
1021         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
1022         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
1023         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
1024         (get_char_id_table): Use `Lisp_Char_Table' instead of
1025         `Lisp_Char_ID_Table'.
1026         (put_char_id_table_0): Likewise.
1027         (put_char_id_table): Likewise.
1028
1029 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1030
1031         * chartab.h: Lisp_Byte_Table related codes are moved from
1032         chartab.h.
1033
1034         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
1035
1036 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1037
1038         * chartab.h: Don't include "chartab.h".
1039         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
1040         (Lisp_Char_ID_Table): Likewise.
1041         (char_id_table): Likewise.
1042         (XCHAR_ID_TABLE): Likewise.
1043         (XSETCHAR_ID_TABLE): Likewise.
1044         (CHAR_ID_TABLE_P): Likewise.
1045         (GC_CHAR_ID_TABLE_P): Likewise.
1046         (get_char_id_table): Likewise.
1047
1048         * char-ucs.h: Include "chartab.h".
1049         (struct Lisp_Char_ID_Table): Moved to chartab.h.
1050         (Lisp_Char_ID_Table): Likewise.
1051         (char_id_table): Likewise.
1052         (XCHAR_ID_TABLE): Likewise.
1053         (XSETCHAR_ID_TABLE): Likewise.
1054         (CHAR_ID_TABLE_P): Likewise.
1055         (GC_CHAR_ID_TABLE_P): Likewise.
1056         (get_char_id_table): Likewise.
1057
1058 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1059
1060         * chartab.c (copy_uint8_byte_table): New function.
1061         (copy_uint16_byte_table): New function.
1062         (copy_byte_table): New function.
1063         (map_over_uint8_byte_table): Modify to avoid huge numbers of
1064         characters to call.
1065         (map_over_uint16_byte_table): Likewise.
1066         (map_over_byte_table): Likewise.
1067         (get_byte_table): Move prototype to chartab.h.
1068         (put_byte_table): Likewise.
1069         (put_char_id_table_0): Moved to chartab.h.
1070         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
1071         (char_table_entry_equal): Likewise.
1072         (char_table_entry_hash): Likewise.
1073         (char_table_entry_description): Likewise.
1074         (char_table_entry): Likewise.
1075         (make_char_table_entry): Likewise.
1076         (copy_char_table_entry): Likewise.
1077         (get_non_ascii_char_table_value): Likewise.
1078         (map_over_charset_ascii): Likewise.
1079         (map_over_charset_control_1): Likewise.
1080         (map_over_charset_row): Likewise.
1081         (map_over_other_charset): Likewise.
1082         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
1083         (print_char_table): Likewise.
1084         (char_table_equal): Likewise.
1085         (char_table_hash): Likewise.
1086         (char_table_description): Likewise.
1087         (fill_char_table): Likewise.
1088         (Fcopy_char_table): Likewise.
1089         (get_char_table): Likewise.
1090         (Fget_range_char_table): Likewise.
1091         (put_char_table): Likewise.
1092         (map_char_table): Likewise.
1093         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
1094         UTF-2000.
1095
1096 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1097
1098         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
1099         `Vauto_fill_chars' in XEmacs UTF-2000.
1100
1101         * chartab.h (get_byte_table): New prototype [moved from
1102         chartab.c].
1103         (put_byte_table): Likewise [moved from chartab.c].
1104         (put_char_id_table_0): New inline function [moved from chartab.c].
1105         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
1106         (Lisp_Char_Table_Entry): Likewise.
1107         (char_table_entry): Likewise.
1108         (XCHAR_TABLE_ENTRY): Likewise.
1109         (XSETCHAR_TABLE_ENTRY): Likewise.
1110         (CHAR_TABLE_ENTRYP): Likewise.
1111         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1112         (NUM_ASCII_CHARS): Likewise.
1113         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1114         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1115
1116 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1117
1118         * chartab.c (get_char_id_table): Change interface.
1119         (put_char_id_table_0): New function.
1120         (put_char_id_table): Change interface; new implementation.
1121         (Fget_composite_char): Modify for interface change of
1122         `get_char_id_table'.
1123         (Fchar_variants): Likewise.
1124         (add_char_attribute_alist_mapper): Likewise.
1125         (Fchar_attribute_alist): Likewise.
1126         (Fget_char_attribute): Likewise.
1127         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1128         as same as character as the first argument like `put-char-table';
1129         modify for interface change of `put_char_id_table'.
1130         (Fremove_char_attribute): Modify for interface change of
1131         `put_char_id_table'.
1132
1133 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1134
1135         * text-coding.c: Sync up with XEmacs 21.2.41.
1136         (COMPOSE_ADD_CHAR): Modify for interface change of
1137         `get_char_id_table'.
1138
1139         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1140         change of `put_char_id_table'.
1141         (remove_char_ccs): Likewise.
1142
1143         * chartab.h (put_char_id_table): Change interface.
1144
1145         * char-ucs.h (get_char_id_table): Change interface.
1146         (charset_code_point): Modify for interface change of
1147         `get_char_id_table'.
1148         (encode_char_1): Likewise.
1149
1150 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1151
1152         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1153         argument `ccs'.
1154         (map_over_uint16_byte_table): Likewise.
1155         (map_over_byte_table): Likewise.
1156         (map_char_id_table): Add new argument `range' like
1157         `map_char_table'.
1158         (Fmap_char_attribute): Add new argument `range' like
1159         `Fmap_char_table'.
1160
1161 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1162
1163         * chartab.c (map_over_uint8_byte_table): Change interface of
1164         mapping function to use struct chartab_range instead of Emchar.
1165         (map_over_uint16_byte_table): Likewise.
1166         (map_over_byte_table): Likewise.
1167         (map_char_id_table): Likewise.
1168         (struct slow_map_char_id_table_arg): Deleted.
1169         (slow_map_char_id_table_fun): Deleted.
1170         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1171         function `slow_map_char_table_fun' instead of struct
1172         `slow_map_char_id_table_arg' and function
1173         `slow_map_char_id_table_fun'.
1174
1175 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1176
1177         * mule-charset.c: Move char-it-table related codes to chartab.c.
1178         (Vutf_2000_version): Moved to chartab.c.
1179         (Fdefine_char): Likewise.
1180         (Ffind_char): Likewise.
1181         (syms_of_mule_charset): Move types `uint8-byte-table',
1182         `uint16-byte-table', `byte-table' and `char-id-table' to
1183         chartab.c; move functions `char_attribute_list,
1184         `find_char_attribute_table, `char_attribute_alist,
1185         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1186         `map_char_attribute, `define_char, `find_char, `char_variants and
1187         `get_composite_char to chartab.c; move symbols `=>ucs',
1188         `->decomposition', `compat', `isolated', `initial', `medial',
1189         `final', `vertical', `noBreak', `fraction', `super', `sub',
1190         `circle', `square', `wide', `narrow', `small' and `font' to
1191         chartab.c.
1192         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1193         setting codes for `Vcharacter_composition_table' and
1194         `Vcharacter_variant_table' to chartab.c.
1195         (complex_vars_of_mule_charset): Move setting code for
1196         `Vchar_attribute_hash_table' to chartab.c.
1197
1198         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1199         (make_char_id_table): New prototype.
1200         (put_char_id_table): Likewise.
1201         (Fget_char_attribute): Likewise.
1202
1203         * chartab.c: Move char-id-table related code from mule-charset.c.
1204         (Vutf_2000_version): Moved from mule-charset.c.
1205
1206         * char-ucs.h (Qucs): New external variable.
1207         (put_char_ccs_code_point): New prototype.
1208         (remove_char_ccs): Likewise.
1209
1210 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1211
1212         * mule-charset.c (Vcharset_ucs_jis): New variable.
1213         (Qucs_jis): Likewise.
1214         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1215         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1216
1217         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1218
1219 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1220
1221         * mule-charset.c (map_over_uint8_byte_table): New function.
1222         (map_over_uint16_byte_table): Likewise.
1223         (map_over_byte_table): Likewise.
1224         (map_char_id_table): Likewise.
1225         (slow_map_char_id_table_fun): Likewise.
1226         (Fmap_char_attribute): Likewise.
1227         (syms_of_mule_charset): Add new function `map-char-attribute'.
1228
1229 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1230
1231         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1232         (syms_of_mule_charset): Add new function `find-char'.
1233
1234 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1235
1236         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1237         XEmacs UTF-2000.
1238         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1239         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1240         XEmacs UTF-2000.
1241         (complex_vars_of_mule_charset): Add new coded-charset
1242         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1243         `ideograph-gt-pj-*'.
1244
1245         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1246
1247 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1248
1249         * mule-charset.c (encode_builtin_char_1): Purge codes about
1250         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1251         {MIN|MAX}_CHAR_HEBREW.
1252         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1253         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1254
1255         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1256         (MAX_CHAR_GREEK): Purged.
1257         (MIN_CHAR_CYRILLIC): Purged.
1258         (MAX_CHAR_CYRILLIC): Purged.
1259         (MIN_CHAR_HEBREW): Commented out.
1260         (MAX_CHAR_HEBREW): Likewise.
1261
1262 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1263
1264         * mule-charset.c (Qto_ucs): New variable.
1265         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1266         (Fdefine_char): Likewise.
1267         (syms_of_mule_charset): Add new symbol `=>ucs'.
1268
1269 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1270
1271         * mule-charset.c (Fdecode_char): Fixed.
1272
1273 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1274
1275         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1276         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1277         "tcvn5712-1".
1278
1279 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1280
1281         * mule-charset.c (Vcharset_ucs_big5): New variable.
1282         (Qucs_big5): Likewise.
1283         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1284         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1285
1286         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1287
1288 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1289
1290         * mule-charset.c (decode_builtin_char): Check Big5 code range
1291         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1292
1293 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1294
1295         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1296         (Qchinese_gb12345): Likewise.
1297         (Fdecode_builtin_char): Fixed.
1298         (syms_of_mule_charset): Add `chinese-gb12345'.
1299         (complex_vars_of_mule_charset): Add coded-charset
1300         `chinese-gb12345'.
1301
1302         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1303         (LEADING_BYTE_CHINESE_GB12345): New macro.
1304
1305 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1306
1307         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1308         and `latin-viscii-upper' for `latin-viscii'.
1309
1310 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1311
1312         * mule-charset.c (Fdecode_builtin_char): Comment out
1313         regularization code for ISO-IR GR representation.
1314
1315 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1316
1317         * mule-charset.c (decode_builtin_char): New function; renamed from
1318         `make_builtin_char'; return -1 instead of signal.
1319         (Fdecode_builtin_char): Use `decode_builtin_char'.
1320
1321         * char-ucs.h (decode_builtin_char): New prototype; renamed from
1322         `make_builtin_char'.
1323         (DECODE_CHAR): Use `decode_builtin_char' instead of
1324         `make_builtin_char'; use mapping table of `chinese-big5' for
1325         `chinese-big5-{1,2}'.
1326
1327 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1328
1329         * text-coding.c (char_encode_big5): New function.
1330         (char_finish_big5): Likewise.
1331         (reset_encoding_stream): Use `char_encode_big5' and
1332         `char_finish_big5' for CODESYS_BIG5.
1333         (mule_encode): Don't use `encode_coding_big5'.
1334         (encode_coding_big5): Deleted.
1335
1336 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1337
1338         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
1339         0x81- in XEmacs UTF-2000.
1340         (detect_coding_big5): Likewise.
1341
1342 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1343
1344         * mule-charset.c (Fdefine_char): Don't use a CCS property to
1345         generate character-id if the CCS property does not have
1346         corresponding predefined character.
1347         (make_builtin_char): Return -1 if corresponding predefined
1348         character is not found.
1349         (Fdecode_char): Return nil if corresponding character is not
1350         found.
1351         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
1352         don't map to builtin ucs space.
1353
1354 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1355
1356         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
1357         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
1358
1359 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1360
1361         * mule-charset.c (Vcharset_ideograph_gt): New variable.
1362         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
1363         (Qideograph_gt): Likewise.
1364         (Qideograph_gt_pj_{1..11}): Likewise.
1365         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
1366         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
1367         `ideograph-gt-pj-11'.
1368         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
1369         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
1370         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
1371
1372         * char-ucs.h (LEADING_BYTE_GT): New macro.
1373         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
1374         (MIN_CHAR_GT): Likewise.
1375         (MAX_CHAR_GT): Likewise.
1376
1377 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1378
1379         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
1380         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
1381
1382         * doprnt.c (unsigned_int_converters): Add `c'.
1383         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
1384
1385         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
1386         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
1387         `MIN_CHAR_MOJIKYO'.
1388         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
1389         (MAX_CHAR_MOJIKYO_0): New macro.
1390         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
1391
1392 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1393
1394         * mule-charset.c (Fdefine_char): Delete cemented out code.
1395         (encode_builtin_char_1): Modify for new allocation of builtin
1396         Mojikyo characters.
1397
1398         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
1399
1400 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1401
1402         * mule-charset.c (Vcharset_ucs_cns): New variable.
1403         (Qucs_cns): New variable.
1404         (syms_of_mule_charset): Add new symbol `ucs-cns'.
1405         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
1406
1407 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1408
1409         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
1410
1411 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1412
1413         * search.c (search_buffer): Make `charset_base_code' as
1414         character-id >> 6 to eliminate the corresponding last byte in
1415         UTF-8 representation [I'm not sure it is right thing].
1416         (boyer_moore): Likewise.
1417
1418 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1419
1420         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
1421         representation in MULE.
1422
1423 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1424
1425         * text-coding.c (Fmake_coding_system): Use
1426         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
1427         `EXTERNAL_PROPERTY_LIST_LOOP'.
1428
1429 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1430
1431         * text-coding.c (decode_output_utf8_partial_char): New function.
1432         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
1433
1434 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1435
1436         * text-coding.c (decode_coding_utf8): Output original byte
1437         sequence if it is broken; change order of conditions.
1438
1439         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
1440         of conditions.
1441
1442         * mb-multibyte.h (BYTE_ASCII_P):
1443         Use bit ops for char-signedness safety.
1444         (BYTE_C0_P): Use bit ops for char-signedness safety.
1445         (BYTE_C1_P): Use bit ops for char-signedness safety.
1446
1447         * character.h: (XCHAR_OR_CHAR_INT):
1448         Always use inline function.
1449         Remove redundant type checking assert() - XINT will abort quite
1450         nicely.
1451
1452 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1453
1454         * text-coding.c: (Fencode_shift_jis_char):
1455         (Fencode_big5_char):
1456         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1457         Replace 0 with '\0' when working with bytes.
1458         Replace initial "(" with "\(" in docstrings.
1459
1460         (Fmake_coding_system):
1461         When type is ccl and value is vector, register it with a proper
1462         symbol.  And checks whether the given ccl program is valid.
1463         (mule_decode): When calling ccl_driver, if src indicates
1464         NULL pointer, set an empty string instead.
1465         (mule_encode): Likewise.
1466
1467         (detect_eol_type):
1468         (detect_coding_sjis):
1469         (decode_coding_sjis):
1470         (detect_coding_big5):
1471         (decode_coding_big5):
1472         (detect_coding_ucs4):
1473         (decode_coding_ucs4):
1474         (detect_coding_utf8):
1475         (decode_coding_utf8):
1476         (detect_coding_iso2022):
1477         (decode_coding_iso2022):
1478         (decode_coding_no_conversion):
1479         (mule_decode):
1480         Make all detecting and decoding functions take an Extbyte * arg.
1481         (text_encode_generic):
1482         (encode_coding_big5):
1483         (encode_coding_no_conversion):
1484         (mule_encode):
1485         Make all encoding functions take a Bufbyte * arg.
1486         Use size_t instead of unsigned int for memory sizes.
1487         Only cast to unsigned char whenever dereferencing Extbyte *.
1488
1489         (struct lrecord_description fcd_description_1): Use countof.
1490         (complex_vars_of_file_coding):
1491         Use countof instead of sizeof.
1492         Use CHECK_NATNUM instead of CHECK_INT.
1493
1494 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1495
1496         * mule-charset.c (Fget_char_attribute): Add new optional argument
1497         `default-value'.
1498         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1499         (remove_char_ccs): Likewise.
1500
1501 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1502
1503         * text-coding.c (char_encode_shift_jis): New implementation in
1504         UTF-2000.
1505         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1506         ...)'.
1507
1508         * mule-charset.c (Vcharset_chinese_big5): New variable in
1509         UTF-2000.
1510         (Qchinese_big5): New variable in UTF-2000.
1511         (BIG5_SAME_ROW): New macro in UTF-2000.
1512         (make_builtin_char): Use builtin characters of
1513         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1514         characters of `Vcharset_chinese_big5'.
1515         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1516         (complex_vars_of_mule_charset): Add new coded-charset
1517         `chinese-big5' in UTF-2000.
1518
1519         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1520         (Vcharset_chinese_big5): New external variable declaration.
1521         (Vcharset_japanese_jisx0208_1990): Likewise.
1522
1523 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1524
1525         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1526         function.
1527         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1528
1529 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1530
1531         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1532         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1533         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1534         `mojikyo-pj-*'.
1535
1536 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1537
1538         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1539
1540 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1541
1542         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1543         to 0.17.
1544
1545 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1546
1547         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1548         for `CHARSET_BY_ATTRIBUTES'.
1549         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1550         `CHARSET_BY_ATTRIBUTES'.
1551
1552         * text-coding.c (struct decoding_stream): Rename member `CH' to
1553         `CPOS'.
1554         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1555         (decode_coding_sjis): Likewise.
1556         (decode_coding_big5): Likewise.
1557         (decode_coding_ucs4): Likewise.
1558         (decode_coding_utf8): Likewise.
1559         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1560         `CHARSET_BY_ATTRIBUTES'.
1561         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1562         `str->counter'; decode 3, 4 bytes sets.
1563         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1564         sets.
1565         (decode_coding_no_conversion): Use `str->cpos' instead of
1566         `str->ch'.
1567
1568         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1569         (Qmojikyo_2022_1): New variable.
1570         (make_charset): Don't use `CHARSET_TYPE_*'.
1571         (range_charset_code_point): Support coded-charset
1572         `mojikyo-2022-1'.
1573         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1574         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1575         `CHARSET_BY_ATTRIBUTES'.
1576         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1577         `CHARSET_BY_ATTRIBUTES'.
1578         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1579         (complex_vars_of_mule_charset): Add new coded-charset
1580         `mojikyo-2022-1'.
1581
1582         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1583         interface; changed to inline function.
1584
1585         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1586         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1587         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1588         (CHARSET_TYPE_94): Deleted.
1589         (CHARSET_TYPE_94X94): Deleted.
1590         (CHARSET_TYPE_96): Deleted.
1591         (CHARSET_TYPE_96X96): Deleted.
1592         (CHARSET_TYPE_128): Deleted.
1593         (CHARSET_TYPE_128X128): Deleted.
1594         (CHARSET_TYPE_256): Deleted.
1595         (CHARSET_TYPE_256X256): Deleted.
1596         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1597         to inline function.
1598         (DECODE_MOJIKYO_2022): New inline function.
1599         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1600         `Vcharset_mojikyo_2022_1'.
1601
1602 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1603
1604         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1605         instead of `EQ'.
1606         (put_byte_table): Likewise.
1607         (char_id_table_equal): Use `get_byte_table' [new implementation].
1608
1609 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1610
1611         * mule-charset.c: Include <limits.h> in UTF-2000.
1612         (BT_UINT8_MIN): New macro in UTF-2000.
1613         (BT_UINT8_MAX): New macro in UTF-2000.
1614         (BT_UINT8_t): New macro in UTF-2000.
1615         (BT_UINT8_nil): New macro in UTF-2000.
1616         (BT_UINT8_unbound): New macro in UTF-2000.
1617         (INT_UINT8_P): New inline function in UTF-2000.
1618         (UINT8_VALUE_P): New inline function in UTF-2000.
1619         (UINT8_ENCODE): New inline function in UTF-2000.
1620         (UINT8_DECODE): New inline function in UTF-2000.
1621         (mark_uint8_byte_table): New function in UTF-2000.
1622         (print_uint8_byte_table): New function in UTF-2000.
1623         (uint8_byte_table_equal): New function in UTF-2000.
1624         (uint8_byte_table_hash): New function in UTF-2000.
1625         (make_uint8_byte_table): New function in UTF-2000.
1626         (uint8_byte_table_same_value_p): New function in UTF-2000.
1627         (BT_UINT16_MIN): New macro in UTF-2000.
1628         (BT_UINT16_MAX): New macro in UTF-2000.
1629         (BT_UINT16_t): New macro in UTF-2000.
1630         (BT_UINT16_nil): New macro in UTF-2000.
1631         (BT_UINT16_unbound): New macro in UTF-2000.
1632         (INT_UINT16_P): New inline function in UTF-2000.
1633         (UINT16_VALUE_P): New inline function in UTF-2000.
1634         (UINT16_ENCODE): New inline function in UTF-2000.
1635         (UINT16_DECODE): New inline function in UTF-2000.
1636         (UINT8_TO_UINT16): New inline function in UTF-2000.
1637         (mark_uint16_byte_table): New function in UTF-2000.
1638         (print_uint16_byte_table): New function in UTF-2000.
1639         (uint16_byte_table_equal): New function in UTF-2000.
1640         (uint16_byte_table_hash): New function in UTF-2000.
1641         (make_uint16_byte_table): New function in UTF-2000.
1642         (uint16_byte_table_same_value_p): New function in UTF-2000.
1643         (print_byte_table): New function in UTF-2000.
1644         (byte-table): Use `print_byte_table' as printer.
1645         (make_byte_table): Delete second argument `older'.
1646         (byte_table_same_value_p): New function in UTF-2000.
1647         (copy_byte_table): Deleted.
1648         (get_byte_table): New function in UTF-2000.
1649         (put_byte_table): New function in UTF-2000.
1650         (print_char_id_table): New function in UTF-2000.
1651         (char-id-table): Use `print_char_id_table' as printer.
1652         (make_char_id_table): Delete second argument `older'.
1653         (get_char_id_table): Use `get_byte_table [new implementation].
1654         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1655         implementation].
1656         (Ffind_char_attribute_table): New function in UTF-2000.
1657         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1658         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1659         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1660         (syms_of_mule_charset): Add new function
1661         `find-char-attribute-table' in UTF-2000.
1662
1663         * lrecord.h (enum lrecord_type): Add
1664         `lrecord_type_uint16_byte_table' and
1665         `lrecord_type_uint8_byte_table'.
1666
1667         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1668         (Lisp_Uint8_Byte_Table): New type.
1669         (XUINT8_BYTE_TABLE): New macro.
1670         (XSETUINT8_BYTE_TABLE): New macro.
1671         (UINT8_BYTE_TABLE_P): New macro.
1672         (GC_UINT8_BYTE_TABLE_P): New macro.
1673         (struct Lisp_Uint16_Byte_Table): New structure.
1674         (Lisp_Uint16_Byte_Table): New type.
1675         (XUINT16_BYTE_TABLE): New macro.
1676         (XSETUINT16_BYTE_TABLE): New macro.
1677         (UINT16_BYTE_TABLE_P): New macro.
1678         (GC_UINT16_BYTE_TABLE_P): New macro.
1679
1680 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1681
1682         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1683         (Vcharacter_ideographic_strokes_table): Deleted.
1684         (Vcharacter_total_strokes_table): Deleted.
1685         (Vcharacter_morohashi_daikanwa_table): Deleted.
1686         (Vcharacter_decomposition_table): Deleted.
1687         (Qname): Deleted because it is duplicated.
1688         (Qideographic_radical): Deleted.
1689         (Qideographic_strokes): Deleted.
1690         (Qtotal_strokes): Deleted.
1691         (Qmorohashi_daikanwa): Deleted.
1692         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1693         `ideographic-radical', `ideographic-strokes', `total-strokes',
1694         `morohashi-daikanwa' and `->decomposition'.
1695         (Fget_char_attribute): Likewise.
1696         (Fput_char_attribute): Likewise; use `make-vector' instead of
1697         `make_older_vector' for `->decomposition' value.
1698         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1699         `ideograph-daikanwa'.
1700         (syms_of_mule_charset): Delete builtin symbols `name',
1701         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1702         `morohashi-daikanwa'.
1703         (vars_of_mule_charset): Don't setup
1704         `Vcharacter_ideographic_radical_table',
1705         `Vcharacter_ideographic_strokes_table',
1706         `Vcharacter_total_strokes_table',
1707         `Vcharacter_morohashi_daikanwa_table' and
1708         `Vcharacter_decomposition_table'.
1709
1710 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1711
1712         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1713         `make_older_vector', `make_vector_newer_1' and
1714         `make_vector_newer'.
1715
1716         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1717         `make_older_vector' and `make_vector_newer'.
1718
1719         * config.h.in (HAVE_GGC): New macro.
1720
1721 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1722
1723         * mule-charset.c (struct char_attribute_list_closure): New
1724         structure in UTF-2000.
1725         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1726         (Fchar_attribute_list): Likewise.
1727         (Fset_charset_mapping_table): Use `make_vector_newer'.
1728         (Fdecode_builtin_char): New function in UTF-2000.
1729         (syms_of_mule_charset): Add new function `char-attribute-list' and
1730         `decode-builtin-char' in UTF-2000.
1731
1732         * lisp.h (make_vector_newer): New prototype.
1733
1734         * alloc.c (make_vector_newer_1): New function.
1735         (make_vector_newer): New function.
1736
1737 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1738
1739         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1740         50100)'.
1741
1742 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1743
1744         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1745         (Vcharacter_attribute_table): Deleted.
1746         (Vcharacter_name_table): Deleted.
1747         (put_char_attribute): Deleted.
1748         (remove_char_attribute): Deleted.
1749         (struct char_attribute_alist_closure): New structure.
1750         (add_char_attribute_alist_mapper): New function.
1751         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1752         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1753         (Fget_char_attribute): Likewise.
1754         (Fput_char_attribute): Likewise.
1755         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1756         of `remove_char_attribute'.
1757         (Fdefine_char): Return character.
1758         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1759         and `Vcharacter_name_table'.
1760         (complex_vars_of_mule_charset): Likewise
1761         `Vchar_attribute_hash_table'.
1762
1763 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1764
1765         * character.h (CHARC_CHARSET): New macro.
1766         (CHARC_CHARSET_ID): New macro.
1767         (CHARC_CODE_POINT): New macro.
1768         (CHARC_COLUMNS): New macro.
1769         (CHARC_TO_CHAR): New inline function.
1770         (CHARC_EQ): New inline function.
1771         (CHARC_ASCII_EQ): New inline function.
1772         (CHARC_IS_SPACE): New inline function.
1773         (ASCII_TO_CHARC): New inline function.
1774
1775         * char-ucs.h (encode_char_2): Deleted.
1776         (ENCODE_CHAR): Use `encode_char_1' again.
1777         (breakup_char_1): Likewise.
1778         (CHAR_TO_CHARC): New inline function.
1779
1780         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1781
1782 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1783
1784         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1785         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1786         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1787         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1788         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1789         `CHARC_IS_SPACE'.
1790         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1791
1792         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1793         `CHARC_CODE_POINT'.
1794         (x_output_display_block): Use `CHARC_CHARSET' and
1795         `CHARC_ASCII_EQ'.
1796
1797         * redisplay-tty.c (tty_output_display_block): Use
1798         `CHARC_ASCII_EQ'.
1799         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1800
1801         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1802
1803         * insdel.c (find_charsets_in_charc_string): Use
1804         `CHARC_CHARSET_ID'.
1805         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1806         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1807         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1808         (convert_charc_string_into_malloced_string): Likewise.
1809
1810 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1811
1812         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1813         instead of <Emchar_dynarr *> for buf; use
1814         `convert_bufbyte_string_into_charc_dynarr' instead of
1815         `convert_bufbyte_string_into_emchar_dynarr'; use
1816         `find_charsets_in_charc_string' instead of
1817         `find_charsets_in_emchar_string'.
1818
1819         * redisplay.h:
1820         - Include "character.h".
1821         (struct rune): New member `cglyph'; delete member `chr'.
1822
1823         * redisplay.c (redisplay_text_width_charc_string): New function;
1824         delete `redisplay_text_width_emchar_string'.
1825         (rtw_charc_dynarr): New variable; renamed from
1826         `rtw_emchar_dynarr'.
1827         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1828         `rtw_emchar_dynarr'; use
1829         `convert_bufbyte_string_into_charc_dynarr' instead of
1830         `convert_bufbyte_string_into_emchar_dynarr'; use
1831         `redisplay_text_width_charc_string' instead of
1832         `redisplay_text_width_emchar_string'.
1833         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1834         instead of `rtw_emchar_dynarr'; use
1835         `convert_bufbyte_string_into_charc_dynarr' instead of
1836         `convert_bufbyte_string_into_emchar_dynarr'.
1837         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1838         `redisplay_text_width_charc_string' instead of
1839         `redisplay_text_width_emchar_string'.
1840         (create_text_block): Modify for <struct rune> change.
1841         (generate_formatted_string_db): Likewise.
1842         (create_string_text_block): Likewise.
1843         (pixel_to_glyph_translation): Likewise.
1844
1845         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1846         instead of <const Emchar *>.
1847         (x_text_width): Likewise.
1848         (x_output_display_block): Use <Charc_dynarr *> instead
1849         <Emchar_dynarr *>; modify for <structure rune> change.
1850         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1851         *>.
1852
1853         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1854         <const Emchar *>; use `charc_string_displayed_columns' instead of
1855         `emchar_string_displayed_columns'.
1856         (tty_output_display_block): Use <Charc_dynarr *> instead of
1857         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1858         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1859         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1860         `tty_output_emchar_dynarr_dynarr'.
1861         (tty_output_charc_dynarr): New function; delete
1862         `tty_output_charc_dynarr'.
1863
1864         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1865         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1866         <Emchar_dynarr *> for buf; use
1867         `convert_bufbyte_string_into_charc_dynarr' instead of
1868         `convert_bufbyte_string_into_emchar_dynarr'.
1869
1870         * frame.c (title_string_charc_dynarr): New variable; renamed from
1871         `title_string_emchar_dynarr'.
1872         (generate_title_string): Use `title_string_charc_dynarr' instead
1873         of `title_string_emchar_dynarr'; use
1874         `convert_charc_string_into_malloced_string' instead of
1875         `convert_emchar_string_into_malloced_string'.
1876         (init_frame): Use `title_string_charc_dynarr' instead of
1877         `title_string_emchar_dynarr'.
1878
1879         * console.h:
1880         - Include "character.h".
1881         (struct console_methods): Use <const Charc *> instead of <const
1882         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1883         <Emchar_dynarr *> in output_string_method.
1884
1885         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1886         <Emchar_dynarr *>.
1887
1888         * console-stream.c (stream_text_width): Use <const Charc *>
1889         instead of <const Emchar *>.
1890
1891         * character.h (Charc_dynarr): New type.
1892
1893         * char-ucs.h (structure Charc): New structure; define new type
1894         `Charc'.
1895
1896         * char-lb.h (DECODE_CHAR): New inline function.
1897         (encode_char_1): New inline function.
1898         (ENCODE_CHAR): New macro.
1899         (structure Charc): New structure; define new type `Charc'.
1900
1901         * char-1byte.h (Vcharset_control_1): New macro.
1902         (Vcharset_latin_iso8859_1): New macro.
1903         (DECODE_CHAR): New inline function.
1904         (encode_char_1): New inline function.
1905         (ENCODE_CHAR): New macro.
1906         (structure Charc): New structure; define new type `Charc'.
1907
1908         * insdel.c (find_charsets_in_charc_string): New function; delete
1909         `find_charsets_in_emchar_string'.
1910         (charc_string_displayed_columns): New function; delete
1911         `emchar_string_displayed_columns'.
1912         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1913         `convert_bufbyte_string_into_emchar_dynarr'.
1914         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1915         `convert_charc_string_into_bufbyte_dynarr'.
1916         (convert_charc_string_into_malloced_string): New function; delete
1917         `convert_charc_string_into_malloced_string'.
1918
1919         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1920         `find_charsets_in_emchar_string'.
1921         (charc_string_displayed_columns): New prototype; delete
1922         `emchar_string_displayed_columns'.
1923         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1924         `convert_charc_string_into_bufbyte_dynarr'.
1925         (convert_charc_string_into_malloced_string): New prototype; delete
1926         `convert_charc_string_into_malloced_string'.
1927
1928 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1929
1930         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1931
1932 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1933
1934         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1935
1936         * char-ucs.h: Use <short> for <Charset_ID>.
1937
1938         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1939         <Charset_ID>.
1940
1941 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1942
1943         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1944         to 0.16.
1945
1946 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1947
1948         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1949         variable.
1950         (Qmorohashi_daikanwa): New variable.
1951         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1952         for `morohashi-daikanwa' attribute.
1953         (Fget_char_attribute): Likewise.
1954         (Fput_char_attribute): Likewise.
1955         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1956         has the same value of `ideograph-daikanwa'.
1957         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1958         (vars_of_mule_charset): Setup
1959         `Vcharacter_morohashi_daikanwa_table'.
1960
1961 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1962
1963         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1964         attributes.
1965         (add_charset_to_list_mapper): Add `key' instead of
1966         `XCHARSET_NAME (value)' to return aliases.
1967
1968 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1969
1970         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1971         variable.
1972         (Vcharacter_ideographic_strokes_table): New variable.
1973         (Qideographic_radical): New variable.
1974         (Qideographic_strokes): New variable.
1975         (Fchar_attribute_alist): Use
1976         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1977         attribute; use `Vcharacter_ideographic_strokes_table' for
1978         `ideographic-strokes' attribute.
1979         (Fget_char_attribute): Likewise.
1980         (Fput_char_attribute): Likewise.
1981         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1982         `ideographic-strokes'.
1983         (vars_of_mule_charset): Setup
1984         `Vcharacter_ideographic_radical_table' and
1985         `Vcharacter_ideographic_strokes_table'.
1986
1987 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1988
1989         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1990         (Qtotal_strokes): New variable.
1991         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1992         `total-strokes' attribute.
1993         (Fget_char_attribute): Likewise.
1994         (Fput_char_attribute): Likewise.
1995         (syms_of_mule_charset): Add new symbol `total-strokes'.
1996         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1997
1998 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1999
2000         * mule-charset.c (Vcharacter_decomposition_table): New variable.
2001         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
2002         are found.
2003         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
2004         `->decomposition' attribute.
2005         (Fput_char_attribute): Likewise.
2006         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
2007
2008 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2009
2010         * mule-charset.c (decoding_table_check_elements): New function.
2011         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
2012
2013 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2014
2015         * mule-charset.c (Fset_charset_mapping_table): Use
2016         `put_char_ccs_code_point'.
2017
2018 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2019
2020         * mule-charset.c (decoding_table_put_char): New inline function.
2021         (put_char_ccs_code_point): Use `decoding_table_put_char'.
2022
2023 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2024
2025         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
2026         (XCHARSET_BYTE_SIZE): New macro.
2027         (decoding_table_remove_char): New inline function.
2028         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
2029         `decoding_table_remove_char'.
2030         (remove_char_ccs): Use `decoding_table_remove_char'.
2031         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
2032
2033 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2034
2035         * mule-charset.c (Vcharacter_name_table): New variable.
2036         (Qname): New variable.
2037         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
2038         attribute.
2039         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
2040         `Vcharacter_name_table' for `name' attribute.
2041         (Fremove_char_attribute): Use function `remove_char_ccs'.
2042         (put_char_ccs_code_point): New function.
2043         (remove_char_ccs): New function.
2044         (syms_of_mule_charset): Add new symbol `name'.
2045         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
2046
2047 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2048
2049         * mule-charset.c (make_byte_table): Add new argument `older'.
2050         (make_char_id_table): Likewise.
2051         (copy_char_id_table): Comment out because it is not used.
2052         (put_char_id_table): Modify for `make_byte_table'.
2053         (Fput_char_attribute): Make encoding_table as older object;
2054         inherit older bit of `Vcharacter_composition_table'.
2055         (mark_charset): Don't mark `cs->encoding_table'.
2056         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
2057         normal object; make `Vcharacter_composition_table' as an older
2058         object; delete staticpro for `Vcharacter_composition_table'; make
2059         `Vcharacter_variant_table' as a normal object.
2060
2061         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
2062         (mark_object): Don't check older object in UTF-2000.
2063
2064         * lrecord.h (struct lrecord_header): Add new member `older' in
2065         UTF-2000.
2066         (set_lheader_implementation): Setup `SLI_header->older' in
2067         UTF-2000.
2068         (set_lheader_older_implementation): New macro in UTF-2000.
2069         (OLDER_RECORD_P): New macro in UTF-2000.
2070         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
2071         (alloc_older_lcrecord): New prototype in UTF-2000.
2072         (alloc_older_lcrecord_type): New macro in UTF-2000.
2073
2074 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2075
2076         * mule-charset.c (byte_table_description): Use
2077         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
2078         (char_id_table_description): Delete bogus `, 1'.
2079         (Fget_char_attribute): Refer encoding_table of each coded-charset
2080         to get value of coded-charset attribute of a character.
2081         (Fput_char_attribute): Use `make_older_vector' instead of
2082         `make_vector'; use encoding_table of each coded-charset to store
2083         value of coded-charset attribute of a character.
2084         (Fremove_char_attribute): Use encoding_table of each coded-charset
2085         to store value of coded-charset attribute of a character.
2086         (mark_charset): Mark `cs->encoding_table'; don't mark
2087         `cs->decoding_table'.
2088         (charset_description): Add description of new member
2089         `encoding_table'.
2090         (make_charset): Initialize `encoding_table'.
2091
2092         * char-ucs.h (struct Lisp_Charset): Add new member
2093         `encoding_table'.
2094         (CHARSET_ENCODING_TABLE): New macro.
2095         (XCHARSET_ENCODING_TABLE): New macro.
2096         (charset_code_point): New implementation.
2097         (encode_char_1): Likewise.
2098
2099         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
2100         (disksave_object_finalization_1): Call finalizers of
2101         `all_older_lcrecords' in UTF-2000.
2102         (make_older_vector): New function in UTF-2000.
2103         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
2104         UTF-2000.
2105
2106         * lisp.h (make_older_vector): New prototype in UTF-2000.
2107
2108 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2109
2110         * lrecord.h (enum lrecord_type): Rename
2111         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2112
2113         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2114         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2115         `get_char_code_table'.
2116
2117         * mule-charset.c (mark_char_id_table): Renamed from
2118         `mark_char_code_table'.
2119         (char_id_table_equal): Renamed from `char_code_table_equal'.
2120         (char_id_table_hash): Renamed from `char_code_table_hash'.
2121         (make_char_id_table): Renamed from `make_char_code_table'.
2122         (copy_char_id_table): Renamed from `copy_char_code_table'.
2123         (get_char_id_table): Renamed from `get_char_code_table'.
2124         (put_char_id_table): Renamed from `put_char_code_table'.
2125         (to_char_id): Renamed from `to_char_code'.
2126
2127         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2128         `Lisp_Char_Code_Table'.
2129         (char_id_table): Renamed from `char_code_table'.
2130         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2131         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2132         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2133         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2134         (get_char_id_table): Renamed from `get_char_code_table'.
2135
2136 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2137
2138         * lrecord.h (enum lrecord_type): Rename
2139         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2140
2141         * mule-charset.c (mark_byte_table): Renamed from
2142         `mark_char_byte_table'.
2143         (byte_table_equal): Renamed from `char_byte_table_equal'.
2144         (byte_table_hash): Renamed from `byte_table_hash'.
2145         (make_byte_table): Renamed from `make_byte_table'.
2146         (copy_byte_table): Renamed from `copy_char_byte_table'.
2147
2148         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2149         `Lisp_Char_Byte_Table'.
2150         (byte_table): Renamed from `char_byte_table'.
2151         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2152         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2153         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2154         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2155
2156 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2157
2158         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2159         (dfc_convert_to_internal_format): Likewise.
2160         
2161         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2162         * text-coding.c (Fcoding_system_alias_p): New function.
2163         * text-coding.c (Fcoding_system_aliasee): New function.
2164         * text-coding.c (append_suffix_to_symbol): New function.
2165         * text-coding.c (dangling_coding_system_alias_p): New function.
2166         * text-coding.c (Ffind_coding_system):
2167         * text-coding.c (Fcopy_coding_system):
2168         * text-coding.c (encode_coding_no_conversion):
2169         * text-coding.c (syms_of_file_coding):
2170         * text-coding.c (vars_of_file_coding):
2171         Rewrite coding system alias code.
2172         Allow nested aliases, like symbolic links.
2173         Allow redefinition of coding system aliases.
2174         Prevent existence of dangling coding system aliases.
2175         Eliminate convert_to_external_format.
2176         Eliminate convert_to_internal_format.
2177         
2178         * text-coding.c: Change enum eol_type to eol_type_t.
2179
2180 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2181
2182         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2183         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2184
2185         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2186         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2187
2188 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2189
2190         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2191         `ideograph-daikanwa'.
2192
2193         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2194         (Vcharset_ucs_bmp): Likewise.
2195         (Vcharset_mojikyo): Add new extern variable definition.
2196         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2197         (Vcharset_latin_iso8859_3): Likewise.
2198         (Vcharset_latin_iso8859_4): Likewise.
2199         (Vcharset_latin_iso8859_9): Likewise.
2200         (Vcharset_latin_viscii_lower): Likewise.
2201         (Vcharset_latin_viscii_upper): Likewise.
2202         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2203         `mojikyo' code-point is used to decode.
2204         (encode_char_2): New function [to convert `mojikyo' code-point to
2205         Mojikyo font encoding].
2206         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2207         (breakup_char_1): Likewise.
2208         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2209
2210 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2211
2212         * text-coding.c (Fmake_coding_system): Add document about
2213         `disable-composition' property.
2214
2215 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2216
2217         * text-coding.c (Qdisable_composition): New variable; delete
2218         `Qcomposite'.
2219         (Fmake_coding_system): Add new property `disable-composite';
2220         delete property `composite'.
2221         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2222         instead of `!CODING_SYSTEM_COMPOSITE'.
2223         (syms_of_file_coding): Add new symbol `disable-composition';
2224         delete symbol `composite'.
2225
2226         * file-coding.h (struct Lisp_Coding_System): Add
2227         `disable_composition'; delete `enable_composition'.
2228         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2229         `CODING_SYSTEM_COMPOSITE'.
2230         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2231         `XCODING_SYSTEM_COMPOSITE'.
2232
2233 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2234
2235         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2236         to 0.15.
2237
2238 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2239
2240         * text-coding.c (Qcomposite): New variable.
2241         (Fmake_coding_system): Add new property `composite'.
2242         (struct decoding_stream): Add `combined_char_count',
2243         `combined_chars' and `combining_table' in UTF-2000.
2244         (COMPOSE_FLUSH_CHARS): New macro.
2245         (COMPOSE_ADD_CHAR): New macro.
2246         (reset_decoding_stream): Reset `str->combined_char_count' and
2247         `str->combining_table' in UTF-2000.
2248         (decode_coding_iso2022): Modify for character-decomposition.
2249         (syms_of_file_coding): Add new symbol `composite'.
2250
2251 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2252
2253         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2254         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2255         of `Vcharacter_composition_table' if `->decomposition' property
2256         has only 1 element.
2257         (Qlatin_tcvn5712): New variable.
2258         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2259         (complex_vars_of_mule_charset): Add new coded-charset
2260         `latin-tcvn5712'.
2261
2262         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2263
2264 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2265
2266         * file-coding.h (struct Lisp_Coding_System): Add
2267         `enable_composition'.
2268         (CODING_SYSTEM_COMPOSITE): New macro.
2269         (XCODING_SYSTEM_COMPOSITE): New macro.
2270
2271 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2272
2273         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2274
2275 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2276
2277         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2278         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2279
2280 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2281
2282         * mule-charset.c (Vcharset_mojikyo): New variable.
2283         (Fdefine_char): Don't use coded-charset which does not have
2284         non-builtin character range to allocate character-id.
2285         (Qmojikyo): New variable.
2286         (syms_of_mule_charset): Add new symbol `mojikyo'.
2287         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2288
2289         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2290         (LEADING_BYTE_MOJIKYO): New macro.
2291         (MIN_CHAR_MOJIKYO): New macro.
2292         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2293         (MAX_CHAR_MOJIKYO): New macro.
2294
2295 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2296
2297         * mule-charset.c (remove_char_attribute): Fixed.
2298
2299 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2300
2301         * mule-charset.c (remove_char_attribute): New function.
2302         (Fremove_char_attribute): New function.
2303         (encode_builtin_char_1): Comment out builtin-support for
2304         greek-iso8859-7 and cyrillic-iso8859-5.
2305         (Fdecode_char): Check `code' is an integer.
2306         (syms_of_mule_charset): Add `remove-char-attribute'.
2307         (MIN_CHAR_GREEK): Deleted.
2308         (MAX_CHAR_GREEK): Likewise.
2309         (MIN_CHAR_CYRILLIC): Likewise.
2310         (MAX_CHAR_CYRILLIC): Likewise.
2311         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2312         MAX_CHAR_GREEK for `greek-iso8859-7'.
2313
2314         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
2315         (MAX_CHAR_GREEK): Likewise.
2316         (MIN_CHAR_CYRILLIC): Likewise.
2317         (MAX_CHAR_CYRILLIC): Likewise.
2318
2319 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
2320
2321         * mule-charset.c (Fdefine_char): Fix problem when new code-point
2322         format is used without `ucs' property.
2323         (Fdecode_char): Fix problem with GR representation.
2324         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
2325         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
2326
2327 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2328
2329         * mule-charset.c (make_builtin_char): New function.
2330         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
2331         (Fset_charset_mapping_table): Modify for new representation of
2332         code-point.
2333         (Fdecode_char): New function.
2334         (syms_of_mule_charset): Add new builtin function `decode-char' in
2335         UTF-2000.
2336
2337         * char-ucs.h (make_builtin_char): New prototype.
2338         (DECODE_CHAR): New inline function.
2339         (MAKE_CHAR): Use `DECODE_CHAR'.
2340
2341 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
2342
2343         * text-coding.c (parse_charset_conversion_specs): Use
2344         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
2345         `XCHARSET_TYPE'.
2346         (iso2022_designate): Likewise.
2347
2348         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
2349         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
2350
2351         * mule-charset.c (Vcharset_ucs): New variable.
2352         (print_charset): Change design; use `CHARSET_CHARS' and
2353         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
2354         (make_charset): Change signature to specify `chars' and
2355         `dimension' instead of `type'.
2356         (range_charset_code_point): Modify for 256^n-set.
2357         (encode_builtin_char_1): Encode as `ucs' in default.
2358         (Fmake_charset): Modify for `make_charset'.
2359         (Fmake_reverse_direction_charset): Likewise.
2360         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
2361         UTF-2000.
2362         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
2363         for `make_charset'.
2364
2365         * char-ucs.h (Vcharset_ucs): New variable.
2366         (LEADING_BYTE_UCS): New macro.
2367         (struct Lisp_Charset): Delete `type'; change type of `dimension'
2368         and `chars' to `unsigned short' from `unsigned int'.
2369         (CHARSET_TYPE): Deleted.
2370         (XCHARSET_TYPE): Deleted.
2371
2372 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
2373
2374         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
2375
2376         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
2377         (ENCODE_CHAR): New macro.
2378
2379 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2380
2381         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2382         to 0.14 (Kawachi-Katakami).
2383
2384 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2385
2386         * text-coding.c (char_encode_shift_jis): Modify for
2387         `charset_code_point'.
2388         (char_encode_iso2022): Likewise.
2389
2390         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
2391         (integer) instead of list of <Lisp_Object>s (integers) as the
2392         format of code-point of a coded-charset.
2393         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2394         (encode_builtin_char_1): New function; delete
2395         `split_builtin_char'.
2396         (charset_code_point): Return <int> instead of <Lisp_Object>.
2397         (Fsplit_char): Don't use `SPLIT_CHAR'.
2398
2399         * char-ucs.h (encode_builtin_char_1): New prototype; delete
2400         prototype for `split_builtin_char'.
2401         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2402         (charset_code_point): Likewise.
2403         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
2404         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
2405
2406 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
2407
2408         * mule-charset.c (complex_vars_of_mule_charset): Don't define
2409         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
2410
2411 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2412
2413         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
2414
2415         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
2416         (MAX_CHAR_OBS_94x94): Deleted.
2417
2418 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2419
2420         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
2421
2422         * char-ucs.h (MAX_CHAR_BMP): New macro.
2423
2424 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2425
2426         * text-coding.c: Sync with r21-2-24.
2427
2428 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2429
2430         * file-coding.c: Modify for UTF-2000.
2431
2432 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2433
2434         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2435         to 0.13 (Takaida).
2436
2437 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2438
2439         * mule-charset.c (split_builtin_char): Delete builtin support for
2440         `katakana-jisx0201'.
2441         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
2442         BMP area in builtin representation.
2443
2444         * char-ucs.h (MAKE_CHAR): Delete builtin support for
2445         `Vcharset_katakana_jisx0201'.
2446
2447 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
2448
2449         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2450         (Qisolated): New variable.
2451         (Qinitial): New variable.
2452         (Qmedial): New variable.
2453         (Qfinal): New variable.
2454         (Qvertical): New variable.
2455         (Qsmall): New variable.
2456         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2457         `Qvertical' and `Qsmall'.
2458         (Qmojikyo_pj_[1 .. 21]): New variable.
2459         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2460         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2461         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2462         .. 21]'.
2463
2464 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2465
2466         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2467         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2468         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2469
2470 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2471
2472         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2473         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2474         BMP.
2475         (Qjapanese_jisx0208_1990): New variable.
2476         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2477         (complex_vars_of_mule_charset): Add new coded-charset
2478         `japanese-jisx0208-1990'.
2479
2480         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2481         (MIN_CHAR_JIS_X0208_1990): New macro.
2482         (MAX_CHAR_JIS_X0208_1990): New macro.
2483
2484 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2485
2486         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2487         coded-charset is not found.
2488
2489 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2490
2491         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2492         (Fdefine_char): Use `Fmake_char'.
2493
2494 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2495
2496         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2497         (Vcharset_hiragana_jisx0208): Deleted.
2498         (Vcharset_katakana_jisx0208): Deleted.
2499         (Qideograph_daikanwa): New variable.
2500         (Qhiragana_jisx0208): Deleted.
2501         (Qkatakana_jisx0208): Deleted.
2502         (split_builtin_char): Split `ideograph-daikanwa'.
2503         (Fsplit_char): New implementation for UTF-2000.
2504         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2505         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2506         (complex_vars_of_mule_charset): Add new coded-charset
2507         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2508         `katakana-jisx0208'.
2509
2510         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2511         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2512         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2513         (MIN_CHAR_DAIKANWA): New macro.
2514         (MAX_CHAR_DAIKANWA): New macro.
2515
2516 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2517
2518         * data.c (Fstring_to_number): Don't recognize floating point if
2519         base is not 10.
2520
2521 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2522
2523         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2524
2525 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2526
2527         * mule-charset.c (Qsquare): New variable.
2528         (to_char_code): Add `Qsquare'.
2529         (syms_of_mule_charset): Add new symbol `square'.
2530
2531 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2532
2533         * mule-charset.c (Qcircle): New variable.
2534         (to_char_code): Add `Qcircle'.
2535         (syms_of_mule_charset): Add new symbol `circle'.
2536
2537 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2538
2539         * mule-charset.c (Qfont): New variable.
2540         (to_char_code): Add `Qfont'.
2541         (syms_of_mule_charset): Add new symbol `font'.
2542
2543 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2544
2545         * mule-charset.c (Qsub): New variable.
2546         (to_char_code): Add `Qsub'.
2547         (syms_of_mule_charset): Add new symbol `sub'.
2548
2549 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2550
2551         * mule-charset.c (Fput_char_attribute): Convert each element of
2552         VALUE to GL position if ATTRIBUTE is a GR-set,
2553
2554 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2555
2556         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2557         coded-charset is a GR-set.
2558
2559 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2560
2561         * mule-charset.c (Fput_char_attribute): Check each element of
2562         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2563
2564 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2565
2566         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2567         UTF-2000.
2568         (Qethiopic_ucs): New variable in UTF-2000.
2569         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2570         (complex_vars_of_mule_charset): Add new coded-charset
2571         `ethiopic-ucs' in UTF-2000.
2572
2573         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2574         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2575         9)'.
2576         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2577         10)'.
2578         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2579
2580 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2581
2582         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2583         `ascii'.
2584
2585 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2586
2587         * mule-charset.c (Vcharacter_variant_table): New variable.
2588         (Q_ucs): New variable.
2589         (Fchar_variants): New function.
2590         (Fput_char_attribute): Register `->ucs' value to
2591         `Vcharacter_variant_table'.
2592         (syms_of_mule_charset): Add new function `char-variants' and new
2593         symbol `->ucs'.
2594         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2595
2596 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2597
2598         * mule-charset.c (get_char_code_table): Allow negative character
2599         code.
2600         (put_char_code_table): Likewise.
2601         (Vcharacter_composition_table): New variable.
2602         (Q_decomposition): New variable.
2603         (Qwide): New variable.
2604         (Qnarrow): New variable.
2605         (Qcompat): New variable.
2606         (QnoBreak): New variable.
2607         (Qsuper): New variable.
2608         (Qfraction): New variable.
2609         (to_char_code): New function.
2610         (Fget_composite_char): New function.
2611         (Fput_char_attribute): Register `->decomposition' value to
2612         `Vcharacter_composition_table'.
2613         (syms_of_mule_charset): Add new function `get-composite-char', new
2614         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2615         `super' and `fraction'.
2616         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2617
2618 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2619
2620         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2621         character; copy the return value.
2622
2623 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2624
2625         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2626
2627         * mule-charset.c (range_charset_code_point): Must use make_int.
2628         (split_builtin_char): New function.
2629
2630 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2631
2632         * mule-charset.c (char_byte_table): Change name from
2633         "char-code-table" to "char-byte-table".
2634         (mark_char_code_table): New function.
2635         (char_code_table_equal): New function.
2636         (char_code_table_hash): New function.
2637         (char_code_table_description): New constant.
2638         (char_code_table): New type.
2639         (make_char_code_table): New function.
2640         (copy_char_code_table): New function.
2641         (get_char_code_table): Modify for `char_code_table' type.
2642         (put_char_code_table): Likewise.
2643         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2644         (Kashiwara).
2645
2646         * char-ucs.h (char_code_table): New type.
2647         (XCHAR_CODE_TABLE): New macro.
2648         (XSETCHAR_CODE_TABLE): New macro.
2649         (CHAR_CODE_TABLE_P): New macro.
2650         (GC_CHAR_CODE_TABLE_P): New macro.
2651         (struct Lisp_Char_Code_Table): New structure.
2652
2653 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2654
2655         * mule-charset.c (Fmake_charset): Setup byte_offset for
2656         {94|96}^n-set.
2657
2658 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2659
2660         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2661         character.
2662
2663 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2664
2665         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2666         is found.
2667
2668 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2669
2670         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2671         charset, it is regarded as a charset.
2672         (put_char_attribute): New function in UTF-2000.
2673         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2674         charset, mapping-table of the charset is modified.
2675         (Fdefine_char): New function in UTF-2000.
2676         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2677         `Fput_char_attribute'.
2678         (syms_of_mule_charset): Add new function `define-char' and new
2679         symbol `ucs' in UTF-2000.
2680         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2681
2682 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2683
2684         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2685         non-UTF-2000 configuration.
2686
2687 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2688
2689         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2690         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2691
2692         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2693         deleted.
2694         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2695         (Fset_charset_mapping_table): Likewise.
2696
2697         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2698         (CHARSET_ENCODING_TABLE): Delete.
2699         (XCHARSET_ENCODING_TABLE): Delete.
2700         (charset_code_point): New interface.
2701
2702 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2703
2704         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2705         instead of `charset_get_byte1' and `charset_get_byte2'.
2706
2707         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2708         (charset_get_byte2): Deleted.
2709
2710 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2711
2712         * char-ucs.h (SPLIT_CHAR): New inline function.
2713         (breakup_char_1): Use `SPLIT_CHAR'.
2714
2715         * mule-charset.c (range_charset_code_point): New function.
2716         (charset_code_point): New function.
2717
2718         * char-ucs.h (range_charset_code_point): New interface.
2719         (breakup_char_1): Use `range_charset_code_point'.
2720
2721 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2722
2723         * mule-charset.c (Fmake_charset): Delete unused local variable
2724         `code_offset'.
2725
2726         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2727         (breakup_char_1): Find a charset and code-point in
2728         `Vcharacter_attribute_table'.
2729
2730 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2731
2732         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2733         to 0.10 (Yao).
2734
2735 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2736
2737         * mule-charset.c (Vcharacter_attribute_table): New variable.
2738         (Fchar_attribute_alist): New function.
2739         (Fget_char_attribute): New function.
2740         (Fput_char_attribute): New function.
2741         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2742         too.
2743         (syms_of_mule_charset): Add new function `char-attribute-alist',
2744         `get-char-attribute' and `put-char-attribute'.
2745         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2746
2747 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2748
2749         * mule-charset.c (Fmake_charset): Just use
2750         `get_unallocated_leading_byte'.
2751
2752         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2753         sets; don't use final-byte based number for private sets.
2754
2755 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2756
2757         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2758         integer.
2759
2760 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2761
2762         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2763         to 0.9.
2764
2765 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2766
2767         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2768         of `CHAR_LEADING_BYTE' in UTF-2000.
2769
2770         * insdel.c (find_charsets_in_bufbyte_string): Use
2771         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2772         (find_charsets_in_emchar_string): Likewise.
2773
2774         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2775         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2776
2777         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2778         (CHAR_CHARSET_ID): New macro.
2779
2780 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2781
2782         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2783         charset-id - MIN_LEADING_BYTE.
2784         (put_char_table): Likewise.
2785
2786 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2787
2788         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2789         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2790         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2791         (CHARSET_ID_OFFSET): New macro.
2792         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2793         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2794         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2795         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2796         4).
2797         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2798         5).
2799         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2800         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2801         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2802         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2803         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2804
2805 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2806
2807         * mule-charset.c (next_allocated_leading_byte): New variable in
2808         UTF-2000.
2809         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2810         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2811         (get_unallocated_leading_byte): Simply use
2812         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2813         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2814         UTF-2000.
2815
2816         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2817         (MAX_LEADING_BYTE_PRIVATE): New macro.
2818         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2819         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2820
2821 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2822
2823         * mule-charset.c (Fmake_charset): Allocate final-byte based
2824         charset-id for 94-set, 96-set and 94x94-set.
2825
2826 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2827
2828         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2829         ambiguous `else'.
2830         (Fmake_charset): Likewise.
2831         (complex_vars_of_mule_charset): Modify the font registry of
2832         `ucs-bmp' not to match `Ethiopic-Unicode'.
2833
2834 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2835
2836         * mule-charset.c (complex_vars_of_mule_charset): Add font
2837         registory of `ucs-bmp'.
2838
2839 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2840
2841         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2842         coded-charsets in `default-coded-charset-priority-list' when
2843         breaking up a character.
2844
2845         * mule-charset.c (Vcharset_latin_viscii): New variable.
2846         (Qlatin_viscii): New variable.
2847         (make_charset): Don't use `decoding_table'.
2848         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2849         byte_offset.
2850         (Fset_charset_mapping_table): New implementation.
2851         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2852         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2853         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2854         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2855         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2856         charset `latin_viscii'.
2857
2858         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2859         (CHARSET_TYPE_94X94): Change to 1 from 2.
2860         (CHARSET_TYPE_96): Change to 2 from 1.
2861         (CHARSET_TYPE_128): New macro.
2862         (CHARSET_TYPE_128X128): Change to 5 from 4.
2863         (CHARSET_TYPE_256): New macro.
2864         (CHARSET_TYPE_256X256): Change to 7 from 5.
2865         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2866
2867 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2868
2869         * text-coding.c (char_encode_shift_jis): Refer
2870         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2871         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2872
2873         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2874         (char_byte_table_equal): New function in UTF-2000.
2875         (char_byte_table_hash): New function in UTF-2000.
2876         (char_byte_table_description): New constant in UTF-2000.
2877         (char_byte_table): New type in UTF-2000.
2878         (make_char_byte_table): New function in UTF-2000.
2879         (copy_char_byte_table): New function in UTF-2000.
2880         (make_char_code_table): New macro in UTF-2000.
2881         (get_char_code_table): New function in UTF-2000.
2882         (put_char_code_table): New function in UTF-2000.
2883         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2884         (charset_description): Add setting in UTF-2000.
2885         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2886         `CHARSET_TO_BYTE1_TABLE(cs)'.
2887         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2888         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2889         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2890         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2891         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2892         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2893         `CHARSET_TO_BYTE2_TABLE(cs)'.
2894
2895         * char-ucs.h (char_byte_table): New type.
2896         (XCHAR_BYTE_TABLE): New macro.
2897         (XSETCHAR_BYTE_TABLE): New macro.
2898         (CHAR_BYTE_TABLE_P): New macro.
2899         (GC_CHAR_BYTE_TABLE_P): New macro.
2900         (struct Lisp_Char_Byte_Table): New structure.
2901         (get_char_code_table): New interface.
2902         (Emchar_to_byte_table): Deleted.
2903         (get_byte_from_character_table): Deleted.
2904         (struct Lisp_Charset): Add `encoding_table'; delete
2905         `to_byte1_table' and `to_byte2_table'.
2906         (CHARSET_ENCODING_TABLE): New macro.
2907         (CHARSET_TO_BYTE1_TABLE): Deleted.
2908         (CHARSET_TO_BYTE2_TABLE): Deleted.
2909         (XCHARSET_ENCODING_TABLE): New macro.
2910         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2911         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2912
2913 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2914
2915         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2916         `vietnamese-viscii-*'.
2917
2918 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2919
2920         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2921         (Qvietnamese_viscii_upper): New variable.
2922         (Fdefine_charset_alias): New function.
2923         (syms_of_mule_charset): Add new function `define-charset-alias'.
2924         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2925         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2926         `latin-viscii-*'.
2927
2928 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2929
2930         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2931         (MAX_CHAR_OBS_94x94): New macro.
2932         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2933         for 94x94 sets.
2934
2935         * mule-charset.c (put_byte_from_character_table): Change unit size
2936         from 128 to 256.
2937         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2938         not defined.
2939         (Fmake_reverse_direction_charset): Modify dummy argument of
2940         `make_charset' for non-UTF-2000 environment.
2941
2942 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2943
2944         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2945
2946         * mule-charset.c (destroy_byte_from_character_table): New macro.
2947         (latin_jisx0201_to_ucs): Deleted.
2948         (latin_iso8859_2_to_ucs): Deleted.
2949         (latin_iso8859_3_to_ucs): Deleted.
2950         (latin_iso8859_4_to_ucs): Deleted.
2951         (latin_iso8859_9_to_ucs): Deleted.
2952         (latin_viscii_lower_to_ucs): Deleted.
2953         (latin_viscii_upper_to_ucs): Deleted.
2954         (mark_charset): Mark `cs->decoding_table'.
2955         (Fcharset_mapping_table): Fix DOC-string.
2956         (Fset_charset_mapping_table): New function.
2957         (syms_of_mule_charset): Add nwe function
2958         `set-charset-mapping-table'.
2959         (complex_vars_of_mule_charset): Don't setup and use
2960         `latin_*_to_ucs'.
2961
2962 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2963
2964         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2965         charset.
2966
2967 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2968
2969         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2970         (Vcharset_katakana_jisx0208): New variable.
2971         (Qhiragana_jisx0208): New variable.
2972         (Qkatakana_jisx0208): New variable.
2973         (make_charset): Add new argument `byte_offset'.
2974         (charset_get_byte1): Modify for new coded-charset definition; use
2975         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2976         `XCHARSET_BYTE_OFFSET'.
2977         (Fmake_charset): Modify for `make_charset'.
2978         (Fmake_reverse_direction_charset): Likewise.
2979         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2980         `katakana-jisx0208'.
2981         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2982         `.'  in font registry of charset `katakana-jisx0201',
2983         `latin-jisx0201', `vietnamese-viscii-lower' and
2984         `vietnamese-viscii-upper'; modify DOC-string of charset
2985         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2986         registry of charset `japanese-jisx0208' not to use font for JIS
2987         X0208:1990; add new charset `hiragana-jisx0208' and
2988         `katakana-jisx0208'.
2989
2990         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2991         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2992         (struct Lisp_Charset): Add `byte_offset'.
2993         (CHARSET_BYTE_OFFSET): New macro.
2994         (XCHARSET_UCS_MIN): New macro.
2995         (XCHARSET_UCS_MAX): New macro.
2996         (XCHARSET_CODE_OFFSET): New macro.
2997         (XCHARSET_BYTE_OFFSET): New macro.
2998         (MIN_CHAR_HIRAGANA): New macro.
2999         (MAX_CHAR_HIRAGANA): New macro.
3000         (MIN_CHAR_KATAKANA): New macro.
3001         (MAX_CHAR_KATAKANA): New macro.
3002         (MAKE_CHAR): Modify for new coded-charset definition; use
3003         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3004         `XCHARSET_BYTE_OFFSET'.
3005
3006 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3007
3008         * mule-charset.c (CHAR96): Deleted.
3009         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
3010         <Lisp_Object>.
3011         (latin_iso8859_2_to_ucs): Likewise.
3012         (latin_iso8859_3_to_ucs): Likewise.
3013         (latin_iso8859_4_to_ucs): Likewise.
3014         (latin_iso8859_9_to_ucs): Likewise.
3015         (latin_viscii_lower_to_ucs): Likewise.
3016         (latin_viscii_upper_to_ucs): Likewise.
3017         (latin_tcvn5712_to_ucs): Commented out.
3018         (make_charset): Change type of argument `decoding_table' from
3019         <Emchar*> to <Lisp_Object> [vector of characters].
3020         (Fmake_charset): Modify for `make_charset'.
3021         (Fmake_reverse_direction_charset): Likewise.
3022         (Fcharset_mapping_table): New function in UTF-2000.
3023         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
3024         UTF-2000.
3025         (complex_vars_of_mule_charset): Modify for type change of
3026         `*_to_ucs'; modify for `make_charset'.
3027
3028         * char-ucs.h (struct Lisp_Charset): Change type of
3029         `decoding_table' from <Emchar*> to <Lisp_Object>.
3030         (MAKE_CHAR): Modify for new specification of `decoding_table'.
3031
3032 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3033
3034         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
3035         error with non-UTF-2000-Mule.
3036
3037 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
3038
3039         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
3040         in lisp again].
3041         (Vcharset_chinese_cns11643_4): Likewise.
3042         (Vcharset_chinese_cns11643_5): Likewise.
3043         (Vcharset_chinese_cns11643_6): Likewise.
3044         (Vcharset_chinese_cns11643_7): Likewise.
3045         (Qchinese_cns11643_3): Likewise.
3046         (Qchinese_cns11643_4): Likewise.
3047         (Qchinese_cns11643_5): Likewise.
3048         (Qchinese_cns11643_6): Likewise.
3049         (Qchinese_cns11643_7): Likewise.
3050         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
3051         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3052         and `chinese-cns11643-7' to lisp/mule/chinese.el.
3053         (complex_vars_of_mule_charset): Likewise.
3054
3055 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3056
3057         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
3058         96-set.
3059         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
3060         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
3061
3062 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3063
3064         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
3065         0xFF60.
3066         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
3067         (breakup_char_1): Likewise.
3068
3069         * text-coding.c (char_encode_iso2022): Keep designated charsets if
3070         one of them includes the specified character.
3071
3072 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3073
3074         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
3075
3076 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3077
3078         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
3079
3080 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3081
3082         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
3083         definition for non-UTF-2000 Mule.
3084         (latin_iso8859_3_to_ucs): Likewise.
3085         (latin_iso8859_4_to_ucs): Likewise.
3086         (latin_iso8859_9_to_ucs): Likewise.
3087         (latin_jisx0201_to_ucs): Likewise.
3088         (MIN_CHAR_THAI): Likewise.
3089         (MAX_CHAR_THAI): Likewise.
3090         (MIN_CHAR_GREEK): Likewise.
3091         (MAX_CHAR_GREEK): Likewise.
3092         (MIN_CHAR_HEBREW): Likewise.
3093         (MAX_CHAR_HEBREW): Likewise.
3094         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
3095         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
3096         (MIN_CHAR_CYRILLIC): Likewise.
3097         (MAX_CHAR_CYRILLIC): Likewise.
3098
3099 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3100
3101         * char-ucs.h (breakup_char_1): Use
3102         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
3103         thai-tis620 and katakana-jisx0201 area.
3104
3105 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3106
3107         * char-ucs.h (breakup_char_1): Use
3108         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
3109         area.
3110
3111         * text-coding.c (reset_encoding_stream): Fixed.
3112         (char_encode_ucs4): Delete `& 255'.
3113
3114         * char-ucs.h (breakup_char_1): Use
3115         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3116
3117 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3118
3119         * file-coding.c (Fmake_coding_system): Don't set up
3120         `codesys->fixed.size'.
3121         (encode_coding_no_conversion): Don't refer
3122         `str->codesys->fixed.size'.
3123
3124 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3125
3126         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3127         (latin_a_char_to_byte1): Deleted.
3128         (latin_a_char_to_byte2): Deleted.
3129
3130 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3131
3132         * mule-charset.c (make_charset): Add new argument `ucs_min',
3133         `ucs_max' and `code_offset'.
3134         (charset_get_byte1): New implementation [delete specific charset
3135         depended implementations].
3136         (Fmake_charset): Modify for `make_charset'.
3137         (Fmake_reverse_direction_charset): Likewise.
3138         (complex_vars_of_mule_charset): Likewise.
3139
3140         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3141         `code_offset'.
3142         (CHARSET_UCS_MIN): New macro.
3143         (CHARSET_UCS_MAX): New macro.
3144         (CHARSET_CODE_OFFSET): New macro.
3145         (MAKE_CHAR): Delete charset depended definitions [except
3146         katakana-jisx0201].
3147
3148 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3149
3150         * char-ucs.h (breakup_char_1): Use
3151         `Vdefault_coded_charset_priority_list' for C0-Controls,
3152         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3153
3154 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3155
3156         * char-ucs.h (charset_get_byte1): New function.
3157         (XCHARSET_GET_BYTE1): Deleted.
3158         (charset_get_byte2): New function.
3159         (XCHARSET_GET_BYTE2): Deleted.
3160         (Vdefault_coded_charset_priority_list): New external variable.
3161         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3162         `Vdefault_preferred_coded_charset_list'.
3163
3164         * mule-charset.c (charset_get_byte1): New function.
3165         (charset_get_byte2): New function.
3166         (Vdefault_coded_charset_priority_list): New variable.
3167         (vars_of_mule_charset): Add new variable
3168         `default-coded-charset-priority-list'.
3169
3170 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3171
3172         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3173         (XCHARSET_GET_BYTE2): New inline function.
3174         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3175         `XCHARSET_GET_BYTE2'.
3176
3177 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3178
3179         * mule-charset.c (make_charset): Initialize
3180         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3181         NULL if table is not defined.
3182
3183 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3184
3185         * text-coding.c (char_encode_shift_jis): Use
3186         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3187         `ucs_to_latin_jisx0201'.
3188
3189         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3190         (ucs_to_latin_iso8859_2): Deleted.
3191         (ucs_to_latin_iso8859_3): Deleted.
3192         (ucs_to_latin_iso8859_4): Deleted.
3193         (ucs_to_latin_iso8859_9): Deleted.
3194         (ucs_to_latin_viscii_lower): Deleted.
3195         (ucs_to_latin_viscii_upper): Deleted.
3196         (ucs_to_latin_tcvn5712): Deleted.
3197         (make_charset): Add new argument `decoding_table'; set up
3198         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3199         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3200         `decoding_table' is defined in UTF-2000.
3201         (Fmake_charset): Modify for `make_charset'.
3202         (Fmake_reverse_direction_charset): Likewise.
3203         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3204         and `GENERATE_96_SET'.
3205
3206         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3207         (ucs_to_latin_jisx0201): Deleted.
3208         (latin_iso8859_2_to_ucs): Deleted.
3209         (ucs_to_latin_iso8859_2): Deleted.
3210         (latin_iso8859_3_to_ucs): Deleted.
3211         (ucs_to_latin_iso8859_3): Deleted.
3212         (latin_iso8859_4_to_ucs): Deleted.
3213         (ucs_to_latin_iso8859_4): Deleted.
3214         (latin_iso8859_9_to_ucs): Deleted.
3215         (ucs_to_latin_iso8859_9): Deleted.
3216         (latin_viscii_lower_to_ucs): Deleted.
3217         (ucs_to_latin_viscii_lower): Deleted.
3218         (latin_viscii_upper_to_ucs): Deleted.
3219         (ucs_to_latin_viscii_upper): Deleted.
3220         (struct Lisp_Charset): Renamed `encoding_table' to
3221         `to_byte1_table'; add `to_byte2_table'.
3222         (CHARSET_DECODING_TABLE): New macro.
3223         (CHARSET_TO_BYTE1_TABLE): New macro.
3224         (CHARSET_TO_BYTE2_TABLE): New macro.
3225         (XCHARSET_DECODING_TABLE): New macro.
3226         (XCHARSET_TO_BYTE1_TABLE): New macro.
3227         (XCHARSET_TO_BYTE2_TABLE): New macro.
3228         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3229         tables.
3230         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3231         don't use `ucs_to_*' tables.
3232
3233 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3234
3235         * text-coding.c (Fmake_coding_system): Don't set up
3236         `codesys->fixed.size'.
3237         (encode_coding_no_conversion): Use `if' instead of `switch'.
3238
3239         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3240
3241 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3242
3243         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3244         (Fmake_charset): Modify for `make_charset'.
3245         (Fmake_reverse_direction_charset): Likewise.
3246         (complex_vars_of_mule_charset): Likewise.
3247
3248 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3249
3250         * text-coding.c (char_encode_shift_jis): Use table
3251         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3252
3253 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3254
3255         * text-coding.c (text_encode_generic): Use `if' instead of
3256         `switch'.
3257         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3258         decode JIS-Latin.
3259
3260 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3261
3262         * text-coding.c (encode_coding_sjis): Deleted.
3263         (char_encode_shift_jis): New function.
3264         (char_finish_shift_jis): New function.
3265         (reset_encoding_stream): Set up `encode_char' and `finish' for
3266         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3267         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3268         (char_encode_utf8): Treat `eol_type'.
3269
3270 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3271
3272         * file-coding.c (decode_coding_iso2022): Use
3273         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3274
3275 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3276
3277         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3278         to 0.7 (Hirano).
3279
3280 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3281
3282         * char-lb.h (CHAR_COLUMNS): New macro.
3283
3284 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3285
3286         * text-coding.c (char_encode_ucs4): New function.
3287         (char_finish_ucs4): New function.
3288         (encode_coding_ucs4): Deleted.
3289         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3290         (text_encode_generic): Delete local variable `charset' and `half'.
3291         (ucs_to_mule_table): Deleted.
3292         (mule_to_ucs_table): Deleted.
3293         (Fset_ucs_char): Deleted.
3294         (ucs_to_char): Deleted.
3295         (Fucs_char): Deleted.
3296         (Fset_char_ucs): Deleted.
3297         (Fchar_ucs): Deleted.
3298         (decode_ucs4): Deleted.
3299         (mule_char_to_ucs4): Deleted.
3300         (encode_ucs4): Deleted.
3301         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3302         (decode_coding_utf8): Likewise.
3303         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3304         (char_encode_iso2022): Fixed.
3305         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3306         `Fset_char_ucs' and `Fchar_ucs'.
3307         (complex_vars_of_file_coding): Don't initialize
3308         `ucs_to_mule_table'.
3309
3310         * objects-tty.c (tty_initialize_font_instance): Don't use
3311         `XCHARSET_COLUMNS'.
3312
3313         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3314         UTF-2000.
3315
3316         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
3317         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3318
3319         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
3320         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3321         (emchar_string_displayed_columns): Likewise.
3322
3323         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
3324         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3325         (string_column_at_point): Likewise.
3326         (Fmove_to_column): Likewise.
3327
3328         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
3329         `encoding_table' and `decoding_table'.
3330         (CHARSET_REP_BYTES): Deleted.
3331         (XCHARSET_REP_BYTES): Deleted.
3332         (XCHARSET_COLUMNS): Deleted.
3333         (CHAR_COLUMNS): New macro.
3334         (lookup_composite_char): Deleted unconditionally.
3335         (composite_char_string): Likewise.
3336
3337 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3338
3339         * char-ucs.h (Emchar_to_byte_table): New type.
3340         (get_byte_from_character_table): New function interface.
3341         (Vcharset_latin_jisx0201): New variable.
3342         (latin_jisx0201_to_ucs): New variable.
3343         (ucs_to_latin_jisx0201): New variable.
3344         (Vcharset_latin_iso8859_2): New variable.
3345         (latin_iso8859_2_to_ucs): New variable.
3346         (ucs_to_latin_iso8859_2): New variable.
3347         (Vcharset_latin_iso8859_3): New variable.
3348         (latin_iso8859_3_to_ucs): New variable.
3349         (ucs_to_latin_iso8859_3): New variable.
3350         (Vcharset_latin_iso8859_4): New variable.
3351         (latin_iso8859_4_to_ucs): New variable.
3352         (ucs_to_latin_iso8859_4): New variable.
3353         (Vcharset_latin_iso8859_9): New variable.
3354         (latin_iso8859_9_to_ucs): New variable.
3355         (ucs_to_latin_iso8859_9): New variable.
3356         (Vcharset_latin_viscii_lower): New variable.
3357         (latin_viscii_lower_to_ucs): New variable.
3358         (ucs_to_latin_viscii_lower): New variable.
3359         (Vcharset_latin_viscii_upper): New variable.
3360         (latin_viscii_upper_to_ucs): New variable.
3361         (ucs_to_latin_viscii_upper): New variable.
3362         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
3363         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
3364         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
3365         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
3366         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
3367         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
3368         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
3369         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
3370         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
3371         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
3372
3373         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
3374         (Vcharset_latin_viscii_upper): New variable.
3375         (make_byte_from_character_table): New function.
3376         (put_byte_from_character_table): New function.
3377         (get_byte_from_character_table): New function.
3378         (CHAR96): New macro.
3379         (ucs_to_latin_jisx0201): New variable.
3380         (latin_jisx0201_to_ucs): New variable.
3381         (ucs_to_latin_iso8859_2): New variable.
3382         (latin_iso8859_2_to_ucs): New variable.
3383         (ucs_to_latin_iso8859_3): New variable.
3384         (latin_iso8859_3_to_ucs): New variable.
3385         (ucs_to_latin_iso8859_4): New variable.
3386         (latin_iso8859_4_to_ucs): New variable.
3387         (ucs_to_latin_iso8859_9): New variable.
3388         (latin_iso8859_9_to_ucs): New variable.
3389         (ucs_to_latin_viscii_lower): New variable.
3390         (latin_viscii_lower_to_ucs): New variable.
3391         (ucs_to_latin_viscii_upper): New variable.
3392         (latin_viscii_upper_to_ucs): New variable.
3393         (ucs_to_latin_tcvn5712): New variable.
3394         (latin_tcvn5712_to_ucs): New variable.
3395         (Qlatin_viscii_lower): New variable.
3396         (Qlatin_viscii_upper): New variable.
3397         (syms_of_mule_charset): Set up new symbol
3398         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
3399         (complex_vars_of_mule_charset): Set up new charset
3400         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
3401         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
3402         `ucs_to_<CHARSET>' tables.
3403
3404 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3405
3406         * text-coding.c: New file.
3407
3408 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3409
3410         * mule-charset.c (Fmake_char): Fix problem of 256-set.
3411
3412         * char-ucs.h (Vcharset_ucs_bmp): New variable.
3413         (MAKE_CHAR): Modify for `ucs-bmp'.
3414         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
3415         non-MULE characters of BMP.
3416
3417 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
3418
3419         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3420         to 0.6.
3421
3422 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3423
3424         * lstream.h:
3425         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
3426         - Include character.h for `CHAR_ASCII_P'.
3427
3428         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
3429
3430         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
3431         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
3432
3433         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
3434         (BYTE_C0_P): Likewise.
3435         (BYTE_C1_P): Likewise.
3436         (Lstream_get_emchar_1): Likewise.
3437         (Lstream_fput_emchar): Likewise.
3438         (Lstream_funget_emchar): Likewise.
3439         (copy_internal_to_external): Likewise.
3440         (copy_external_to_internal): Likewise.
3441
3442         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
3443         (BYTE_C0_P): Likewise.
3444         (BYTE_C1_P): Likewise.
3445         (Lstream_get_emchar_1): Likewise.
3446         (Lstream_fput_emchar): Likewise.
3447         (Lstream_funget_emchar): Likewise.
3448         (copy_internal_to_external): Likewise.
3449         (copy_external_to_internal): Likewise.
3450
3451         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3452         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3453
3454         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3455         (BYTE_ASCII_P): Moved to mb-1byte.h.
3456
3457 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3458
3459         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3460
3461         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3462         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3463         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3464         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3465         (VALIDATE_CHARPTR_FORWARD): Likewise.
3466         (simple_charptr_emchar): Moved to mb-multibyte.h.
3467         (simple_set_charptr_emchar): Likewise.
3468         (simple_charptr_copy_char): Likewise.
3469         (non_ascii_charptr_emchar): Likewise.
3470         (non_ascii_set_charptr_emchar): Likewise.
3471         (non_ascii_charptr_copy_char): Likewise.
3472         (charptr_emchar): Moved to mb-*byte.h.
3473         (set_charptr_emchar): Likewise.
3474         (charptr_copy_char): Likewise.
3475
3476         * mb-1byte.h, mb-multibyte.h: New files.
3477
3478 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3479
3480         * mb-utf-8.h (MULTIBYTE): New macro.
3481         (MAX_EMCHAR_LEN): Moved from buffer.h.
3482         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3483
3484         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3485
3486         * mb-lb.h, multibyte.h: New files.
3487
3488         * char-1byte.h (Charset_ID): Moved from buffer.h.
3489         (MIN_LEADING_BYTE): Likewise.
3490         (LEADING_BYTE_ASCII): Likewise.
3491         (NUM_LEADING_BYTES): Likewise.
3492         (CHARSETP): Likewise.
3493         (CHARSET_BY_LEADING_BYTE): Likewise.
3494         (XCHARSET_LEADING_BYTE): Likewise.
3495         (XCHARSET_GRAPHIC): Likewise.
3496         (XCHARSET_COLUMNS): Likewise.
3497         (XCHARSET_DIMENSION): Likewise.
3498         (CHAR_CHARSET): Likewise.
3499         (CHAR_LEADING_BYTE): Likewise.
3500         (BREAKUP_CHAR): Likewise.
3501         (Vcharset_ascii): Likewise.
3502
3503         * buffer.h: Include multibyte.h unconditionally.
3504         (VALID_CHARPTR_P): Moved to multibyte.h.
3505         (ASSERT_VALID_CHARPTR): Likewise.
3506         (REAL_INC_CHARPTR): Likewise.
3507         (REAL_INC_CHARBYTIND): Likewise.
3508         (REAL_DEC_CHARPTR): Likewise.
3509         (INC_CHARPTR): Likewise.
3510         (INC_CHARBYTIND): Likewise.
3511         (DEC_CHARPTR): Likewise.
3512         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3513         (VALIDATE_CHARPTR_FORWARD): Likewise.
3514         (charptr_n_addr): Likewise.
3515         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3516         (simple_charptr_emchar): Moved to multibyte.h.
3517         (simple_set_charptr_emchar): Likewise.
3518         (simple_charptr_copy_char): Likewise.
3519         (non_ascii_charptr_emchar): Likewise.
3520         (non_ascii_set_charptr_emchar): Likewise.
3521         (non_ascii_charptr_copy_char): Likewise.
3522         (charptr_emchar): Likewise.
3523         (set_charptr_emchar): Likewise.
3524         (charptr_copy_char): Likewise.
3525         (charptr_emchar_n): Likewise.
3526         (Charset_ID): Moved to char-1byte.h.
3527         (Vcharset_ascii): Likewise.
3528         (CHAR_CHARSET): Likewise.
3529         (CHAR_LEADING_BYTE): Likewise.
3530         (LEADING_BYTE_ASCII): Likewise.
3531         (NUM_LEADING_BYTES): Likewise.
3532         (MIN_LEADING_BYTE): Likewise.
3533         (CHARSETP): Likewise.
3534         (CHARSET_BY_LEADING_BYTE): Likewise.
3535         (XCHARSET_LEADING_BYTE): Likewise.
3536         (XCHARSET_GRAPHIC): Likewise.
3537         (XCHARSET_COLUMNS): Likewise.
3538         (XCHARSET_DIMENSION): Likewise.
3539         (BREAKUP_CHAR): Likewise.
3540
3541 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3542
3543         * character.h: Add document about interface for characters.
3544
3545         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3546         (MAKE_CHAR): Delete comment about
3547         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3548         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3549         (BREAKUP_CHAR): Modify name of arguments.
3550         (CHAR_CHARSET): Modify name of argument.
3551
3552         * buffer.h: Delete document about Emchar accessors.
3553
3554 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3555
3556         * character.h (CHAR_INTP): Moved from buffer.h
3557         (CHAR_OR_CHAR_INTP): Likewise.
3558         (XCHAR_OR_CHAR_INT): Likewise.
3559         (CHECK_CHAR_COERCE_INT): Likewise.
3560
3561         * buffer.h (CHAR_INTP): Moved to character.h
3562         (CHAR_OR_CHAR_INTP): Likewise.
3563         (XCHAR_OR_CHAR_INT): Likewise.
3564         (CHECK_CHAR_COERCE_INT): Likewise.
3565
3566 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3567
3568         * character.h:
3569         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3570         - Include char-1byte.h, char-lb.h or char-ucs.h.
3571
3572         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3573
3574         * buffer.h: Include character unconditionally.
3575         (valid_char_p): Moved to char-*.h.
3576         (non_ascii_valid_char_p): Moved to char-lb.h.
3577
3578         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3579
3580 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3581
3582         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3583         in UTF-2000 because it is not ported yet and not to use
3584         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3585         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3586         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3587
3588         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3589         (CHAR_ASCII_P): Moved from character.h.
3590
3591         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3592         (CHAR_ASCII_P): Likewise.
3593         (CHAR_FIELD1_MASK): Deleted.
3594         (CHAR_FIELD2_MASK): Deleted.
3595         (CHAR_FIELD3_MASK): Deleted.
3596         (MAX_CHAR_BASIC_LATIN): New macro.
3597         (CHAR_FIELD1): Deleted.
3598         (CHAR_FIELD2_INTERNAL): Deleted.
3599         (CHAR_FIELD3_INTERNAL): Deleted.
3600         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3601         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3602         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3603         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3604         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3605         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3606         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3607         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3608         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3609         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3610         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3611         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3612         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3613         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3614         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3615         (MIN_CHAR_COMPOSITION): Deleted.
3616         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3617         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3618
3619 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3620
3621         * buffer.h: Include mb-utf-8.h in UTF-2000.
3622
3623         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3624
3625         * mb-utf-8.h: New file.
3626
3627 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3628
3629         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3630         instead of `int'.
3631
3632         * mule-charset.h, buffer.h (Charset_ID): New type.
3633
3634 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3635
3636         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3637         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3638         instead of `MULE_CHAR_PRIVATE_OFFSET',
3639         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3640         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3641         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3642
3643         * character.h (Vcharset_japanese_jisx0212): New variable
3644         definition.
3645
3646 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3647
3648         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3649         (charset_by_attributes): Delete array about direction.
3650         (latin_a_char_to_charset): New variable in UTF-2000.
3651         (latin_a_char_to_byte1): New variable in UTF-2000.
3652         (latin_a_char_to_byte2): New variable in UTF-2000.
3653         (Qucs_bmp): New variable.
3654         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3655         `Bufbyte'.
3656         (next_allocated_2_byte_leading_byte): Likewise.
3657         (non_ascii_set_charptr_emchar): Likewise.
3658         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3659         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3660         `charset_by_attributes'.
3661         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3662         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3663         and `CHARSET_BY_LEADING_BYTE'.
3664         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3665         `utf-2000-version' to `vars_of_mule_charset'.
3666         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3667         define `leading-code-private-11' in UTF-2000; move setting of
3668         `utf-2000-version' from `syms_of_mule_charset'.
3669         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3670         UTF-2000.
3671
3672         * character.h (Charset_ID): New type.
3673         (LEADING_BYTE_UCS_BMP): New macro.
3674         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3675         (CHARSET_ID_OFFSET_94): New macro.
3676         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3677         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3678         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3679         final-byte.
3680         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3681         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3682         (CHARSET_ID_OFFSET_96): New macro.
3683         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3684         CHARSET_ID_OFFSET_96 and final-byte.
3685         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3686         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3687         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3688         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3689         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3690         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3691         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3692         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3693         (LEADING_BYTE_THAI_TIS620): Likewise.
3694         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3695         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3696         (CHARSET_ID_OFFSET_94x94): New macro.
3697         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3698         CHARSET_ID_OFFSET_94x94 and final-byte.
3699         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3700         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3701         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3702         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3703         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3704         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3705         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3706         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3707         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3708         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3709         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3710         (CHARSET_TYPE_128X128): New macro.
3711         (CHARSET_TYPE_256X256): New macro.
3712         (XCHARSET_PRIVATE_P): Delete unconditionally.
3713         (charset_by_attributes): Delete array about direction.
3714         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3715         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3716         (MIN_CHAR_94): New macro.
3717         (MAX_CHAR_94): New macro.
3718         (MIN_CHAR_96): New macro.
3719         (MAX_CHAR_96): New macro.
3720         (MIN_CHAR_94x94): New macro.
3721         (MAX_CHAR_94x94): New macro.
3722         (MIN_CHAR_96x96): New macro.
3723         (MAX_CHAR_96x96): New macro.
3724         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3725         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3726         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3727         - 32)'.
3728         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3729         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3730         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3731         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3732         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3733         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3734         `XCHARSET_LEADING_BYTE' to make code-point.
3735         (latin_a_char_to_charset): New variable.
3736         (latin_a_char_to_byte1): New variable.
3737         (latin_a_char_to_byte2): New variable.
3738         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3739         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3740         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3741
3742         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3743         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3744         (find_charsets_in_emchar_string): Likewise.
3745         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3746
3747         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3748         `int'.
3749         (decode_coding_iso2022): Likewise.
3750
3751         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3752         of `unsigned char'.
3753
3754         * redisplay.c (redisplay_text_width_emchar_string): Use
3755         `Charset_ID' instead of `unsigned char'.
3756         (redisplay_frame_text_width_string): Likewise.
3757
3758         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3759         `unsigned char'.
3760
3761         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3762         instead of `unsigned char'.
3763         (face_cachel_charset_font_metric_info): Likewise.
3764
3765         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3766         (get_non_ascii_char_table_value): Likewise.
3767         (get_char_table): Likewise.
3768         (put_char_table): Likewise.
3769         (map_over_other_charset): Likewise.
3770         (map_char_table): Likewise.
3771
3772         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3773         instead of `unsigned char'.
3774
3775 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3776
3777         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3778         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3779
3780         * mule-charset.c (leading_code_private_11): Don't define in
3781         UTF-2000.
3782
3783         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3784         in UTF-2000 because it is not ported yet and not to use
3785         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3786
3787 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3788
3789         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3790
3791 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3792
3793         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3794         in UTF-2000.
3795
3796         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3797         of unsigned char to store leading-byte.
3798
3799         * chartab.c (get_non_ascii_char_table_value): Don't use
3800         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3801
3802         * file-coding.c (encode_coding_big5): Delete bogus implementation
3803         in UTF2000.
3804
3805         * character.h (LEADING_BYTE_*): Delete definition for
3806         non-UTF-2000.
3807         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3808         (LEADING_BYTE_PREFIX_P): Deleted.
3809         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3810         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3811         (BUFBYTE_LEADING_BYTE_P): Deleted.
3812         (CHARSET_PRIVATE_P): Deleted unconditionally.
3813         (rep_bytes_by_first_byte): Deleted unconditionally.
3814         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3815         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3816         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3817         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3818         (CHAR_FIELD2): Deleted.
3819         (CHAR_FIELD3): Deleted.
3820         (MAKE_CHAR): Delete definition for non-UTF-2000.
3821         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3822         (breakup_char_1): New implementation.
3823         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3824         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3825
3826 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3827
3828         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3829         condition.
3830
3831 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3832
3833         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3834         (CHARSET_PRIVATE_P): Likewise.
3835         (XCHARSET_PRIVATE_P): Likewise.
3836         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3837
3838         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3839         UTF2000.
3840         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3841
3842 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3843
3844         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3845         (NUM_LEADING_BYTES): Changed from 128 to 256.
3846         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3847         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3848         UTF2000.
3849         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3850
3851         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3852         UTF2000.
3853         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3854         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3855         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3856         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3857         (Qchinese_cns11643_3): New variable in UTF2000.
3858         (Qchinese_cns11643_4): New variable in UTF2000.
3859         (Qchinese_cns11643_5): New variable in UTF2000.
3860         (Qchinese_cns11643_6): New variable in UTF2000.
3861         (Qchinese_cns11643_7): New variable in UTF2000.
3862         (syms_of_mule_charset): Define `chinese-cns11643-3',
3863         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3864         and `chinese-cns11643-7' in UTF2000.
3865         (vars_of_mule_charset): Initialize
3866         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3867         + 1 in UTF2000.
3868         (complex_vars_of_mule_charset): Setup charset
3869         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3870         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3871
3872 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3873
3874         * mule-charset.c: Move setting for `leading-code-private-11' from
3875         `syms_of_mule_charset' to `vars_of_mule_charset'.
3876
3877 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3878
3879         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3880         and `NUM_LEADING_BYTES' in assert.
3881
3882 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3883
3884         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3885         instead of 128.
3886         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3887         `NUM_LEADING_BYTES' instead of 128.
3888
3889 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3890
3891         * mule-charset.h (charset_by_leading_byte): Use
3892         `NUM_LEADING_BYTES' instead of 128.
3893         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3894
3895         * mule-charset.c (charset_by_leading_byte): Use
3896         `NUM_LEADING_BYTES' instead of 128.
3897         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3898
3899         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3900         128.
3901
3902 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3903
3904         * mule-charset.c (syms_of_mule_charset): Update to
3905         0.4 (Shin-Imamiya).
3906
3907 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3908
3909         * file-coding.c (encode_coding_sjis): New implementation for
3910         UTF2000.  (decode_coding_sjis): Ditto.
3911
3912 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3913
3914         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3915         Don't define in UTF2000.
3916
3917         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3918         defined.
3919
3920         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3921         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3922         MULE.
3923
3924 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3925
3926         * config.h.in (CHAR_IS_UCS4): New macro.
3927
3928         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3929         conventional MULE representation.
3930         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3931
3932         * mule-charset.h: Reverted to original.
3933
3934         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3935         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3936         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3937
3938         * character.h: New file.
3939
3940         * file-coding.c (Fmake_coding_system): Set 1 to
3941         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3942         defined.
3943         (encode_coding_no_conversion): New implementation for UTF2000.
3944
3945         * file-coding.h (struct Lisp_Coding_System): Add new member
3946         `fixed.size'.
3947
3948 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3949
3950         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3951         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3952         (encode_coding_iso2022): New implementation for UTF2000.
3953
3954 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3955
3956         * mule-canna.c (c2mu): New implementation for UTF2000.
3957         (m2c): Likewise.
3958
3959 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3960
3961         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3962
3963 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3964
3965         * file-coding.c (reset_encoding_stream): Set 0 to
3966         `str->iso2022.current_char_boundary' in UTF2000.
3967         (encode_utf8): Don't define in UTF2000.
3968         (encode_coding_utf8): New implementation for UTF-8 representation
3969         of UTF2000.
3970         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3971
3972 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3973
3974         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3975
3976         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3977         UTF2000.
3978         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3979
3980         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3981
3982         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3983         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3984         as UTF-8 in UTF2000.
3985         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3986         (non_ascii_valid_char_p): Don't define in UTF2000.
3987         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3988         (Lstream_get_emchar_1): Likewise.
3989         (utf-2000-version): New variable in UTF2000.
3990
3991         * lread.c (read_escape): Add new reader `u'.
3992
3993         * insdel.c (three_to_one_table): Don't define in UTF2000.
3994         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3995         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3996         UTF2000.
3997         (bytind_to_bufpos_func): Likewise.
3998         (buffer_mule_signal_inserted_region): Likewise.
3999         (vars_of_insdel): Don't initialize `three_to_one_table'.
4000         (init_buffer_text): Use `buf->text->mule_size' instead of
4001         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4002         UTF2000.
4003
4004         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
4005         UTF-8 representation in UTF2000.
4006         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
4007         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
4008         (decode_coding_iso2022): Don't define local variable `lb' in
4009         UTF2000; don't use LEADING_BYTE in UTF2000; use
4010         `DECODE_ADD_UCS_CHAR' in UTF2000.
4011         (convert_to_external_format): Decode as UTF-8 in UTF2000.
4012
4013         * config.h.in (UTF2000): New macro.
4014
4015         * buffer.h (struct buffer_text): Add new member `mule_size' and
4016         don't add `mule_shifter' and `mule_three_p' in UTF2000.
4017         (valid_char_p): Return always 1 in UTF2000.
4018         (MAX_EMCHAR_LEN): 6 in UTF2000.
4019         (three_to_one_table): Don't define in UTF2000.
4020         (real_bufpos_to_bytind): Modify for UTF-8 representation in
4021         UTF2000.
4022         (real_bytind_to_bufpos): Likewise.
4023
4024         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
4025
4026 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4027
4028         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
4029         representation change.
4030         (Vutf_2000_version): New variable.
4031         (leading_code_private_11): New variable.
4032         (syms_of_mule_charset): Add new variables `utf-2000-version' and
4033         `leading-code-private-11'.
4034
4035         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
4036         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
4037         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
4038         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
4039         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
4040         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
4041         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
4042         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
4043         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
4044         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
4045         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
4046         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
4047         (MIN_CHAR_GREEK): New macro.
4048         (MAX_CHAR_GREEK): New macro.
4049         (MIN_CHAR_CYRILLIC): New macro.
4050         (MAX_CHAR_CYRILLIC): New macro.
4051         (MIN_CHAR_HEBREW): New macro.
4052         (MAX_CHAR_HEBREW): New macro.
4053         (MIN_CHAR_THAI): New macro.
4054         (MAX_CHAR_THAI): New macro.
4055         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
4056         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
4057         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
4058         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
4059         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
4060         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
4061         (CHAR_FIELD2): New inline function.
4062         (CHAR_FIELD3): New inline function.
4063         (MULE_CHAR_PRIVATE_OFFSET): New macro.
4064         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
4065         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
4066         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
4067         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
4068         (MIN_CHAR_COMPOSITION): Likewise.
4069         (CHAR_LEADING_BYTE): Modified for character representation change.
4070         (MAKE_CHAR): Likewise.
4071
4072         * lisp.h (Vcharset_latin_iso8859_1): New variable.
4073         (Vcharset_greek_iso8859_7): Likewise.
4074         (Vcharset_cyrillic_iso8859_5): Likewise.
4075         (Vcharset_hebrew_iso8859_8): Likewise.
4076         (Vcharset_thai_tis620): Likewise.
4077         (Vcharset_katakana_jisx0201): Likewise.
4078
4079 2001-02-08  Martin Buchholz <martin@xemacs.org>
4080
4081         * XEmacs 21.2.44 "Thalia" is released.
4082
4083 2001-02-06  Martin Buchholz  <martin@xemacs.org>
4084
4085         Fixes crashes in kill-emacs on some systems.
4086         * process-unix.c (unix_kill_child_process):
4087         It's OK for kill() to fail with ESRCH.
4088
4089 2001-02-07  Martin Buchholz  <martin@xemacs.org>
4090
4091         Contortions to make .gdbinit tricks work on most systems.
4092         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
4093         * alloc.c (dbg_valmask): Make non-const.
4094         * alloc.c (dbg_typemask): Make non-const.
4095         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
4096         * alloc.c (dbg_valbits): Make non-const.
4097         * alloc.c (dbg_gctypebits): Make non-const.
4098         * .gdbinit (decode_object): Make it work with AIX cc.
4099
4100 2001-02-06  Martin Buchholz  <martin@xemacs.org>
4101
4102         * elhash.c (make_general_lisp_hash_table):
4103         Use simpler and more efficient calloc to clear entries.
4104
4105 2001-02-07  Martin Buchholz  <martin@xemacs.org>
4106
4107         * window.c (window_scroll): Work around an AIX C compiler bug.
4108         Fixes 'scroll-up' does nothing problem with xlC.
4109
4110 2001-02-05  Martin Buchholz  <martin@xemacs.org>
4111
4112         * .gdbinit: Remove obsolete comment.
4113
4114 2001-01-31  Mike Alexander  <mta@arbortext.com>
4115
4116         * select.c (Fown_selection_internal): Set owned_p for device
4117         method correctly.
4118
4119 2001-02-01  Martin Buchholz  <martin@xemacs.org>
4120
4121         Port to g++ 2.97.
4122         "not" cannot be used as a macro name as it is an operator in C++
4123         * config.h.in: Stop #defining `not'.
4124         * chartab.c (check_category_char): not ==> not_p
4125         * chartab.h: Likewise.
4126         * regex.c (re_match_2_internal): Likewise.
4127
4128 2001-02-02  Martin Buchholz  <martin@xemacs.org>
4129
4130         * lisp-disunion.h: Fix up comments.
4131
4132 2001-01-31  Martin Buchholz  <martin@xemacs.org>
4133
4134         * keymap.c (define_key_check_and_coerce_keysym):
4135         (syms_of_keymap):
4136         Support mouse-6 and mouse-7 bindings in the obvious way.
4137
4138 2001-02-01  Martin Buchholz  <martin@xemacs.org>
4139
4140         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
4141
4142 2001-01-30  Martin Buchholz  <martin@xemacs.org>
4143
4144         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
4145         Previous patch missed DEFVAR_INT_MAGIC.
4146         Make sure future DEFVAR_foo use correct types.
4147         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
4148         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
4149         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
4150         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
4151         * (DEFVAR_INT): Likewise.
4152         * redisplay.c (vertical_clip): Should be of type Fixnum.
4153         * redisplay.c (horizontal_clip): Likewise.
4154         * lisp.h (dump_add_opaque_int): New.
4155         (dump_add_opaque_fixnum): New.
4156
4157 2001-01-29  Andy Piper  <andy@xemacs.org>
4158
4159         * glyphs-widget.c (check_valid_int_or_function): allow symbols
4160         since they can be eval'ed
4161
4162 2001-01-29  Martin Buchholz  <martin@xemacs.org>
4163
4164         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
4165         Oops, XEmacs redefines `class'.  Use `typename' instead.
4166
4167 2001-01-28  Martin Buchholz  <martin@xemacs.org>
4168
4169         * dumper.c: Fix C++ compile errors.
4170
4171 2001-01-29  Martin Buchholz  <martin@xemacs.org>
4172
4173         * tparam.c: Use correct prototypes.
4174
4175 2001-01-28  Martin Buchholz  <martin@xemacs.org>
4176
4177         * sysproc.h: #include util.h for NetBSD's openpty.
4178
4179 2001-01-27  Martin Buchholz  <martin@xemacs.org>
4180
4181         More 64-bit correctness.
4182         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
4183         Use a typedef `fixnum' for the type used for DEFVAR_INT.
4184         Fix up comments.
4185         This finally finishes the 64-bit SGI port.
4186         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
4187         * symbols.c: Fix up comments and type casts.
4188         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
4189         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
4190         * symeval.h (Fixnum): New type.
4191         * symeval.h (symbol_value_type): Fix up comment.
4192
4193         * commands.h:
4194         * nt.c:
4195         * emacs.c:
4196         * data.c:
4197         * redisplay.c:
4198         * abbrev.c:
4199         * dired-msw.c:
4200         * event-Xt.c:
4201         * eldap.c:
4202         * window.c:
4203         * sound.c:
4204         * event-stream.c:
4205         * eval.c:
4206         * buffer.c:
4207         * mule-canna.c: A million DEFVAR_INTs here...
4208         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
4209         * extents.c:
4210         * cmdloop.c:
4211         * lisp.h:
4212         * select-x.c:
4213         * console-x.h:
4214         * event-msw.c:
4215         * mule-wnnfns.c:
4216         * hpplay.c:
4217         * ralloc.c:
4218         * alloc.c:
4219         * keymap.c:
4220         * profile.c:
4221         s/int/Fixnum/g in DEFVAR_INT declarations.
4222
4223 2001-01-26  Martin Buchholz  <martin@xemacs.org>
4224
4225         Port pdump to SGI alignment-sensitive environment.
4226         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
4227         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
4228         properly aligned.
4229         Define and use aligned reading and writing macros.
4230         Use buffered stdio instead of posix i/o for faster dumping.
4231         Eliminate kludgy 256 byte space for header.
4232         Read and write from dump file using structs for alignment safety.
4233         * dumper.c (pdump_align_stream): New.
4234         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
4235         * dumper.c (PDUMP_READ_ALIGNED): New.
4236         * dumper.c (PDUMP_WRITE_ALIGNED): New.
4237         * dumper.c (pdump_static_Lisp_Object): New struct.
4238         * dumper.c (pdump_static_pointer): New struct.
4239         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
4240         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
4241         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
4242         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
4243
4244         * dumper.c (pdump_backtrace):
4245         * dumper.c (pdump_get_indirect_count):
4246         * dumper.c (pdump_register_object):
4247         * dumper.c (pdump_register_struct):
4248         * dumper.c (pdump_reloc_one):
4249         * dumper.c (pdump_scan_by_alignment):
4250         * dumper.c (pdump_dump_from_root_struct_ptrs):
4251         * dumper.c (pdump_dump_opaques):
4252         * dumper.c (pdump_dump_rtables):
4253         * dumper.c (pdump_dump_from_root_objects):
4254         * dumper.c (pdump):
4255         * dumper.c (pdump_load_finish):
4256         Use aligned reading and writing.
4257
4258         * dumper.c (pdump_free): Make static.
4259         * dumper.c (pdump_hFile): Likewise.
4260         * dumper.c (pdump_hMap): Likewise.
4261
4262 2001-01-26  Martin Buchholz <martin@xemacs.org>
4263
4264         * XEmacs 21.2.43 "Terspichore" is released.
4265
4266 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4267
4268         Type fiddling for window_config.saved_windows_count
4269         * window.c (struct window_config): 
4270         Make saved_windows_count member unsigned.
4271         * window.c (sizeof_window_config_for_n_windows): 
4272         Make parameter unsigned.
4273         * window.c (mark_window_config):
4274         * window.c (window_config_equal):
4275         * window.c (free_window_configuration):
4276         * window.c (Fset_window_configuration):
4277         * window.c (count_windows):
4278         * window.c (Fcurrent_window_configuration):
4279         * window.c (reinit_vars_of_window):
4280         Update all callers and users.
4281
4282 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4283
4284         Alignment correctness for flexible arrays.
4285         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
4286         Make alignment-correct. Add interesting comments.
4287         * alloc.c (size_vector):
4288         * alloc.c (make_vector_internal):
4289         * alloc.c (make_bit_vector_internal):
4290         * alloc.c (sweep_bit_vectors_1):
4291         * fns.c (size_bit_vector):
4292         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
4293         * window.c (sizeof_window_config_for_n_windows): 
4294         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
4295
4296 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4297
4298         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
4299
4300 2001-01-23  Andy Piper  <andy@xemacs.org>
4301
4302         * select.c (Fown_selection_internal): pass owned_p
4303
4304         * select-msw.c (mswindows_own_selection): New Signature.
4305
4306         * console.h (struct console_methods): add owned_p to
4307         _own_selection.
4308
4309         * select-x.c (x_own_selection): pass owned_p
4310         (hack_motif_clipboard_selection): use owned_p
4311         (vars_of_select_x): new variable -
4312         x_selection_strict_motif_ownership.
4313
4314 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4315
4316         * specifier.h (specifier_data_offset): Remove pointless parens.
4317         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
4318
4319 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4320
4321         Make Lisp_Object sizeof methods be alignment-correct.
4322         pdump must restore objects to the same alignment as the C compiler
4323         assumes.  It really matters on SGIs.
4324         * lstream.c (aligned_sizeof_lstream): New.
4325         (sizeof_lstream): Use aligned_sizeof_lstream.
4326         (Lstream_new): Likewise.
4327         * opaque.c (aligned_sizeof_opaque): New.
4328         (sizeof_opaque): Use aligned_sizeof_opaque.
4329         (make_opaque): Likewise.
4330         * specifier.c (aligned_sizeof_specifier): New.
4331         (sizeof_specifier): Use aligned_sizeof_specifier.
4332         (make_specifier_internal): Likewise.
4333
4334 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4335
4336         * lstream.h (struct lstream): Use max_align_t for trailing data.
4337         * specifier.h (struct Lisp_Specifier): Likewise.
4338
4339 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4340
4341         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
4342         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
4343         (CCL_SUSPEND): Likewise.
4344         (CCL_INVALID_CMD): Likewise.
4345         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
4346         (ccl_driver): Likewise.
4347         (CCL_WRITE_CHAR): Macro hygiene.
4348         (CCL_WRITE_STRING): Macro hygiene.
4349
4350 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4351
4352         Port "portable" dumper to SunOS 4 and HP-UX.
4353         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
4354         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
4355         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
4356
4357 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4358
4359         * lisp.h (ALIGNOF): A better definition for C++.
4360
4361 2001-01-20  Martin Buchholz  <martin@xemacs.org>
4362
4363         Macro hygiene.
4364         Fix printf warnings: int format, long int arg.
4365         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
4366         (PUSH_FAILURE_POINT): Use correct printf formats.
4367         (POP_FAILURE_POINT): Use correct printf formats.  
4368         Use do {...} while (0)
4369
4370 2001-01-20  Martin Buchholz <martin@xemacs.org>
4371
4372         * XEmacs 21.2.42 "Poseidon" is released.
4373
4374 2001-01-20  Martin Buchholz  <martin@xemacs.org>
4375
4376         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
4377
4378 2001-01-19  Martin Buchholz  <martin@xemacs.org>
4379
4380         De-kludgify FIXED_TYPE free list frobbing.
4381         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
4382         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
4383         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
4384         * alloc.c (Lisp_Free): New pseudo lisp object definition.
4385         * alloc.c (LRECORD_FREE_P): New.
4386         * alloc.c (MARK_LRECORD_AS_FREE): New.
4387         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
4388         * alloc.c (STRUCT_FREE_P): Deleted.
4389         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
4390         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
4391         * alloc.c (STRING_CHARS_FREE_P): New.
4392         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
4393         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
4394         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
4395         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
4396         * alloc.c (resize_string): Use new definitions.
4397         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
4398         * alloc.c (verify_string_chars_integrity): Use new definitions.
4399         * alloc.c (compact_string_chars): Use new definitions.
4400         * alloc.c: Update monster comments.
4401         * lrecord.h (lrecord_type): Add some new lrecord types for
4402         alloc.c's use.
4403
4404 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4405
4406         Improve alignment hackery.
4407         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
4408         (max_align_t): Moved from opaque.h - general purpose.
4409         (ALIGN_PTR): Use size_t, not long.
4410         * opaque.h (max_align_t): Move to lisp.h.
4411
4412 2001-01-18  Norbert Koch  <nk@LF.net>
4413
4414         * gui.h: Fix and add prototypes to fix build problems.
4415
4416 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4417
4418         temacs is going away, so `dump-temacs' is now a bad name.
4419         * .dbxrc (dump-temacs): Rename to `dmp'.
4420         * .gdbinit (dump-temacs): Rename to `dmp'.
4421
4422 2001-01-17  Andy Piper  <andy@xemacs.org>
4423
4424         * glyphs.c (print_image_instance): comment to make martin happy.
4425
4426         * glyphs-x.c (x_redisplay_widget): update faces after a frame
4427         change.
4428
4429         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
4430         activation.
4431         (mswindows_tab_control_redisplay): warning suppression.
4432
4433         * glyphs-widget.c (widget_update): re-write to cope with updated
4434         items.
4435         (widget_instantiate): use new gui_item functions.
4436         (tab_control_update): deleted.
4437         (progress_gauge_update): deleted.
4438         (image_instantiator_progress_guage): take out update reference.
4439         (image_instantiator_tree_view): ditto.
4440         (image_instantiator_tab_control): ditto.
4441
4442         * gui.c (widget_gui_parse_item_keywords): new function. Do things
4443         Right the new way.
4444         (gui_item_add_keyval_pair): re-write to cope with descriptors and
4445         return whether anything was changed.
4446         (update_gui_item_keywords): as it sounds.
4447
4448         * gui.h: declare widget_gui_parse_item_keywords.
4449
4450         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
4451         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
4452
4453 2001-01-17  Martin Buchholz <martin@xemacs.org>
4454
4455         * XEmacs 21.2.41 "Polyhymnia" is released.
4456
4457 2001-01-16  Didier Verna  <didier@xemacs.org>
4458
4459         * glyphs.c (image_instantiate): don't use fallbacks when
4460         instantiating a face's background pixmap by inheritance.
4461
4462 2001-01-14  Mike Sperber <mike@xemacs.org>
4463
4464         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
4465         Conditionalize accordingly.
4466
4467 2001-01-16  Martin Buchholz  <martin@xemacs.org>
4468
4469         * dumper.c (pdump_file_get): Fix a compiler warning.
4470
4471 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4472
4473         Make Purify happy when pdumping.
4474         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
4475         iniitalizing all bits of new lisp object memory.
4476         * symbols.c (Fmake_local_variable): Likewise.
4477         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
4478         * symbols.c (Fdefvaralias): Likewise.
4479         * mule-charset.c (vars_of_mule_charset): Likewise.
4480
4481 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4482         Add the `-nd' flag when running pre-dump operations under the debugger.
4483         * .dbxrc (run-temacs): Add `-nd'.
4484         * .dbxrc (update-elc): Likewise.
4485         * .dbxrc (dump-temacs): Likewise.
4486         * .gdbinit (run-temacs): Likewise.
4487         * .gdbinit (check-temacs): Likewise.
4488         * .gdbinit (update-elc): Likewise.
4489         * .gdbinit (dump-temacs): Likewise.
4490
4491 2001-01-14  Martin Buchholz  <martin@xemacs.org>
4492
4493         Allow building 64-bit executables on AIX with GNU malloc, e.g.
4494         export OBJECT_MODE=64
4495         configure --pdump --use-union-type=no
4496         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
4497         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
4498
4499         * miscplay.c (sndcnv8U_2mono):
4500         Avoid two uses of `++' in the same expression.
4501         Suppresses a GCC warning.
4502
4503 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4504
4505         Make sure future compilers don't miscompile alloc.c.
4506         * alloc.c:
4507         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
4508         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
4509
4510 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4511
4512         * dumper.c: A little post-pdump-rename comment fixup.
4513
4514 2001-01-09  Jerry James  <james@eecs.ku.edu>
4515
4516         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
4517
4518 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4519
4520         * *.[ch]: Globally rename symbols using the following `pdump-rename'
4521         script:
4522         #!/bin/sh
4523         replace_symbol () {
4524           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
4525         }
4526
4527         replace_symbol pdump_wire_lists pdump_weak_object_chains
4528         replace_symbol pdump_wire_list dump_add_weak_object_chain
4529
4530         replace_symbol pdump_wires pdump_root_objects
4531         replace_symbol pdump_wire dump_add_root_object
4532
4533         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
4534         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
4535
4536         replace_symbol dumpstructinfos pdump_root_struct_ptrs
4537         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
4538         replace_symbol dumpstructinfo pdump_root_struct_ptr
4539         replace_symbol dumpstruct dump_add_root_struct_ptr
4540
4541         replace_symbol dumpopaque dump_add_opaque
4542         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
4543         replace_symbol dumpopaqueinfos pdump_opaques
4544         replace_symbol dumpopaqueinfo pdump_opaque
4545
4546         replace_symbol nb_structdump nb_root_struct_ptrs
4547         replace_symbol nb_opaquedump nb_opaques
4548
4549         replace_symbol align_table pdump_align_table
4550         replace_symbol dump_header pdump_header
4551
4552         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
4553         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
4554
4555
4556 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4557
4558         * s/aix4.h: Keep the C for AIX compiler from overaggressively
4559         optimizing bytecount_to_charcount().
4560
4561 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4562
4563         * config.h.in:
4564         (HAVE_DLFCN_H): Removed.
4565         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
4566
4567 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4568
4569         Portable dumper maintainability improvements.
4570         * alloc.c (staticpro):
4571         * alloc.c (staticpro_nodump):
4572         * alloc.c (garbage_collect_1):
4573         * alloc.c (reinit_alloc_once_early):
4574         * alloc.c (init_alloc_once_early):
4575         * alloc.c: Move dumper functions to alloc.c.
4576         * dumper.c (pdump_backtrace):
4577         * dumper.c (pdump_dump_structs):
4578         * dumper.c (pdump_dump_opaques):
4579         * dumper.c (pdump_dump_rtables):
4580         * dumper.c (pdump_dump_wired):
4581         * dumper.c (pdump):
4582         * dumper.c (pdump_load_check):
4583         * dumper.c (pdump_load_finish):
4584         * dumper.c (pdump_file_unmap):
4585         * dumper.c (pdump_file_get):
4586         * dumper.c (pdump_resource_free):
4587         * dumper.c (pdump_resource_get):
4588         * dumper.c (pdump_file_free):
4589         * dumper.c (pdump_file_try):
4590         * dumper.c (pdump_load):
4591         Remove fixed size limits on staticpro(), staticpro_nodump(),
4592         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
4593         Remove custom code for dumping lrecord_implementations_table - use
4594         dumpopaque instead.
4595         Remove (most of the) custom code for dumping staticpros - dump it
4596         like any other dynarr.
4597
4598         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
4599         * dumper.c: Moved functions from alloc.c.
4600         * alloc.c (dumpstruct): Moved to dumper.c.
4601         * alloc.c (dumpopaque): Likewise.
4602         * alloc.c (pdump_wire): Likewise.
4603         * alloc.c (pdump_wire_list): Likewise.
4604
4605         * lisp.h (Dynarr_sizeof): New.
4606         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
4607         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
4608         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
4609
4610         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
4611         * lisp.h (dumpopaque): ditto.
4612         * lisp.h (pdump_wire): ditto.
4613         * lisp.h (pdump_wire_list): ditto.
4614
4615 2001-01-09  Martin Buchholz  <martin@xemacs.org>
4616
4617         * make-src-depend (PrintPatternDeps):
4618         Use `sort' to make output independent of perl version.
4619
4620 2001-01-08  Martin Buchholz  <martin@xemacs.org>
4621
4622         Port to Netbsd 1.5.
4623         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
4624         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
4625
4626 2001-01-03  Didier Verna  <didier@xemacs.org>
4627
4628         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
4629         that `focus_frame' is alive before thinking of calling
4630         `redisplay_redraw_cursor' on it.
4631
4632 2001-01-08  Martin Buchholz <martin@xemacs.org>
4633
4634         * XEmacs 21.2.40 is released.
4635
4636 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4637
4638         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
4639
4640 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4641
4642         * alloc.c (dbg_valmask): Make const.
4643         * alloc.c (dbg_typemask): Make const.
4644         * alloc.c (dbg_USE_UNION_TYPE): Make const.
4645         * alloc.c (dbg_valbits): Make const.
4646         * alloc.c (dbg_gctypebits): Make const.
4647
4648 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
4649
4650         * redisplay-x.c (x_bevel_area):
4651         redisplay.h (struct rune):
4652         Typo fixes in comments.
4653
4654 2001-01-05  Andy Piper  <andy@xemacs.org>
4655
4656         * glyphs-x.c (x_redisplay_widget): use size changed for offset
4657         adjustment.
4658
4659         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
4660
4661 2001-01-05  Martin Buchholz  <martin@xemacs.org>
4662
4663         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
4664
4665         * mule-ccl.c (stack_idx_of_map_multiple):
4666         Non const global data must not be initialized!
4667         Found by MIYASHITA Hisashi.
4668
4669 2001-01-02  Andy Piper  <andy@xemacs.org>
4670
4671         * frame.c (change_frame_size): make sure frame size is always
4672         marked as changed.
4673
4674         * glyphs.c (image_instance_layout): minor code reuse.
4675
4676         * window.c (Fcurrent_window_configuration): revert previous
4677         change.
4678
4679 2001-01-02  Martin Buchholz  <martin@xemacs.org>
4680
4681         * glyphs.h:
4682         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
4683
4684 2000-12-31  Andy Piper  <andy@xemacs.org>
4685
4686         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
4687         when widget gets unmapped.
4688
4689         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
4690         function. Make sure widgets losing focus don't just drop it.
4691         (handle_focus_event_1): record the widget with focus.
4692
4693 2000-12-31  Andy Piper  <andy@xemacs.org>
4694
4695         * window.c (allocate_window): use
4696         make_image_instance_cache_hash_table.
4697         (make_dummy_parent): ditto.
4698         (Fset_window_configuration): ditto.
4699
4700         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
4701
4702         * glyphs.c (process_image_string_instantiator): use
4703         INSTANTIATOR_TYPE.
4704         (get_image_instantiator_governing_domain): ditto.
4705         (normalize_image_instantiator): ditto.
4706         (instantiate_image_instantiator): ditto.
4707         (make_image_instance_1): ditto.
4708         (image_instantiate): ditto. Key on glyph *and* instantiator type.
4709         (instantiator_eq_equal): new function for use with instance hash
4710         tables.
4711         (instantiator_eq_hash): ditto.
4712         (make_image_instance_cache_hash_table): create a suitable hash
4713         table for storing image instances.
4714
4715         * elhash.h (hash_table_weakness): new internal weakness type
4716         HASH_TABLE_KEY_CAR_VALUE_WEAK.
4717         declare new functions.
4718
4719         * elhash.c (finish_marking_weak_hash_tables): introduce yet
4720         another weakness type for glyphs.
4721         (make_standard_lisp_hash_table): new function split out from
4722         make_general_lisp_hash_table.
4723         (make_lisp_hash_table): call make_standard_lisp_hash_table.
4724         (hash_table_instantiate): ditto.
4725         (Fmake_hash_table): ditto.
4726
4727 2000-12-31  Martin Buchholz <martin@xemacs.org>
4728
4729         * XEmacs 21.2.39 is released.
4730
4731 2000-12-29  Andy Piper  <andy@xemacs.org>
4732
4733         * menubar.c (menubar_visible_p_changed): signal the frame changed.
4734
4735         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
4736         the frame has changed so that we pick up geometry changes such as
4737         menubar visibility.
4738
4739 2000-12-28  Andy Piper  <andy@xemacs.org>
4740
4741         * lastfile.c (my_ebss): make a char array so we can pad the
4742         bss. Fixes cygwin unexec.
4743
4744         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
4745
4746 2000-12-26  Andy Piper  <andy@xemacs.org>
4747
4748         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
4749         comments and try and be more precise about a non-/SIGIO world.
4750         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
4751         SIGIO.
4752
4753         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
4754         we don't normalize to zero width or height.
4755
4756 2000-12-24  Andy Piper  <andy@xemacs.org>
4757
4758         * Makefile.in.in (ldflags): add -mwindows when appropriate.
4759
4760 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
4761
4762         * s/sco5.h: SCO 5 has pty support.
4763
4764 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
4765
4766         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
4767         input-method-xlib.c contains whole contents of input-method-xfs.c,
4768         so we can use input-method-xlib.c's code for USE_XFONTSET
4769         using #ifdefs.
4770         * input-method-xfs.c: removed.
4771
4772 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
4773
4774         * file-coding.h (enum coding_category_type): reorder enumerators to
4775         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
4776         (now one greater than largest real coding_category_type enumerator).
4777         * file-coding.c (coding_category_symbol, coding_category_by_priority,
4778         coding_category_system, fcd_descriptihon_1, decode_coding_category,
4779         Fcoding_category_list, Fset_coding_priority_list,
4780         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
4781         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
4782
4783 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4784
4785         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
4786         * redisplay-output.c (redisplay_output_window): Clear top of window
4787         when face is changed.
4788         * redisplay-x.c (x_redraw_exposed_window): Call
4789         redisplay_clear_top_of_window.
4790         * redisplay.h: Publish redisplay_clear_top_of_window.
4791
4792 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4793
4794         * buffer.c (Fkill_buffer): Map over all devices.
4795         * window.c (window_loop): Remove UNSHOW_BUFFER code.
4796         (list_windows): New function.
4797         (list_all_windows): Ditto.
4798         (Freplace_buffer_in_windows): Use them.
4799
4800 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4801
4802         * database.c (berkdb_subtype): Recognize new subtype `queue'.
4803         (Fopen_database): Use `db_create' instead of `db_open'.
4804         (syms_of_database): Initialize Qqueue.
4805
4806 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4807
4808         * buffer.c (common_init_complex_vars_of_buffer): Initialize
4809         buffer_local_face_property.
4810         * buffer.h (struct buffer): New member buffer_local_face_property.
4811         * window.c (Fset_window_buffer):  Mark window's face as changed
4812         when buffer has buffer local face.
4813         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
4814         * objects.c (color_after_change): Set buffer_local_face_property
4815         when locale of face specifier is buffer.
4816         * objects.c (font_after_change): Ditto.
4817         * objects.c (face_boolean_after_change): Ditto.
4818         * glyphs.c (image_after_change): Ditto.
4819
4820 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4821
4822         * nt.c (mswindows_fstat): Report file permissions, volume serial
4823         number, etc. Code adapted from FSF Emacs 20.7.
4824
4825 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4826
4827         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
4828         of stat when we don't have symbolic links, to make sure
4829         mswindows_stat is called on mswindows.
4830
4831 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
4832
4833         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
4834
4835 2000-12-12  Martin Buchholz  <martin@xemacs.org>
4836
4837         * doprnt.c (emacs_doprnt_1): More printing fixes.
4838         Make printing of numbers compatible with libc and FSF Emacs.
4839         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
4840         Use the system printf to do most of the hard work of formatting,
4841         instead of doprnt_1().
4842         Calculate memory to allocate for format string.
4843         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
4844         (doprnt_1): Cleaner code and documentation.
4845
4846 2000-12-01  Jerry James  <james@eecs.ukans.edu>
4847
4848         * Makefile.in.in: Use the loop variable to install headers.
4849
4850 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4851
4852         * window.c (Fsplit_window): Don't invalidate face cache.
4853
4854 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4855
4856         * minibuf.c (Fall_completions): Undo the previous change
4857         which removed checking elements start with space.
4858
4859 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4860
4861         * mule-canna.c: Didier suppression.
4862
4863 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4864
4865         * mule-canna.c: rename static unsigned char buf[] to key_buffer
4866         (warning suppression).  Add English comment translations.
4867
4868 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4869
4870         * unexelfsgi.c (unexec): Better test for mmap failure.
4871
4872 2000-12-05  Martin Buchholz <martin@xemacs.org>
4873
4874         * XEmacs 21.2.38 is released.
4875
4876 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4877
4878         * redisplay.c (bar-cursor): Make a user variable.
4879
4880         * symsinit.h: Add init_postgresql_from_environment.
4881
4882 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4883
4884         * regex.c: Convert to clean C.
4885
4886 2000-12-05  Dan Holmsand  <dan@eyebee.com>
4887
4888         * realpath.c:
4889         Don't #include sysfile.h. Revert to duplicating PATH_MAX
4890         initialization.
4891         (sys_readlink): renamed to system_readlink to avoid conflict with
4892         the other sys_readlink.
4893
4894 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
4895
4896         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
4897
4898 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
4899
4900         * postgresql.c (init_postgresql_from_environment): new function.
4901         (vars_of_postgresql): Move code initializing Lisp variables out and
4902         into init_postgresql_from_environment.
4903         emacs.c (main_1): Call init_postgresql_from_environment if and only
4904         if running a dumped XEmacs.
4905
4906 2000-08-31  Dan Holmsand  <dan@eyebee.com>
4907
4908         * buffer.c: Make find-file-compare-truenames default to true on
4909         windows.
4910
4911         * realpath.c (win32_abs_start):
4912         (cygwin_readlink):
4913         (win32_readlink): New functions.
4914         (xrealpath): Return really real filenames on windows.
4915
4916         * fileio.c (Ffile_truename): Make file-truename work on windows.
4917
4918 2000-11-29  Didier Verna  <didier@xemacs.org>
4919
4920         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
4921         * faces.c (update_face_cachel_data): use it.
4922         * faces.c (add_face_cachel): use it. Complete background pixmap
4923         frobbing in face cache if `update_face_cachel_data' has not done so.
4924
4925 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
4926
4927         * search.c (string_match_1): Don't set last_thing_searched
4928         when search failed.
4929
4930 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
4931
4932         * buffer.c: Include casetab.h
4933         (common_init_complex_vars_of_buffer): Use new case-table object.
4934         * buffer.h: Include casetab.h
4935         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
4936         (DOWNCASE_TABLE_OF): Ditto.
4937         * bufslots.h: Remove char-tables and add case-table.
4938         * casetab.c: Include casetab.h
4939         (CASE_TABLE_P): Removed.
4940         (mark_case_table): New function.
4941         (allocate_case_table): New function.
4942         (Fcase_table_p): Use new case-table.
4943         (case_table_char): New function.
4944         (Fget_case_table): Ditto.
4945         (Fput_case_table): Ditto.
4946         (Fput_case_table_pair): Ditto.
4947         (Fcopy_case_table): Ditto.
4948         (Fcurrent_case_table): Return case-table.
4949         (Fstandard_case_table): Return case-table.
4950         (Fset_case_table): Fix doc-string.
4951         (set_case_table): Use case-table
4952         (syms_of_casetab): DEFSUBR new functions.
4953         (complex_vars_of_casetab): Set up standard case-table.
4954         * casetab.h: New file.
4955         * editfns.c: Include casetab.h
4956         (Fcompare_buffer_substrings): Use case-table.
4957         * inline.c: Include casetab.h
4958         * lisp.h: Remove bogus extern.
4959         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
4960         * search.c: Include casetab.h
4961         (TRANSLATE_ASCII): Removed.
4962         (TRANSLATE): Unconditionally translate character.
4963         (looking_at_1): Use case-table.
4964         (string_match_1): Ditto.
4965         (fast_string_match): Ditto.
4966         (search_command): Ditto.
4967         (search_buffer): Separate boyer_moore.  Check whether
4968         boyer_moore is possible.
4969         (simple_search): New function.
4970         (boyer_moore): Separated from search_buffer. Translate char.
4971
4972 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
4973
4974         * regex.c (RE_TR_ASCII): Removed.
4975         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
4976         (PATFETCH): Call PATFETCH_RAW.
4977         (PATFETCH_RAW): Fetch Emchar.
4978         (PATUNFETCH): Decrement charptr.
4979         (GET_BUFFER_SPACE): Rename b to buf_end.
4980         (BUF_PUSH): Ditto.
4981         (BUF_PUSH_2): Ditto.
4982         (BUF_PUSH_3): Ditto.
4983         (EXTEND_BUFFER): Ditto.
4984         (SET_LIST_BIT): Ditto.
4985         (regex_compile): Ditto.  Translate non ASCII char.
4986         (compile_range): Ditto.
4987         (re_search_2): Ditto.
4988         (re_match_2_internal): Compare Emchar.
4989         (bcmp_translate): Ditto.
4990
4991 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
4992
4993         * lisp.h (basic char/int typedefs):  comment improvement.
4994
4995 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
4996
4997         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
4998         unstomp inhibit_site_lisp.  Improve comments.
4999
5000 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
5001
5002         * mule-charset.c (Fcharset_property):  improve type checking, comments.
5003
5004 2000-11-28  Andy Piper  <andy@xemacs.org>
5005
5006         * redisplay-output.c (redisplay_output_subwindow): make sure we do
5007         clipped display for windows in the gutter also.
5008         (redisplay_display_boxes_in_window_p): change semantics of return
5009         codes to be more intuitive.
5010
5011         * gutter.h: declare display_boxes_in_gutter_p.
5012
5013         * gutter.c (display_boxes_in_gutter_p): new function for
5014         redisplay.
5015
5016 2000-11-22  Andy Piper  <andy@xemacs.org>
5017
5018         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
5019         autodetect domain.
5020
5021 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
5022
5023         * callproc.c (Fold_call_process_internal):
5024         * gpm.c (Freceive_gpm_event):
5025         (tty_get_foreign_selection): Might be just warning supression.
5026         * fileio.c (Fwrite_region_internal):
5027         (Fset_visited_file_modtime):
5028         * keymap.c (event_matches_key_specifier_p):
5029         Initialize GCPROed variable.
5030
5031         * menubar-x.c (command_builder_find_menu_accelerator):
5032         Initialize before use.
5033
5034 2000-11-23  Andy Piper  <andy@xemacs.org>
5035
5036         * unexcw.c (unexec): make the resulting executable executable.
5037
5038 2000-11-21  Martin Buchholz  <martin@xemacs.org>
5039
5040         * doc.c (get_doc_string):
5041         Use size_t, not int, for result of XSTRING_LENGTH.
5042
5043         * cmds.c (Fdelete_char):
5044         * cmds.c (Fpoint_at_eol):
5045         * cmds.c (Fself_insert_command):
5046         Use EMACS_INT, not int, for result of XINT.
5047         Someday, someone will want to insert more than 2**31 identical characters.
5048
5049         * cmds.c (Fdelete_char):
5050         * cmds.c (Fdelete_backward_char):
5051         * syntax.c (Fforward_word):
5052         * syntax.c (Fforward_comment):
5053         Make COUNT argument optional, for consistency with forward-char et al.
5054
5055 2000-11-22  Martin Buchholz  <martin@xemacs.org>
5056
5057         * lisp.h:
5058         * print.c (long_to_string):
5059         Return a useful value: the pointer at end of data written.
5060
5061         * doprnt.c:
5062         Use `static const char * const' for constant strings.
5063         (union printf_arg): Delete `i', `ui' members.
5064         (get_doprnt_args):
5065         (emacs_doprnt_1):
5066         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
5067         Do all printf-ing via the `l' specifier.
5068         Use EMACS_INT instead of int.
5069         Optimize.
5070
5071 2000-11-20  Didier Verna  <didier@xemacs.org>
5072
5073         * faces.c (update_face_cachel_data): don't frob the background
5074         pixmap when the window is being created. The face is needed but
5075         does not exist yet.
5076
5077 2000-11-20  Andy Piper  <andy@xemacs.org>
5078
5079         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
5080         messing with a debug environment.
5081
5082 2000-11-20  Martin Buchholz  <martin@xemacs.org>
5083
5084         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
5085
5086 2000-11-20  Martin Buchholz  <martin@xemacs.org>
5087
5088         * casetab.c (Fcase_table_p): Fix compile error and crash.
5089
5090 2000-11-18  Philip Aston  <philipa@mail.com>
5091
5092         * s/cygwin32.h: Cygwin has SVR4-like pty support.
5093
5094 2000-11-18  Martin Buchholz  <martin@xemacs.org>
5095
5096         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
5097         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
5098
5099 2000-11-17  Martin Buchholz  <martin@xemacs.org>
5100
5101         * config.h.in: Define HAVE_ELF_H if elf.h exists.
5102         * unexelf.c: Use HAVE_ELF_H.
5103         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
5104         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
5105         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
5106         Greg Harrington <greg_harrington@hotmail.com> provided a machine
5107         for testing.
5108         So this is an unexelfsgi.c from a different line of development.
5109
5110 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
5111
5112         * regex.c (RE_TR_ASCII): New function.
5113         (RE_TRANSLATE): Call it.
5114
5115 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
5116
5117         * buffer.h (TRT_TABLE_OF): Remove assert.
5118         (IN_TRT_TABLE_DOMAIN): Removed.
5119
5120 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5121
5122         * free-hook.c (log_gcpro):
5123         (show_gcprohist): Add support for GCPRO5.
5124
5125 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
5126
5127         * emacs.c (main_1): Improve -sd error message when --pdump=no.
5128
5129 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
5130
5131         * symeval.h: Declare flush_all_buffer_local_cache.
5132
5133         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
5134         (flush_buffer_local_cache): Added.
5135         (flush_all_buffer_local_cache): Added.
5136
5137         * lrecord.h: Remove unused XD_LO_RESET_NIL.
5138
5139         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
5140         (pdump_dump_data): Ditto.
5141         (pdump_reloc_one): Ditto.
5142         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
5143         before dumping.
5144
5145
5146 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
5147
5148         * buffer.c: Remove if 0'ed entry.
5149         * buffer.h: Rewrite TRT to use char-table.
5150         * bufslots.h: Remove mirror tables.
5151         * casetab.c: Remove mirror tables.
5152         (CASE_TABLE_P): New macro.
5153         (Fcase_table_p): Element of a case table is string or char-table.
5154         (make_mirror_trt_table): Removed.
5155         (set_case_table): Setup char-table from strings for backward
5156         compatibility.
5157         * dired.c (Fdirectory_files):
5158         * dired-msw.c: (mswindows_get_files):
5159         * lisp.h: Change prototype of re_pattern_buffer.
5160         * regex.c: (RE_TRANSLATE): New macro.
5161         (TRANSLATE_P): Ditto.
5162         Change translate to type RE_TRANSLATE_TYPE.
5163         * regex.h: Define RE_TRANSLATE_TYPE
5164         * search.c (TRANSLATE): New macro.
5165         (TRANSLATE_ASCII): New macro.
5166         Translate table is changed to Lisp_Object.
5167         (signal_failure): Inhibit return.
5168
5169 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
5170
5171         * device-msw.c:
5172         * eldap.c:
5173         * event-Xt.c:
5174         * event-stream.c:
5175         * print.c:
5176         Do UNGCPRO before return.
5177
5178 2000-11-14  Martin Buchholz <martin@xemacs.org>
5179
5180         * XEmacs 21.2.37 is released.
5181
5182 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
5183
5184         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
5185         Add comments about discarded return value.
5186
5187 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
5188
5189         * callint.c:
5190         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
5191
5192 2000-10-27  Andy Piper  <andy@xemacs.org>
5193
5194         * gutter.c (Fset_default_gutter_position): default left and right
5195         gutters to visible.
5196         (calculate_gutter_size): calculate resonable heuristic for left
5197         and right gutter sizes.
5198         (specifier_vars_of_gutter): change left and right gutter sizes to
5199         autodetect.
5200         (calculate_gutter_size_from_display_lines): new function.
5201         (output_gutter): check for resizing on left and right gutters.
5202         (clear_gutter): don't special case top and left gutters.
5203         (specifier_vars_of_gutter): use new signature for
5204         set_specifier_caching.
5205
5206         * glyphs-x.c (x_redisplay_widget): spelling fix.
5207         * glyphs.c (specifier_vars_of_glyphs):
5208         * menubar.c (specifier_vars_of_menubar):
5209         * redisplay.c (specifier_vars_of_redisplay):
5210         * toolbar.c (specifier_vars_of_toolbar):
5211         * window.c (specifier_vars_of_window):
5212         * scrollbar.c (specifier_vars_of_scrollbar):
5213         (complex_vars_of_scrollbar): use new signature for
5214         set_specifier_caching.
5215
5216         * specifier.c (set_specifier_caching): include recompute flag.
5217         (recompute_one_cached_specifier_in_window): always recompute if
5218         flag set.
5219         (recompute_one_cached_specifier_in_frame): ditto.
5220
5221         * specifier.h (struct specifier_caching): add recompute flag.
5222
5223 2000-10-24  Andy Piper  <andy@xemacs.org>
5224
5225         * unexcw.c (copy_executable_and_dump_data_section): add new
5226         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
5227         5.0 happy.
5228
5229 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5230
5231         * console-x.h (x_device): New member modifier_release_time.
5232         * event-Xt.c (x_handle_sticky_modifiers):
5233         Bound interval modifier keys are sticky.
5234         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
5235         * events.h: extern it.
5236
5237 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5238
5239         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
5240
5241 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5242
5243         * event-stream.c (execute_command_event): Preserve current_events
5244         and the like when event is misc-user-event.
5245         Inhibit quit during the call to maybe_echo_keys.
5246
5247 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5248
5249         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
5250         symlink when buffer is killed.
5251         (inhibit_clash_detection): New variable.
5252
5253 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5254
5255         * console.c (Fset_input_method): Trigger redisplay on tty.
5256
5257 2000-11-07  Martin Buchholz  <martin@xemacs.org>
5258
5259         * process.c (Fprocess_status): Revert to previous behavior:
5260         (process-status "nosuchprocess") ==> nil
5261
5262 2000-11-06  Martin Buchholz  <martin@xemacs.org>
5263
5264         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
5265         Work around another GCC 2.95.2 optimizer bug.
5266
5267 2000-11-02  Martin Buchholz  <martin@xemacs.org>
5268
5269         * process.c (Fget_process): Use LIST_LOOP_2.
5270         (kill_buffer_processes): Use LIST_LOOP_2.
5271
5272         * minibuf.c (Fall_completions):
5273         Delete old non-functional code for FSF fourth argument.
5274
5275         * frame.c (frame_matches_frame_spec):
5276         Renamed from `frame_matches_frametype'.  Update all callers.
5277         (device_matches_device_spec):
5278         Renamed from 'device_matches_console_spec'.  Update all callers.
5279
5280         * doc.c (Fsubstitute_command_keys):
5281         Remove buffer overflow crash.  Small code cleanups.
5282
5283         * casetab.c (check_case_table): Simpler code.
5284
5285         * window.c (Freplace_buffer_in_windows):
5286         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
5287         (and similar implementation) as Fdelete_windows_on.
5288         Update all callers.
5289
5290         * alloc.c (Fmake_list):
5291         * alloc.c (make_vector):
5292         * alloc.c (Fmake_vector):
5293         * alloc.c (make_bit_vector):
5294         * alloc.c (Fmake_bit_vector):
5295         * alloc.c (Fbit_vector):
5296         * alloc.c (Fmake_string):
5297         * alloc.c (Fpurecopy):
5298         * alloc.c (Fmemory_limit):
5299         * buffer.c:
5300         * buffer.c (Fget_buffer):
5301         * buffer.c (Fkill_buffer):
5302         * buffer.c (complex_vars_of_buffer):
5303         * bytecode.c (Fcompiled_function_stack_depth):
5304         * callint.c (Fprefix_numeric_value):
5305         * event-stream.c:
5306         * event-stream.c (Fread_key_sequence):
5307         * casetab.c:
5308         * casetab.c (Fcase_table_p):
5309         * casetab.c (check_case_table):
5310         * casetab.c (Fset_case_table):
5311         * casetab.c (Fset_standard_case_table):
5312         * chartab.c:
5313         * chartab.c (Fchar_table_type):
5314         * chartab.c (Freset_char_table):
5315         * chartab.c (Fget_char_table):
5316         * chartab.c (Fget_range_char_table):
5317         * chartab.c (Fput_char_table):
5318         * chartab.c (Fmap_char_table):
5319         * chartab.c (Fcategory_table_p):
5320         * chartab.c (Fcheck_category_at):
5321         * chartab.c (Fchar_in_category_p):
5322         * chartab.c (Fcategory_table):
5323         * chartab.c (Fcopy_category_table):
5324         * chartab.c (Fset_category_table):
5325         * chartab.c (Fcategory_designator_p):
5326         * chartab.c (Fcategory_table_value_p):
5327         * cmds.c (Fdelete_char):
5328         * cmds.c (Fdelete_backward_char):
5329         * cmds.c (Fself_insert_command):
5330         * cmds.c (Fself_insert_internal):
5331         * console.c (Fvalid_console_type_p):
5332         * console.c (Fcdfw_console):
5333         * console.c (Fconsole_type):
5334         * console.c (Fconsole_name):
5335         * console.c (Fconsole_device_list):
5336         * console.c (Fconsole_on_window_system_p):
5337         * data.c:
5338         * data.c (Feq):
5339         * data.c (Fold_eq):
5340         * data.c (Fsubr_interactive):
5341         * data.c (Fchar_to_int):
5342         * data.c (Fint_to_char):
5343         * data.c (Fsetcar):
5344         * data.c (Fsetcdr):
5345         * data.c (Fnumber_to_string):
5346         * data.c (Fstring_to_number):
5347         * data.c (Frem):
5348         * database.c (mark_database):
5349         * database.c (finalize_database):
5350         * database.c (Fdatabase_live_p):
5351         * database.c (Fdatabasep):
5352         * device-x.c (Fx_get_resource):
5353         * device.c (Fdfw_device):
5354         * dired.c:
5355         * dired.c (Ffile_name_completion):
5356         * dired.c (Ffile_name_all_completions):
5357         * dired.c (Fuser_name_completion):
5358         * dired.c (Fuser_name_completion_1):
5359         * dired.c (Fuser_name_all_completions):
5360         * doc.c (Fdocumentation):
5361         * doc.c (Fdocumentation_property):
5362         * doc.c (Fsubstitute_command_keys):
5363         * editfns.c:
5364         * editfns.c (Fchar_to_string):
5365         * editfns.c (Fstring_to_char):
5366         * editfns.c (Ftemp_directory):
5367         * editfns.c (Finsert_char):
5368         * editfns.c (Fbuffer_substring_no_properties):
5369         * editfns.c (Fnarrow_to_region):
5370         * editfns.c (Fchar_equal):
5371         * editfns.c (Fchar_Equal):
5372         * editfns.c (Ftranspose_regions):
5373         * emacs.c (Fdump_emacs):
5374         * eval.c (Fthrow):
5375         * eval.c (Fcommand_execute):
5376         * eval.c (Fautoload):
5377         * eval.c (Fbacktrace):
5378         * eval.c (Fbacktrace_frame):
5379         * events.c:
5380         * events.c (Fcopy_event):
5381         * events.c (Fcharacter_to_event):
5382         * events.c (Fevent_button):
5383         * events.c (Fevent_process):
5384         * extents.c:
5385         * extents.c (Fnext_extent_change):
5386         * extents.c (Fextent_property):
5387         * faces.c (Ffacep):
5388         * faces.c (Fmake_face):
5389         * file-coding.c:
5390         * file-coding.c (Fencode_shift_jis_char):
5391         * file-coding.c (Fencode_big5_char):
5392         * fileio.c (Ffile_name_directory):
5393         * fileio.c (Ffile_name_nondirectory):
5394         * fileio.c (Ffile_name_as_directory):
5395         * fileio.c (Fdirectory_file_name):
5396         * fileio.c (Ffile_truename):
5397         * fileio.c (Fsubstitute_in_file_name):
5398         * fileio.c (Ffile_modes):
5399         * fileio.c (Fset_file_modes):
5400         * fileio.c (Fset_default_file_modes):
5401         * fileio.c (Fverify_visited_file_modtime):
5402         * floatfns.c (Facos):
5403         * floatfns.c (Fasin):
5404         * floatfns.c (Fatan):
5405         * floatfns.c (Fcos):
5406         * floatfns.c (Fsin):
5407         * floatfns.c (Ftan):
5408         * floatfns.c (Fbessel_j0):
5409         * floatfns.c (Fbessel_j1):
5410         * floatfns.c (Fbessel_jn):
5411         * floatfns.c (Fbessel_y0):
5412         * floatfns.c (Fbessel_y1):
5413         * floatfns.c (Fbessel_yn):
5414         * floatfns.c (Ferf):
5415         * floatfns.c (Ferfc):
5416         * floatfns.c (Flog_gamma):
5417         * floatfns.c (Fexp):
5418         * floatfns.c (Fexpt):
5419         * floatfns.c (Flog):
5420         * floatfns.c (Flog10):
5421         * floatfns.c (Fsqrt):
5422         * floatfns.c (Fcube_root):
5423         * floatfns.c (Facosh):
5424         * floatfns.c (Fasinh):
5425         * floatfns.c (Fatanh):
5426         * floatfns.c (Fcosh):
5427         * floatfns.c (Fsinh):
5428         * floatfns.c (Ftanh):
5429         * floatfns.c (Fabs):
5430         * floatfns.c (Ffloat):
5431         * floatfns.c (Flogb):
5432         * floatfns.c (Fceiling):
5433         * floatfns.c (Ffloor):
5434         * floatfns.c (Fround):
5435         * floatfns.c (Ftruncate):
5436         * floatfns.c (Ffceiling):
5437         * floatfns.c (Fffloor):
5438         * floatfns.c (Ffround):
5439         * floatfns.c (Fftruncate):
5440         * fns.c (Fstring_equal):
5441         * fns.c (Fstring_lessp):
5442         * fns.c (concat2):
5443         * fns.c (concat3):
5444         * fns.c (vconcat2):
5445         * fns.c (vconcat3):
5446         * fns.c (Fsubstring):
5447         * fns.c (Fassoc):
5448         * fns.c (Fold_assoc):
5449         * fns.c (assoc_no_quit):
5450         * fns.c (Fassq):
5451         * fns.c (Fold_assq):
5452         * fns.c (assq_no_quit):
5453         * fns.c (Frassoc):
5454         * fns.c (Fold_rassoc):
5455         * fns.c (Frassq):
5456         * fns.c (Fold_rassq):
5457         * fns.c (rassq_no_quit):
5458         * fns.c (Fremassoc):
5459         * fns.c (remassoc_no_quit):
5460         * fns.c (Fremassq):
5461         * fns.c (remassq_no_quit):
5462         * fns.c (Fremrassoc):
5463         * fns.c (Fremrassq):
5464         * fns.c (remrassq_no_quit):
5465         * fns.c (Fsort):
5466         * fns.c (Fplist_get):
5467         * fns.c (Fplist_put):
5468         * fns.c (Fplist_remprop):
5469         * fns.c (Fplist_member):
5470         * fns.c (Flax_plist_get):
5471         * fns.c (Flax_plist_put):
5472         * fns.c (Flax_plist_remprop):
5473         * fns.c (Flax_plist_member):
5474         * fns.c (Fequal):
5475         * fns.c (Fold_equal):
5476         * fns.c (Frequire):
5477         * fns.c (Fbase64_encode_region):
5478         * fns.c (Fbase64_encode_string):
5479         * fns.c (Fbase64_decode_region):
5480         * frame.c:
5481         * frame.c (frame_matches_frame_spec):
5482         * frame.c (device_matches_device_spec):
5483         * frame.c (next_frame):
5484         * frame.c (previous_frame):
5485         * frame.c (Fnext_frame):
5486         * frame.c (Fprevious_frame):
5487         * frame.c (Fframe_property):
5488         * frame.c (Fset_frame_height):
5489         * frame.c (Fset_frame_size):
5490         * frame.h:
5491         * glyphs.c:
5492         * glyphs.c (if):
5493         * glyphs.c (decode_error_behavior_flag):
5494         * glyphs.c (Fmake_image_instance):
5495         * indent.c (Findent_to):
5496         * intl.c (Fignore_defer_gettext):
5497         * keymap.c (Fkeymapp):
5498         * keymap.c (Flookup_key):
5499         * lread.c:
5500         * lread.c (Fload_internal):
5501         * lread.c (Feval_buffer):
5502         * lread.c (Feval_region):
5503         * macros.c (Fexecute_kbd_macro):
5504         * marker.c (set_marker_internal):
5505         * marker.c (Fset_marker):
5506         * marker.c (set_marker_restricted):
5507         * marker.c (Fcopy_marker):
5508         * marker.c (noseeum_copy_marker):
5509         * menubar.c:
5510         * menubar.c (Fpopup_menu):
5511         * minibuf.c:
5512         * mule-charset.c (Fcharset_name):
5513         * mule-charset.c (Fchar_charset):
5514         * mule-charset.c (Fchar_octet):
5515         * mule-charset.c (Fsplit_char):
5516         * mule-wnnfns.c (Fwnn_open):
5517         * mule-wnnfns.c (Fwnn_dict_comment):
5518         * mule-wnnfns.c (Fwnn_quit_henkan):
5519         * mule-wnnfns.c (Fwnn_word_toroku):
5520         * mule-wnnfns.c (Fwnn_word_sakujo):
5521         * mule-wnnfns.c (Fwnn_word_use):
5522         * mule-wnnfns.c (Fwnn_hindo_set):
5523         * objects.c:
5524         * objects.c (Fmake_color_instance):
5525         * objects.c (Fmake_font_instance):
5526         * print.c (Fwrite_char):
5527         * process.c:
5528         * process.c (mark_process):
5529         * process.c (print_process):
5530         * process.c (get_process_from_usid):
5531         * process.c (Fprocessp):
5532         * process.c (Fprocess_live_p):
5533         * process.c (Fget_process):
5534         * process.c (Fget_buffer_process):
5535         * process.c (get_process):
5536         * process.c (Fprocess_id):
5537         * process.c (Fprocess_name):
5538         * process.c (Fprocess_command):
5539         * process.c (init_process_io_handles):
5540         * process.c (start_process_unwind):
5541         * process.c (Fstart_process_internal):
5542         * process.c (Fopen_multicast_group_internal):
5543         * process.c (Fset_process_window_size):
5544         * process.c (read_process_output):
5545         * process.c (send_process):
5546         * process.c (Fprocess_tty_name):
5547         * process.c (Fset_process_buffer):
5548         * process.c (Fprocess_buffer):
5549         * process.c (Fprocess_mark):
5550         * process.c (set_process_filter):
5551         * process.c (Fset_process_filter):
5552         * process.c (Fprocess_filter):
5553         * process.c (Fprocess_send_region):
5554         * process.c (Fprocess_send_string):
5555         * process.c (exec_sentinel):
5556         * process.c (Fset_process_sentinel):
5557         * process.c (Fprocess_sentinel):
5558         * process.c (status_notify):
5559         * process.c (Fprocess_status):
5560         * process.c (Fprocess_exit_status):
5561         * process.c (process_send_signal):
5562         * process.c (Fprocess_send_eof):
5563         * process.c (deactivate_process):
5564         * process.c (remove_process):
5565         * process.c (Fdelete_process):
5566         * process.c (kill_buffer_processes):
5567         * process.c (Fprocess_kill_without_query):
5568         * process.c (Fprocess_kill_without_query_p):
5569         * rangetab.c:
5570         * rangetab.c (Fget_range_table):
5571         * rangetab.c (Fput_range_table):
5572         * rangetab.c (Fremove_range_table):
5573         * rangetab.c (Fclear_range_table):
5574         * search.c:
5575         * search.c (Fskip_chars_forward):
5576         * search.c (Fskip_chars_backward):
5577         * search.c (Fskip_syntax_forward):
5578         * search.c (Fskip_syntax_backward):
5579         * search.c (search_command):
5580         * search.c (Freplace_match):
5581         * search.c (Fregexp_quote):
5582         * select.c (Fown_selection_internal):
5583         * select.c (Fselection_owner_p):
5584         * select.c (Fselection_exists_p):
5585         * select.c (Fget_selection_internal):
5586         * specifier.c:
5587         * symbols.c:
5588         * symbols.c (Fintern):
5589         * symbols.c (Fintern_soft):
5590         * symbols.c (Funintern):
5591         * symbols.c (Fapropos_internal):
5592         * symbols.c (Fset_default):
5593         * syntax.c:
5594         * syntax.c (Fsyntax_table_p):
5595         * syntax.c (Fcopy_syntax_table):
5596         * syntax.c (Fset_syntax_table):
5597         * syntax.c (Fchar_syntax):
5598         * syntax.c (syntax_match):
5599         * syntax.c (Fmatching_paren):
5600         * syntax.c (Fforward_word):
5601         * syntax.c (scan_lists):
5602         * syntax.c (Fscan_lists):
5603         * syntax.c (Fscan_sexps):
5604         * syntax.c (Fparse_partial_sexp):
5605         * toolbar.c (Fcheck_toolbar_button_syntax):
5606         * tooltalk.doc:
5607         * window.c:
5608         * window.c (Fwindowp):
5609         * window.c (Fwindow_live_p):
5610         * window.c (Fwindow_point):
5611         * window.c (Fdelete_window):
5612         * window.c (Fnext_window):
5613         * window.c (Fprevious_window):
5614         * window.c (Fother_window):
5615         * window.c (window_loop):
5616         * window.c (Fget_lru_window):
5617         * window.c (Fsplit_window):
5618         * window.c (Fenlarge_window):
5619         * window.c (Fenlarge_window_pixels):
5620         * window.c (Fshrink_window):
5621         * window.c (Fshrink_window_pixels):
5622         * window.c (change_window_height):
5623         * window.c (Fwindow_configuration_p):
5624         * window.c (Fcurrent_window_configuration):
5625         * window.h:
5626         * casefiddle.c (casify_object):
5627         * casefiddle.c (Fupcase):
5628         * casefiddle.c (Fdowncase):
5629         * casefiddle.c (Fcapitalize):
5630         * casefiddle.c (Fupcase_initials):
5631         * casefiddle.c (casify_region_internal):
5632         * casefiddle.c (casify_region):
5633         * casefiddle.c (Fupcase_region):
5634         * casefiddle.c (Fdowncase_region):
5635         * casefiddle.c (Fcapitalize_region):
5636         * casefiddle.c (Fupcase_initials_region):
5637         * casefiddle.c (Fupcase_word):
5638         * casefiddle.c (Fdowncase_word):
5639         * casefiddle.c (Fcapitalize_word):
5640         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
5641         Replace 0 with '\0' when working with bytes.
5642         Replace initial "(" with "\(" in docstrings.
5643
5644 2000-11-01  Martin Buchholz  <martin@xemacs.org>
5645
5646         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
5647
5648         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
5649
5650 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5651
5652         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
5653
5654 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5655
5656         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
5657         correctly.
5658
5659 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5660
5661         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
5662         (inhibit_auto_save_session): New variable.
5663         (vars_of_fileio): Declare and initialize them.
5664         * fileio.c (Fdo_auto_save): Don't create session file if
5665         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
5666
5667 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5668
5669         * sgiplay.c (play_internal): C++ compilability.
5670         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
5671         * callproc.c (Fold_call_process_internal):
5672         Remove unused vars `env', `first'.
5673         * scrollbar.c (update_scrollbar_instance):
5674         #### unused var `current_window'.
5675         * redisplay-tty.c: Put currently unused vars insert_mode_on,
5676         etc. within #ifdef NOT_YET.
5677         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
5678         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
5679         * specifier.c (specifier_instance):
5680         #### unused var `tag'.
5681         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
5682
5683 2000-10-27  Martin Buchholz  <martin@xemacs.org>
5684
5685         * fns.c (Fbutlast):
5686         * fns.c (list_sort):
5687         * fns.c (Ffillarray):
5688         * fns.c (bytecode_nconc2):
5689         * fns.c (Fnconc):
5690         * fns.c (mapcar1):
5691         * fns.c (Fmapconcat):
5692         Be pedantically 64-bit correct.  For the time when someone will
5693         want to have a list with length > 2**32.
5694
5695         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
5696         Work around MIPSpro compiler bug.
5697
5698         * process-unix.c (unix_kill_child_process): Add snarky comment.
5699         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
5700
5701         * config.h.in: Oops, _getpt ==> _getpty
5702
5703 2000-10-26  Martin Buchholz  <martin@xemacs.org>
5704
5705         * config.h.in:
5706         * regex.c:
5707         Use void*, not char*, as return type of alloca().
5708
5709         * alloc.c (free_marker): Side effect inside assert expression!
5710
5711 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
5712
5713         * mule-charset.c (Fset_charset_ccl_program): To check
5714         if the given ccl program is valid, use setup_ccl_program()
5715         instead of CHECK_VECTOR().
5716         (Fmake_charset): Likewise.
5717
5718 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
5719
5720         * faces.c (get_extent_fragment_face_cache_index):
5721         Fix cachel.merged_faces memory leak.
5722
5723 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
5724
5725         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
5726         Reset MSB of octets obtained by DECODE_SJIS
5727         because of the incompatibility with Emacs.
5728         (ccl_driver)<CCL_ENCODE_SJIS>:
5729         Set MSB of octets before passing them to
5730         ENCODE_SJIS because of the incompatibility
5731         with Emacs.
5732
5733 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
5734
5735         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
5736         (DECLARE_LRECORD): Undo the last change.
5737         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
5738
5739 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
5740
5741         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
5742         the implementation to lrecord_implementations_table.
5743
5744 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
5745
5746         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
5747         initial value of `lrecord_type_##c_name' and
5748         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
5749         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
5750         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
5751         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
5752         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
5753
5754 2000-10-17  Martin Buchholz  <martin@xemacs.org>
5755
5756         * miscplay.c (sndcnv8S_2mono):
5757         (sndcnv2monounsigned):
5758         (sndcnvULaw_2linear):
5759         (sndcnv16swap):
5760         Remove implementation-defined behavior.
5761
5762 2000-10-12  Martin Buchholz  <martin@xemacs.org>
5763
5764         * input-method-xlib.c: Warning suppression.
5765
5766 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
5767
5768         * mule-ccl.c: Sync up with Emacs 21.0.90.
5769         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
5770         Do nothing.
5771         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
5772         Likewise.
5773         (ccl_driver[WriteMultibyteChar2]): Bug fix.
5774         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
5775         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
5776         leading char belongs to official 2-dimensional charset.
5777         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
5778         write the given character as is.  Otherwise,
5779         if it is a multibyte char, convert it by
5780         non_ascii_set_charptr_emchar, then write it.
5781         (CCL_WRITE_STRING): Likewise.
5782         (ccl_get_compiled_code): New function.
5783         (setup_ccl_program): When ccl_prog is invalid,
5784         return -1.
5785         (Fregister_code_conversion_map): New function.
5786         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
5787
5788         * mule-ccl.h: Sync up with Emacs 21.0.90.
5789         (Fregister_ccl_program): export it.
5790
5791         * redisplay-msw.c (separate_textual_runs):
5792         If ccl program is not valid, don't do ccl conversion.
5793
5794         * redisplay-x.c (separate_textual_runs): Ditto.
5795
5796         * file-coding.c (Fmake_coding_system):
5797         When type is ccl and value is vector, register it
5798         with a proper symbol.  And checks whether the
5799         given ccl program is valid.
5800         (mule_decode): When calling ccl_driver, if src indicates
5801         NULL pointer, set an empty string instead.
5802         (mule_encode): Likewise.
5803
5804 2000-10-11  Martin Buchholz  <martin@xemacs.org>
5805
5806         The following large batch of changes gets us back to a state of
5807         C++ compilability.  Extbyte is now a char, which means that
5808         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
5809
5810         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
5811
5812         * sound.c (Fplay_sound): Type correctness.
5813
5814         * select-x.c (hack_motif_clipboard_selection): Type correctness.
5815         (x_get_window_property): Type correctness.
5816         (receive_incremental_selection): unsigned char ==> Extbyte
5817         (selection_data_to_lisp_data): unsigned char ==> Extbyte
5818         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
5819         (Fx_store_cutbuffer_internal): Type correctness.
5820
5821         * process-unix.c (try_to_initialize_subtty): Type correctness.
5822
5823         * objects-x.c (x_print_color_instance): Type correctness.
5824         (x_print_font_instance): Type correctness.
5825         (x_list_fonts): SExtbyte ==> Extbyte.
5826         (valid_x_font_name_p): SExtbyte ==> Extbyte.
5827         (x_find_charset_font): SExtbyte ==> Extbyte.
5828         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
5829         (truename_via_XListFonts): SExtbyte ==> Extbyte.
5830         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
5831         Use bufbyte_strcmp.
5832
5833         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
5834         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
5835         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
5836         (BYTE_C0_P): Use bit ops for char-signedness safety.
5837         (BYTE_C1_P): Use bit ops for char-signedness safety.
5838         (CHARSET_BY_LEADING_BYTE):
5839         (CHARSET_BY_ATTRIBUTES):
5840         Always use inline function.
5841         Use type_checking_assert.
5842         Hide chlook.
5843
5844         * mule-charset.c (non_ascii_charptr_copy_char):
5845         Modify to work with both ASCII and non-ASCII characters.
5846         Improve docs and variable names.
5847         Replace over-clever fall-through switch with a simple loop.
5848         (Lstream_get_emchar_1):
5849         Replace over-clever fall-through switch with a simple loop.
5850
5851         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5852         Warning suppression.
5853
5854         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
5855         the return value of Lstream_getc, which could be EOF as well.
5856
5857         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
5858
5859         * lisp.h: Make Extbyte a char, not unsigned char, so that external
5860         APIs can be used on Extbytes without casts.  Risky!
5861         (SExtbyte): Remove.
5862         (UExtbyte): Remove.
5863
5864         * input-method-xlib.c (XIM_init_device):
5865         Use Xlib.h instead of IntrinsicP.h.
5866         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
5867         which will break in X11R7.
5868         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
5869         to call XRegisterIMInstantiateCallback with correct types.
5870
5871         * gui-x.c (button_item_to_widget_value): Type correctness.
5872
5873         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
5874
5875         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
5876         (xbm_instantiate_1): Type correctness.
5877         (BUILD_GLYPH_INST):  Type correctness.
5878
5879         * fileio.c (Fsubstitute_in_file_name): Type correctness.
5880
5881         * file-coding.c:
5882         (decode_coding_sjis):
5883         (decode_coding_big5):
5884         (decode_coding_ucs4):
5885         (decode_coding_utf8):
5886         (decode_coding_iso2022):
5887         (decode_coding_no_conversion):
5888         Make all decoding functions take an Extbyte * arg.
5889         (encode_coding_sjis):
5890         (encode_coding_big5):
5891         (encode_coding_ucs4):
5892         (encode_coding_utf8):
5893         (encode_coding_iso2022):
5894         (encode_coding_no_conversion):
5895         Make all encoding functions take a Bufbyte * arg.
5896         Use size_t instead of unsigned int for memory sizes.
5897         Only cast to unsigned char whenever dereferencing Extbyte *.
5898
5899         * doc.c (unparesseuxify_doc_string): Type correctness.
5900
5901         * console-x.c (split_up_display_spec):
5902         Rewrite without using details of internal string representation.
5903         (x_semi_canonicalize_device_connection): Type correctness.
5904
5905         * config.h.in:
5906         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
5907         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
5908         (HAVE_XFREE386): Removed.
5909
5910         * buffer.h (DEC_CHARPTR): `const' correctness.
5911         (bufbyte_strcmp): New.
5912         (bufbyte_memcmp): New.
5913
5914         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
5915
5916         * buffer.h (XCHAR_OR_CHAR_INT):
5917         Always use inline function.
5918         Remove redundant type checking assert() - XINT will abort quite nicely.
5919
5920 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5921
5922         * search.c (Freplace_match): Set newtext to an empty string.
5923
5924 2000-10-10  Martin Buchholz  <martin@xemacs.org>
5925
5926         * s/decosf1-3.h: Remove #include of stropts.h
5927         * s/ptx.h: Remove #include of stropts.h
5928         * s/usg5-4.h: Remove #include of stropts.h
5929         * sysproc.h:
5930         * config.h.in:
5931         Use stropts.h, not sys/stropts.h.
5932         Use strtio.h, not sys/strtio.h.
5933
5934 2000-10-04  Martin Buchholz <martin@xemacs.org>
5935
5936         * XEmacs 21.2.36 is released.
5937
5938 2000-09-21  Andy Piper  <andy@xemacs.org>
5939
5940         * glyphs-x.c (x_redisplay_widget): make sure non-structural
5941         changes still involve copying the widget tree.
5942         (update_widget_face): make sure a change is register in the widget
5943         tree. Call update_tab_widget_face appropriately.
5944         (update_tab_widget_face): ditto.
5945         (x_tab_control_redisplay): make sure non-structural changes still
5946         involve copying the widget tree.
5947
5948 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
5949
5950         * lread.c (locate_file): Check the path element is non-nil.
5951
5952 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5953
5954         * lisp.h: Warning suppression for SCO compilers.
5955
5956         * redisplay-tty.c (reset_tty_modes): Fix crash.
5957         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
5958
5959 2000-09-27  Martin Buchholz  <martin@xemacs.org>
5960
5961         Big signal/process handling overhaul.  Bugs fixed:
5962         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
5963         M-x comint-kill-subjob should work for both values nil and t of
5964         process-connection-type. It was broken on most platforms.
5965         Testing on Irix and Cygwin still needed.  Other plaforms tested.
5966         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
5967         * process-unix.c: Signal/Process handling overhaul.
5968         (pty_name): make 64 bytes, as `expect' does, for paranoia.
5969         (allocate_pty): Use all available modern methods of allocating
5970         ptys, falling back to old style BSD allocation as a last resort.
5971         Use allegedly more secure Unix98 pty allocation by default.
5972         (allocate_pty_the_old_fashioned_way): New. the last resort.
5973         (unix_create_process): Push ptem, ldterm, ttcompat where
5974         available.  Autoconfiscate.
5975         (try_to_initialize_subtty): New.
5976         (unix_kill_child_process): Proper signal handling for ptys on most
5977         platforms, using special knowledge of AIX, BSD, etc...
5978         (unix_create_process): Always disconnect_controlling_terminal() for
5979         subprocesses, whether using ptys or not.
5980         * process.h: Remove old getpt-dependent PTY code.
5981         * process.c (Fprocess_send_signal): New, obvious generic function.
5982         (decode_signal): New.
5983         (Finterrupt_process):
5984         (Fkill_process):
5985         (Fquit_process):
5986         (Fstop_process):
5987         (Fcontinue_process):
5988         (Fsignal_process): Use decode_signal.
5989         (process_send_signal):
5990         Many docstring corrections.
5991         Allow any signal to be sent to a process object.
5992         * config.h.in: Add symbols for big signal/process overhaul.
5993         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
5994         * sysproc.h: Include process-related headers, where available:
5995         sys/stropts.h sys/strtio.h pty.h libutil.h
5996         * s/irix4-0.h:
5997         * s/irix5-0.h:
5998         * s/cygwin32.h:
5999         * s/gnu.h:
6000         * s/linux.h:
6001         * s/hpux.h:
6002         * s/aix3-1.h:
6003         Remove old S&M pty stuff.
6004         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
6005         * systty.h: Simplify cpp hackery, improve comments.
6006         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
6007
6008         * editfns.c (Fformat_time_string):
6009         Be a little more paranoid with the return value of ctime.
6010
6011         * fileio.c (check_executable):
6012         (check_writable):
6013         Use symbolic constants X_OK, W_OK.
6014
6015         * console-x.c (split_up_display_spec): Fix a warning.
6016
6017 2000-10-02  Martin Buchholz  <martin@xemacs.org>
6018
6019         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
6020         * ntproc.c (sys_spawnve): make_string ==> build_string
6021         Small clarity improvements.
6022
6023 2000-09-30  Martin Buchholz  <martin@xemacs.org>
6024
6025         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
6026
6027         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
6028
6029         * config.h.in (HAVE_STRCASECMP): Remove.
6030
6031 2000-09-29  Martin Buchholz  <martin@xemacs.org>
6032
6033         * redisplay-output.c (redisplay_output_pixmap):
6034         Cleaner and possibly more 64-bit correct code.
6035
6036 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
6037
6038         * dumper.c (pdump_load_finish): move restoration of
6039         `noninteractive1' to emacs.c (main_1).
6040         * emacs.c (main_1): protect LISP-visible command-line flags
6041         from pdump_load().
6042
6043 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
6044
6045         * Makefile.in.in (versionclean):  Use EXE_TARGET and
6046         DUMP_TARGET instead of literal program names.
6047
6048 2000-09-20  Martin Buchholz  <martin@xemacs.org>
6049
6050         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
6051
6052 2000-09-19  Martin Buchholz  <martin@xemacs.org>
6053
6054         * *: Spelling mega-patch
6055
6056 2000-09-19  Martin Buchholz  <martin@xemacs.org>
6057
6058         * fns.c (bad_bad_turtle):
6059         Delete "Eek!" comment, since we fixed the bug to which it refers.
6060
6061 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6062
6063         * alloca.c: Replace REGISTER with register.
6064
6065 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
6066
6067         * file-coding.c (ucs_to_char): Use countof.
6068
6069 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6070
6071         * file-coding.c: (ucs_to_char):
6072         (complex_vars_of_file_coding):
6073         Use countof instead of sizeof.
6074         Use CHECK_NATNUM instead of CHECK_INT.
6075
6076         * sysdep.c (strcasecmp): Remove.
6077         * device-x.c (ascii_strcasecmp): New.
6078         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
6079         Avoid using non-standard non-portable strcasecmp.
6080
6081 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6082
6083         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
6084         * font-lock.c: remove reference to emacsfns.h.
6085         * search.c: small doc improvement.
6086         * event-Xt.c: correct file names in comments.
6087         * console-x.h Correct file names in comments.
6088         * frame.c: Correct file names in comments.
6089         * event-stream.c: remove Energize from comments.
6090
6091 2000-09-15  Martin Buchholz  <martin@xemacs.org>
6092
6093         * symeval.h (DEFERROR_STANDARD):
6094         (DEFERROR):
6095         (DEFSYMBOL):
6096         (DEFSYMBOL_NO_DUMP):
6097         (DEFSYMBOL_MULTIWORD_PREDICATE):
6098         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
6099         (DEFKEYWORD):
6100         The construct &##name is not sensible C.
6101         Fixes compilation errors with Unixware native compiler.
6102
6103 2000-09-14  Martin Buchholz  <martin@xemacs.org>
6104
6105         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
6106         (next_frame_internal): Removed.  We now just have next_frame.
6107         (next_frame):
6108         Write a simpler and cleaner one-pass algorithm.
6109         Remove called_from_delete_device arg and #ifdefed-out code.
6110         (previous_frame):
6111         Renamed from prev_frame.  Update callers.
6112         Cleaned up to have an analogous implementation to next_frame.
6113         (other_visible_frames_internal): Remove the
6114         called_from_delete_device bogus arg, and hence, remove this
6115         function.  Just use other_visible_frames().
6116
6117         * window.c (Fnext_window):
6118         Prettify docstring.
6119         Since next_frame() is guaranteed to return a frame, remove check
6120         for nil inserted in previous patch.
6121         (Fprevious_window):
6122         Prettify docstring.
6123         Make code look more like Fnext_window.
6124         (window_loop):
6125         Respect the `console' arg when iterating through windows.
6126         Fixes bug: (get-buffer-window buffer t device) not respecting
6127         the `device' arg.
6128         This function needs more work, as others have pointed out.
6129
6130         * frame.h: Rename prev_frame to previous_frame.
6131         device_matches_console_spec no longer takes a `frame' arg.
6132
6133         * s/gnu.h:
6134         * s/linux.h:
6135         * s/hpux.h:
6136         Use EMACS_BLOCK_SIGNAL instead of sigblock.
6137         From "Golubev I. N." <gin@mo.msk.ru>.
6138
6139         * make-src-depend: Fix typo.
6140
6141 2000-09-13  Martin Buchholz  <martin@xemacs.org>
6142
6143         * window.c (Fnext_window):
6144         next_frame() might return nil, not a frame.
6145         Fixes this crash:
6146         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
6147
6148         * frame.c (next_frame_internal):
6149         We've passed a frame if we've passed its device.
6150         Fixes this crash:
6151         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
6152 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
6153
6154 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6155
6156         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6157         Allow option to suppress accelerators in menu/dialog items.
6158         (populate_or_checksum_helper): Pass dialog title through above.
6159
6160 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6161
6162         * event-msw.c (mswindows_key_to_emacs_keysym):
6163         Add "pause" key, fix "menu" key.
6164
6165 2000-09-09  Martin Buchholz  <martin@xemacs.org>
6166
6167         * eval.c (reinit_vars_of_eval):
6168         Increase max_lisp_eval_depth to 1000,
6169         required for thai-xtis.el to byte-compile under some circumstances.
6170
6171 2000-09-04  Martin Buchholz  <martin@xemacs.org>
6172
6173         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
6174         From Kenichi Handa.
6175
6176 2000-09-01  Martin Buchholz  <martin@xemacs.org>
6177
6178         * make-src-depend: Make the generated Makefiles smaller.
6179
6180         * s/hpux.h (SETUP_SLAVE_PTY):
6181         Provide a %d in the format string for the errno argument.
6182
6183         * editfns.c (Ftemp_directory):
6184         Warning fix.
6185         Avoid buffer overrun on very long file name.
6186
6187         * input-method-xlib.c (XIM_init_device):
6188         6th parameter of XRegisterIMInstantiateCallback has different
6189         pointer types on different OSes, so simply cast to (void *).
6190
6191         * unexhp9k800.c: Warning fixes.  Fiddly changes.
6192
6193         * sysdll.c (dll_open):
6194         shl_load will hang hard if passed a NULL filename.
6195         Simply return NULL for compatibility with dlopen.
6196         * sysdll.c: Conform to XEmacs coding standards.
6197
6198         * sysdep.c (get_pty_max_bytes):
6199         Support pty input lines longer than 512 bytes on HP-UX 10.20.
6200
6201 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6202
6203         * tooltalk.c: Add #include <syssignal.h>
6204
6205 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
6206
6207         * s/hpux.h: Don't use undefined function sigunblock().
6208
6209 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6210
6211         * config.h.in: Add HAVE_BALLOON_HELP.
6212         * emacs.c: Use HAVE_BALLOON_HELP.
6213         * Makefile.in.in (x_objs):
6214         Make Balloon Help conditional on finding shape.h.
6215
6216 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
6217
6218         * syntax.c (regex_emacs_buffer_p): New variable.
6219         * syntax.h (regex_emacs_buffer_p): extern.
6220         * search.c (looking_at_1):
6221         (string_match_1):
6222         (fast_string_match):
6223         (search_buffer): Set regex_emacs_buffer_p.
6224         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
6225         when before_dot, at_dot, after_dot.
6226
6227 2000-08-23  Andy Piper  <andy@xemacs.org>
6228
6229         * gui-x.c (popup_selection_callback): Only set action_occurred
6230         when we really have an image instance.
6231         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
6232
6233 2000-08-23  Andy Piper  <andy@xemacs.org>
6234
6235         * gui-msw.c (mswindows_handle_gui_wm_command): set
6236         action_occurred.
6237         * gui-x.c (popup_selection_callback): ditto.
6238
6239         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
6240         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
6241         (struct Lisp_Image_Instance): add action_occurred flag.
6242
6243         * glyphs.c (redisplay_subwindow): use action_occurred flag.
6244         (image_instance_changed): ditto.
6245         (reset_frame_subwindow_instance_cache): only unmap windows - do
6246         not remove them from the cache also.
6247
6248         * glyphs-widget.c (tab_control_update): better debug.
6249         (progress_gauge_update): ditto.
6250         (layout_update): ditto.
6251         (layout_instantiate): ditto.
6252         (tab_control_order_only_changed): cope with null pending items.
6253
6254         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
6255         debug. Force selection of an item when an action occurred. Cope
6256         with null pending_items.
6257         (mswindows_progress_gauge_redisplay): better debug.
6258         * glyphs-x.c (x_tab_control_redisplay): ditto.
6259
6260         * redisplay.c (redisplay_frame): reset the frame cache if the
6261         frame is garbaged.
6262
6263         * window.c (Fset_window_configuration): potentially re-enable
6264         frame cache reset.
6265         (window_unmap_subwindows): need to finalize instances here since
6266         it is only used in mark_window_as_deleted.
6267
6268 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
6269
6270         * nas.c (SndOpenDataForReading):
6271         nas.c (WaveOpenDataForReading):
6272         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
6273         Somehow escaped from the 2000-08-14 patch.
6274
6275 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6276
6277         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
6278         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
6279
6280 2000-08-21  Andy Piper  <andy@xemacs.org>
6281
6282         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
6283         window if it is not already displayed.
6284
6285         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
6286         it is not already displayed.
6287
6288         * window.c (Fset_window_configuration): don't reset the frame
6289         cache.
6290
6291         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
6292         instances from the frame cache if we are actually finalizing them.
6293         (reset_frame_subwindow_instance_cache): reset frame cache only
6294         after unmapping everything.
6295         (map_subwindow): set displayed flag after mapping.
6296
6297 2000-08-21  Martin Buchholz  <martin@xemacs.org>
6298
6299         * data.c (indirect_function):
6300         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
6301
6302         * eval.c (function_argcount):
6303         Use original function when signaling errors.
6304
6305 2000-08-18  Andy Piper  <andy@xemacs.org>
6306
6307         * frame.c (delete_frame_internal): use new
6308         free_frame_subwindow_instances name.
6309
6310         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
6311         (add_tab_item): make return type correct.
6312         (mswindows_tab_control_instantiate): assert index of tab.
6313         (mswindows_tab_control_redisplay): Re-code to use
6314         gui_item_equal_sans_selected and gui_item_list_find_selected.
6315
6316         * glyphs-widget.c (tab_control_update): Correct comment.
6317
6318         * window.c (window_unmap_subwindows): use new
6319         unmap_subwindow_instance_cache_mapper.
6320         (window_unmap_subwindows_cache_mapper): deleted.
6321         (Fset_window_configuration): comparisons should now be with
6322         EQ. Preserve the subwindow instance cache across configuration
6323         changes.
6324         (allocate_window): ditto.
6325         (make_dummy_parent): ditto.
6326
6327         * glyphs.c (free_frame_subwindow_instances): rename from
6328         free_frame_subwindow_instance_cache. finalize all instances rather
6329         than just those in the display cache.
6330         (finalize_all_subwindow_instances): walk windows unmapping and
6331         finalizing subwindows.
6332         (unmap_subwindow_instance_cache_mapper): moved from
6333         window.c. Allow finalization as well as unmapping.
6334
6335         * gui.c (gui_item_list_find_selected): new function.
6336
6337         * gui.h (gui_item_list_find_selected): declare.
6338
6339         * glyphs-x.c (x_tab_control_redisplay): pick tab
6340         explicitly. Re-code to use gui_item_equal_sans_selected and
6341         gui_item_list_find_selected.
6342
6343         * glyphs-x.h: add lwlib-utils.h
6344
6345         * buffer.c (Frecord_buffer): undo previous change.
6346
6347 2000-08-09  Vin Shelton  <acs@xemacs.org>
6348
6349         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
6350         possible.  Create temporary files more securely.  The patch was
6351         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
6352         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
6353         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
6354         for details.
6355
6356 2000-08-07  Ben Wing  <ben@xemacs.org>
6357
6358         * getloadavg.c: remove duplicate (and windows-breaking)
6359         includes of fcntl.h and sys/file.h.
6360
6361         * nt.c: remove duplicate getloadavg() definition.
6362
6363         * sysdll.h (Qdll_filename_encoding): add missing stand-in
6364         encodings.
6365
6366 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6367
6368         * eval.c (function_argcount): If function needs to be autoloaded
6369         actually use the loaded definition.
6370         GCPRO function.
6371
6372 2000-08-05  Ben Wing  <ben@xemacs.org>
6373
6374         * getloadavg.c: add prototype for getloadavg().  remove
6375         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
6376         of the code).  remove duplicate header includes.
6377
6378         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
6379
6380         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
6381         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
6382         useful load average.
6383
6384         * alloc.c (reinit_alloc_once_early): removed references to
6385         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
6386         the lisp vars are the only things referencing the malloc_sbrk_*
6387         vars, and they were already if 0'd out.  these vars only exist
6388         in the older malloc.c, which is basically unused, and they're
6389         only for informational purposes.
6390
6391         * m\*.h: removed useless VIRT_ADDR_VARIES.
6392
6393         * m\powerpc.h: removed stray NO_ARG_ARRAY.
6394
6395 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
6396
6397         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
6398         color if the image is a mono pixmap.
6399
6400 2000-07-30  Ben Wing  <ben@xemacs.org>
6401
6402         * Makefile.in.in (release):
6403         Remove stray @.
6404
6405         * buffer.c (directory_is_current_directory):
6406         * dired-msw.c (mswindows_get_files):
6407         * dired.c:
6408         * dired.c (Fdirectory_files):
6409         * dired.c (file_name_completion_stat):
6410         * dired.c (Ffile_attributes):
6411         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
6412         preprocessor tricks, to avoid problems on some machines
6413         (e.g. SCO).
6414
6415         * callproc.c (egetenv): GC docs.
6416
6417         * console-msw.h:
6418         * console-msw.h (struct mswindows_dialog_id):
6419         * lrecord.h (lrecord_type):
6420         New object for use with MSW dialogs.
6421
6422         * console.h (struct console_methods):
6423         New enable/disable frame methods, for proper modal dialogs.
6424
6425         * device-msw.c (msprinter_default_printer): Fix to follow
6426         proper Mule conventions.
6427
6428         * device-msw.c:
6429         * device-msw.c (signal_open_printer_error):
6430         * device-msw.c (msprinter_init_device):
6431         * device-msw.c (ensure_not_printing):
6432         * device-msw.c (plist_get_margin):
6433         * device-msw.c (Fmsprinter_select_settings):
6434         * device-msw.c (finalize_devmode):
6435         * device-msw.c (Fmsprinter_settings_despecialize):
6436         * device-msw.c (signal_enum_priner_error):
6437         * extents.c (decode_extent):
6438         * extents.c (decode_map_extents_flags):
6439         * extents.c (decode_extent_at_flag):
6440         * extents.c (Fextent_at):
6441         * extents.c (Fextents_at):
6442         * extents.c (symbol_to_glyph_layout):
6443         [[[[2]]]] Use structured errors.
6444
6445         * dialog-msw.c:
6446         * dialog-msw.c (mswindows_is_dialog_msg):
6447         * dialog-msw.c (mark_mswindows_dialog_id):
6448         * dialog-msw.c (dialog_proc):
6449         * dialog-msw.c (handle_question_dialog_box):
6450         * dialog-msw.c (syms_of_dialog_mswindows):
6451         Define new object to clean up marking; use it as a dialog identifier.
6452         Call new delete-dialog-box-hook.
6453
6454         * dialog-x.c (dbox_selection_callback):
6455         * dialog-x.c (dbox_descriptor_to_widget_value):
6456         * dialog-x.c (x_make_dialog_box_internal):
6457         Call new delete-dialog-box-hook.
6458         Return an id.
6459
6460         * dialog.c:
6461         * dialog.c (syms_of_dialog):
6462         * dialog.c (vars_of_dialog):
6463         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
6464
6465         * eval.c:
6466         * eval.c (signal_call_debugger):
6467         when noninteractive, output stack traces on the console instead
6468         of in a (never-seen) buffer.
6469
6470         * eval.c (signal_type_error):
6471         * eval.c (invalid_argument_2):
6472         * lisp.h:
6473         new funs for use w/structured errors.
6474
6475         * event-Xt.c:
6476         * event-Xt.c (x_to_emacs_keysym):
6477         * event-Xt.c (describe_event):
6478         * event-Xt.c (emacs_Xt_event_handler):
6479         * event-Xt.c (vars_of_event_Xt):
6480         * event-msw.c:
6481         * event-msw.c (mswindows_wnd_proc):
6482         * event-msw.c (vars_of_event_mswindows):
6483         rename {x,mswindows}-debug-events to debug-{}-events for
6484         consistency with other debug-foo variables.
6485
6486         * event-stream.c:
6487         document next-event more clearly.
6488
6489         * fileio.c (Ffile_name_directory):
6490         * fileio.c (Ffile_name_nondirectory):
6491         * fileio.c (Funhandled_file_name_directory):
6492         * fileio.c (file_name_as_directory):
6493         * fileio.c (Ffile_name_as_directory):
6494         * fileio.c (directory_file_name):
6495         * fileio.c (Fdirectory_file_name):
6496         * fileio.c (Fmake_temp_name):
6497         * fileio.c (Ffile_truename):
6498         * fileio.c (Fsubstitute_in_file_name):
6499         * fileio.c (expand_and_dir_to_file):
6500         * fileio.c (barf_or_query_if_file_exists):
6501         * fileio.c (check_executable):
6502         * fileio.c (Ffile_exists_p):
6503         * fileio.c (Ffile_writable_p):
6504         * fileio.c (Ffile_directory_p):
6505         * fileio.c (Ffile_regular_p):
6506         * fileio.c (Ffile_modes):
6507         * fileio.c (Ffile_newer_than_file_p):
6508         * fileio.c (Fverify_visited_file_modtime):
6509         * fileio.c (Fset_visited_file_modtime):
6510         * fileio.c (auto_save_1):
6511         (1). (2).
6512         fix up gcpro's.
6513
6514         * frame-msw.c:
6515         * frame-msw.c (mswindows_init_frame_1):
6516         * frame-msw.c (mswindows_enable_frame):
6517         * frame-msw.c (error_frame_unsizable):
6518         * frame-msw.c (msprinter_init_frame_1):
6519         * frame-msw.c (msprinter_init_frame_3):
6520         * frame-msw.c (console_type_create_frame_mswindows):
6521         (2).
6522         implement new enable/disable frame methods.
6523
6524         * frame-x.c:
6525         * frame-x.c (x_enable_frame):
6526         * frame-x.c (console_type_create_frame_x):
6527         implement new enable/disable frame methods.
6528
6529         * frame.c:
6530         * frame.c (Fdisable_frame):
6531         * frame.c (syms_of_frame):
6532         * frame.h (struct frame):
6533         implement new enable/disable frame methods/functions.
6534
6535         * general-slots.h:
6536         add initial-focus.
6537
6538         * glyphs-msw.c (mswindows_widget_instantiate):
6539         comment that initial-focus should be implemented.
6540
6541         * glyphs-widget.c:
6542         * glyphs-widget.c (check_valid_instantiator):
6543         * glyphs-widget.c (check_valid_orientation):
6544         * glyphs-widget.c (check_valid_tab_orientation):
6545         * glyphs-widget.c (check_valid_justification):
6546         * glyphs-widget.c (check_valid_border):
6547         * glyphs-widget.c (check_valid_callback):
6548         * glyphs-widget.c (check_valid_int_or_function):
6549         * glyphs-widget.c (check_valid_string_or_vector):
6550         * glyphs-widget.c (check_valid_item_list_1):
6551         * glyphs-widget.c (widget_validate):
6552         * glyphs-widget.c (combo_box_validate):
6553         * glyphs-widget.c (widget_instantiate):
6554         * glyphs-widget.c (syms_of_glyphs_widget):
6555         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
6556         * glyphs-widget.c (image_instantiator_combo_box):
6557         * glyphs-widget.c (image_instantiator_scrollbar):
6558         * glyphs-widget.c (image_instantiator_tab_control):
6559         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
6560         (2).
6561         support (unimplemented) keyword initial-focus.
6562         reindent long macros.
6563
6564         * glyphs-x.c (x_redisplay_widget):
6565         * glyphs-x.c (x_button_instantiate):
6566         * glyphs-x.c (x_button_redisplay):
6567         * glyphs-x.c (x_progress_gauge_instantiate):
6568         * glyphs-x.c (x_edit_field_instantiate):
6569         * glyphs-x.c (x_combo_box_instantiate):
6570         * glyphs-x.c (x_tab_control_instantiate):
6571         * glyphs-x.c (x_label_instantiate):
6572         * gui-x.c:
6573         * gui-x.c (button_item_to_widget_value):
6574         * gui-x.c (gui_items_to_widget_values_1):
6575         * gui-x.c (gui_item_children_to_widget_values):
6576         * gui-x.c (gui_items_to_widget_values):
6577         * gui-x.h:
6578         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6579         add new flag to gui-parsing routines to indicate whether
6580         accelerator specs should be supported.
6581
6582         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
6583
6584         * glyphs.h (struct Lisp_Image_Instance):
6585         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
6586         add initial-focus flag.
6587
6588         * gui.c:
6589         * gui.c (syms_of_gui):
6590         * gui.c (vars_of_gui):
6591         clean up menu-no-selection-hook.
6592
6593         * gui.h:
6594         support delete-dialog-box-hook.
6595
6596         * lread.c (Fload_internal):
6597         * lread.c (locate_file_in_directory_mapper):
6598         (1).
6599
6600         * lrecord.h:
6601         * lrecord.h (struct toolbar_button):
6602         * lrecord.h (syms_of_toolbar):
6603         document how to create a new object.
6604
6605         * menubar-msw.c (mswindows_char_is_accelerator):
6606         may be called on frames w/o menus.
6607
6608         * menubar.c (vars_of_menubar):
6609         clean up :filter docs.
6610
6611         * nt.c (readdir):
6612         * ntproc.c:
6613         (1).
6614
6615         * process-nt.c:
6616         * process-nt.c (validate_signal_number):
6617         * process-nt.c (signal_cannot_launch):
6618         * process-nt.c (nt_create_process):
6619         * process-nt.c (nt_send_process):
6620         * process-nt.c (nt_kill_child_process):
6621         * process-nt.c (nt_open_network_stream):
6622         * process-nt.c (syms_of_process_nt):
6623         (2).
6624         delete quote-handling.  call new lisp code that does it better.
6625
6626         * process-unix.c (connect_to_file_descriptor):
6627         * process-unix.c (allocate_pty):
6628         * process-unix.c (unix_send_process):
6629         * process-unix.c (unix_kill_child_process):
6630         * process-unix.c (unix_open_network_stream):
6631         * process-unix.c (unix_open_multicast_group):
6632         (1). (2).
6633
6634         * process.c:
6635         * process.c (Fstart_process_internal):
6636         (2).  need to canonicalize process path even if absolute.
6637
6638         * select-msw.c (symbol_to_ms_cf):
6639         * select-msw.c (ms_cf_to_symbol):
6640         * select-msw.c (cf_is_autofreed):
6641         * select-msw.c (mswindows_destroy_selection):
6642         * select.c:
6643         * select.c (syms_of_select):
6644         * select.h:
6645         support dibv5, fix bugs. (from Mike Alexander)
6646
6647         * select.c (Fget_selection_internal):
6648         * select.c (select_convert_out):
6649
6650         * sysdep.c:
6651         * sysdep.c (xemacs_stat):
6652         renamed.
6653
6654         * sysdep.c (mkdir):
6655         * sysdep.c (rmdir):
6656         but keep original stat() here because we provide encapsulation
6657         around these funs.
6658
6659         * sysfile.h:
6660         * sysfile.h (fstat):
6661         remove stat garbage.
6662
6663         * syswindows.h:
6664         fix X/MSW conflict.
6665         don't include tchar.h.  it's inappropriate because it makes
6666         compile-time distinctions when we want runtime distinctions.
6667         (we provide our own tchar replacements)
6668
6669         * toolbar.c:
6670         use default object printer for toolbar-button.
6671
6672         * unexcw.c:
6673         make sure we don't encapsulate.
6674
6675         * window.c (vars_of_window):
6676         emphasize that temp-buffer-show-hook is obsolete.
6677
6678 2000-08-05  Martin Buchholz  <martin@xemacs.org>
6679
6680         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
6681         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
6682
6683         * events.c (Fevent_timestamp_lessp):
6684         Not 64-bit clean.  Use EMACS_INT, not int.
6685
6686 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
6687
6688         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
6689         unsigned int and changed the last enum to
6690         lrecord_type_last_built_in_type.
6691         (lrecord_implementations_table): changed prototype to know how
6692         long the array is supposed to be.
6693         (lrecord_type_count): new unsigned int to keep track of the
6694         current number of lisp lrecord types.
6695         (DEFINE_EXTERNAL_LRECORD):
6696         (DECLARE_EXTERNAL_LRECORD): Added these two for external
6697         dynamic-modules to declare new lisp types. They are the same
6698         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
6699         int for each new type, and increment lrecord_type_count by 1.
6700
6701         * alloc.c (lrecord_implementations_table): Changed to reference
6702         lrecord_type_last_built_in_type for the size of the array.
6703         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
6704
6705 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
6706
6707         * glyphs.h (check_valid_item_list): Renamed from
6708         check_valid_item_list_1.
6709
6710 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
6711
6712         * select.c (Qselect_coerce): New.
6713         * select.c (Vselection_coercion_alist): New.
6714         * select.c (syms_of_select): Declare.
6715         * select.c (get-selection-internal): Use it.
6716         Use the new select-coerce functionality.
6717
6718         * select.c (select_coerce): New.
6719         * select.h (select_coerce): Declare.
6720         New function to coerce one type of data into another.
6721
6722 2000-08-03  Martin Buchholz  <martin@xemacs.org>
6723
6724         * callproc.c (Fcall_process_internal):
6725         (Fcall_process_internal):
6726         * process-unix.c (unix_create_process):
6727         Save and restore the value of errno, so that error messages are accurate.
6728
6729 2000-08-01  Martin Buchholz  <martin@xemacs.org>
6730
6731         * elhash.c (print_hash_table):
6732         Fix printing of hash tables to also use `key-and-value' instead of `t'.
6733         Prettify docstrings and indentation.
6734
6735 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
6736
6737         * window.c (Fwindow_pixel_edges): Subtract frame border and
6738         gutter size.
6739
6740 2000-07-31  Andy Piper  <andy@xemacs.org>
6741
6742         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
6743         will acknowledge the change.
6744
6745         * glyphs.h: declare tab_control_order_only_changed.
6746
6747         * glyphs-x.c (x_tab_control_redisplay): use
6748         tab_control_order_only_changed.
6749
6750         * glyphs-widget.c (tab_control_order_only_changed): new function.
6751
6752         * glyphs-msw.c (mswindows_tab_control_redisplay): use
6753         tab_control_order_only_changed.
6754
6755         * gui.c (gui_item_equal_sans_selected): new function.
6756         (gui_item_equal): use it.
6757
6758         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
6759         :properties in favor of :items..
6760
6761         * glyphs-widget.c (check_valid_item_list): rename from
6762         check_valid_item_list_1.
6763         (check_valid_item_list_1): renamed.
6764         (combo_box_validate): deprecate :properties in favor of :items.
6765         (widget_instantiate): ditto.
6766         (tab_control_update): ditto.
6767         (image_instantiator_combo_box): ditto.
6768         (image_instantiator_tree_view): ditto.
6769         (image_instantiator_tab_control): ditto.
6770         (layout_post_instantiate): remove dead code.
6771
6772         * print.c (debug_print_no_newline): only write to debugger if in
6773         WIN32_NATIVE.
6774
6775         * elhash.c (Fmake_hash_table): update doc string.
6776
6777         * event-msw.c (mswindows_wnd_proc): don't allow processing of
6778         messages whilst in GC. This at least stops XEmacs crashing but has
6779         the potential for wierd behaviour.
6780
6781 2000-07-31  Martin Buchholz  <martin@xemacs.org>
6782
6783         * config.h.in:
6784         Make existence of s&m files optional.
6785
6786         * s/bsd386.h: Remove HAVE_GETLOADAVG.
6787         * s/freebsd.h: Remove HAVE_GETLOADAVG.
6788         * s/gnu.h: Remove HAVE_GETLOADAVG.
6789         * s/netbsd.h: Remove HAVE_GETLOADAVG.
6790         * s/sol2.h: Remove HAVE_GETLOADAVG.
6791         * lisp.h: Remove getloadavg() declaration.
6792         * fns.c:
6793         Include <sys/loadavg.h> if available.
6794         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
6795         * config.h.in:  Group together getloadavg()-related macros.
6796         Use only configure-time tests to detect getloadavg().
6797
6798 2000-07-30  Martin Buchholz  <martin@xemacs.org>
6799
6800         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
6801
6802 2000-07-25  Andy Piper  <andy@xemacs.org>
6803
6804         * syswindows.h: add tchar.h for native builds.
6805
6806         * frame.c (syms_of_frame): remove set-glyph-image.
6807
6808         * general-slots.h: add Qset_glyph_image.
6809
6810         * glyphs-widget.c (layout_update): add domain arg to
6811         set-glyph-image.
6812         (syms_of_glyphs_widget): remove set-glyph-image.
6813
6814 2000-07-23  Ben Wing  <ben@xemacs.org>
6815
6816         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
6817         Vpopup_frame_list.
6818
6819 2000-07-22  Andy Piper  <andy@xemacs.org>
6820
6821         * symsinit.h: add syms_of_win32().
6822
6823         * gui-msw.c (syms_of_gui_mswindows): remove
6824         Fmswindows_shell_execute.
6825         (Fmswindows_shell_execute): moved to win32.c.
6826
6827         * emacs.c (main_1): add syms_of_win32 ().
6828
6829         * win32.c (init_potentially_nonexistent_functions): rewrite in
6830         compiler-friendly terms.
6831         (Fmswindows_shell_execute): move here from gui-msw.c.
6832         (syms_of_win32): new.
6833
6834         * device-msw.c (Fmswindows_printer_list): clean up args to
6835         EnumPrinters.
6836         Don't include tchar under cygwin or mingw.
6837         (msprinter_default_printer): make cygwin-friendly.
6838
6839 2000-07-21  Andy Piper  <andy@xemacs.org>
6840
6841         * glyphs-widget.c (image_instantiator_tree_view): use tab
6842         control's update function.
6843         (layout_property): new function. Retrieve items.
6844
6845         * glyphs-msw.c (mswindows_tree_view_redisplay): new
6846         function. Re-populate the tree view from the pending items.
6847
6848         * glyphs.c (instantiate_image_instantiator): Make sure the domain
6849         is designated the parent if the domain is an image instance. This
6850         is needed so that dirtiness can be cascade up the hierarchy and
6851         thus for layout children to be redisplayed correctly.
6852         (allocate_image_instance): rename glyph -> parent.
6853
6854         * redisplay.h: change redisplay_output_layout signature.
6855
6856         * redisplay-msw.c (mswindows_output_display_block): use domain
6857         arg.
6858
6859         * redisplay-x.c (x_output_display_block): use domain arg.
6860
6861 2000-07-10  Andy Piper  <andy@xemacs.org>
6862
6863         * window.c (Fset_window_configuration): add comment.
6864
6865         * redisplay-output.c (compare_runes):
6866         (redisplay_output_subwindow): redisplay rather than update subwindow.
6867         (redisplay_output_layout): ditto.
6868
6869         * redisplay-msw.c (mswindows_frame_output_end):
6870         (mswindows_frame_output_end): make defer window pos optional.
6871
6872         * lisp.h: add Flast.
6873
6874         * glyphs.h (struct image_instantiator_methods): add dest_mask top
6875         normalize method. Change update method to be for changed
6876         instantiators. Add redisplay method. Change signature of layout
6877         method.
6878         (struct Lisp_Image_Instance): add instantiator.
6879         (IMAGE_INSTANCE_INSTANTIATOR): new.
6880         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
6881         (XIMAGE_INSTANCE_INSTANTIATOR): new.
6882         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
6883
6884         * glyphs.c:
6885         (find_instantiator_differences): new function.
6886         (Fset_instantiator_property): new convenience function.
6887         (check_image_instance_structure): strictly check for vector
6888         instantiators.
6889         (normalize_image_instantiator): make non-static.
6890         (instantiate_image_instantiator): pass on dest_mask and use new
6891         signatures for image_instance_layout and friends.
6892         (mark_image_instance): mark the instantiator. Mark the subwindow
6893         face not the widget face.
6894         (image_instance_equal): add instantiator.
6895         (image_instance_hash): ditto.
6896         (allocate_image_instance): ditto.
6897         (Fset_image_instance_property): removed.
6898         (Fimage_instance_file_name): ditto.
6899         (Fcolorize_image_instance): ditto.
6900         (image_instance_layout): add offsets to be set.
6901         (update_image_instance): new function. update an image instance
6902         from its changed instantiator.
6903         (inherit_normalize): add dest_mask.
6904         (xbm_normalize): ditto.
6905         (xface_normalize): ditto.
6906         (xpm_normalize): ditto.
6907         (text_update): set_property -> update.
6908         (image_instantiate): use the glyph identity as a hash key, not the
6909         instantiator.
6910         (glyph_width): use new image_instance_layout signature.
6911         (glyph_ascent): ditto.
6912         (glyph_descent): ditto.
6913         (glyph_height): ditto.
6914         (glyph_query_geometry): ressurrect.
6915         (glyph_layout): ditto.
6916         (redisplay_subwindow): update -> redisplay.
6917         (syms_of_glyphs): add Fset_instantiator_property.
6918         (image_instantiator_format_create): set_property -> update.
6919
6920         * glyphs-x.c:
6921         (autodetect_normalize): add dest_maks to signature.
6922         (x_redisplay_subwindow): update -> redisplay.
6923         (x_redisplay_widget): ditto.
6924         (x_button_redisplay): ditto.
6925         (x_progress_gauge_redisplay): ditto.
6926         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
6927         stacking order.
6928         (console_type_create_glyphs_x): update -> redisplay.
6929         (image_instantiator_format_create_glyphs_x): ditto.
6930
6931         * glyphs-widget.c:
6932         (check_valid_instantiator): disallow glyphs in the instantiator,
6933         they must now be vectors.
6934         (check_valid_instantiator_list): ditto.
6935         (glyph_instantiator_to_glyph): use internal symbol rather than
6936         intern.
6937         (widget_update): renamed from widget_set_property. Call cascaded
6938         update methods.
6939         (redisplay_widget): renamed from update_widget.
6940         (widget_layout): image_instance_layout now takes position as well
6941         as size.
6942         (widget_normalize): ditto.
6943         (widget_instantiate): ditto.
6944         (tab_control_query_geometry) ditto.:
6945         (tab_control_update): renamed from tab_control_set_property.
6946         (progress_gauge_update): set_property -> update.
6947         (layout_normalize): rewrite so that child instantiators are
6948         normalized also.
6949         (layout_update): new function. Create glyphs from the normalized
6950         children and cope with any other layout keywords. We do not
6951         instantiate children here that will be take care of by
6952         redisplay_output_layout.
6953         (layout_instantiate): call layout_update and not much else.
6954         (layout_post_instantiate): not sure whether this is needed
6955         anymore.
6956         (layout_query_geometry): query glyph geometry rather than
6957         image_instance geometry.
6958         (layout_layout): set offsets from pass in parameters. Use glyph
6959         geometry and layout functions rather than image instance ones.
6960         (native_layout_layout): ditto.
6961         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
6962         (image_instantiator_widget): set_property -> update.
6963         (image_instantiator_buttons): ditto.
6964         (image_instantiator_progress_guage): ditto.
6965         (image_instantiator_tab_control): ditto.
6966         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
6967         (image_instantiator_layout): add update method.
6968
6969         * glyphs-msw.c (bmp_normalize):
6970         (mswindows_resource_normalize): add dest_mask so that it can be
6971         proprogated by layout_normalize.
6972         (begin_defer_window_pos): make optional because it may not be the
6973         right thing to do and it introduces differences with X.
6974         (mswindows_unmap_subwindow): ditto.
6975         (mswindows_map_subwindow): ditto.
6976         (mswindows_redisplay_subwindow): renamed from
6977         mswindows_update_subwindow.
6978         (mswindows_redisplay_widget): ditto.
6979         (mswindows_button_redisplay): renamed from
6980         mswindows_button_update. Update is now what the instantiation
6981         function does for a changed instantiator.
6982         (mswindows_progress_gauge_instantiate): set the progress value
6983         here if appropriate.
6984         (mswindows_tab_control_redisplay): cope with re-ordering of the
6985         members of the tab widget by simply selecting the new top
6986         widget. This makes things appear ok if you click on a tab.
6987         (mswindows_combo_box_instantiate): image_instance_layout now takes
6988         position as well as size.
6989         (mswindows_progress_gauge_redisplay): renamed from
6990         mswindows_progress_gauge_update.
6991         (console_type_create_glyphs_mswindows): fix update -> redisplay.
6992         (image_instantiator_format_create_glyphs_mswindows): ditto.
6993
6994         * glyphs-eimage.c (jpeg_normalize):
6995         (gif_normalize):
6996         (png_normalize):
6997         (tiff_normalize): add dest_mask so that it can be proprogated by
6998         layout_normalize.
6999
7000         * elhash.c:
7001         (print_hash_table):
7002         (hash_table_weakness_validate):
7003         (decode_hash_table_weakness):
7004         (Fhash_table_weakness):
7005         (Fhash_table_type):
7006         (syms_of_elhash): use Ben's naming scheme for hashtable types..
7007
7008         * console.h (struct console_methods): move update_* to
7009         redisplay_*.
7010
7011 2000-07-20  Ben Wing  <ben@xemacs.org>
7012
7013         * *.[ch] (XSETOBJ): remove unused middle argument.
7014         lisp-disunion.h: correct wrap_object() to one argument.
7015
7016 2000-07-15  Ben Wing  <ben@xemacs.org>
7017
7018         * s/cygwin32.h:
7019         * s/cygwin32.h (CYGWIN_CONV_PATH):
7020         Add missing logb prototype for v1.1.
7021         Use post-b20 names and alias to pre-b20 names when pre-b20.
7022
7023         * s/windowsnt.h: [5].
7024
7025 2000-07-15  Ben Wing  <ben@xemacs.org>
7026
7027         * Makefile.in.in (x_objs):
7028         * Makefile.in.in (sheap_objs):
7029         * Makefile.in.in (objs):
7030         added win32.o, cosmetic cleanups.
7031
7032         * alloc.c (Fmake_byte_code):
7033         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
7034         etc. macros which declare their own args now.
7035
7036         * alloc.c (syms_of_alloc):
7037         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
7038
7039         * buffer.c:
7040         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
7041
7042         * buffer.c (Fget_file_buffer):
7043         Fixed GCPRO problem.
7044
7045         * buffer.c (get_truename_buffer):
7046         Fixed comment about GC checking.
7047
7048         * buffer.c (syms_of_buffer):
7049         Undeclared those dedicated frame funs.
7050         [2].
7051
7052         * buffer.h:
7053         Define convenience macros for internal/external conversions.
7054         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
7055         and Qenvironment_variable_encoding for cleaner code.
7056
7057         * bufslots.h:
7058         Remove dedicated-frame; in lisp.
7059
7060         * bytecode.c (funcall_compiled_function):
7061         [1].
7062
7063         * bytecode.c (syms_of_bytecode):
7064         [2].
7065
7066         * console-msw.c:
7067         * console-msw.c (mswindows_show_console): Rewrote.
7068
7069         * console-msw.c (Fmswindows_debugging_output): New.
7070         Sends to OutputDebugString (special MSWin debugger interface).
7071
7072         * console-msw.c (Fmswindows_message_box):
7073         Fixed stupid bugs so it works when called from kill-emacs.
7074
7075         * console-msw.c (syms_of_console_mswindows):
7076         Declare Fmswindows_debugging_output.
7077
7078         * console-msw.h:
7079         New MSWin prototypes.
7080
7081         * console-msw.h (struct mswindows_frame):
7082         New entry last-click-mods for improved button-modifier support.
7083
7084         * console-msw.h (FRAME_MSWINDOWS_POPUP):
7085         New struct entry `popup' with corresponding accessor.
7086
7087         * console-x.c:
7088         * console-x.c (split_up_display_spec):
7089         * console-x.c (get_display_arg_connection):
7090         * console-x.c (x_semi_canonicalize_console_connection):
7091         * console-x.c (x_canonicalize_device_connection):
7092         [[[6]]]: Change char to more specific type.
7093         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
7094
7095         * console-x.c (x_semi_canonicalize_console_connection):
7096         * console-x.c (x_canonicalize_device_connection):
7097         [[[9]]]: Fix up error signalling to use new structured error system.
7098
7099         * console-x.h:
7100         [[[4]]]: Define codesys aliases:
7101         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
7102         Qx_color_name_encoding, Qx_display_name_encoding.
7103
7104         * console.h (struct console_methods):
7105         New method make_dialog_box_internal supersedes older
7106         popup_dialog_box method.
7107
7108         * data.c:
7109         Define many new errors, part of new structured errors.
7110
7111         * data.c (init_errors_once_early):
7112         * data.c (syms_of_data):
7113         [2].
7114
7115         * device-msw.c (mswindows_init_device):
7116         [[[5]]]: Cleanup to support NT 3.51.
7117
7118         * device-msw.c (decode_devmode): Cleanup.
7119
7120         * device-msw.c (mswindows_handle_print_setup_dialog_box):
7121         * device-msw.c (mswindows_handle_print_dialog_box):
7122         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7123         * device-msw.c (syms_of_device_mswindows):
7124         Delete the dialog box primitives recently introduced by Kirill and
7125         instead interface to general dialog box interface.
7126
7127         * device-x.c:
7128         * device-x.c (compute_x_app_name):
7129         * device-x.c (x_init_device):
7130         * device-x.c (Fx_valid_keysym_name_p):
7131         * device-x.c (Fx_set_font_path):
7132         [6].
7133         [7].
7134
7135         * device.h (wrap_device): New.
7136         First of its kind; meant to replace XSETDEVICE.
7137
7138         * dialog-msw.c: Many file-dialog symbols.
7139
7140         * dialog-msw.c (mswindows_register_popup_frame): New.
7141         * dialog-msw.c (mswindows_is_dialog_msg): New.
7142         For supporting kbd traversal in dialog boxes.
7143
7144         * dialog-msw.c (dialog_proc):
7145         Support hitting ESC in dialogs.
7146
7147         * dialog-msw.c (struct):
7148         Common dialog box errors.
7149
7150         * dialog-msw.c (handle_file_dialog_box): New.
7151         Add file dialog code.
7152
7153         * dialog-msw.c (handle_question_dialog_box):
7154         Redo existing code to support new question dialog syntax.
7155
7156         * dialog-msw.c (console_type_create_dialog_mswindows):
7157         We support new dialog console method.
7158
7159         * dialog-msw.c (syms_of_dialog_mswindows):
7160         * dialog-msw.c (vars_of_dialog_mswindows):
7161         New file dialog symbols, vars.
7162
7163         * dialog-x.c:
7164         * dialog-x.c (maybe_run_dbox_text_callback):
7165         * dialog-x.c (dbox_descriptor_to_widget_value):
7166         * dialog-x.c (x_make_dialog_box_internal):
7167         * dialog-x.c (console_type_create_dialog_x):
7168         Mule-ize entire file.
7169         Redo to support question dialog syntax.
7170         [6].
7171
7172         * dialog.c:
7173         * dialog.c (Fmake_dialog_box_internal):
7174         * dialog.c (syms_of_dialog):
7175         Kill old popup-dialog-box, replace with new primitive.
7176         Just call device method or signal error.
7177
7178         * eldap.c (Fldap_open):
7179         * eldap.c (Fldap_search_basic):
7180         * eldap.c (Fldap_add):
7181         * eldap.c (Fldap_modify):
7182         [1].
7183         [7].
7184
7185         * emacs.c:
7186         * emacs.c (make_arg_list_1):
7187         * emacs.c (make_arg_list):
7188         Mule-ize call to dll_init().
7189         [6].
7190         [8].
7191
7192         * emacs.c (make_argc_argv):
7193         * emacs.c (free_argc_argv):
7194         * emacs.c (init_cmdargs):
7195         * emacs.c (main_1):
7196         * emacs.c (Fkill_emacs):
7197         * emacs.c (Fdump_emacs):
7198         Update comments about what can be used in syms_* etc.
7199         Call init_win32() when necessary.
7200         Fix up MS Win dialog box in kill-buffer to actually work right.
7201         [7].
7202
7203         * eval.c:
7204         * eval.c (For):
7205         * eval.c (Fand):
7206         * eval.c (Fprogn):
7207         * eval.c (Fprog1):
7208         * eval.c (Fprog2):
7209         * eval.c (FletX):
7210         * eval.c (Flet):
7211         * eval.c (condition_case_3):
7212         * eval.c (Feval):
7213         * eval.c (function_argcount):
7214         * eval.c (funcall_lambda):
7215         [1].
7216
7217         * eval.c (type_error): New.
7218         * eval.c (maybe_type_error): New.
7219         * eval.c (continuable_type_error): New.
7220         * eval.c (maybe_continuable_type_error): New.
7221         * eval.c (type_error_with_frob): New.
7222         * eval.c (maybe_type_error_with_frob): New.
7223         * eval.c (continuable_type_error_with_frob): New.
7224         * eval.c (maybe_continuable_type_error_with_frob): New.
7225         New functions for use with structured errors.
7226
7227         * event-Xt.c:
7228         * event-Xt.c (x_event_to_emacs_event):
7229         Buttons are now modifiers too.
7230
7231         * event-Xt.c (emacs_Xt_current_event_timestamp):
7232         Implement new event method.
7233         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
7234
7235         * event-msw.c:
7236         * event-msw.c (ntpipe_shove_writer): [5].
7237         * event-msw.c (mswindows_enqueue_mouse_button_event):
7238         * event-msw.c (mswindows_drain_windows_queue):
7239         * event-msw.c (mswindows_wnd_proc): [7].
7240         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
7241         * event-msw.c (mswindows_modifier_state):
7242         Throughout: support new button modifiers.
7243
7244         * event-msw.c (emacs_mswindows_current_event_timestamp):
7245         Implement new event method.
7246         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
7247
7248         * event-stream.c:
7249         * event-stream.c (event_stream_current_event_timestamp): New.
7250         * event-stream.c (maybe_kbd_translate): New functionality.
7251         * event-stream.c (vars_of_event_stream):
7252         Document new kbd-translate-table functionality.
7253
7254         * event-stream.c (Fcurrent_event_timestamp): New.
7255         New primitive for use in fabricated events.
7256         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
7257
7258         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
7259
7260         * events.c:
7261         * events.c (Fmake_event):
7262         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
7263         [1].
7264         [9].
7265
7266         * events.c (format_event_object): fix gcc warnings.
7267
7268         * events.c (Fevent_timestamp): Document new primitives.
7269
7270         * events.c (TIMESTAMP_HALFSPACE): New.
7271
7272         * events.c (Fevent_timestamp_lessp): New.  New primitive for
7273         comparing timestamps correctly (half-space algorithm).
7274
7275         * events.c (Fevent_modifier_bits): Doc fix.
7276
7277         * events.c (Fevent_modifiers): Major doc addition.
7278         * events.c (event_x_y_pixel_internal): Typo fix.
7279         * events.c (syms_of_events): Declare new primitives.
7280
7281         * events.h:
7282         Update long comment for button modifiers, timestamps.
7283
7284         * events.h (struct event_stream):
7285         New current_event_timestamp method.
7286
7287         * extents.c:
7288         * extents.c (extent_in_region_p):
7289         * extents.c (decode_extent):
7290         * extents.c (Fset_extent_parent):
7291         * extents.c (decode_map_extents_flags):
7292         Fix gcc warnings.
7293         [9].
7294
7295         * extents.c (struct extent_at_arg):
7296         * extents.c (decode_extent_at_flag):
7297         * extents.c (extent_at_mapper):
7298         * extents.c (extent_at_bytind):
7299         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
7300         * extents.c (Fextents_at): New primitive. [9].
7301         * extents.c (symbol_to_glyph_layout): [9].
7302         Support new primitive `extents-at'.
7303
7304
7305         * extents.c (get_text_property_bytind):
7306         extent_at_bytind has another arg.
7307         [9].
7308
7309         * extents.c (syms_of_extents): New primitive.
7310
7311         * file-coding.c (Fmake_coding_system): [1].
7312         * file-coding.c (subsidiary_coding_system): fix gcc warning
7313         * file-coding.c (syms_of_file_coding): [2].
7314
7315         * fileio.c (Fexpand_file_name):
7316         * fileio.c (Fsysnetunam):
7317         * fileio.c (Ffile_exists_p):
7318         * fileio.c (Ffile_executable_p):
7319         * fileio.c (Fverify_visited_file_modtime):
7320         Clean up GCPROing.
7321
7322         * fileio.c (syms_of_fileio): [2].
7323
7324         * filelock.c (lock_file_1):
7325         * filelock.c (current_lock_owner):
7326         * filelock.c (lock_if_free):
7327         * filelock.c (lock_file):
7328         * filelock.c (unlock_file):
7329         Clean up GCPROing.
7330
7331         * fns.c (concat): Fix gcc warning.
7332
7333         * fns.c (Fmember):
7334         * fns.c (Fold_member):
7335         * fns.c (Fmemq):
7336         * fns.c (Fold_memq):
7337         * fns.c (memq_no_quit):
7338         * fns.c (Fassoc):
7339         * fns.c (Fold_assoc):
7340         * fns.c (Fassq):
7341         * fns.c (Fold_assq):
7342         * fns.c (assq_no_quit):
7343         * fns.c (Frassoc):
7344         * fns.c (Fold_rassoc):
7345         * fns.c (Frassq):
7346         * fns.c (Fold_rassq):
7347         * fns.c (rassq_no_quit):
7348         * fns.c (Fdelete):
7349         * fns.c (Fold_delete):
7350         * fns.c (Fdelq):
7351         * fns.c (Fold_delq):
7352         * fns.c (delq_no_quit):
7353         * fns.c (Fremassoc):
7354         * fns.c (Fremassq):
7355         * fns.c (remassq_no_quit):
7356         * fns.c (Fremrassoc):
7357         * fns.c (Fremrassq):
7358         * fns.c (remrassq_no_quit):
7359         * fns.c (Freverse):
7360         * fns.c (mapcar1):
7361         [1].
7362
7363         * frame-msw.c (mswindows_init_frame_1):
7364         * frame-msw.c (mswindows_delete_frame):
7365         Register popups with dialog code so keyboard traversing works.
7366
7367         * frame-tty.c (tty_raise_frame_no_select): [1].
7368
7369         * frame-x.c:
7370         * frame-x.c (x_set_frame_text_value):
7371         * frame-x.c (x_set_frame_properties):
7372         * frame-x.c (x_create_widgets):
7373         [7].
7374
7375         * frame.c:
7376         * frame.c (Fmouse_pixel_position): Minor doc fixes.
7377
7378         * frame.h (wrap_frame): New.
7379         Macro like wrap_device.
7380
7381         * general.c:
7382         * general.c (SYMBOL):
7383         * general.c (syms_of_general):
7384         Major reorg.  This is now just a wrapper and symbols themselves
7385         are listed in general-slots.h.
7386
7387         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
7388         * glyphs-msw.c (mswindows_resource_instantiate): [5].
7389
7390         * glyphs-msw.c (mswindows_native_layout_instantiate):
7391         Add DS_CONTROL so keyboard traversal will work.
7392
7393         * glyphs-widget.c:
7394         * glyphs-widget.c (syms_of_glyphs_widget):
7395         Move some symbols to general-slots.h.
7396
7397         * glyphs-x.c:
7398         * glyphs-x.c (xbm_instantiate_1):
7399         * glyphs-x.c (x_xbm_instantiate):
7400         * glyphs-x.c (x_xface_instantiate):
7401         * glyphs-x.c (autodetect_instantiate):
7402         * glyphs-x.c (cursor_font_instantiate):
7403         * glyphs-x.c (x_update_widget):
7404         * glyphs-x.c (x_widget_instantiate):
7405         * glyphs.c (bitmap_to_lisp_data):
7406         * glyphs.c (pixmap_to_lisp_data):
7407         [7].
7408
7409         * glyphs.c (syms_of_glyphs):
7410         [2].
7411
7412         * gui-x.c:
7413         * gui-x.c (print_widget_value):
7414         * gui-x.c (menu_separator_style_and_to_external):
7415         * gui-x.c (add_accel_and_to_external):
7416         * gui-x.c (button_item_to_widget_value):
7417         * gui-x.c (gui_items_to_widget_values_1):
7418         * gui-x.c (gui_items_to_widget_values):
7419         * gui-x.c (syms_of_gui_x):
7420         * gui-x.c (vars_of_gui_x):
7421         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
7422         [9].
7423
7424         * gui-x.h:
7425         Muleize, prototype changes matching gui-x.c.
7426
7427         * gui.c:
7428         * gui.c (separator_string_p):
7429         * gui.c (gui_item_add_keyval_pair):
7430         * gui.c (make_gui_item_from_keywords_internal):
7431         * gui.c (signal_too_long_error):
7432         * gui.c (parse_gui_item_tree_item):
7433         * gui.c (syms_of_gui):
7434         * gui.c (vars_of_gui):
7435         * gui.h:
7436         menu-no-selection-hook moved here (used by MSWin).
7437         Move some symbols to general-slots.h.
7438         [6].
7439         [9].
7440
7441         * insdel.c (get_buffer_pos_char):
7442         * insdel.c (get_buffer_range_char):
7443         Add GC comments.
7444
7445         * keymap.c (keymap_lookup_directly):
7446         * keymap.c (keymap_store):
7447         * keymap.c (ensure_meta_prefix_char_keymapp):
7448         * keymap.c (describe_map):
7449         * keymap.h:
7450         Support new button modifiers.
7451
7452         * lisp-disunion.h (wrap_object):
7453         * lisp-disunion.h (XSETOBJ):
7454         Rename make_obj to wrap_object.
7455
7456         * lisp-union.h:
7457         * lisp-union.h (make_int):
7458         * lisp-union.h (make_char):
7459         Support wrap_object.
7460
7461         * lisp.h:
7462         * lisp.h (LIST_LOOP):
7463         * lisp.h (EXTERNAL_LIST_LOOP):
7464         * lisp.h (LIST_LOOP_2):
7465         * lisp.h (EXTERNAL_LIST_LOOP_1):
7466         * lisp.h (EXTERNAL_LIST_LOOP_2):
7467         * lisp.h (EXTERNAL_LIST_LOOP_3):
7468         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
7469         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
7470         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
7471         * lisp.h (EXTERNAL_ALIST_LOOP_5):
7472         * lisp.h (EXTERNAL_ALIST_LOOP_6):
7473         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
7474         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
7475         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
7476         * lisp.h (struct Lisp_Symbol):
7477         * lisp.h (maybe_continuable_error_with_frob):
7478         Fix up section comments.
7479         Add new types for char to indicate usage.
7480         Delete symbols auto-generated from general-slots.h.
7481         Add prototypes for structured error functions.
7482         Add long comments describing looping macros and change interface
7483         so that lvalues are automatically declared.
7484         Add NO_DECLARE macro in case callers want to declare lvalues
7485         themselves.
7486
7487         * lread.c (read_syntax_error):
7488         * lread.c (continuable_read_syntax_error):
7489         * lread.c (read_structure):
7490         * lread.c (sequence_reader):
7491         * lread.c (read_list_conser):
7492         * lread.c (read_compiled_function):
7493         Rename syntax_error and continuable_syntax_error to avoid clash
7494         with same-named structured error functions.
7495
7496         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7497         * menubar-msw.c (populate_menu_add_item):
7498         * menubar-msw.c (populate_or_checksum_helper):
7499         [5].
7500         [9].
7501
7502         * menubar-x.c:
7503         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
7504         Mule-ize whole file.
7505
7506         * menubar.c (Fnormalize_menu_item_name): Add optimization.
7507
7508         * mule-charset.c (Fmake_charset):
7509         * mule-wnnfns.c (Fwnn_set_param):
7510         [1].
7511
7512         * ntproc.c (create_child):
7513         * ntproc.c (Fwin32_set_current_locale):
7514         Add comments portending doom.
7515
7516         * objects-msw.c:
7517         * objects-msw.c (old_font_enum_callback_2):
7518         * objects-msw.c (font_enum_callback_1):
7519         * objects-msw.c (mswindows_enumerate_fonts):
7520         [5].
7521
7522         * objects-x.c:
7523         * objects-x.c (allocate_nearest_color):
7524         * objects-x.c (x_parse_nearest_color):
7525         * objects-x.c (x_initialize_color_instance):
7526         * objects-x.c (x_print_color_instance):
7527         * objects-x.c (x_finalize_color_instance):
7528         * objects-x.c (x_valid_color_name_p):
7529         * objects-x.c (x_initialize_font_instance):
7530         * objects-x.c (x_print_font_instance):
7531         * objects-x.c (valid_x_font_name_p):
7532         * objects-x.c (truename_via_FONT_prop):
7533         * objects-x.c (truename_via_random_props):
7534         * objects-x.c (truename_via_XListFonts):
7535         * objects-x.c (x_font_truename):
7536         * objects-x.c (x_font_instance_truename):
7537         * objects-x.c (x_font_instance_properties):
7538         * objects-x.c (x_list_fonts):
7539         * objects-x.c (x_find_charset_font):
7540         Mule-ize entire file.
7541         [7].
7542
7543         * objects-x.h:
7544         Mule-verify.
7545
7546         * print.c:
7547         * print.c (std_handle_out_external):
7548         * print.c (debug_print_no_newline):
7549         * print.c (syms_of_print):
7550         Output to all debugger kinds in debug-print.
7551         Fix console-output code under MSWin to actually work.
7552
7553         * process-nt.c (send_signal):
7554         * process-nt.c (nt_create_process):
7555         Use newer Unicode macros.
7556
7557         * process-unix.c (unix_create_process):
7558         * process-unix.c (unix_canonicalize_host_name):
7559         * process-unix.c (unix_open_network_stream):
7560         [7].
7561
7562         * scrollbar-x.c:
7563         Mule-verify.
7564
7565         * search.c (syms_of_search):
7566         [2].
7567
7568         * select-msw.c (mswindows_destroy_selection):
7569         Use LIST_LOOP_2.
7570
7571         * select-x.c (symbol_to_x_atom):
7572         [7].
7573
7574         * select.c (syms_of_select):
7575         [2].
7576
7577         * sound.c (Fplay_sound_file):
7578         [7].
7579
7580         * specifier.c:
7581         * specifier.c (decode_specifier_type):
7582         * specifier.c (Fvalid_specifier_locale_type_p):
7583         * specifier.c (check_valid_locale_or_locale_type):
7584         * specifier.c (decode_locale):
7585         * specifier.c (decode_locale_type):
7586         * specifier.c (decode_locale_list):
7587         * specifier.c (check_valid_domain):
7588         * specifier.c (decode_specifier_tag_set):
7589         * specifier.c (Fcanonicalize_tag_set):
7590         * specifier.c (Fdefine_specifier_tag):
7591         * specifier.c (Fspecifier_tag_predicate):
7592         * specifier.c (check_valid_inst_list):
7593         * specifier.c (check_valid_spec_list):
7594         * specifier.c (decode_how_to_add_specification):
7595         * specifier.c (check_modifiable_specifier):
7596         * specifier.c (specifier_add_spec):
7597         * specifier.c (boolean_validate):
7598         * specifier.c (display_table_validate):
7599         [9].
7600
7601         * specifier.c (syms_of_specifier):
7602         Move some symbols to general-slots.h.
7603         [2].
7604
7605         * symbols.c:
7606         * symbols.c (Fmapatoms):
7607         * symbols.c (Fapropos_internal):
7608         Add GCPROs.
7609
7610         * symbols.c (set_default_buffer_slot_variable):
7611         * symbols.c (set_default_console_slot_variable):
7612         [1].
7613
7614         * symbols.c (defsymbol_massage_name_1):
7615         * symbols.c (defkeyword_massage_name):
7616         * symbols.c (deferror_1):
7617         * symbols.c (deferror):
7618         * symbols.c (deferror_massage_name_and_message):
7619         * symeval.h:
7620         * symeval.h (DEFSYMBOL):
7621         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
7622
7623         * symbols.c (syms_of_symbols):
7624         [2].
7625
7626         * symsinit.h:
7627         * symsinit.h (init_win32): New.
7628         Also new is syms_of_dialog_mswindows.
7629
7630         * syswindows.h:
7631         Add new Unicode macros, missing Cygwin wide-char functions,
7632         convenience conversion macros for Qmswindows_tstr, macros for
7633         encapsulating required MSWin <-> Cygwin filename conversions,
7634         prototype for dynamically-extracted (not in NT 3.51) functions.
7635
7636         * toolbar-x.c:
7637         Mule-verify.
7638
7639         * tooltalk.c (Fadd_tooltalk_message_arg):
7640         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
7641         * tooltalk.c (Fadd_tooltalk_pattern_arg):
7642         [7].
7643
7644         * tooltalk.c (syms_of_tooltalk):
7645         [2].
7646
7647         * unexnt.c:
7648         * unexnt.c (unexec):
7649         Fix up headers, declaration of unexec() to be more standard.
7650
7651 2000-07-20  Martin Buchholz  <martin@xemacs.org>
7652
7653         * offix.h: Revert change to guard macros - they're used in offix.c!
7654
7655 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7656
7657         * lisp.h: Defsubred Fdelete.
7658
7659         * console-msw.h:  (msprinter_default_printer): Added.
7660
7661         * console-msw.c (msprinter_canonicalize_console_connection):
7662         (msprinter_canonicalize_device_connection): Added.
7663
7664         * device-msw.c (msprinter_default_printer):
7665         (Fmswingows_get_default_printer):
7666         (signal_enum_priner_error):
7667         (Fmswingows_printer_list): Added.
7668
7669 2000-07-19  Martin Buchholz <martin@xemacs.org>
7670
7671         * XEmacs 21.2.35 is released.
7672
7673 2000-07-19  Martin Buchholz  <martin@xemacs.org>
7674
7675         * select-x.c (x_handle_selection_request):
7676         Text selected in xemacs and pasted into xterm failed to appear.
7677         Spelling fixes and cosmetic changes.
7678
7679 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7680
7681         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
7682         XEmacs frame (fix for doubling chars in dialog boxes).
7683
7684 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7685
7686         * select.c (select_convert_in, select_convert_out):
7687         Don't call intern() every time.
7688
7689         * select.c (Qselect_convert_in, Qselect_convert_out): New.
7690         * select.c (vars_of_select): Initialise them.
7691
7692 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7693
7694         * select.c (selection-coercible-types): New.
7695
7696         * select.c (own-selection-internal):
7697         * select.c (get-selection-internal):
7698         MULE bug fix - these should default to COMPOUND_TEXT and not
7699         STRING for MULE. I think.
7700
7701         * select.c (select_convert_out): Use selection-coercible-types
7702         to find types that we can attempt to perform coercions on.
7703
7704 2000-07-18  Martin Buchholz  <martin@xemacs.org>
7705
7706         * mule-wnnfns.c:
7707         * mule-canna.c:
7708         Add coding: cookie to identify encoding.
7709
7710         * mule-canna.c (CANNA_mode_keys): make static.
7711         Use proper prototypes, even for functions of no arguments.
7712         Remove external prototype for Fding().
7713
7714         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
7715
7716         * select.c (syms_of_select): Add missing DEFSUBR.
7717
7718 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7719
7720         * select.c (get_selection_internal, own_selection_internal):
7721         Make the type default to STRING, rather than placing a nil type
7722         into Vselection_alist.
7723
7724 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7725
7726         * gpmevent.c (tty_selection_exists_p):
7727         * gpmevent.c (tty_own_selection):
7728         Updated parameter lists.
7729
7730 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
7731
7732         * select.h (selection-alist): Removed declaration.
7733
7734         * select.h (get_local_selection):
7735         * select.c (get_local_selection):
7736         Made static.
7737
7738         * select.h (convert_selection): Removed declaration.
7739         * select.c (convert_selection): Removed.
7740         This function belongs in Lisp.
7741
7742         * select.h (select_convert_in): Declare.
7743         * select.h (select_convert_out): Declare.
7744         * select.c (select_convert_in): New.
7745         * select.c (select_convert_out): New.
7746         New conversion functions for other files to call.
7747
7748         * select.h (select_notify_buffer_kill): Declare.
7749         * select.c (select_notify_buffer_kill): New.
7750         New functions that get called from kill-buffer.
7751
7752         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
7753         X-specific lisp code.
7754
7755         * select.h: Declare some of the lisp-visible functions for
7756         external use.
7757
7758         * select.c (clean_local_selection_data): Removed. This was
7759         a disgusting function, and previously should have been in
7760         select-x.c in any case. The functionality is now provided
7761         in select-convert-from-integer (select.el).
7762
7763         * select.c (available-selection-types): Fixed stupidity where
7764         INTEGER and ATOM got added twice. Also add STRING when we see an
7765         extent.
7766
7767         * select.c (get-selection-internal): Removed symbol stripping. No
7768         longer causes conversion when data comes from the internal cache.
7769
7770         * select.c (syms_of_select): Added new functions.
7771
7772         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
7773         error checking - previously this called abort!
7774
7775         * select-x.c (x_own_selection): Changed comment.
7776
7777         * select-x.c (x_handle_selection_request): Use select_convert_out.
7778         Don't mess with selection-alist; it's an internal variable of select.c.
7779
7780         * select-x.c (x_get_foreign_selection): Use select_convert_in.
7781
7782         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
7783         rather than messing with selection-alist.
7784
7785         * select-msw.c (mswindows_get_foreign_selection):
7786         Use TO_INTERNAL_FORMAT rather than hacking.
7787
7788 2000-07-14  Martin Buchholz  <martin@xemacs.org>
7789
7790         * process-unix.c (unix_open_multicast_group):
7791         (unix_open_multicast_group): Remove useless casts.
7792
7793 2000-07-13  Martin Buchholz  <martin@xemacs.org>
7794
7795         * sound.c (Fplay_sound): Fix `unused variable' warning.
7796
7797         * emacs.c (main): Use correct type for _environ on SCO5.
7798
7799 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
7800
7801         * console.h (own_selection_method):
7802         * console.h (selection_exists_p_method):
7803         * console.h (available_selection_types_method): New.
7804         * console.h (register_selection_data_type_method): New.
7805         * console.h (selection_data_type_name): New.
7806
7807         * console-msw.h (mswindows_destroy_selection): Declare it.  New
7808         function & alist to track GlobalAlloc()'d handles that need
7809         releasing when the clipboard data gets replaced or emptied.
7810
7811         * event-msw.c (mswindows_wnd_proc): Call it.
7812
7813         * lisp.h, general.c (Qappend): New symbol representing a
7814         `how-to-add' mode.
7815
7816         * select.c (own-selection-internal):
7817         * select.c (selection-exists-p):
7818         * select.c (available-selection-types): New.
7819         * select.c (register-selection-data-type): New.
7820         * select.c (selection-data-type-name): New.  New functions to deal
7821         with device-specific selection data formats.
7822         * select.c (selection-converter-out-alist): Renamed.
7823         * select.c (selection-converter-in-alist): New.
7824         * select.c (selection-appender-alist): New.  Added new alists.
7825         * select.c (syms_of_select, vars_of_select): Added new symbols &
7826         variables.
7827         * select.c (get_local_selection): Split.
7828         * select.c: Removed spurious type checking - selections may now be
7829         of any type, not just strings.
7830         * select.c (own-selection-internal):
7831
7832         * select.h, select.c (convert_selection): New. Created
7833         convert_selection() function based on get_local_selection().
7834         * select.h, select.c (QCF_*): New symbols representing mswindows
7835         clipboard formats.
7836         * select.h, select.c (Qreplace_all, Qreplace_existing): New
7837         symbols representing `how-to-add' modes.
7838
7839         * select-msw.c (x_sym_p): New.
7840         * select-msw.c (symbol_to_ms_cf): New.
7841         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
7842         symbols & clipboard formats. Can also handle string names.
7843         * select-msw.c (mswindows_own_selection):
7844         * select-msw.c (mswindows_selection_exists_p):
7845         Added `data-type' parameter. Use it.
7846         * select-msw.c (mswindows_available_selection_types): New.
7847         * select-msw.c (mswindows_register_selection_data_type): New.
7848         * select-msw.c (mswindows_selection_data_type_name): New.
7849         * select-msw.c (mswindows_own_selection):
7850         * select-msw.c (mswindows_get_foreign_selection):
7851         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
7852         * select-msw.c (console_create_select_mswindows): Added new methods.
7853         * select-msw.c (mswindows_destroy_selection): New.
7854         * select-msw.c (Vhandle_alist): New list.
7855         * select-msw.c (mswindows_own_selection):
7856
7857         * select-x.c (x_own_selection):
7858         * select-x.c (x_selection_exists_p):
7859         * select-x.c: Added some comments about maybe using new
7860         functionality.
7861         * select-x.c (x_own_selection):
7862
7863         * specifier.c: Remove definition of Qappend (now in general.c)
7864         * specifier.c (syms_of_specifier): Remove Qappend.
7865
7866 2000-07-12  Martin Buchholz  <martin@xemacs.org>
7867
7868         * config.h.in: Add socklen_t.
7869
7870         * s/decosf4-0.h: No special compiler flags needed or desired.
7871         In particular, undefine _BSD for DEC OSF 4.0.
7872
7873 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7874
7875         * redisplay-msw.c (msprinter_frame_output_end): Added.
7876         (console_type_create_redisplay_mswindows): Referred the above.
7877
7878         * frame.c (setup_frame_without_minibuffer): Do not create a
7879         default minibuffer frame on a printer device.
7880
7881         * frame-msw.c (apply_dc_geometry): Added.
7882         (msprinter_start_page):
7883         (msprinter_init_frame_3):
7884         (msprinter_eject_page): Use it.
7885
7886         * console-msw.h (struct msprinter_frame): Added pix_left and top,
7887         and removed residual duplex and orientation properties.
7888
7889 2000-07-11  Martin Buchholz  <martin@xemacs.org>
7890
7891         * eval.c (function_argcount): Work around a DEC CC compiler bug.
7892
7893         * unexalpha.c: Remove system prototypes from C sources!
7894
7895 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
7896
7897         * eval.c: Remove references to M-x edit-options in DEFUNs for
7898         `defvar' and `defconst'.
7899
7900 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7901
7902         * config.h.in: Remove SMART_INCLUDE hackery.
7903
7904         PostgreSQL hacking:
7905         * config.h.in: Don't use SMART_INCLUDE.
7906
7907         * postgresql.h: Include libpq-fe.h here.  Fix typo.
7908         * inline.c: Simply #include "postgresql.h"
7909         * postgresql.c:
7910         - Don't use SMART_INCLUDE
7911         - Use simply "const".
7912         - Use standard doc string conventions.
7913         - Use correct type for result of PQstatus.
7914
7915 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7916
7917         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
7918
7919         C++ compilation changes.
7920         * config.h.in (EXTERN_C): Define.
7921         * config.h.in (not): This is also a C++ keyword.
7922         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
7923         * cm.c: Use EXTERN_C.
7924         * redisplay-tty.c: Use EXTERN_C.
7925         * sysdep.c: Use EXTERN_C.  Remove Gould support.
7926
7927 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7928
7929         * general.c: Remove duplicate definition for Qfunction.
7930
7931 2000-07-08  Ben Wing  <ben@xemacs.org>
7932
7933         * device-msw.c (msprinter_init_device):
7934         * device-msw.c (sync_printer_with_devmode):
7935         * device-msw.c (handle_devmode_changes):
7936         * device-msw.c (print_dialog_worker):
7937         * device-msw.c (Fmsprinter_apply_settings):
7938         * device-msw.c (hash_devmode):
7939         * device-msw.c (Fmsprinter_settings_despecialize):
7940         use Qmswindows_tstr, not Qctext.
7941
7942         * vm-limit.c (check_memory_limits):
7943         avoid infinite loop printing warning messages.
7944
7945 2000-07-05  Craig Lanning  <lanning@scra.org>
7946
7947         * Makefile.in.in: Add support for including the Windows resources
7948         when building with the cygwin and mingw targets.
7949
7950         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
7951         not set or not correct.
7952         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
7953         (init_initial_directory): Don't try to use $PWD on the
7954         WIN32_NATIVE target.
7955
7956         * s\cygwin32.h:
7957         [[Add -mwindows to eliminate console window.]] not required --ben
7958         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7959         (MAIL_USE_POP): removed; now handled by configure.
7960
7961         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
7962         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
7963         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7964         (MAIL_USE_POP): removed; now handled by configure.
7965         (ENCAPSULATE_STAT): from Dan Holmsand, added.
7966         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
7967         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
7968         constant string.
7969         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
7970         up from <winsock.h> via systime.h.
7971         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
7972         (getpagesize): from Dan Holmsand, added.
7973         Added #endif which was left dangling by Ben's mega patch; added
7974         comment to help prevent this in the future.
7975
7976         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
7977
7978 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7979
7980         * console-msw.h (struct mswindows_device): Removed unnecessary
7981         cached device geometry values.
7982         Added update_tick and an accessor macro.
7983         (Lisp_Devmode): Added lrecord declaration.
7984         (struct msprinter_device): Contain devmode as a Lisp object.
7985         Added mswindows_get_selected_frame_hwnd();
7986
7987         * console.h (struct console_methods): Indentation nitpicking.
7988
7989         * device-msw.c (mswindows_init_device): Do not initialize geometry
7990         cache. Initialize update tick.
7991         (mswindows_device_system_metrics): Ask the device for its geometry.
7992         (global_free_2_maybe):
7993         (devmode_to_hglobal):
7994         (handle_printer_changes):
7995         (ensure_not_printing):
7996         (print_dialog_worker):
7997         (Fmsprinter_print_setup_dialog):
7998         (Fmsprinter_print_dialog):
7999         (plist_get_margin):
8000         (plist_set_margin):
8001         (Fmsprinter_page_setup_dialog): Added functions.
8002         (sync_printer_with_devmode):
8003         (handle_devmode_changes):
8004         (Fmsprinter_get_settings):
8005         (Fmsprinter_select_settings):
8006         (Fmsprinter_apply_settings):
8007         (allocate_devmode):
8008         (Fmsprinter_settings_copy):
8009         (Fmsprinter_settings_despecialize):
8010         (print_devmode):
8011         (finalize_devmode):
8012         (equal_devmode):
8013         (hash_devmode): Added functions
8014         (syms_of_device_mswindows): Init devmode lrecord class.
8015
8016         * device.h: Added an exfun for find-device.
8017
8018         * event-msw.c (mswindows_wnd_proc): Do not update the cached
8019         geometry; although, recreate the device compatible DC.
8020
8021         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
8022         (msprinter_init_frame_3):
8023         (msprinter_frame_property):
8024         (msprinter_internal_frame_property_p):
8025         (msprinter_frame_properties):
8026         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
8027         print job properties (will move to device settings).
8028
8029         * lisp.h: Added symbols.
8030
8031         * general.c (syms_of_general): Declared them.
8032
8033         * hash.c (string_hash): Added.
8034
8035         * lrecord.h (lrecord_type): Added devmode lrecord type.
8036
8037 2000-07-02  Mike Sperber <mike@xemacs.org>
8038
8039         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
8040         FreeBSD 4.0.
8041
8042 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
8043
8044         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
8045         integer.
8046
8047 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
8048
8049         * data.c (Fstring_to_number): Don't recognize floating point if
8050         base is not 10.
8051
8052 2000-06-22  Martin Buchholz  <martin@xemacs.org>
8053
8054         * glyphs-widget.c (tab_control_query_geometry):
8055         (widget_query_geometry):
8056         (button_query_geometry):
8057         * glyphs.c (text_query_geometry):
8058         Enforce type correctness.
8059
8060 2000-06-18  Martin Buchholz  <martin@xemacs.org>
8061
8062         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
8063         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
8064
8065 2000-06-17  Martin Buchholz  <martin@xemacs.org>
8066
8067         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
8068         conflicts with gcc's fixincluded version of FOO.h.
8069
8070         * glyphs.h (image_instance_geometry): Remove trailing `,'
8071
8072 2000-06-08  Mike Alexander  <mta@arbortext.com>
8073
8074         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
8075         (shove_thread): Don't write the same output twice
8076         (make_ntpipe_output_stream): Increase priority of shove thread
8077         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
8078         chance to run
8079         (ntpipe_shove_closer): Don't delete the pipe until we're done with
8080         it.
8081
8082 2000-06-12  Ben Wing  <ben@xemacs.org>
8083
8084         * s\mingw32.h (sigset):
8085         * s\windowsnt.h (sigset):
8086         rename msw_ to mswindows_ for consistency with general convention.
8087
8088 2000-06-12  Ben Wing  <ben@xemacs.org>
8089
8090         * console-msw.c:
8091         * console-msw.c (mswindows_get_console_hwnd):
8092         * console-msw.c (mswindows_ensure_console_allocated):
8093         * console-msw.c (mswindows_hide_console):
8094         * console-msw.c (mswindows_show_console):
8095         * console-msw.c (mswindows_ensure_console_buffered):
8096         * console-msw.c (mswindows_output_console_string):
8097         * console-msw.c (mswindows_windows9x_p):
8098         * console-msw.h:
8099         * device-msw.c (mswindows_get_workspace_coords):
8100         * device-msw.c (mswindows_device_system_metrics):
8101         * dialog-msw.c (mswindows_popup_dialog_box):
8102         * event-msw.c (mswindows_wnd_proc):
8103         * frame-msw.c (mswindows_size_frame_internal):
8104         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8105         * menubar-msw.c (displayable_menu_item):
8106         * menubar-msw.c (mswindows_char_is_accelerator):
8107         * nt.c:
8108         * nt.c (mswindows_sigset):
8109         * nt.c (mswindows_sigrelse):
8110         * nt.c (mswindows_sigpause):
8111         * nt.c (mswindows_raise):
8112         * nt.c (timer_proc):
8113         * ntproc.c:
8114         * ntproc.c (find_child_console):
8115         * ntproc.c (sys_kill):
8116         * print.c:
8117         * print.c (std_handle_out_external):
8118         * process-nt.c (find_child_console):
8119         * process-nt.c (send_signal_the_95_way):
8120         * process-nt.c (ensure_console_window_exists):
8121         * process-nt.c (nt_create_process):
8122         * syssignal.h:
8123         rename msw_ to mswindows_ for consistency with general convention.
8124
8125         * emacs.c:
8126         * dumper.c:
8127         include nt.h, not syswindows.h.
8128
8129         * nt.c (mswindows_fstat):
8130         * nt.c (mswindows_stat):
8131         prefix mswindows_ instead of attempting to directly override the
8132         library functions.  fix declarations.
8133
8134         * nt.h:
8135         include syswindows.h.  move some sysdep.h stuff here.
8136
8137         * ntheap.h:
8138         include syswindows.h, not <windows.h>.
8139
8140         * ntplay.c:
8141         clean up headers.
8142
8143         * sysdep.c:
8144         clean up headers.
8145
8146         * sysdep.c (sys_fstat):
8147         * sysdep.c (sys_stat):
8148         call mswindows versions when appropriate.
8149
8150         * sysdep.h:
8151         move mswin decls to nt.h.
8152
8153         * syswindows.h:
8154         add long comment describing appropriate use of the various windows
8155         headers.
8156
8157 2000-06-11  Ben Wing  <ben@xemacs.org>
8158
8159         * device-x.c: Correct doc string for sixth arg of x-get-resource.
8160
8161 2000-06-10  Ben Wing  <ben@xemacs.org>
8162
8163         * Makefile.in.in (release):
8164         Correction to make sure xemacs.exe always dumped when correct.
8165
8166         * alloca.c:
8167         * balloon_help.c:
8168         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
8169
8170         * buffer.c (set_buffer_internal):
8171         [[[[2]]]]: Remove HAVE_FEP code.
8172
8173         * buffer.c (init_initial_directory):
8174         [3].
8175
8176         * bytecode.c:
8177         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
8178         individual files.
8179
8180         * callproc.c:
8181         * callproc.c (call_process_cleanup):
8182         * callproc.c (Fold_call_process_internal):
8183         * callproc.c (child_setup):
8184         * callproc.c (getenv_internal):
8185         * callproc.c (init_callproc):
8186         * callproc.c (vars_of_callproc):
8187         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
8188         __CYGWIN32__ -> CYGWIN.
8189         DOS_NT -> WIN32_NATIVE.
8190         Remove MSDOS support/references, converting to WIN32_NATIVE
8191           where correct.
8192         __MINGW32__ -> MINGW.
8193         Fix windows.h includes.
8194         Remove bogus HAVE_NTGUI.
8195
8196         * config.h.in:
8197         [2].
8198
8199         * console-msw.c:
8200         mswindows_message_outputted added for use in allowing startup
8201         errors on the console to be seen.
8202
8203         * console-msw.c (msw_ensure_console_allocated):
8204         * console-msw.c (msw_output_console_string):
8205         * console-msw.c (DHEADER):
8206         * console-msw.c (DOPAQUE_DATA):
8207         * console-msw.c (DEVENT):
8208         * console-msw.c (DCONS):
8209         * console-msw.c (DCONSCDR):
8210         * console-msw.c (DSTRING):
8211         * console-msw.c (DVECTOR):
8212         * console-msw.c (DSYMBOL):
8213         * console-msw.c (DSYMNAME):
8214         Fix warnings.
8215
8216         * console-stream.c (stream_init_console):
8217         Fix text/binary problems.
8218
8219         * device-msw.c:
8220         * device-msw.c (mswindows_finish_init_device):
8221         * device-msw.c (mswindows_delete_device):
8222         [1].
8223
8224         * device.c (handle_asynch_device_change):
8225         [3].
8226
8227         * dgif_lib.c:
8228         * dgif_lib.c (DGifOpenFileName):
8229         * dgif_lib.c (DGifOpenFileHandle):
8230         * dgif_lib.c (DGifGetLine):
8231         * dgif_lib.c (DGifGetPixel):
8232         Added config.h/lisp.h, fix up includes.
8233         [1].
8234
8235         * dired-msw.c:
8236         [4].
8237
8238         * dired.c:
8239         * dired.c (file_name_completion):
8240         * dired.c (Ffile_attributes):
8241         * dired.c (syms_of_dired):
8242         [1].
8243
8244         * dumper.c:
8245         * dumper.c (pdump_file_unmap):
8246         * dumper.c (pdump_load):
8247         [1].
8248
8249         * editfns.c:
8250         * editfns.c (Ftemp_directory):
8251         * editfns.c (user_login_name):
8252         * editfns.c (Fuser_real_login_name):
8253         * editfns.c (get_home_directory):
8254         [1].
8255
8256         * elhash.c (finish_marking_weak_hash_tables):
8257         [[[[5]]]]: Fix GCC warnings.
8258
8259         * emacs.c:
8260         * emacs.c (mswindows_handle_hardware_exceptions):
8261         * emacs.c (make_arg_list_1):
8262         * emacs.c (main_1):
8263         * emacs.c (Fkill_emacs):
8264         * emacs.c (Fdump_emacs):
8265         [1].
8266         Fix problems with nested crashes, add long comment.
8267
8268         * event-Xt.c (init_event_Xt_late):
8269         [1].
8270
8271         * event-msw.c:
8272         * event-msw.c (mswindows_dde_callback):
8273         * event-msw.c (mswindows_handle_sticky_modifiers):
8274         * event-msw.c (mswindows_wnd_proc):
8275         [1].
8276         [5].
8277
8278         * events.c (character_to_event):
8279         [1].
8280
8281         * fileio.c:
8282         * fileio.c (Ffile_name_directory):
8283         * fileio.c (Ffile_name_nondirectory):
8284         * fileio.c (directory_file_name):
8285         * fileio.c (Fexpand_file_name):
8286         * fileio.c (Fsubstitute_in_file_name):
8287         * fileio.c (Ffile_name_absolute_p):
8288         * fileio.c (check_executable):
8289         * fileio.c (Ffile_readable_p):
8290         * fileio.c (Ffile_accessible_directory_p):
8291         * fileio.c (Ffile_modes):
8292         * fileio.c (Funix_sync):
8293         * fileio.c (vars_of_fileio):
8294         [1]. [4].
8295
8296         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
8297
8298         Expand getdefdir defn.
8299         Fix bogus rename() comment.
8300
8301         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
8302         to use standard XEmacs include files, e.g. sysfile.h, rather
8303         than system-specific includes.
8304
8305         * fns.c:
8306         * fns.c (Fsubseq):
8307         [5]. [6].
8308
8309         * frame.c (vars_of_frame):
8310         [1].
8311
8312         * getloadavg.c:
8313         * getloadavg.c (getloadavg):
8314         [1]. [6].
8315         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
8316         (We don't use it elsewhere in the code; just add a comment.)
8317
8318         * gif_io.c:
8319         [6].
8320         Add config.h.
8321
8322         * glyphs-msw.c:
8323         * glyphs-msw.c (mswindows_resource_instantiate):
8324         [1].
8325
8326         * glyphs-x.c (x_native_layout_instantiate):
8327         [5].
8328
8329         * gui-msw.c (Fmswindows_shell_execute):
8330         [1].
8331
8332         * insdel.c:
8333         [4].
8334
8335         * lisp.h:
8336         [4]. [5].
8337
8338         * lread.c (locate_file_in_directory_mapper):
8339         [1].
8340
8341         * lstream.c:
8342         [4].
8343
8344         * mem-limits.h:
8345         * mem-limits.h (get_lim_data):
8346         [1].
8347
8348         * menubar-msw.c:
8349         [4].
8350
8351         * ndir.h:
8352         [1].
8353
8354         * nt.c:
8355         * nt.c (getwd):
8356         * nt.c (closedir):
8357         * nt.c (rva_to_section):
8358         * nt.c (mswindows_executable_type):
8359         [1]. [6].
8360         Fix closedir() defn.
8361
8362         * nt.h:
8363         [[[[8]]]]: *_OK defs moved to sysfile.h.
8364
8365         * ntproc.c:
8366         [6]. [7].
8367
8368         * objects-x.c:
8369         [4].
8370
8371         * print.c:
8372         * print.c (std_handle_out_external):
8373         [1]. [4].
8374
8375         * process-nt.c:
8376         * process-nt.c (nt_create_process):
8377         [6].
8378         try to fix process quoting somewhat.
8379
8380         * process-unix.c (unix_create_process):
8381         [1].
8382
8383         * process.c:
8384         * process.c (vars_of_process):
8385         Add Vnull_device.
8386
8387         * process.h:
8388         [1].
8389
8390         * realpath.c:
8391         * realpath.c (xrealpath):
8392         [1].
8393
8394         * redisplay-tty.c (init_tty_for_redisplay):
8395         [3].
8396
8397         * redisplay.c:
8398         [4]. [6].
8399
8400         * scrollbar-msw.c:
8401         [4].
8402
8403         * sheap.c:
8404         * sheap.c (more_static_core):
8405         * sheap.c (report_sheap_usage):
8406         [5]. [6].
8407
8408         * signal.c:
8409         * signal.c (alarm_signal):
8410         [1]. [6].
8411
8412         * sound.c:
8413         [6].
8414
8415         * strftime.c:
8416         * strftime.c (zone_name):
8417         [1]. [5].
8418
8419         * symsinit.h (init_sunpro):
8420         [1].
8421
8422         * syscommctrl.h:
8423         commctrl.h not in Cygwin b20.1.
8424
8425         * sysdep.c:
8426         * sysdep.c (endif):
8427         * sysdep.c (sys_subshell):
8428         * sysdep.c (init_baud_rate):
8429         * sysdep.c (emacs_get_tty):
8430         * sysdep.c (emacs_set_tty):
8431         * sysdep.c (tty_init_sys_modes_on_device):
8432         * sysdep.c (init_system_name):
8433         * sysdep.c (sys_open):
8434         * sysdep.c (interruptible_open):
8435         * sysdep.c (sys_fopen):
8436         * sysdep.c (sys_mkdir):
8437         * sysdep.c (sys_rename):
8438         * sysdep.c (get_process_times_1):
8439         [1]. [6].
8440
8441         * sysdep.h:
8442         [1].
8443
8444         * sysdir.h:
8445         * sysdir.h (DIRENTRY_NONEMPTY):
8446         [1]. [6].
8447
8448         * sysdll.c (dll_init):
8449         * sysdll.h:
8450         [1].
8451
8452         * sysfile.h:
8453         [1]. [6]. [8].
8454         added text/binary defs.
8455
8456         * sysfloat.h:
8457         [1].
8458
8459         * sysproc.h:
8460         * sysproc.h (EDESTADDRREQ):
8461         * sysproc.h (poll_fds_for_input):
8462         [1]. [6].
8463
8464         * syspwd.h:
8465         [6].
8466
8467         * syssignal.h:
8468         [1].
8469
8470         * systime.h:
8471         [1]. [6].
8472
8473         * systty.h:
8474         [1].
8475
8476         * syswindows.h:
8477         [1].
8478         Always define WIN32_LEAN_AND_MEAN.
8479
8480         * unexcw.c (unexec):
8481         [5].
8482
8483         * unexec.c:
8484         * unexec.c (copy_text_and_data):
8485         * unexec.c (adjust_lnnoptrs):
8486         [1].
8487
8488         * unexnt.c:
8489         * unexnt.c (_start):
8490         [1].
8491
8492 2000-06-07  Ben Wing  <ben@xemacs.org>
8493
8494         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
8495         was used only as a model.  We've long since extracted any useful
8496         logic or code out of this. (I just did an exhaustive search.)
8497
8498         * s\msdos.h: Removed.
8499
8500         * s\windows95.h: Removed.
8501
8502 2000-06-10  Ben Wing  <ben@xemacs.org>
8503
8504         * s\cygwin32.h:
8505         [1]. [5].
8506         Don't use extern with fun defs.
8507
8508         * s\mingw32.h:
8509         [1]. [7].
8510         Remove nt\inc include.
8511         Remove getdisk, getdefdir. (The former is unused, the latter
8512         expanded in fileio.h.)
8513
8514         * s\windowsnt.h:
8515         * s\windowsnt.h (WIN32_NATIVE):
8516         * s\windowsnt.h (HAVE_STRCASECMP):
8517         [1]. [7].
8518         Add long comment about preprocessor changes.
8519         Remove getdisk, getdefdir. (The former is unused, the latter
8520         expanded in fileio.h.)
8521
8522 2000-06-10  Ben Wing  <ben@xemacs.org>
8523
8524         * m\arm.h:
8525         * m\delta.h:
8526         * m\intel386.h:
8527         * m\sequent.h:
8528         * m\template.h:
8529         * m\windowsnt.h:
8530         [1].
8531         Remove bogus/unused NO_SOCK_SIGIO.
8532
8533 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
8534
8535         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
8536         not an Emchar.
8537
8538 2000-06-04  Mike Sperber <mike@xemacs.org>
8539
8540         * casetab.c (set_case_table): For `set-standard-case-table',
8541         actually deposit the new case tables where the rest of XEmacs can
8542         see them.
8543
8544 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
8545
8546         * data.c (Faset): Don't cast XCHAR() to unsigned char.
8547
8548 2000-06-05  Ben Wing  <ben@xemacs.org>
8549
8550         * callproc.c (child_setup): Don't do close_load_descs() under
8551         MS Windows.  Put in a comment explaining why.
8552
8553 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
8554
8555         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
8556         Toolkit shell" which breaks `kill-compilation' on Windows NT
8557         native, retaining STDERR handling improvements.
8558
8559 2000-06-01  Andreas Jaeger  <aj@suse.de>
8560
8561         * s/s390.h: Support for S390, based on a patch by Martin
8562         Schwidefsky <schwidefsky@de.ibm.com>.
8563
8564 2000-05-30  Andy Piper  <andy@xemacs.org>
8565
8566         * window.c (allocate_window):
8567         (make_dummy_parent):
8568         (Fset_window_configuration): use new hashtable type.
8569
8570         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
8571         (struct image_instantiator_methods):
8572         (struct Lisp_Image_Instance): make instance geometry signed.
8573
8574         * glyphs.c (instantiate_image_instantiator):
8575         (image_instance_query_geometry):
8576         (image_instance_layout):
8577         (image_instance_layout):
8578         (query_string_geometry):
8579         (text_query_geometry):
8580         (image_instantiate):
8581         (image_instantiate):
8582         (cache_subwindow_instance_in_frame_maybe):
8583         (subwindow_query_geometry): make instance geometry signed.
8584
8585         * glyphs-widget.c (widget_query_geometry):
8586         (widget_layout):
8587         (button_query_geometry):
8588         (tree_view_query_geometry):
8589         (tab_control_query_geometry):
8590         (layout_query_geometry):
8591         (layout_layout):
8592         (native_layout_layout): make instance geometry signed.
8593
8594 2000-05-29  Olivier Galibert  <galibert@pobox.com>
8595
8596         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
8597         constant.
8598
8599         * general.c (syms_of_general): Add Qfull_assoc symbol.
8600
8601         * data.c (finish_marking_weak_lists): Mark full-assoc lists
8602         correctly.
8603         (decode_weak_list_type): Decode full-assoc type.
8604         (encode_weak_list_type): Encode full-assoc type.
8605         (Fmake_weak_list): Update doc string.
8606
8607 2000-05-30  Andy Piper  <andy@xemacs.org>
8608
8609         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
8610
8611         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
8612         (decode_hash_table_weakness): ditto.
8613         (Fhash_table_weakness): ditto.
8614         (Fhash_table_type): ditto.
8615         (finish_marking_weak_hash_tables): ditto.
8616         (hash_table_weakness_validate): ditto.
8617         (syms_of_elhash): ditto.
8618
8619 2000-05-28  Martin Buchholz <martin@xemacs.org>
8620
8621         * XEmacs 21.2.34 is released.
8622
8623 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8624
8625         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
8626         start cache.
8627         (updating_line_start_cache): Gone.
8628         (regenerate_window): Replace resetting of VERTICAL_CLIP by
8629         generic code to force a minimum of 1 line laid out in the
8630         CMOTION_DISP case.
8631
8632 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8633
8634         * glyphs.c (instantiate_image_instantiator): Check for initialized
8635         height & width no longer special cases IMAGE_NOTHING.
8636         (nothing_instantiate): Set height and width of instance.
8637
8638 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8639
8640         * unexelf.c (unexec): Search for ".data" section.
8641         Initialize new_data2_offset from old_data_index.
8642         Remove redundant check for ElfW.
8643
8644 2000-05-23  Andy Piper  <andy@xemacs.org>
8645
8646         * glyphs.c (get_image_instantiator_governing_domain): allow more
8647         specific domains as the governing domain rather than expecting an
8648         exact match. This fixes problems with layouts.
8649
8650 2000-05-22  Andy Piper  <andy@xemacs.org>
8651
8652         * redisplay-output.c (compare_runes): check for non-images
8653
8654         * glyphs.c (set_glyph_dirty_p): ditto.
8655         (update_glyph_cachel_data): ditto.
8656
8657         * glyphs-widget.c (layout_post_instantiate): ditto.
8658         (layout_post_instantiate): ditto.
8659
8660         * event-msw.c (mswindows_wnd_proc): warning removal.
8661
8662 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
8663
8664         * s\mingw32.h: Added #undef for CLASH_DETECTION.
8665
8666         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
8667
8668         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
8669
8670         * nt.c (rva_to_section): mingw32 needs rva_to_section.
8671         (mswindows_executable_type): mingw32 now has enough headers for
8672         this to work.
8673
8674 2000-05-20  Andy Piper  <andy@xemacs.org>
8675
8676         * console-msw.c (mswindows_output_last_error): ; -> ,
8677
8678 2000-05-12  Andy Piper  <andy@xemacs.org>
8679
8680         * console-msw.c (FROB): compare ints with ints.
8681
8682 2000-05-11  Andy Piper  <andy@xemacs.org>
8683
8684         * glyphs-x.c (x_finalize_image_instance): make minimal build
8685         happy.
8686
8687 2000-05-20  Ben Wing  <ben@xemacs.org>
8688
8689         * event-Xt.c:
8690         * event-Xt.c (vars_of_event_Xt):
8691         move modifier-keys-are-sticky to event-stream.c.
8692
8693         * event-msw.c:
8694         * event-msw.c (mswindows_enqueue_mouse_button_event):
8695         * event-msw.c (key_needs_default_processing_p):
8696         * event-msw.c (XEMSW_LCONTROL):
8697         * event-msw.c (mswindows_handle_sticky_modifiers):
8698         * event-msw.c (FROB):
8699         * event-msw.c (clear_sticky_modifiers):
8700         * event-msw.c (output_modifier_keyboard_state):
8701         * event-msw.c (output_alt_keyboard_state):
8702         * event-msw.c (mswindows_wnd_proc):
8703         * event-msw.c (mswindows_modifier_state):
8704         * event-msw.c (emacs_mswindows_handle_magic_event):
8705         implement sticky modifiers.
8706
8707         * event-stream.c:
8708         * event-stream.c (vars_of_event_stream):
8709         move modifier-keys-are-sticky here.
8710
8711         * lisp.h:
8712         add CHECK_FUNCTION.
8713
8714         * rangetab.c:
8715         implement map-range-table.
8716
8717
8718 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
8719
8720         * redisplay-tty.c (reset_tty_modes):
8721         (tty_redisplay_shutdown): Adjust argument type to
8722         tty_frame_output_end.
8723
8724 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8725
8726         * eval.c (Fbacktrace): Don't output a line with only right
8727         parenthesis.
8728
8729 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
8730
8731         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
8732         (Fpq_reset_poll): Ditto.
8733
8734 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
8735
8736         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
8737
8738 2000-05-16  Ben Wing  <ben@xemacs.org>
8739
8740         * buffer.c:
8741         * buffer.c (dfc_convert_to/from_internal_format):
8742         * buffer.c (reinit_vars_of_buffer):
8743         Fix conversion functions to allow reentrancy.
8744
8745         * console-msw.c:
8746         * console-msw.c (mswindows_output_last_error):
8747         New fun, generally useful -- output a human-readable
8748         version of GetLastError() on the console.
8749
8750         * console-msw.h:
8751         * console-msw.h (struct mswindows_frame):
8752         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
8753
8754         * console-stream.c (stream_output_begin):
8755         * console-stream.c (stream_output_end):
8756         * console-stream.c (stream_output_vertical_divider):
8757         * console-stream.c (stream_clear_region):
8758         * console-stream.c (stream_flash):
8759         * console-stream.c (console_type_create_stream):
8760         Delete blank stream methods, not needed.
8761
8762         * console.h (struct console_methods):
8763         Split begin/end methods into window and frame.
8764
8765         * event-msw.c:
8766         * event-msw.c (mswindows_handle_paint):
8767         * event-msw.c (output_alt_keyboard_state):
8768         * event-msw.c (mswindows_wnd_proc):
8769         * event-msw.c (vars_of_event_mswindows):
8770         Comment about problems with ignored-expose.
8771         Define mswindows-debug-events; not really implemented.
8772
8773         * frame-msw.c (mswindows_init_frame_1):
8774         random cleanups.
8775
8776         * glyphs-msw.c:
8777         * glyphs-msw.c (begin_defer_window_pos):
8778         * glyphs-msw.c (mswindows_unmap_subwindow):
8779         * glyphs-msw.c (mswindows_map_subwindow):
8780         * glyphs-msw.c (mswindows_resize_subwindow):
8781         Use DeferWindowPos to reduce flashing when mapping/unmapping.
8782
8783         * glyphs.c (make_image_instance_1):
8784         Fix crash.
8785
8786         * gutter.c (Fredisplay_gutter_area):
8787         Use new begin/end methods.
8788
8789         * lisp.h (Dynarr_new2):
8790         New creation fun.
8791
8792         * redisplay-msw.c:
8793         * redisplay-msw.c (mswindows_frame_output_begin):
8794         * redisplay-msw.c (mswindows_frame_output_end):
8795         * redisplay-msw.c (console_type_create_redisplay_mswindows):
8796         New begin/end methods -- handle DeferWindowPos.
8797
8798         * redisplay-output.c (redisplay_move_cursor):
8799         * redisplay-output.c (redraw_cursor_in_window):
8800         * redisplay-output.c (redisplay_update_line):
8801         * redisplay-output.c (redisplay_output_window):
8802         New begin/end methods.
8803
8804         * redisplay-tty.c:
8805         * redisplay-tty.c (tty_frame_output_begin):
8806         * redisplay-tty.c (tty_frame_output_end):
8807         * redisplay-tty.c (console_type_create_redisplay_tty):
8808         New begin/end methods.
8809
8810         * redisplay-x.c:
8811         * redisplay-x.c (x_window_output_begin):
8812         * redisplay-x.c (x_window_output_end):
8813         * redisplay-x.c (console_type_create_redisplay_x):
8814         New begin/end methods.
8815
8816         * redisplay.c (redisplay_frame):
8817         * redisplay.c (Fredisplay_echo_area):
8818         New begin/end methods.
8819         use MAYBE_DEVMETH for clear_frame; it may not exist.
8820
8821         * window.h (WINDOW_XFRAME):
8822         WINDOW_XFOO macros -- get locale and decode struct pointer.
8823
8824
8825 2000-05-12  Ben Wing  <ben@xemacs.org>
8826
8827         * emacs.c:
8828         * emacs.c (ensure_no_quitting_from_now_on):
8829         * emacs.c (fatal_error_signal):
8830         * emacs.c (mswindows_handle_hardware_exceptions):
8831         * emacs.c (main):
8832         * emacs.c (Fkill_emacs):
8833         * emacs.c (shut_down_emacs):
8834         * emacs.c (assert_failed):
8835         various improvements in fatal error handling.
8836
8837         * eval.c:
8838         move preparing_for_armageddon to emacs.c.
8839
8840         * lisp.h:
8841         declare fatal_error_in_progress.
8842
8843         * print.c:
8844         * print.c (std_handle_out_external):
8845         * print.c (std_handle_out_va):
8846         * print.c (stderr_out):
8847         * print.c (stdout_out):
8848         use console under mswin when no standard output.
8849         don't do code conversion during fatal error.
8850
8851         * scrollbar.c (Fscrollbar_page_up):
8852         * scrollbar.c (Fscrollbar_page_down):
8853         fix missing else.  reindent.
8854
8855 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
8856
8857         Emergency fix.
8858
8859         * glyphs.h (GLYPH_CACHEL_DESCENT):
8860         (GLYPH_CACHEL_DESCENT):
8861         (GLYPH_CACHEL_DESCENT):
8862         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
8863         used in case these are inline functions.
8864         Use more absurd values to error check.
8865
8866         include window.h for error check functions.
8867
8868 2000-05-11  Ben Wing  <ben@xemacs.org>
8869
8870         * cmdloop.c (Freally_early_error_handler):
8871         Display message box under windows; otherwise, message will disappear
8872         before it can be viewed.
8873
8874         * console-msw.c:
8875         * console-msw.c (Fmswindows_message_box):
8876         * console-msw.c (FROB):
8877         * console-msw.c (syms_of_console_mswindows):
8878         Define new fun `mswindows-message-box'.
8879         #### I will merge this into `popup-dialog-box'; just give me
8880         a bit of time.
8881
8882         * general.c:
8883         * general.c (syms_of_general):
8884         Some new symbols used in `mswindows-message-box'.
8885
8886         * glyphs.c:
8887         * glyphs.c (Fset_image_instance_property):
8888         put warning in this fun.
8889
8890         * glyphs.h:
8891         * glyphs.h (GLYPH_CACHEL_WIDTH):
8892         * glyphs.h (GLYPH_CACHEL_ASCENT):
8893         * glyphs.h (GLYPH_CACHEL):
8894         * glyphs.h (GLYPH_CACHEL_GLYPH):
8895         define error-checking versions to try to catch a bug i've seen --
8896         redisplay gets in an infinite loop because the glyph width of the
8897         continuation glyph is 65535.
8898
8899         * lisp.h:
8900         Extern message-box stuff.
8901
8902         * window.c (allocate_window):
8903         * window.c (make_dummy_parent):
8904         * window.c (Fset_window_configuration):
8905         Use EQUAL not EQ for subwindow caches to make them work a bit
8906         better. (Something is still very broken.)
8907
8908
8909 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8910
8911         * glyphs.c (image_instantiate): Suppress gcc warnings.
8912         (Fmake_image_instance): Fix doc string.
8913         * specifier.c (Fmake_specifier): Ditto.
8914
8915 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
8916
8917         * paths.h.in (PATH_LOCK): Removed.
8918         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
8919         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
8920
8921 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8922
8923         * fns.c (Ffeaturep): Update e-mail address in doc-string.
8924         Document (featurep '(and xemacs 21.02)).
8925
8926 2000-05-09  Ben Wing  <ben@xemacs.org>
8927
8928         * buffer.c (complex_vars_of_buffer):
8929         update modeline-format doc.
8930
8931         * device.h:
8932         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
8933
8934         * emacs.c:
8935         timeline of all released versions of Emacs, for use in creating
8936         authorship comments and in synching up.
8937
8938         * glyphs-widget.c (image_instantiator_buttons):
8939         * glyphs-widget.c (image_instantiator_edit_fields):
8940         * glyphs-widget.c (image_instantiator_combo_box):
8941         * glyphs-widget.c (image_instantiator_scrollbar):
8942         * glyphs-widget.c (image_instantiator_progress_guage):
8943         * glyphs-widget.c (image_instantiator_tree_view):
8944         * glyphs-widget.c (image_instantiator_tab_control):
8945         * glyphs-widget.c (image_instantiator_labels):
8946         * glyphs-widget.c (image_instantiator_layout):
8947         * glyphs-widget.c (image_instantiator_native_layout):
8948         rename decode_domain method to governing_domain.
8949
8950         * glyphs.c:
8951         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
8952         * glyphs.c (add_entry_to_device_ii_format_list):
8953         make sure we don't put an entry more than once into the list.
8954         * glyphs.c (check_instance_cache_mapper):
8955         *************************************************************
8956         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8957         HAVE BEEN GETTING.
8958         *************************************************************
8959         * glyphs.c (get_image_instantiator_governing_domain):
8960         clean up, expand on new concept of governing domain.
8961         * glyphs.c (instantiate_image_instantiator):
8962         * glyphs.c (allocate_image_instance):
8963         use governing_domain instead of cache_domain in naming.
8964         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
8965         * glyphs.c (make_image_instance_1):
8966         * glyphs.c (Fmake_image_instance):
8967         allow for any domain (not just device), and process the
8968         governing domain correctly.  very big doc fix.
8969         * glyphs.c (Fimage_instance_domain):
8970         new primitive, to retrieve the governing domain of an image instance.
8971         * glyphs.c (image_instantiate):
8972         use new governing_domain stuff.  this fixes a crash you could get
8973         by instantiating certain widget glyphs in frame locales. (should
8974         signal an error instead of crashing.)
8975         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
8976         * glyphs.c (Fglyphp): clean up doc.
8977         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
8978         * glyphs.c (syms_of_glyphs):
8979         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
8980         * glyphs.c (image_instantiator_format_create): add some comments about
8981         bogus code.
8982         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
8983         for current-display-table. (Apparently Hrjove implemented in 1998 a
8984         design I wrote up in 1996, but didn't update the doc string.)
8985
8986         * glyphs.h: clean up a doc string.
8987         * glyphs.h (governing_domain):
8988         * glyphs.h (struct image_instantiator_methods):
8989         changes for governing_domain stuff.
8990
8991         * gutter.c:
8992         * gutter.c (Fgutter_specifier_p):
8993         * gutter.c (Fgutter_size_specifier_p):
8994         * gutter.c (Fgutter_visible_specifier_p):
8995         * objects.c:
8996         * objects.c (Fcolor_specifier_p):
8997         * objects.c (Ffont_specifier_p):
8998         * objects.c (Fface_boolean_specifier_p):
8999         doc strings moved to make-*-specifier.
9000
9001         * redisplay.c (add_disp_table_entry_runes_1):
9002         * redisplay.c (generate_fstring_runes):
9003         * redisplay.c (screen):
9004         add random comments and doc strings.
9005
9006         * specifier.c:
9007         * specifier.c (Fmake_specifier):
9008         major overhaul of this doc string.
9009
9010         * specifier.c (Fvalid_specifier_domain_p):
9011         comment about the bogosity of image instances being domains.
9012         * specifier.c (decode_domain):
9013         now non-static, used in glyphs.c.
9014         * specifier.c (specifier_instance):
9015         comment about the bogosity of image instances being domains.
9016         * specifier.c (Fgeneric_specifier_p):
9017         move doc string to make-generic-specifier.
9018         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
9019         rebackslashify.
9020
9021         * specifier.h:
9022         * specifier.h (DOMAIN_FRAME):
9023         * specifier.h (DOMAIN_LIVE_P):
9024         * specifier.h (DOMAIN_XDEVICE):
9025         rebackslashify.
9026         add comments about problems with these macros.
9027         prototype for decode_domain.
9028
9029         * toolbar.c:
9030         * toolbar.c (Ftoolbar_specifier_p):
9031         move doc string to `make-toolbar-specifier'.
9032
9033         * window.c (window_unmap_subwindows_cache_mapper):
9034         *************************************************************
9035         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
9036         HAVE BEEN GETTING.
9037         *************************************************************
9038
9039 2000-05-09  Andy Piper  <andy@xemacs.org>
9040
9041         * glyphs.h: declare reset_frame_subwindow_instance_cache.
9042
9043         * window.c (Fset_window_configuration): reset the frame subwindow
9044         cache and re-initialize the window subwindow caches.
9045
9046         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
9047
9048 2000-05-09  Ben Wing  <ben@xemacs.org>
9049
9050         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
9051         DWORD.
9052
9053 2000-04-26  Mike Woolley  <mike@bulsara.com>
9054
9055         * ntheap.c: Changed recreate_heap to limit the amount reserved
9056         for the heap to that which is actually available. Also now
9057         displays a message box (with some dignostics) in the event that
9058         it still can't start.
9059
9060 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
9061
9062         * callproc.c (Fold_call_process_internal): GCPRO path
9063
9064 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
9065
9066         Patch by Bill Perry.
9067
9068         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
9069         back data instead of #ifdef.
9070         (Fscrollbar_page_down): ditto.
9071
9072 2000-05-07  Ben Wing  <ben@xemacs.org>
9073
9074         * buffer.h:
9075         Kludge for defining Qmswindows_tstr.
9076
9077         * nt.c:
9078         * nt.c (open_input_file):
9079         * nt.c (open_output_file):
9080         * nt.c (rva_to_section):
9081         * nt.c (mswindows_executable_type):
9082         Move all memory-mapped-file routines here (some were in unexnt.c,
9083         which is bad because they are used by process-nt.c, and unexnt
9084         won't be around when portable dumping).  Synched the above routines
9085         with FSF 20.6.
9086
9087         * nt.h:
9088         Removed ifdef'd out bogus code.
9089         Fixed some prototypes.
9090
9091         * nt.h (file_data):
9092         * nt.h (OFFSET_TO_RVA):
9093         * nt.h (RVA_TO_OFFSET):
9094         * nt.h (RVA_TO_PTR):
9095         Moved the memory-mapped-file structures, macros and prototypes
9096         here, to parallel nt.c.  ntheap.h should really be removed
9097         entirely, and it's a non-portable-dumper specific file.
9098
9099         * ntheap.h (round_to_next):
9100         Moved the memory-mapped-file structures, macros and prototypes
9101         to nt.h.
9102
9103         * ntproc.c (compare_env):
9104         Moved rva_to_section and mswindows_executable_type to nt.c.
9105         Moved compare_env to process-nt.c.
9106         ntproc.c will die, one day.
9107
9108         * ntproc.c (sys_spawnve):
9109         Account for win32_ -> mswindows_.
9110
9111         * process-nt.c:
9112         * process-nt.c (struct nt_process_data):
9113         * process-nt.c (ensure_console_window_exists):
9114         * process-nt.c (compare_env):
9115         * process-nt.c (nt_create_process):
9116         * process-nt.c (nt_kill_process_by_pid):
9117         * process-nt.c (syms_of_process_nt):
9118         * process-nt.c (vars_of_process_nt):
9119         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
9120         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
9121         changes).  Eliminate our old `nt-quote-process-args' mechanism.
9122         Synch up nt_create_process with FSF 20.6 sys_spawnve.
9123         Move compare_env here from ntproc.c.
9124
9125         * process.c (Fprocess_send_region):
9126         Takes an optional fourth argument, BUFFER, which should fix some
9127         problems with call-process.
9128
9129         * syscommctrl.h:
9130         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
9131
9132         * syswindows.h:
9133         Move ICC_BAR_CLASSES to syscommctrl.h.
9134         Add preliminary macros for MSWindows/Mule.  More to come.
9135
9136         * unexnt.c:
9137         * unexnt.c (unexec):
9138         open_output_file moved to nt.c.
9139
9140
9141 2000-05-05  Andy Piper  <andy@xemacs.org>
9142
9143         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
9144         instance from the frame cache also since GC may catch up too late
9145         to make frame deletion sane.
9146
9147 2000-05-04  Andy Piper  <andy@xemacs.org>
9148
9149         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
9150         (x_finalize_image_instance): ungcpro on deletion.
9151
9152         * glyphs.c (image_instantiator_format_create): give pointers a
9153         query geometry method so that the geometry is at least set.
9154
9155         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
9156         initialize layouts if using widgets.
9157
9158 2000-05-03  Andy Piper  <andy@xemacs.org>
9159
9160         * nt.c: remove bogus reference to sysmmsystem.h
9161
9162         * gui-x.c (popup_selection_callback): fix no selection abort.
9163
9164 2000-05-02  Andy Piper  <andy@xemacs.org>
9165
9166         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
9167         (mswindows_widget_instantiate): ditto.
9168
9169         * glyphs-widget.c (initialize_widget_image_instance): initialize
9170         children correctly.
9171         (widget_instantiate): cope with children and items in the same
9172         instance.
9173
9174         * glyphs.c (mark_image_instance): cope with children as a first
9175         class member.
9176         (image_instance_equal): ditto.
9177         (image_instance_hash): ditto.
9178         (image_instance_changed): ditto.
9179
9180 2000-04-30  Andy Piper  <andy@xemacs.org>
9181
9182         * glyphs.c (subwindow_query_geometry): new function. Return some
9183         defaults.
9184         (subwindow_instantiate): don't assign dimensions if none have been
9185         given.
9186         (image_instantiator_format_create): add subwindow_query_geometry.
9187         (print_image_instance): cope with layouts as widgets.
9188
9189 2000-04-29  Andy Piper  <andy@xemacs.org>
9190
9191         * frame.c (delete_frame_internal): call
9192         free_frame_subwindow_instance_cache so that all subwindows are
9193         finalized before their parent.
9194         (mark_frame): remove subwindow_cachels.
9195         (Fmake_frame): remove subwindow_cachel manipulation.
9196         (allocate_frame_core): subwindow_instance_cache is a weak list.
9197         (delete_frame_internal): set subwindow_instance_cache to nil.
9198
9199         * glyphs-msw.c (mswindows_finalize_image_instance): make double
9200         finalization safe.
9201         (mswindows_finalize_image_instance): use the device
9202         not the domain as the domain may have died already.
9203
9204         * glyphs-x.c (x_finalize_image_instance): ditto.
9205         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
9206         HEIGHT.
9207
9208         * redisplay-output.c (redisplay_unmap_subwindows): update for
9209         subwindow instance cache as a weak list.
9210         (redisplay_unmap_subwindows_maybe): ditto.
9211         (redisplay_unmap_subwindows_except_us): ditto.
9212
9213         * glyphs.c (unmap_subwindow): error checking will check the domain
9214         so don't deal with it here. Don't use cachels anymore.
9215         (map_subwindow): ditto.
9216         (update_subwindow_cachel_data): remove old accessor names.
9217         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
9218         (Fresize_subwindow): don't update cachel.
9219         (mark_subwindow_cachels):
9220         (update_subwindow_cachel_data):
9221         (add_subwindow_cachel):
9222         (get_subwindow_cachel_index):
9223         (update_subwindow_cachel):
9224         (reset_subwindow_cachels):
9225         (mark_subwindow_cachels_as_not_updated): deleted.
9226         (cache_subwindow_instance_in_frame_maybe): new function. Add a
9227         subwindow instance to the frame cache.
9228         (find_matching_subwindow): update for subwindow instance cache as
9229         a weak list.
9230         (update_widget_instances): ditto.
9231         (image_instance_type_to_mask):inlined.
9232         (free_frame_subwindow_instance_cache): new function. finalize all
9233         subwindows that are instantiated.
9234
9235         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
9236         of cachel information.
9237         (IMAGE_INSTANCE_DISPLAY_X):
9238         (IMAGE_INSTANCE_DISPLAY_Y):
9239         (IMAGE_INSTANCE_DISPLAY_WIDTH):
9240         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
9241         (XIMAGE_INSTANCE_DISPLAY_X):
9242         (XIMAGE_INSTANCE_DISPLAY_Y):
9243         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
9244         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
9245         remove subwindow_cachel structure and function references.
9246         (image_instance_type_to_mask): inline from glyphs.c
9247
9248         * redisplay.c (redisplay_frame): remove subwindow_cachel
9249         references.
9250
9251         * frame.h (struct frame): remove subwindow_cachels.
9252         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
9253
9254         * frameslots.h: add subwindow_instance_cache.
9255
9256         * window.c (replace_window): check subwindow cache of replacement.
9257         (window_unmap_subwindows_cache_mapper):
9258         (window_unmap_subwindows): new functions. Unmap all subwindows
9259         cached on this window.
9260         (mark_window_as_deleted): unmap all subwindows.
9261
9262 2000-04-27  Andy Piper  <andy@xemacs.org>
9263
9264         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
9265
9266         * glyphs-widget.c (widget_layout): return something.
9267         (layout_layout): return something. Fail if not initialized.
9268         (layout_query_geometry): ditto.
9269         (image_instantiator_native_layout): new function. Initialized the
9270         native layout type.
9271         (widget_instantiate): don't do layout stuff here.
9272
9273         * glyphs.c (instantiate_image_instantiator): reorded calling or
9274         instantiate and post_instantiate with layout in between.
9275         (image_instance_layout): be more selective about deciding whether
9276         the layout has been done or not.
9277
9278         * glyphs.h (struct image_instantiator_methods): return a value
9279         from layout_method.
9280
9281 2000-04-26  Andy Piper  <andy@xemacs.org>
9282
9283         * glyphs.c (allocate_image_instance): make initial width and
9284         height unspecified. Set initialized to 0.
9285
9286         * syscommctrl.h new file. Encapsulates commctrl.h.
9287
9288         * syswindows.h new file. Encapsulates windows.h.
9289
9290         * ntplay.c: use new syswindows.h and syscommctrl.h header.
9291         * nt.c: ditto.
9292         * console-msw.h: ditto.
9293
9294         * redisplay-tty.c (tty_output_display_block): remove layout references.
9295
9296         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
9297         window handle rather than just the frame.
9298
9299         * glyphs.c (mark_image_instance): remove layout references.
9300         (print_image_instance): ditto.
9301         (image_instance_equal): ditto.
9302         (image_instance_hash): ditto.
9303         (decode_image_instance_type): ditto.
9304         (encode_image_instance_type): ditto.
9305         (image_instantiate): ditto.
9306         (allocate_glyph): ditto.
9307         (Fimage_instance_height): ditto.
9308         (Fimage_instance_width): ditto.
9309         (update_subwindow): ditto.
9310
9311         * redisplay-x.c (x_output_display_block): recode for layouts as
9312         widgets.
9313
9314         * redisplay-output.c (redisplay_output_layout): recode for layouts
9315         as widgets.
9316         (compare_runes): remove layout references.
9317
9318         * redisplay-msw.c (mswindows_output_display_block): recode for
9319         layouts as widgets.
9320
9321         * glyphs-widget.c (image_instantiator_layout): remove
9322         layout_possible_dest_types.
9323         (layout_possible_dest_types): deleted.
9324
9325         * glyphs.h (image_instance_type): remove layout references.
9326         (struct Lisp_Image_Instance): ditto. Add initialized flag.
9327         (IMAGE_INSTANCE_INITIALIZED): new accessor.
9328         (XIMAGE_INSTANCE_INITIALIZED): ditto.
9329
9330 2000-04-25  Andy Piper  <andy@xemacs.org>
9331
9332         * glyphs-widget.c (image_instantiator_buttons):
9333         (image_instantiator_edit_fields):
9334         (image_instantiator_combo_box):
9335         (image_instantiator_scrollbar):
9336         (image_instantiator_progress_guage):
9337         (image_instantiator_tree_view):
9338         (image_instantiator_tab_control):
9339         (image_instantiator_labels):
9340         (image_instantiator_layout): call default post_instantiate method.
9341         (widget_post_instantiate): new function. Simply lays out the
9342         widgets.
9343
9344         * glyphs.h (struct image_instantiator_methods): add
9345         post_instantiate method.
9346
9347         * glyphs.c (instantiate_image_instantiator): add post_instantiate
9348         method calls.
9349
9350 2000-04-23  Andy Piper  <andy@xemacs.org>
9351
9352         * glyphs.h (struct image_instantiator_methods): add
9353         decode_domain_method.
9354         (struct Lisp_Image_Instance): remove subwindow frame - it can be
9355         derived from the domain.
9356         (IMAGE_INSTANCE_FRAME): new accessor.
9357         (XIMAGE_INSTANCE_FRAME): ditto.
9358
9359         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
9360         instead of _SUBWINDOW_FRAME.
9361         (finalize_image_instance): ditto.
9362         (Fimage_instance_foreground): ditto.
9363         (Fimage_instance_background): ditto.
9364         (image_instantiate): ditto.
9365         (update_subwindow_cachel): ditto.
9366         (update_subwindow): ditto.
9367         (unmap_subwindow): ditto.
9368         (map_subwindow): ditto
9369         (subwindow_instantiate): ditto.
9370         * glyphs-msw.c (mswindows_update_widget): ditto.
9371         (mswindows_progress_gauge_instantiate): ditto.
9372         (mswindows_tab_control_update): ditto.
9373         * glyphs-x.c (x_update_widget): ditto.
9374         (x_widget_instantiate): ditto.
9375         (x_tab_control_instantiate): ditto.
9376         (x_tab_control_update): ditto.
9377         * event-msw.c (mswindows_wnd_proc): ditto
9378
9379         * glyphs-widget.c (image_instantiator_layout): use
9380         subwindow_decode_domain.
9381         (image_instantiator_buttons): ditto.
9382         (image_instantiator_edit_fields): ditto.
9383         (image_instantiator_combo_box): ditto.
9384         (image_instantiator_scrollbar): ditto.
9385         (image_instantiator_progress_guage): ditto.
9386         (image_instantiator_tree_view): ditto.
9387         (image_instantiator_tab_control): ditto.
9388         (image_instantiator_labels): ditto.
9389         (image_instantiator_layout): ditto.
9390
9391         * glyphs.c: add instance error checking to many functions.
9392         (instantiate_image_instantiator): decode device from cache_domain.
9393         (image_instantiate): partially rewrite by using
9394         decode_image_instantiator_domain to determine what domain the
9395         instance needs to be cached in.
9396         (decode_image_instantiator_domain): new function. Determine what
9397         domain the image needs to be cached in.
9398         (check_window_subwindow_cache): new error checking function.
9399         (check_instance_cache_mapper): ditto.
9400         (check_image_instance_structure): ditto.
9401         (subwindow_decode_domain): new function. Encodes a window as a
9402         subwindow's cache domain.
9403         (image_instantiator_format_create): use it for text and
9404         subwindows.
9405
9406 2000-04-21  Andy Piper  <andy@xemacs.org>
9407
9408         * glyphs.c (image_instance_device): new function.
9409         (image_instance_frame): new function.
9410         (image_instance_window): new function.
9411         (image_instance_live_p): new function.
9412
9413         * window.c (mark_window_as_deleted): reset the subwindow_instance_
9414         cache to nil.
9415
9416         * glyphs.h (struct Lisp_Image_Instance): device->domain.
9417         (IMAGE_INSTANCE_DOMAIN): new accessor.
9418         (XIMAGE_INSTANCE_DOMAIN): ditto.
9419
9420         * glyphs-x.c (x_finalize_image_instance): device->domain.
9421
9422         * glyphs-msw.c (init_image_instance_geometry): device->domain.
9423         (mswindows_finalize_image_instance): ditto.
9424
9425         * glyphs-eimage.c (jpeg_instantiate): device->domain.
9426         (gif_instantiate): ditto.
9427         (png_instantiate): ditto.
9428         (tiff_instantiate): ditto.
9429
9430         * glyphs.c (instantiate_image_instantiator): use domain rather
9431         than device.
9432         (mark_image_instance): device -> domain.
9433         (print_image_instance): ditto.
9434         (finalize_image_instance): ditto.
9435         (image_instance_equal): ditto.
9436         (allocate_image_instance): ditto.
9437         (Fcolorize_image_instance): ditto.
9438         (query_string_geometry): ditto.
9439         (image_instantiate): ditto
9440         (query_string_font): ditto.
9441         (image_instantiate): ditto.
9442         (update_subwindow): ditto.
9443         (unmap_subwindow): ditto.
9444         (map_subwindow): ditto.
9445         (subwindow_instantiate): ditto.
9446
9447         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
9448         (DOMAIN_FRAME): ditto.
9449         (DOMAIN_WINDOW): ditto.
9450         (DOMAIN_LIVE_P): ditto.
9451         (XDOMAIN_DEVICE): ditto.
9452         (XDOMAIN_FRAME): ditto.
9453         (XDOMAIN_WINDOW): ditto.
9454
9455         * specifier.c (Fvalid_specifier_domain_p): add image instances as
9456         a valid specifier domain.
9457
9458 2000-04-19  Andy Piper  <andy@xemacs.org>
9459
9460         * glyphs-widget.c (syms_of_glyphs_widget): remove
9461         widget-callback-current-channel.
9462         (vars_of_glyphs_widget): ditto.
9463         * glyphs.h: ditto
9464
9465         * gui.c (get_gui_callback): revert to previous behaviour.
9466
9467 2000-04-18  Andy Piper  <andy@xemacs.org>
9468
9469         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
9470         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
9471         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
9472
9473         * glyphs.c (image_instance_equal): add margin_width.
9474         (image_instance_hash): ditto.
9475
9476         * glyphs-widget.c (widget_instantiate): deal with margin-width.
9477         (layout_query_geometry): ditto.
9478         (layout_layout): ditto.
9479         (syms_of_glyphs_widget): add margin-width.
9480         (image_instantiator_layout): allow margin-width.
9481
9482         * glyphs.c (update_widget_instances): make a normal function.
9483         (syms_of_glyphs): remove Qupdate_widget_instances.
9484         * glyphs.h: ditto.
9485
9486         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
9487         so that we don't corrupt ideas about the last event or
9488         command. Remove widget-callback-current-channel fiddling.
9489         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9490
9491 2000-05-01  Martin Buchholz <martin@xemacs.org>
9492
9493         * XEmacs 21.2.33 is released.
9494
9495 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
9496
9497         * make-src-depend: Allow dots in header file name.
9498
9499 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
9500
9501         * mule-charset.h (struct charset_lookup): Add
9502         next_allocated_1_byte_leading_byte and
9503         next_allocated_2_byte_leading_byte.
9504         * mule-charset.c: Move above two variables so that those values
9505         will be dumped.
9506
9507 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
9508
9509         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
9510         when string length is zero.
9511         (find_charsets_in_emchar_string): Ditto.
9512
9513 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
9514
9515         * lisp.h: extern Qdialog and Qmenubar.
9516
9517         * gui-x.c: added events.h.
9518                 also fixed typo which made the file uncompilable.
9519
9520         * general.c: Added Qmenubar and Qdialog
9521
9522 2000-04-28  Ben Wing  <ben@xemacs.org>
9523
9524         * frame-msw.c (mswindows_init_frame_1):
9525         * frame-msw.c (mswindows_mark_frame):
9526         * event-msw.c (mswindows_enqueue_dispatch_event):
9527         * console-msw.h:
9528         * console-msw.h (struct mswindows_frame):
9529         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
9530         there are now three hash tables for callbacks.
9531         mswindows_enqueue_dispatch_event is no longer static.
9532
9533         * dialog-x.c (maybe_run_dbox_text_callback):
9534         * dialog-x.c (dbox_descriptor_to_widget_value):
9535         switch to new cons3 form for callbacks.
9536
9537         * glyphs-msw.c (mswindows_register_gui_item):
9538         * glyphs-msw.c (mswindows_widget_instantiate):
9539         * glyphs-msw.c (add_tree_item):
9540         * glyphs-msw.c (add_tab_item):
9541         new image instance parameter, so it can be passed to callback-ex.
9542         respect :callback-ex as well as :callback.
9543
9544         * glyphs-widget.c (VALID_GUI_KEYWORDS):
9545         add :callback-ex.
9546
9547         * glyphs.c (print_image_instance):
9548         prettify, e.g. now prints widget type.
9549
9550         * gui-x.h:
9551         certain funs have new image instance parameter.
9552
9553         * gui.c:
9554         * gui.c (get_gui_callback):
9555         * gui.c (gui_item_add_keyval_pair):
9556         * gui.c (gui_item_init):
9557         * gui.c (gui_add_item_keywords_to_plist):
9558         * gui.c (mark_gui_item):
9559         * gui.c (gui_item_hash):
9560         * gui.c (gui_item_equal):
9561         * gui.c (copy_gui_item):
9562         * gui.c (syms_of_gui):
9563         recognize callback-ex in a number of places.
9564         also, fix the annoying "can't get out of yes-no dialog" bug.
9565
9566         * gui.h:
9567         * gui.h (struct Lisp_Gui_Item):
9568         recognize callback-ex in a number of places.
9569
9570         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9571         new parameter in button_item_to_widget_value.
9572
9573         * glyphs-x.c (x_update_widget):
9574         * glyphs-x.c (x_button_instantiate):
9575         * glyphs-x.c (x_button_update):
9576         * glyphs-x.c (x_progress_gauge_instantiate):
9577         * glyphs-x.c (x_edit_field_instantiate):
9578         * glyphs-x.c (x_combo_box_instantiate):
9579         * glyphs-x.c (x_tab_control_instantiate):
9580         * glyphs-x.c (x_label_instantiate):
9581         new image instance parameter in various places.
9582
9583         * event-Xt.c:
9584         * event-Xt.c (enqueue_Xt_dispatch_event):
9585         this fun gets exported.
9586
9587         * gui-msw.c:
9588         * gui-msw.c (mswindows_handle_gui_wm_command):
9589         handle both :callback and :callback-ex, and generate our own
9590         event because it's one of the callback-ex arguments.
9591
9592         * gui-x.c:
9593         * gui-x.c (popup_selection_callback):
9594         handle both :callback and :callback-ex, and generate our own
9595         event because it's one of the callback-ex arguments.
9596         * gui-x.c (button_item_to_widget_value):
9597         * gui-x.c (gui_items_to_widget_values_1):
9598         * gui-x.c (gui_item_children_to_widget_values):
9599         * gui-x.c (gui_items_to_widget_values):
9600         new image instance parameter in various places.
9601
9602         * fns.c (Freplace_list):
9603         fix small typo in doc string.
9604
9605         * lisp.h:
9606         declare enqueue_Xt_dispatch_event.
9607
9608 2000-04-28  Ben Wing  <ben@xemacs.org>
9609
9610         * buffer.c:
9611         * buffer.c (Frecord_buffer):
9612         * buffer.c (syms_of_buffer):
9613         delete record-buffer-hook.
9614
9615         * fns.c:
9616         * fns.c (Freplace_list):
9617         * fns.c (syms_of_fns):
9618         new primitive replace-list.
9619
9620         * frameslots.h:
9621         slot for old buffer-alist.
9622
9623         * lisp.h:
9624         exfun replace-list.
9625
9626         * redisplay.c:
9627         * redisplay.c (redisplay_frame):
9628         * redisplay.c (syms_of_redisplay):
9629         * redisplay.c (vars_of_redisplay):
9630         new hook buffer-list-changed-hook.
9631         call it.
9632
9633 2000-04-27  Ben Wing  <ben@xemacs.org>
9634
9635         * extents.h: extern in_modeline_generation.
9636
9637         * redisplay.c (generate_formatted_string_db): set
9638         in_modeline_generation.
9639
9640         * extents.c (extent_changed_for_redisplay): don't mark redisplay
9641         flags if in modeline generation.  otherwise frame-modified-tick
9642         is ticked far too often.
9643         Declare in_modeline_generation.
9644
9645 2000-04-26  Ben Wing  <ben@xemacs.org>
9646
9647         * emacs.c (vars_of_emacs): document quick-build "error-checking"
9648         option.
9649         (vars_of_emacs): add quick-build as an error-checking option.
9650         A bit kludgy, but there doesn't seem much point in creating
9651         a real var for this.
9652
9653         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
9654
9655 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9656
9657         * redisplay.h (struct display_line): Add a new variable,
9658         line_continuation.
9659
9660         * redisplay.c (create_text_block): Set dl->line_continuation if
9661         the line continues.
9662         (create_string_text_block): Ditto.
9663         (regenerate_window_incrementally): Use line_continuation instead
9664         of searching continuation glyph.
9665         (add_margin_runes): Call add_glyph_rune.
9666         (add_glyph_rune): Handle margin glyph.
9667
9668 2000-04-20  Martin Buchholz  <martin@xemacs.org>
9669
9670         * filelock.c (fill_in_lock_file_name):
9671         ANSIfy.
9672         Check for IS_ANY_SEP instead of '/'.
9673         (lock_file_1):
9674         Avoid generating gratuitous garbage.  Call user_login_name() directly.
9675         Never check errno without first seeing that system call failed.
9676         (unlock_file): Add GCPRO.
9677         (Flock_buffer): Fix docstring.
9678         (Ffile_locked_p): Fix docstring.  Add GCPRO.
9679
9680 2000-04-19  Martin Buchholz  <martin@xemacs.org>
9681
9682         * sysdep.c (get_pty_max_bytes):
9683         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
9684         strings longer than 252 bytes.
9685
9686         * md5.c: Unconditionally include ANSI header <limits.h>
9687
9688         * glyphs-x.c (convert_EImage_to_XImage):
9689         * lisp-union.h (union Lisp_Object):
9690         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
9691
9692 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9693
9694         * filelock.c (current_lock_owner): Remove unused variable o, p.
9695
9696 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
9697
9698         * callint.c: Remove multiply defined symbol Qlet
9699         (syms_of_callint): ditto.
9700
9701 2000-04-14  Andy Piper  <andy@xemacs.org>
9702
9703         * general.c (syms_of_general): add last-command, this-command, let
9704         and funcall.
9705
9706         * lisp.h: declare various symbols.
9707
9708         * glyphs.h: declare Qwidget_callback_current_channel;
9709
9710         * glyphs-widget.c (syms_of_glyphs_widget): add
9711         Qgui_callback_current_channel.
9712         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
9713
9714         * gui-msw.c (mswindows_handle_gui_wm_command): bind
9715         widget-callback-current-channel when invoking the interactive
9716         arg. Also bind last-command and next-command when invoking the
9717         widget updates.
9718         * gui-x.c (popup_selection_callback): ditto.
9719
9720         * gui.c (get_gui_callback): massage args so that we are always
9721         calling eval. This allows us to add our own variable bindings
9722         outside.
9723
9724         * glyphs-x.c (x_button_instantiate): use
9725         gui_items_to_widget_values since this is GC safe.
9726         (x_progress_gauge_instantiate): ditto.
9727         (x_edit_field_instantiate): ditto.
9728         (x_label_instantiate): ditto.
9729
9730         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
9731         (emacs_Xt_event_widget_focus_out): new function
9732         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
9733         focus.
9734         (emacs_Xt_event_add_widget_actions): new function. add focus
9735         functions as actions.
9736         (init_event_Xt_late): use it.
9737
9738 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
9739
9740         * event-stream.c (Fdispatch_event): Doc fix.
9741
9742 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
9743
9744         * postgresql.c: Remove all references to PQsetenv*.
9745
9746         * postgresql.h: Remove references to PGsetenvHandler object.
9747         * lrecord.h (lrecord_type): Ditto.
9748
9749 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9750
9751         * glyphs-msw.h (struct mswindows_image_instance_data): Added
9752         real_heigh and real_width members, and accessor macros for these.
9753
9754         * glyphs-msw.c (init_image_instance_geometry): New function.
9755         (init_image_instance_from_dibitmap): Use it.
9756         (mswindows_resource_instantiate): Use it.
9757         (init_image_instance_from_xbm_inline): Use it.
9758         (mswindows_initialize_image_instance_mask): Use real bitmap
9759         geometry.
9760         (mswindows_create_resized_bitmap): Ditto.
9761         (mswindows_create_resized_mask): Ditto.
9762
9763         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
9764         and bitmap to their surface size.
9765
9766 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
9767
9768         * process-unix.c (unix_send_process): Guard against process MIA
9769         after Faccept_process_output.
9770
9771 2000-04-11  Ben Wing  <ben@xemacs.org>
9772
9773         * eval.c (unbind_to_hairy): fix brokenness introduced by
9774         nanosecond speed improvements.
9775
9776 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
9777
9778         * sunplay.c (init_device): To play sounds correctly, the device
9779         apparently needs to be initialized at least once by XEmacs.  Make
9780         it so.
9781
9782 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9783
9784         * redisplay.c (add_margin_runes): Add text image glyph
9785           handling.
9786
9787 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9788
9789         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
9790         gcc is newer than 2.5.
9791
9792 2000-04-06  Colin Rafferty  <colin@xemacs.org>
9793
9794         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
9795
9796         * fns.c (size_bit_vector):
9797         * alloc.c (size_vector):
9798         (make_vector_internal):
9799         (make_bit_vector_internal):
9800         (sweep_bit_vectors_1):
9801         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
9802
9803 2000-04-06  Andy Piper  <andy@xemacs.org>
9804
9805         * gmalloc.c (malloc): undo previous change.
9806         (malloc): ditto.
9807         (free): ditto.
9808         (realloc): ditto.
9809
9810 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
9811
9812         * line-number.c (buffer_line_number): Revert to former version.
9813
9814 2000-04-06  Andy Piper  <andy@xemacs.org>
9815
9816         * gmalloc.c (malloc): add error checking.
9817         (malloc): ditto.
9818         (free): ditto.
9819         (realloc): ditto.
9820
9821         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
9822         button_item_to_widget_value arg.
9823
9824         * glyphs-x.c (x_button_instantiate): add extra
9825         button_item_to_widget_value arg.
9826         (x_progress_gauge_instantiate): ditto.
9827         (x_edit_field_instantiate): ditto.
9828         (x_label_instantiate): ditto.
9829
9830         * gui-x.c (gui_items_to_widget_values_1): add extra
9831         button_item_to_widget_value arg.
9832         (button_item_to_widget_value): add extra menu_item_p arg.
9833
9834         * gui-x.h: change signature of button_item_to_widget_value.
9835
9836         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
9837         button_item_to_widget_value arg.
9838
9839 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9840
9841         * buffer.h (struct buffer): auto_save_modified should be long.
9842
9843 2000-04-05  Andy Piper  <andy@xemacs.org>
9844
9845         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
9846         type.
9847         (button_query_geometry): give a little more room so that athena
9848         buttons fit.
9849
9850 2000-04-05  Andy Piper  <andy@xemacs.org>
9851
9852         * faces.c (complex_vars_of_faces): The widget face should inherit
9853         the font of the gui-element face.
9854
9855 2000-04-04  Andy Piper  <andy@xemacs.org>
9856
9857         * glyphs-x.c (x_button_update): new function. unconditionally
9858         update a button's state when the instance is dirty.
9859         (image_instantiator_format_create_glyphs_x): add x_button_update.
9860         (x_widget_instantiate): remove old resize cruft.
9861
9862 2000-04-02  Andy Piper  <andy@xemacs.org>
9863
9864         * frame.c (change_frame_size_1): The introduction of gutters means
9865         that we need to allow 0 as a potential frame dimension.
9866
9867 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9868
9869         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
9870         image glyph if allow_cursor.
9871         (add_hscroll_rune): Don't allow cursor to border glyph.
9872         (create_text_block): Ditto.
9873
9874         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
9875         text not in buffer.
9876         (redisplay_output_layout): Call ensure_face_cachel_complete for
9877         text image glyph.
9878
9879
9880 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9881
9882         * redisplay.c (add_glyph_rune): Adding text image as text runes.
9883
9884         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
9885         not in buffer
9886
9887         * redisplay-tty.c (tty_output_display_block): Delete the routine
9888         for text image glyph
9889         * redisplay-x.c (x_output_display_block): ditto
9890         * redisplay-msw.c (mswindows_output_display_block): ditto
9891
9892 2000-02-02  Mike Alexander  <mta@arbortext.com>
9893
9894         Note: Some of these were committed by accident as part of other
9895         patches.
9896
9897         * regex.c (regex_compile): Avoid compiler warnings.
9898
9899         * ntproc.c (sys_spawnve): Avoid compiler warnings.
9900
9901         * nt.h: Declare term_ntproc correctly.
9902
9903         * nt.c: Remove incorrect declaration of get_home_directory which
9904         is declared correctly in lisp.h.
9905
9906         * keymap.c (get_keyelt): Avoid compiler warnings.
9907         (raw_lookup_key_mapper): Avoid compiler warnings.
9908
9909         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
9910
9911         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
9912
9913         * filemode.c (mode_string): Avoid compiler warnings.
9914
9915         * file-coding.c (Fcoding_system_aliasee): Add return statement to
9916         avoid warning.
9917
9918         * events-mod.h: Undef some things that winuser.h defines differently.
9919
9920         * data.c (Faset): Avoid compiler warnings.
9921
9922         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
9923
9924 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9925
9926         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
9927         Fall through to simple beep on error.
9928         Replace "extern" by real header file.
9929
9930         * linuxplay.c: Use nativesound.h
9931         (play_sound_data): Return error code. Be less verbose on error.
9932
9933         * sunplay.c: Use nativesound.h
9934         (play_sound_data): Return error code. Be less verbose on error.
9935
9936         * ntplay.c: Use nativesound.h
9937         (play_sound_data): Return fake error code
9938
9939         * sgiplay.c: Use nativesound.h
9940         (play_sound_data): Return error code
9941
9942         * hpplay.c: Use nativesound.h, partially implement
9943         new error code. Break compilation until finished.
9944         (play_sound_data): error code.
9945
9946         * nativesound.h (play_sound_file):
9947           (play_sound_data): Prototype in new header.
9948
9949 2000-03-31  Andy Piper  <andy@xemacs.org>
9950
9951         * glyphs-widget.c: (button_query_geometry): new function. Adjust
9952         for toggle and radio buttons.
9953         (image_instantiator_buttons): use it.
9954
9955 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9956
9957         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
9958         (x_update_horizontal_scrollbar_callback): Return if no mirror was
9959         found. Scrollbar event probably belonged to some old config.
9960
9961 2000-03-31  Andy Piper  <andy@xemacs.org>
9962
9963         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
9964         than 1.
9965         (initialize_widget_image_instance): default layout to
9966         LAYOUT_HORIZONTAL rather than 0.
9967         (widget_instantiate): reverse the item list at the end rather than
9968         every iteration.
9969         (layout_layout): re-code for the border text at the front of the
9970         item list rather than at the end.
9971         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
9972         provided by the user.
9973         (widget_query_geometry): comment.
9974
9975 2000-03-30  Andy Piper  <andy@xemacs.org>
9976
9977         * glyphs-widget.c (image_instantiator_layout): allow standard
9978         widget keywords in layouts.
9979
9980         * gutter.c (output_gutter): cope with nil gutter contents.
9981
9982         * frame.c (Fset_frame_properties): add gutter docs.
9983
9984 2000-03-29  Andy Piper  <andy@xemacs.org>
9985
9986         * toolbar-msw.c (TBSTYLE_FLAT): add.
9987         (mswindows_output_toolbar): minor fiddling.
9988
9989 2000-03-29  Andy Piper  <andy@xemacs.org>
9990
9991         * gutter.c (output_gutter): force gutter size recalculation if
9992         what we are trying to display won't fit.
9993         (update_gutter_geometry): new function. A per-gutter version of
9994         update_frame_gutter_geometry.
9995         (update_frame_gutter_geometry): use it.
9996         (redraw_exposed_gutter): add extra debugging output.
9997
9998 2000-03-28  Mike Alexander  <mta@arbortext.com>
9999
10000         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
10001         (pdump_file_unmap): Implement it on Windows
10002         (pdump_file_get): Save alocated handles for pdump_file_unmap
10003
10004 2000-03-28  Andy Piper  <andy@xemacs.org>
10005
10006         * gui.c (get_gui_callback): treat Quit specially.
10007
10008 2000-03-27  Andy Piper  <andy@xemacs.org>
10009
10010         * glyphs.c (image_instantiate): be careful to check in the same
10011         way we assigned.
10012
10013 2000-03-27  Didier Verna  <didier@xemacs.org>
10014
10015         * config.h.in: define the proper SMART_INCLUDE macro.
10016         handle renaming of `foo_h_path' to `foo_h_file'.
10017
10018         * database.c: ditto.
10019
10020         * emacs.c: ditto.
10021
10022         * linuxplay.c: ditto.
10023
10024         * terminfo.c: ditto.
10025
10026         * tooltalk.h: ditto.
10027
10028 2000-03-27  Andy Piper  <andy@xemacs.org>
10029
10030         * glyphs-msw.c (mswindows_update_widget): make sure the widget
10031         gets updated whenever the face might have changed.
10032
10033 2000-03-26  Mike Alexander  <mta@arbortext.com>
10034
10035         * dumper.c (pdump_resource_free): Fix the comment.
10036
10037 2000-03-21  Olivier Galibert  <galibert@pobox.com>
10038
10039         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
10040
10041 2000-03-22  Mike Alexander  <mta@arbortext.com>
10042
10043         * dumper.c: Include Windows headers on Windows
10044         (pdump_resource_free): Add a body to the function
10045         (pdump_load): exe_name -> exe_path and add some comments.
10046
10047 2000-03-25  Mike Alexander  <mta@arbortext.com>
10048
10049         * gui.c (copy_gui_item_tree): Return a value in all cases
10050
10051 2000-03-21  Didier Verna  <didier@xemacs.org>
10052
10053         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
10054         lwlib/config.h.in.
10055         (SMART_INCLUDE): new macro.
10056         (POSTGRES_INCLUDE): new macro to include postgresql headers from
10057         the proper location.
10058
10059         * postgresql.c: use it.
10060
10061         * inline.c: ditto.
10062
10063 2000-03-24  Andy Piper  <andy@xemacs.org>
10064
10065         * gutter.c (redraw_exposed_gutters): must be "in display" when we
10066         do this.
10067
10068 2000-03-24  Andy Piper  <andy@xemacs.org>
10069
10070         * redisplay-output.c (compare_runes): use image_instance_changed
10071         to detect changes. Do not depend on glyphs_changed, only depend on
10072         dirtiness.
10073          (redisplay_output_layout): add debug messages.
10074         (compare_runes): ditto.
10075
10076         * glyphs.h: declare new functions.
10077         (struct Lisp_Image_Instance): remove percent and associated
10078         accessors.
10079
10080         * gui.h: declare new copying functions.
10081
10082         * gui.c (copy_gui_item_tree): new function.
10083         (copy_gui_item): new function.
10084         (gui_item_id_hash): revert to standard hash.
10085         (gui_item_hash): ditto.
10086         (gui_item_hash_internal): deleted.
10087         (mark_gui_item): mark value.
10088         (gui_item_add_keyval_pair): add value.
10089         (gui_item_init): ditto.
10090         (gui_add_item_keywords_to_plist): ditto.
10091         (gui_item_equal): ditto.
10092         (syms_of_gui): add Q_value.
10093
10094         * glyphs-x.c (x_progress_gauge_update): use pending items and
10095         value for setting the state.
10096         (x_update_widget): don't set items from pending here.
10097
10098         * glyphs-widget.c (update_widget): update items here.
10099         (progress_gauge_set_property): use items for storing value. Put
10100         new value in pending items.
10101
10102         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
10103         items for new value. Convert percent -> value.
10104         (mswindows_tab_control_update): don't update items here.
10105
10106         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
10107         (update_subwindow): ditto.
10108         (image_instance_changed): new function. Compare hash values and
10109         past and present widget items.
10110         (image_instantiate): We more careful about where we instantiate
10111         things.
10112         (image_instantiate): add error checking.
10113
10114         * gutter.c (syms_of_gutter): use -hook.
10115
10116 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
10117
10118         * console-tty.c (Fset_console_tty_input_coding_system): Use
10119         Qkeyboard.
10120         (Fset_console_tty_output_coding_system): Use Qterminal.
10121         (tty_init_console): Use Qkeyboard and Qterminal.
10122
10123 2000-03-21  Ben Wing  <ben@xemacs.org>
10124
10125         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
10126         From Mike Alexander <mta@arbortext.com>.
10127
10128 2000-03-21  Ben Wing  <ben@xemacs.org>
10129
10130         * event-msw.c (mswindows_need_event): Horrible kludge to fix
10131         process brokenness.  Proper implementation to come.
10132         * callproc.c:
10133         Rename call-process-internal to old-call-process-internal.
10134         New impl. in process.el.
10135
10136 2000-03-21  Martin Buchholz  <martin@xemacs.org>
10137
10138         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
10139
10140 2000-03-20  Andy Piper  <andy@xemacs.org>
10141
10142         * glyphs.c (full_list_hash): make hashes of the same elements in
10143         different orders return different values.
10144
10145 2000-03-20  Martin Buchholz <martin@xemacs.org>
10146
10147         * XEmacs 21.2.32 is released.
10148
10149 2000-03-20  Martin Buchholz  <martin@xemacs.org>
10150
10151         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
10152         (DFC_MALLOC_USE_CONVERTED_DATA):
10153         Add aliasing-safe casts to allow use with char* or unsigned char*
10154         lvalues.
10155
10156         * eldap.c (Fldap_open):
10157         (Fldap_search_basic):
10158         (Fldap_add):
10159         (Fldap_modify):
10160         Make C++-compilable.
10161         Make sure GCPRO'ed variables are initialized.
10162         Use temp variables to avoid repeated calls to Flength.
10163
10164 2000-03-16  Martin Buchholz  <martin@xemacs.org>
10165
10166         * sysfile.h:
10167         Make sure PATH_MAX is always defined.
10168         Include limits.h for PATH_MAX.
10169         Deprecate use of MAXPATHLEN.
10170
10171 2000-03-10  Martin Buchholz  <martin@xemacs.org>
10172
10173         * emacs.c: Add reinit_vars_of_fileio.
10174         * symsinit.h: Add reinit_vars_of_fileio.
10175         * fileio.c (reinit_vars_of_fileio): New.
10176         * fileio.c (Fmake_temp_name):
10177         Initialize temp_name random number from microseconds to make
10178         collisions even less likely.  Initialize always at process startup
10179         time.  (make-temp-name) used to return the same file name twice in
10180         a row when PDUMP.
10181         Random stylistic fiddling.
10182         Comment fixes.
10183
10184 2000-03-20  Andy Piper  <andy@xemacs.org>
10185
10186         * glyphs.c (image_instantiate): allow text glyphs to be
10187         instantiated in the minibuffer window.
10188
10189 2000-03-19  Andy Piper  <andy@xemacs.org>
10190
10191         * glyphs.c (image_instance_hash): be careful about which items we
10192         hash on.
10193
10194         * glyphs-widget.c (tab_control_set_property): record into pending
10195         items rather than the actual items.
10196
10197         * glyphs-x.c (x_update_widget): use pending items to update with.
10198
10199         * glyphs-msw.c (mswindows_tab_control_update): use pending items
10200         to update with.
10201
10202         * glyphs.c (mark_image_instance): mark pending items.
10203
10204         * window.c (Fset_window_configuration): record the buffer.
10205         (Fselect_window): totally revert previous change which breaks many
10206         things.
10207
10208 2000-03-18  Andy Piper  <andy@xemacs.org>
10209
10210         * glyphs-msw.c (mswindows_tab_control_update): force selected
10211         item.
10212
10213         * glyphs.c (image_instantiate): don't allow the minibuffer as a
10214         window domain cache, otherwise we get inconsistencies at
10215         startup. There is something fishy at startup which can lead to the
10216         minibuffer being the selected window when the gutter content is
10217         instantiated.
10218
10219         * gui.c (parse_gui_item_tree_list): add probably unnecessary
10220         gcpros.
10221         (parse_gui_item_tree_children): ditto.
10222         (parse_gui_item_tree_item): ditto.
10223
10224         * glyphs.c (Fupdate_widget_instances): return something.
10225
10226 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
10227
10228         * window.c (Fselect_window): Undo 2000-03-17 change.
10229
10230 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
10231
10232         * postgresql.c (Fpq_setenv): Remove this turkey when linking
10233         against v7.0 libraries.  Insta-coredump city until the postgres
10234         folks fix it.
10235
10236 2000-03-17  Andy Piper  <andy@xemacs.org>
10237
10238         * faces.c (complex_vars_of_faces): don't give the widget face an
10239         inherited background pixmap.
10240
10241         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
10242         selected item.
10243
10244         * event-stream.c (Fdispatch_non_command_events): return something.
10245
10246         * gutter.c (output_gutter): use widget face.
10247         (clear_gutter): ditto.
10248
10249         * NEWS: adjust again.
10250
10251         * window.c (Fselect_window): make sure this runs to completion to
10252         avoid oddities with Fset_window_configuration.
10253         (Fcurrent_window_configuration): in general do not save the
10254         minibuffer as the selected window.
10255
10256         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
10257
10258 2000-03-16  Olivier Galibert  <galibert@pobox.com>
10259
10260         * emacs.c (Frunning_temacs_p): Revert previous patch.
10261         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
10262
10263 2000-03-16  Andy Piper  <andy@xemacs.org>
10264
10265         * glyphs-x.c (x_tab_control_update): if no widget values then
10266         return.
10267
10268         * NEWS: update for new features.
10269
10270         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
10271         synthetic event to the native system.
10272         (reinit_vars_of_event_Xt): set force_event_pending to
10273         emacs_Xt_force_event_pending.
10274
10275         * events.h (struct event_stream): add force_event_pending.
10276
10277         * specifier.c (recompute_one_cached_specifier_in_window): add
10278         comment.
10279
10280         * redisplay.c (redisplay_frame): don't call
10281         update_frame_subwindows. Reset subwindow cachels when
10282         subwindows_changed, removing this was an optimization too far.
10283
10284         * redisplay-output.c (compare_runes): reorganize so that we catch
10285         glyph changes when we want them. Set optimize_output when this
10286         would help layouts.
10287         (redisplay_output_layout): remove frame_really_changed, use
10288         optimize_output instead.
10289
10290         * redisplay-msw.c (mswindows_output_display_block): reset
10291         optimize_output after outputting a glyph.
10292         * redisplay-x.c (x_output_display_block): ditto.
10293         * redisplay-tty.c (tty_output_display_block): ditto.
10294
10295         * gutter.c: (specifier_vars_of_gutter): use new spec changed
10296         functions.
10297         (gutter_specs_changed): do specific gutter positions.
10298         (top_gutter_specs_changed): new function. Only update the
10299         specified gutter specs.
10300         (bottom_gutter_specs_changed): ditto.
10301         (left_gutter_specs_changed): ditto.
10302         (right_gutter_specs_changed): ditto.
10303
10304         * gui.c (gui_item_hash_internal): new function, does a real hash.
10305         (gui_item_id_hash): use it.
10306         (gui_item_hash): hash the eval'ed gui_item.
10307
10308         * gui-x.c (popup_selection_callback): send an eval event to call
10309         Fupdate_widget_instances.
10310
10311         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
10312         to call Fupdate_widget_instances.
10313
10314         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
10315         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
10316
10317         * glyphs.c: (update_frame_subwindows): deleted.
10318         (Fupdate_widget_instances): new function for updating the dirty
10319         state of widgets that might have changed.
10320         (syms_of_glyphs): add Qupdate_widget_instances.
10321         (full_list_hash): hash a list completely.
10322         (image_instance_hash): use it for items and properties.
10323
10324         * frame-msw.c (mswindows_size_frame_internal): remove unused
10325         variable.
10326
10327         * faces.h (struct face_cachel): fix comment.
10328
10329         * event-stream.c (Fdispatch_non_command_events): new
10330         function. Process non-command events, forcing an event cycle
10331         beforehand.
10332         (syms_of_event_stream): declare.
10333         (event_stream_force_event_pending): new function. Force an event
10334         on the native event queue so that an event cycle will occur next
10335         time we check.
10336
10337         * event-msw.c:
10338         (struct ntpipe_shove_stream):
10339         (mswindows_enqueue_dispatch_event):
10340         (mswindows_dequeue_dispatch_event):
10341         (mswindows_cancel_dispatch_event):
10342         (mswindows_pump_outstanding_events):
10343         (mswindows_drain_windows_queue):
10344         (mswindows_handle_paint):
10345         (mswindows_wnd_proc):
10346         (mswindows_key_to_emacs_keysym):
10347         (get_process_input_waitable):
10348         (emacs_mswindows_delete_stream_pair): re-indent file.
10349         (mswindows_need_event): do not process further fds if the windows
10350         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
10351         fixes the 100% cpu problem.
10352         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
10353
10354 2000-03-15  Olivier Galibert  <galibert@pobox.com>
10355
10356         * alloc.h: New.
10357         * dumper.h: New.
10358         * dumper.c: New.
10359
10360         * emacs.c: Moved dump file searching to dumper.c.
10361         (Frunning_temacs_p): Fixed.
10362
10363         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
10364         last_lrecord_type_index_assigned.
10365
10366 2000-02-20  Olivier Galibert  <galibert@pobox.com>
10367
10368         * symsinit.h: Added reinit parameter to init_console_stream
10369         declaration.
10370
10371         * lisp.h: Added file parameter to pdump_load declaration.
10372
10373         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
10374         support.  Added dump file searching.
10375
10376         * config.h.in: Added EMACS_PROGNAME.
10377
10378         * console-stream.c (init_console_stream): Fix reinitialisation
10379         when running from temacs.
10380
10381         * alloc.c (pdump): Add id support.
10382         (pdump_load): Add file parameter and signature/id support.
10383
10384         * Makefile.in.in: Add full pdump support.
10385
10386 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
10387
10388         * postgresql.c: Update documentation to reflect latest code
10389         status.
10390         (print_result): Show tuple counts in printed representation when
10391         appropriate.
10392         (Fpq_put_nbytes): MULE-ize.
10393         (Fpq_get_line_async): Ditto.
10394
10395 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10396
10397         * postgresql.c (Fpq_lo_import): Fix return value.
10398         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
10399
10400 2000-03-13  Ben Wing  <ben@xemacs.org>
10401
10402         * alloc.c (pdump_load):
10403         Fix compile warning under mswin.
10404
10405 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10406
10407         * postgresql.c: Mule-ization, bug fixes.
10408         Use PG_CODING to encapsulate coding system name changes.
10409         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
10410         (pg-coding-system): Create.
10411
10412         (Fpq_conn_defaults): Mule-ize.
10413         (Fpq_connectdb): Mule-ize & bug fix.
10414         (Fpq_connect_start): Mule-ize.
10415         (Fpq_set_client_encoding): Mule-ize.
10416         (Fpq_finish): Document `DEAD' connection status.
10417         (Fpq_clear): Ditto.
10418         (Fpq_pgconn): Mule-ize.
10419         (Fpq_exec): Mule-ize & bug fix.
10420         (Fpq_send_query): Ditto.
10421         (Fpq_get_result): Ditto.
10422         (Fpq_res_status): Mule-ize.
10423         (Fpq_result_error_message): Mule-ize.
10424         (Fpq_ntuples): fix comments.
10425         (Fpq_fname): Mule-ize.
10426         (Fpq_fnumber): Mule-ize.
10427         (Fpq_ftype): fix comments.
10428         (Fpq_get_value): Mule-ize.
10429         (Fpq_cmd_status): Ditto.
10430         (Fpq_cmd_tuples): Ditto.
10431         (Fpq_oid_value): Ditto.
10432         (Fpq_notifies): Ditto.
10433         (Fpq_lo_import): Ditto.
10434         (Fpq_lo_export): Ditto.
10435         (Fpq_get_line): Ditto.
10436         (Fpq_put_line): Mule-ize and bug fix.
10437         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
10438
10439 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10440
10441         * postgresql.c (vars_of_postgresql): Mule-ize.
10442         (Fpq_conn_defaults): Ditto.
10443
10444 2000-03-12  Ben Wing  <ben@xemacs.org>
10445
10446         * alloc.c (Fmake_byte_code):
10447         * alloc.c (debug_string_purity_print):
10448         * alloc.c (pdump_backtrace):
10449         * alloc.c (pdump_get_indirect_count):
10450         * alloc.c (pdump_register_sub):
10451         * alloc.c (pdump_register_object):
10452         * alloc.c (pdump_register_struct):
10453         * alloc.c (pdump_dump_data):
10454         * alloc.c (pdump_reloc_one):
10455         Minor cleanups.
10456
10457         * console-msw.c:
10458         * console-msw.c (GetConsoleHwnd):
10459         * console-msw.c (msw_hide_console):
10460         * console-msw.c (msw_show_console):
10461         * console-msw.c (msw_ensure_console_buffered):
10462         * console-msw.c (msw_output_console_string):
10463         * console-msw.c (console_type_create_mswindows):
10464
10465         a) Added functions to manipulate the console window for use with
10466         shell support.
10467
10468         b) Added support for writing text to the console, which is now
10469         used under Windows when xemacs is not being run non-interactively,
10470         to write text that would otherwise be destined for stdout because
10471         under these circumstances, text written to stdout tends to
10472         disappear and not be seen.
10473
10474         * console-msw.h:
10475         * event-Xt.c:
10476         * event-Xt.c (x_event_to_emacs_event):
10477         * event-Xt.c (describe_event_window):
10478         * events-mod.h (XEMACS_MOD_CONTROL):
10479         * events.c:
10480         * events.c (Fmake_event):
10481         * events.c (character_to_event):
10482         * events.c (event_to_character):
10483         * events.c (format_event_object):
10484         * events.c (Fevent_modifiers):
10485         * events.h:
10486         * events.h (struct key_data):
10487         * events.h (struct button_data):
10488         * events.h (struct misc_user_data):
10489         * frame-x.c (Fcde_start_drag_internal):
10490         * frame-x.c (Foffix_start_drag_internal):
10491         * gpmevent.c (Freceive_gpm_event):
10492         * keymap.c:
10493         * keymap.c (bucky_sym_to_bucky_bit):
10494         * keymap.c (control_meta_superify):
10495         * keymap.c (make_key_description):
10496         * keymap.c (keymap_lookup_directly):
10497         * keymap.c (create_bucky_submap):
10498         * keymap.c (keymap_store):
10499         * keymap.c (define_key_check_and_coerce_keysym):
10500         * keymap.c (define_key_parser):
10501         * keymap.c (define_key_alternate_name):
10502         * keymap.c (Fdefine_key):
10503         * keymap.c (raw_lookup_key_mapper):
10504         * keymap.c (struct map_keymap_unsorted_closure):
10505         * keymap.c (map_keymap_unsorted_mapper):
10506         * keymap.c (map_keymap_sort_predicate):
10507         * keymap.c (map_keymap_sorted):
10508         * keymap.c (accessible_keymaps_mapper_1):
10509         * keymap.c (where_is_recursive_mapper):
10510         * keymap.c (describe_map_mapper):
10511         * keymap.c (describe_map_sort_predicate):
10512         * keymap.c (describe_map):
10513         * keymap.c (complex_vars_of_keymap):
10514         And a number of other files, the key modifier preprocessor
10515         constants that xemacs uses have names that conflict with constants
10516         defined under MS Windows for other purposes, so they were renamed
10517         to begin with the prefix XEMACS_. The variables that hold such
10518         modifiers were changed to consistently be of type int to fix
10519         various compile warnings.
10520
10521         * console.c (complex_vars_of_console):
10522         * device.c:
10523         * device-msw.c:
10524         * device-msw.c (mswindows_finish_init_device):
10525         * device-msw.c (msw_get_workspace_coords):
10526         * device-msw.c (mswindows_device_system_metrics):
10527         and various other files, added support for a new
10528         device property called offset-workspace which returns the position
10529         of the upper left corner of the workspace area and goes along with
10530         the existing size-workspace property.
10531
10532         * dialog-msw.c:
10533         * dialog-msw.c (push_bufbyte_string_as_unicode):
10534         * dialog-msw.c (mswindows_popup_dialog_box):
10535         Added support for XEmacs-style accelerator specifications in
10536         button text.  Note: I didn't add support for this under X Windows,
10537         and somebody needs to do this.
10538
10539         * dialog.c:
10540         * dialog.c (Fpopup_dialog_box):
10541         Documented the support for accelerators that was just mentioned.
10542
10543         editfns.c (get_home_directory): Changed behavior under Windows
10544         when HOME not defined; former behavior was irretrievably broken.
10545
10546         * emacs.c:
10547         * emacs.c (main_1):
10548         * emacs.c (main):
10549         * minibuf.c (clear_echo_area_internal):
10550         * minibuf.c (echo_area_append):
10551         * print.c:
10552         * print.c (std_handle_out_external):
10553         * print.c (std_handle_out_va):
10554         * print.c (fatal):
10555         * print.c (write_string_to_stdio_stream):
10556         * print.c (output_string):
10557         * print.c (debug_print):
10558         * print.c (debug_backtrace):
10559         * print.c (debug_short_backtrace):
10560         Cleaned up the code that prints text to stdout so that this can be
10561         changed to output into a console window instead under MS Windows,
10562         as described above.
10563
10564         * eval.c:
10565         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
10566         * eval.c (internal_catch):
10567         * eval.c (unwind_to_catch):
10568         * eval.c (throw_or_bomb_out):
10569         * eval.c (condition_case_1):
10570         * eval.c (signal_1):
10571         * eval.c (check_error_state_sanity):
10572         * eval.c (call_with_suspended_errors_1):
10573         * eval.c (call_with_suspended_errors):
10574         * eval.c (reinit_vars_of_eval):
10575         Added code to catch throw loops and check for a pesky bug that may
10576         be gone now.
10577
10578         * event-msw.c:
10579         * event-msw.c (key_needs_default_processing_p):
10580         * event-msw.c (mswindows_wnd_proc):
10581         * event-msw.c (mswindows_modifier_state):
10582         * event-msw.c (emacs_mswindows_quit_p):
10583         * event-msw.c (vars_of_event_mswindows):
10584         a) Added support for using the alt key to select menu items as is
10585         standard under MS Windows.  This is controlled using the variable
10586         menu-accelerator-enabled, just like under X Windows.  There is an
10587         option on the options menu to turn this support on.  I really
10588         think that it should be on by default under Windows, but I'm not
10589         going to make this change yet.
10590
10591         b)  Added support for dynamic display size changes under Windows.
10592
10593         * event-stream.c:
10594         * event-stream.c (maybe_echo_keys):
10595         * event-stream.c (Fnext_event):
10596         * event-stream.c (command_builder_find_leaf):
10597         * event-stream.c (lookup_command_event):
10598         * event-stream.c (execute_command_event):
10599         * event-stream.c (pre_command_hook):
10600         * event-stream.c (post_command_hook):
10601         * event-stream.c (syms_of_event_stream):
10602         * event-stream.c (vars_of_event_stream):
10603         * event-stream.c (complex_vars_of_event_stream):
10604         * events.h (struct command_builder):
10605
10606         a) Tried to clean up a little bit the horribly written x-specific
10607         accelerator code that crept into this file.  I moved this code
10608         into menubar-x.c where it belongs. I also needed to move the
10609         command builder structure into the file events.h because it is
10610         accessed directly by this accelerator code.  What I didn't do, but
10611         which should be done at some point, is to properly abstract this
10612         code using device methods instead of the kludgy way that it
10613         currently hooks into the event code.
10614
10615         b) Added the lisp variables this-command-properties and
10616         last-command- properties, which should be used to synchronize two
10617         adjacent commands in preference to playing games with the variable
10618         this-command, which is typically what happens.
10619
10620         c) Added some slightly nasty code to hook into the lisp support
10621         for shifted- motion-key selection.  This is actually necessary for
10622         somewhat complicated reasons, which are described in
10623         simple.el. (NB: I think the proper thing would be to have the code
10624         that calls the pre and post command hooks also call out to generic
10625         lisp functions in simple.el, where all built-in stuff could be
10626         added.  I will think about this more.)
10627
10628         * event-unixoid.c (poll_fds_for_input):
10629         * lread.c (readchar):
10630         * redisplay-tty.c (tty_clear_frame):
10631         * redisplay-x.c (x_get_gc):
10632         * signal.c (interrupt_signal):
10633         And a whole bunch of other files: fixed up places that printed
10634         directly to stderr to instead call the function stderr_out so that
10635         the changes I made under Windows work correctly.
10636
10637         * filemode.c (mode_string):
10638         Warning fixes.
10639
10640         * frame-msw.c:
10641         * frame-msw.c (mswindows_size_frame_internal):
10642         Fixed the computation of frame size and position to keep the frame
10643         within the workspace area, rather than within the physical
10644         dimensions of the screen, so that the frame doesn't overlap window
10645         manager decorations, such as the start menu and toolbar, typically
10646         at the bottom of the screen.
10647
10648         * frame.c (vars_of_frame):
10649         Changed the default frame title format under MS Windows to consist
10650         of buffername-XEmacs, which is standard under MS Windows.  I think
10651         it might be a good idea to change this everywhere because I think
10652         it is superior to the current frame title format, but this is the
10653         kind of change that is likely to cause some people to get annoyed,
10654         so I'm not making it.
10655
10656         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
10657
10658         * gui-msw.c (mswindows_handle_gui_wm_command):
10659         Fixed compile warnings.
10660
10661         * gui-x.c:
10662         * gui-x.c (strdup_and_add_accel):
10663         * gui-x.c (button_item_to_widget_value):
10664         * gui-x.h:
10665         Added code to automatically put an accelerator onto the beginning
10666         of menu items that don't have one as is now the standard, and is
10667         described more later.  Also fixed things so that the menu item
10668         name can be an evaluated expression, again a new standard.
10669
10670         * gui.c:
10671         * gui.c (gui_item_add_keyval_pair):
10672         * gui.c (make_gui_item_from_keywords_internal):
10673         * gui.c (gui_add_item_keywords_to_plist):
10674         * gui.c (gui_item_accelerator):
10675         * gui.c (gui_name_accelerator):
10676         * gui.c (gui_item_included_p):
10677         * gui.c (gui_item_display_flush_left):
10678         * gui.c (gui_item_display_flush_right):
10679         * gui.c (parse_gui_item_tree_item):
10680         * gui.c (parse_gui_item_tree_children):
10681         * gui.c (parse_gui_item_tree_list):
10682         Mule-ized.  Cleanup.  GCPRO addition.
10683
10684         * line-number.c (buffer_line_number):
10685         * lisp.h:
10686         * lisp.h (EMACS_INT_MAX):
10687         Added the manifest constant EMACS_INT_MIN corresponding to the
10688         existing constant EMACS_INT_MAX.  This is partially to fix compile
10689         warnings under Windows, and partly for cleanliness.
10690
10691         * menubar-msw.c:
10692         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
10693         * menubar-msw.c (msw_translate_menu_or_dialog_item):
10694         * menubar-msw.c (displayable_menu_item):
10695         * menubar-msw.c (populate_menu_add_item):
10696         * menubar-msw.c (populate_or_checksum_helper):
10697         * menubar-msw.c (populate_menu):
10698         * menubar-msw.c (update_frame_menubar_maybe):
10699         * menubar-msw.c (prune_menubar):
10700         * menubar-msw.c (msw_char_is_accelerator):
10701         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
10702         * menubar-msw.c (mswindows_handle_wm_command):
10703         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
10704         * menubar-msw.c (mswindows_handle_wm_initmenu):
10705         * menubar-msw.c (mswindows_update_frame_menubars):
10706         * menubar-msw.c (mswindows_free_frame_menubars):
10707         * menubar-msw.c (mswindows_popup_menu):
10708         Fixed a bug in handling accelerators where an extra character
10709         would be displayed in the menu item.  Also generalized the
10710         function displayable_menu_item because it is now used by the
10711         dialog box code as well.  And finally, added code in the functions
10712         that create the menubar to extract a list of accelerators for the
10713         top level menubar, which is used in the event code to determine
10714         whether a particular alt-key combination should be used to invoke
10715         a menu item, or should be passed through to access the standard
10716         XEmacs keymap binding for this key combination.
10717
10718         Much needed GCPROing.
10719
10720         * menubar-x.c:
10721         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10722         * menubar-x.c (menu_item_descriptor_to_widget_value):
10723         * menubar-x.c (restore_in_menu_callback):
10724         * menubar-x.c (x_popup_menu):
10725         * menubar-x.c (menu_move_up):
10726         * menubar-x.c (menu_move_down):
10727         * menubar-x.c (menu_move_left):
10728         * menubar-x.c (menu_move_right):
10729         * menubar-x.c (menu_select_item):
10730         * menubar-x.c (command_builder_operate_menu_accelerator):
10731         * menubar-x.c (menu_accelerator_junk_on_error):
10732         * menubar-x.c (command_builder_find_menu_accelerator):
10733         * menubar-x.c (Faccelerate_menu):
10734         * menubar.h:
10735         Moved a whole bunch of code here that was previously in
10736         event-stream.c as described above.  There is also code connected
10737         to the new standard of adding an accelerator to the beginning of
10738         menu items that don't have one as described above and below.
10739
10740         * menubar.c:
10741         * menubar.c (menu_parse_submenu_keywords):
10742         * menubar.c (Fmenu_find_real_submenu):
10743         * menubar.c (Fnormalize_menu_item_name):
10744         * menubar.c (syms_of_menubar):
10745         * menubar.c (vars_of_menubar):
10746         * menubar.c (complex_vars_of_menubar):
10747
10748         a) Cleaned up a bunch of documentation and improved it.
10749
10750         b) XEmacs now automatically adds an accelerator onto the beginning
10751         of any menu items that don't have one.  I did this because there
10752         will inevitably be some menu items on the main menubar that don't
10753         have accelerators on them because the package that adds that
10754         particular menu item hasn't yet been fixed up to have accelerators
10755         in them and it looked rather strange to have some items with and
10756         some items without accelerators, especially since even in items
10757         without accelerators, you can, at least under windows, still
10758         access the item through an accelerator corresponding to the first
10759         character in the item's name.  If people don't like this behavior,
10760         I can add a variable to turn it off optionally, but I'm not sure
10761         this is a good idea because we really do need to have accelerators
10762         on all of the menu items, and if a package doesn't like the
10763         accelerators being put on the first character, then it should put
10764         the accelerators where they belong.
10765
10766         c) I made a behavior change, which is that the descriptor that
10767         specifies the text of the menu item, which formerly was just a
10768         string, can now also be an evaluated expression.  This makes this
10769         descriptor parallel with all of the others, which could also be
10770         evaluated expressions.  This also obviates the need for the
10771         keyword :label, which was previously listed in the documentation
10772         as unimplemented, and which was for the same purpose.
10773
10774         d) GCPROing.
10775
10776         * ntproc.c:
10777         * ntproc.c (new_child):
10778         * ntproc.c (sys_spawnve):
10779         * ntproc.c (find_child_console):
10780         * ntproc.c (sys_kill):
10781         Fixed compile warnings.  By the way, this file should really go
10782         away entirely, and this will happen as soon as Kirill makes his
10783         final round of process cleanups, which affect the function
10784         call-process.
10785
10786         * process-nt.c:
10787         * process-nt.c (struct nt_process_data):
10788         * process-nt.c (find_process_from_pid):
10789         * process-nt.c (send_signal_the_nt_way):
10790         * process-nt.c (enable_child_signals):
10791         * process-nt.c (find_child_console):
10792         * process-nt.c (send_signal_the_95_way):
10793         * process-nt.c (nt_finalize_process_data):
10794         * process-nt.c (ensure_console_window_exists):
10795         * process-nt.c (nt_create_process):
10796         * process-nt.c (nt_kill_child_process):
10797         * process-nt.c (nt_kill_process_by_pid):
10798         * process-nt.c (nt_open_network_stream):
10799         * process-nt.c (vars_of_process_nt):
10800         Copied over code from Emacs 20.5 to correctly send signals to sub-
10801         processes under Windows 95.  Also added code to automatically
10802         create and hide console window when a sub-process is created under
10803         Windows 95, which obviates the need for the separate runemacs.exe
10804         executable, and finally implemented some variables that were
10805         implemented in Emacs 20.5, but previously not in XEmacs.  These
10806         include mswindows- start-process-share-console and
10807         mswindows-start-process-inherit-error-mode. (Both of these only
10808         apply to Windows 95.)
10809
10810         * regex.c (regex_compile): Fixed a compile warning.
10811
10812         * select-msw.c:
10813         * select-msw.c (mswindows_own_selection):
10814         * select-msw.c (mswindows_get_foreign_selection):
10815         * select-msw.c (mswindows_disown_selection):
10816         * select-msw.c (console_type_create_select_mswindows):
10817         * select-msw.c (syms_of_select_mswindows):
10818         Cleaned up the file and implemented the device method
10819         selection_exists_p, which had accidentally been left out.  Also
10820         removed four lisp functions that were remnants from before the
10821         time when the selection code was properly device abstracted.
10822         These functions are no longer needed because there are generic
10823         equivalents, and because they were added recently and don't exist
10824         in FSF Emacs, I don't think there's any problem with just deleting
10825         them.
10826
10827         * sysdep.c:
10828         * sysdep.c (sys_subshell):
10829         Fixed a compile warning, although in this case there's probably
10830         something wrong with this code, and it ought to be looked into
10831         more thoroughly by somebody who understands it.
10832
10833         * window.c:
10834         * window.c (Fwindow_text_area_height):
10835         * window.c (Fwindow_width):
10836         * window.c (Fwindow_full_width):
10837         * window.c (Fwindow_pixel_width):
10838         * window.c (debug_print_window):
10839         * window.c (syms_of_window):
10840         Added functions window-text-area-height and window-full-width,
10841         which are functions for returning various width and height
10842         characteristics of a window. (One of these functions is necessary
10843         for making the file dialog box work correctly, and the other one
10844         was added for completeness.)  Also added a table to the
10845         documentation for window-height which describes the entire scheme
10846         for accessing width and height characteristics of a window.
10847
10848 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10849
10850         * nt.c (fstat): Added a comment for another problem with
10851         non-encapsulated [f]stat(), reported by Adrian Aichner
10852         <aichner@ecf.teradyne.com>.
10853
10854 2000-03-11  Andy Piper  <andy@xemacs.org>
10855
10856         * window.c (make_dummy_parent): initialize subwindow instance
10857         cache.
10858         (Fset_window_configuration): zero extent_modiff.
10859
10860 2000-03-10  Andy Piper  <andy@xemacs.org>
10861
10862         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
10863         more changes can be triggered.
10864         (Fredisplay_frame): ditto.
10865         (Fredraw_device): ditto.
10866         (Fredisplay_device): ditto.
10867         (redisplay_frame): make non-static.
10868         (redisplay_frame): call update_frame_gutter_geometry outside of
10869         display proper.
10870
10871         * gutter.h: declare update_frame_gutter_geometry.
10872
10873         * redisplay.h: declare redisplay_frame.
10874
10875         * gutter.c (update_frame_gutter_geometry): move geometry changes
10876         in update_frame_gutters here. Geometry changes can only occur
10877         outside of redisplay.
10878         (update_frame_gutters): remove geometry change code.
10879         (Fredisplay_gutter_area): make sure that we are in display when we
10880         update and that we have flushed any size changes.
10881
10882 2000-03-11  Andy Piper  <andy@xemacs.org>
10883
10884         * alloc.c (pdump_dump_data): remove i & count shadows.
10885
10886 2000-02-27  Mike Alexander  <mta@arbortext.com>
10887
10888         * sysdep.h: Declare pdump_read_file
10889
10890         * sysdep.c (pdump_read_file): New function
10891
10892         * alloc.c (pdump_load): Call pdump_read_file to get the portable
10893         dump data
10894
10895 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10896
10897         * lrecord.h: add `lrecord_type_pgsetenv'.
10898
10899 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
10900
10901         * symsinit.h: declare (vars|syms)_of* functions.
10902         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
10903
10904 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
10905
10906         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
10907
10908         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
10909         GCCs.
10910
10911         * emacs.c (main_1): Call postgres initialization code.
10912
10913         * postgresql.h: New file.  PostgreSQL RDBMS support.
10914         * postgresql.c: New file.
10915
10916 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10917
10918         * redisplay-output.c (redisplay_output_display_block): Disable
10919         redundant code.
10920
10921 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10922
10923         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
10924         (Fcanna_henkan_next): Ditto.
10925         (Fcanna_bunsetu_henkou): Ditto.
10926         (Fcanna_henkan_kakutei): Ditto.
10927         (Fcanna_henkan_end): Ditto.
10928         (Fcanna_henkan_quit): Ditto.
10929         (Fcanna_henkan_next): Set retun value correctly.
10930         (c2mu): Use unsigned char instead of signed char.
10931
10932 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10933
10934         * emacs.c (main_1): Always call syms_of_gui.
10935         * inline.c: include gui.h
10936
10937 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10938
10939         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
10940         converted to Lisp_Object.
10941         (Qtop_bottom): New variable.
10942         (syms_of_redisplay): Initialize it.
10943         * redisplay.h (Vvisible_bell): Ditto.
10944         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
10945         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
10946         only flash top and bottom.
10947
10948 2000-03-08  Andy Piper  <andy@xemacs.org>
10949
10950         * buffer.c (Frename_buffer): record new buffer name the right way.
10951
10952 2000-03-08  Andy Piper  <andy@xemacs.org>
10953
10954         * glyphs.c (update_subwindow): increase hash depth so that widget
10955         items get picked up properly.
10956
10957         * redisplay-output.c (compare_runes): increase hash depth so that
10958         widget items get picked up properly.
10959
10960 2000-03-08  Andy Piper  <andy@xemacs.org>
10961
10962         * gutter.c (output_gutter): add some debug.
10963
10964         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
10965         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
10966         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
10967
10968         * redisplay-output.c (compare_runes): use display_hash to
10969         determine if glyphs really are not the same.
10970
10971         * glyphs.c (update_subwindow): check display_hash to see if
10972         anything really needs to be updated. If not then do
10973         nothing. Record the display_hash after updating.
10974         (image_instance_equal): compare the image_instance face also.
10975
10976 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
10977
10978         * redisplay.h: Fix comment style.
10979
10980 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10981
10982         * consle-msw.h (struct mswindows_frame):
10983         Added new member paint_pending to indicate whether a WM_PAINT
10984         magic event has been queued for this frame.
10985
10986         * event-msw.c (mswindows_drain_windows_queue):
10987         Don't queue a WM_PAINT magic event if one is already queued.
10988         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
10989
10990         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
10991
10992 2000-03-07  Didier Verna  <didier@xemacs.org>
10993
10994         * dired.c: #include `regex.h' after `sysfile.h'.
10995
10996 2000-03-06  Martin Buchholz  <martin@xemacs.org>
10997
10998         * sound.c (init_nas_sound): Fix compiler warning.
10999
11000         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
11001         (FREE_STRUCT_P):
11002         (MARK_STRUCT_AS_FREE):
11003         (MARK_STRUCT_AS_NOT_FREE):
11004         Make `gcc -fstrict-aliasing' work properly.
11005
11006 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11007
11008         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
11009         (mswindows_delete_device): Call CoUnnitialize().
11010
11011         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
11012
11013 2000-02-25    <CraigL@DyCon.com>
11014
11015         * process-nt.c: MinGW now has <shellapi.h>, but still needs
11016         <errno.h>.
11017
11018         * sysdep.c: This extern declaration for environ prevents MinGW
11019         from finding the variable in CRTDLL.DLL.
11020
11021         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
11022         windows headers.
11023         (SHGFI_EXETYPE): ..
11024         (WM_MOUSEWHEEL): ..
11025         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
11026         definitions.
11027         (MMRESULT): Removed, now defined in cygwin's windows headers.
11028         (TIMECAPS): ..
11029         (uid_t,gid_t,pid_t,ssize_t): ..
11030         (_timeb): Removed, MinGW defines both _timeb and timeb.
11031         (HAVE_H_ERRNO): Added.
11032         (HAVE_TZNAME): Added, configure is not detecting this.
11033
11034 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
11035
11036         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
11037         * syntax.c (syntax_match): Use it.
11038
11039         * cmds.c: Import auto-fill-chars from FSF Emacs.
11040         (Vauto_fill_chars): New variables.
11041         (internal_self_insert): Check Vauto_fill_chars.
11042         (vars_of_cmds):
11043         Declare auto-fill-chars as a Lisp variable and initialize it.
11044
11045 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11046
11047         * fileio.c (Fmake_symbolic_link):
11048         (Ffile_symlink_p):
11049         Run handlers even if local machine doesn't have symlinks.
11050
11051 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11052
11053         * event-msw.c (mswindows_drain_windows_queue):
11054         Don't generate paint magic events for non-XEmacs frames.
11055
11056 2000-03-05  Andy Piper  <andy@xemacs.org>
11057
11058         * redisplay.c (redisplay_frame): generate_displayable_area and
11059         friends assumes that we are not in GC, we therefore have to make
11060         sure that this doesn't happen.
11061
11062         * gutter.c (calculate_gutter_size): generate_displayable_area
11063         assumes that we are not in GC, we therefore have to make sure that
11064         this doesn't happen.
11065
11066 2000-03-05  Martin Buchholz  <martin@xemacs.org>
11067
11068         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
11069
11070 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
11071
11072         * redisplay.c (regenerate_window): Make sure we set a sane value
11073         for end_pos even if we jump out of the loop.
11074         (regenerate_window): Answer Ben's question :-).
11075         (start_end_of_last_line): Add may_error argument.
11076         (start_of_last_line):
11077         (end_of_last_line): Pass may_error = 0.
11078         (end_of_last_line_may_error): New function.
11079         (pixel_to_glyph_translation): Use it, so we don't crash in
11080         event_to_glyph.
11081
11082 2000-03-04  Andy Piper  <andy@xemacs.org>
11083
11084         * window.h (struct window): add gutter_extent_modiff.
11085
11086         * window.c (allocate_window): zero out gutter_extent_modiff.
11087
11088         * redisplay.h: declare sync_display_line_structs.
11089
11090         * redisplay.c (add_glyph_rune): add a better comment.
11091
11092         * redisplay-output.c (sync_display_line_structs): made non-static.
11093         (compare_runes): remove unneccesary glyph cachel access.
11094
11095         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
11096
11097         * gutter.c (output_gutter): don't output the gutter if extent
11098         changes only involve extents in buffers. use 4 sets of display
11099         lines.
11100         (gutter_extent_signal_changed_region_maybe): new function. Mark
11101         extents in gutters as changed.
11102         (update_frame_gutters): use 4 sets of display lines.
11103         (reset_gutter_display_lines): ditto.
11104         (free_frame_gutters): ditto.
11105         (redraw_exposed_gutter): force output of gutters.
11106
11107         * frame.h (struct frame): add 4 sets of gutter display lines.
11108
11109         * extents.c: (extent_changed_for_redisplay): signal changes to
11110         extents in strings in the gutter as well as extents in buffers.
11111
11112 2000-03-02  Andy Piper  <andy@xemacs.org>
11113
11114         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
11115
11116         * frame.c (Fmake_frame): make sure the gutters get initialized
11117         after the frame is visible.
11118         (set_frame_selected_window): re-arrange compilation macros a
11119         little.
11120         (change_frame_size_1): mark gutters changed.
11121
11122         * device.c (Fset_device_class): mark gutters changed.
11123
11124 2000-03-01  Andy Piper  <andy@xemacs.org>
11125
11126         * window.c (window_top_frame_gutter_height): deleted.
11127         (window_bottom_frame_gutter_height): ditto.
11128         (window_left_frame_gutter_height): ditto.
11129         (window_right_frame_gutter_height): ditto.
11130         (window_top_gutter_height): don't use them.
11131         (window_bottom_gutter_height): ditto.
11132         (window_left_gutter_width): ditto.
11133         (window_right_gutter_width): ditto.
11134         (Fsplit_window): ditto.
11135         (Fwindow_pixel_edges): don't use border dimensions here.
11136
11137         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
11138         (update_scrollbar_instance): ditto.
11139
11140         * redisplay.c (generate_modeline): don't take gutters into account.
11141         (generate_modeline): ditto.
11142         (redisplay_frame): small gutter display optimization.
11143
11144         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
11145
11146         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
11147         gutters into account.
11148
11149         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
11150         for window position and type.
11151
11152         * gutter.c (get_gutter_coords): fix for frame gutters.
11153         (update_frame_gutters): update frame geometry if the gutters have
11154         changed.
11155         (init_frame_gutters): record current gutter geometries.
11156
11157         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
11158         var.
11159         (mswindows_widget_instantiate): ditto.
11160
11161         * frame.h (struct frame): add current_gutter_bounds.
11162
11163         * frame.c (change_frame_size_1): position window and minibuffer
11164         appropriately taking into account the frame gutters.
11165
11166         * frame-x.c: (x_initialize_frame_size): take into account the
11167         frame gutters.
11168
11169 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
11170
11171         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
11172
11173 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
11174
11175         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
11176
11177 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11178
11179         * file-coding.c (reset_decoding_stream): Clear previous
11180         detection state when autodetect.
11181
11182 2000-02-29  Didier Verna  <didier@xemacs.org>
11183
11184         * extents.c (set_extent_glyph_1): don't require extents to be
11185         attached.
11186
11187 2000-02-27  Andy Piper  <andy@xemacs.org>
11188
11189         * gutter.c (Fset_default_gutter_position): don't default left and
11190         right gutter visibility to t.
11191         (Fset_default_gutter_position): run
11192         default-gutter-position-changed-hook.
11193         (syms_of_gutter): add default-gutter-position-changed-hook.
11194
11195 2000-02-26  Andy Piper  <andy@xemacs.org>
11196
11197         * specifier.c (Fmake_specifier): add gutter references.
11198
11199         * gutter.h (RAW_WINDOW_GUTTER): new macro.
11200
11201         * lisp.h: declare Fvalid_plist_p.
11202
11203         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
11204         as changed.
11205         (default_gutter_visible_p_changed_in_window): invalidate gutter as
11206         well as its visibility so that it gets reconstructed.
11207         (construct_window_gutter_spec): new function. Construct a string
11208         to be displayed in the gutter from a plist of strings. Take care
11209         to only use elements that are declared as visible.
11210         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
11211         WINDOW_GUTTER.
11212         (gutter_validate): allow plists of strings in the specifier.
11213         (gutter_specs_changed): construct the real_gutter from the gutter
11214         specs using construct_window_gutter_spec.
11215         (gutter_visible_validate): gutter-visible is a new specifier type.
11216         (Fgutter_visible_specifier_p): new function for the new specifier.
11217         (syms_of_gutter): declare gutter-visible and
11218         Fgutter_visible_specifier_p.
11219         (specifier_type_create_gutter): intitalize new gutter-visible
11220         specifier.
11221         (reinit_specifier_type_create_gutter): ditto.
11222         (specifier_vars_of_gutter): use new specifier type for gutter
11223         visibility.
11224         (init_frame_gutters): construct real_gutter correctly.
11225         (Fgutter_specifier_p): beef up documentation.
11226         (Fgutter_size_specifier_p): ditto.
11227
11228         * winslots.h: add real_gutter slots.
11229
11230 2000-02-25  Andy Piper  <andy@xemacs.org>
11231
11232         * device-msw.c: Be kind to older cygwin versions. From Raymond
11233         Toy <toy@rtp.ericsson.se>.
11234
11235         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
11236         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
11237
11238 2000-02-25  Martin Buchholz  <martin@xemacs.org>
11239
11240         * elhash.c (MARK_OBJ): Practice macro hygiene.
11241
11242 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11243
11244         * miscplay.c: s/__inline__/inline/g;
11245         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
11246         (get_device_compdc): INLINE ==> static inline
11247         * *.[ch]: Change INLINE to INLINE_HEADER globally.
11248         find -name '*.h' | \
11249         xargs global-replace \
11250         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
11251
11252 2000-02-25  Andy Piper  <andy@xemacs.org>
11253
11254         * window.c (window_top_frame_gutter_height): new function.
11255         (window_top_window_gutter_height): ditto.
11256         (window_top_gutter_height): use them.
11257         (window_bottom_frame_gutter_height): new function.
11258         (window_bottom_window_gutter_height): ditto.
11259         (window_bottom_gutter_height): use them.
11260         (window_left_window_gutter_width): new function.
11261         (window_left_frame_gutter_width): ditto.
11262         (window_left_gutter_width): use them.
11263         (window_right_window_gutter_width): new function.
11264         (window_right_frame_gutter_width): ditto.
11265         (window_right_gutter_width): use them.
11266         (window_pixel_height): new function. calulate window pixel height
11267         with frame gutter involvement.
11268         (Fsplit_window): calculate new sizes taking frame gutters into
11269         account.
11270         (window_char_height_to_pixel_height): don't include frame gutters.
11271         (window_char_height): use window_pixel_height.
11272         (window_pixheight): rename from window_pixel_height.
11273         (change_window_height): use it.
11274         (window_pixel_height_to_char_height): don't include frame gutters.
11275         (window_char_width_to_pixel_width): ditto.
11276
11277 2000-02-25  Andy Piper  <andy@xemacs.org>
11278
11279         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
11280         if it is.
11281
11282 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11283
11284         * alloc.c (staticpro):
11285         (staticpro_nodump):
11286         (dumpstruct):
11287         (dumpopaque):
11288         (pdump_wire):
11289         (pdump_wire_list):
11290         (compact_string_chars):
11291         (pdump_dump_wired):
11292         Convert:  if (foo) abort();  ==>  assert (! foo);
11293
11294         * eldap.c (Fldap_search_basic):
11295         (Fldap_add):
11296         (Fldap_modify):
11297         (Fldap_delete):
11298         Fix compiler warnings, and possible crashes if (random) return
11299         value were to be used.
11300
11301 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11302
11303         * device-msw.c: Workaround ResetDC failure.
11304
11305         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
11306         applying a devmode.
11307
11308         * redisplay-msw.c (get_frame_dc): Added start_page_p.
11309         (mswindows_text_width): Do not start printer page.
11310
11311         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
11312
11313         * glyphs-msw.c: Added image methods to msprinter console and
11314         msprinter-specific image instantiation.
11315
11316 2000-02-20  Mike Alexander  <mta@arbortext.com>
11317
11318         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
11319         to avoid crashes when selection-sets-clipboard is on
11320         (mswindows_own_selection): ditto
11321
11322 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11323
11324         * glyphs-msw.c:
11325         * redisplay-msw.c (get_frame_dc):
11326         (get_frame_compdc):
11327         * console-msw.h:
11328         * device-msw.c (mswindows_init_device):
11329         (mswindows_delete_device):
11330         (msprinter_init_device):
11331         (msprinter_delete_device):
11332         * frame-msw.c (mswindows_init_frame_1):
11333         (mswindows_delete_frame):
11334         (msprinter_init_frame_3):
11335         (msprinter_delete_frame): Move compatible DC to device object from
11336         frame object, for both mswindows and msprinter. Only one at a time
11337         is needed, it is a real waste to have one per frame!
11338
11339 2000-02-23  Andy Piper  <andy@xemacs.org>
11340
11341         * glyphs.c: add dynamic width and height elements.
11342         (image_instance_equal): ditto.
11343
11344         * glyphs-widget.c (widget_query_geometry): calculate width and
11345         height dynamically if required.
11346         (initialize_widget_image_instance): initialize dynamic dimensions.
11347         (widget_instantiate): pick-up dynamic dimensions.
11348
11349         * glyphs.h (struct Lisp_Image_Instance): add width and height for
11350         dynamic determination. Add appropriate macros.
11351
11352         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
11353         dimensions safe.
11354         (WINDOW_GUTTER_SIZE): ditto.
11355         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
11356
11357         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
11358         inline.
11359         (get_frame_dc): ditto.
11360
11361         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
11362         here.
11363
11364 2000-02-23  Martin Buchholz <martin@xemacs.org>
11365
11366         * XEmacs 21.2.31 is released.
11367
11368 2000-02-22  Ben Wing <ben@xemacs.org>
11369
11370         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
11371
11372 2000-02-22  Andy Piper  <andy@xemacs.org>
11373
11374         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
11375
11376 2000-02-21  Mike Sperber <mike@xemacs.org>
11377
11378         * .dbxrc:
11379         * .gdbinit:
11380         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
11381         variables.
11382
11383 2000-02-21  Mike Sperber <mike@xemacs.org>
11384
11385         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
11386
11387 2000-02-21  Martin Buchholz <martin@xemacs.org>
11388
11389         * XEmacs 21.2.30 is released.
11390
11391 2000-02-20  Martin Buchholz  <martin@xemacs.org>
11392
11393         Performance hacking.
11394         * *.c (syms_of_*):
11395         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
11396         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
11397         * emacs.c (main_1):
11398         * lisp.h (DEFUN):
11399         * console.c (DEFVAR_CONSOLE_LOCAL_1):
11400         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
11401         * symeval.h (DEFVAR_SYMVAL_FWD):
11402         * symbols.c (guts_of_unbound_marker):
11403         Make all c_readonly objects also lisp_readonly and marked for life.
11404         * lrecord.h (struct lrecord_implementation):
11405         Document flags better.
11406         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
11407         * lrecord.h (DECLARE_LRECORD):
11408         * lrecord.h (XSETRECORD):
11409         * lrecord.h (RECORDP):
11410         * lrecord.h (RECORD_TYPEP):
11411         * lrecord.h (RECORD_MARKER): New.
11412         * lrecord.h (error_check_*):
11413         * lrecord.h (CONCHECK_NONRECORD):
11414         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
11415         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
11416         * lrecord.h (set_lheader_implementation):
11417         * lrecord.h (enum lrecord_type): New.
11418         * symeval.h (SYMBOL_VALUE_MAGIC_P):
11419         * alloc.c (disksave_object_finalization_1):
11420         * alloc.c (mark_object):
11421         * alloc.c (lrecord_type_index):
11422         * alloc.c (tick_lcrecord_stats):
11423         * alloc.c (Fgarbage_collect):
11424         * alloc.c (init_alloc_once_early):
11425         * alloc.c (pdump_load):
11426         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
11427         * alloc.c (lrecord_type_index): Delete.
11428         Make lisp object type indexes be constant.
11429           Makes (byte-compile) 5% faster.
11430         Put all marker functions into their own array.
11431           Makes (garbage-collect) 5% faster.
11432         Optimize SYMBOL_VALUE_MAGIC_P.
11433           Makes (byte-compile) 2-3% faster.
11434         * config.h.in (gc_checking_assert): New.
11435         * alloc.c: Use gc_checking_assert().
11436         * .dbxrc: Make compatible with new object type implementation.
11437         * .gdbinit: Make compatible with new object type implementation.
11438         * alloc.c: Delete all symbols defined only for debugging, such as
11439         Lisp_Type_Vector and lrecord_charset.
11440
11441 2000-02-21  Andy Piper  <andy@xemacs.org>
11442
11443         * gui-msw.c (Fmswindows_shell_execute): fix file location
11444         problems.
11445
11446         * buffer.c (Fkill_buffer): remove buffer from alist buffer
11447         unshowing so that set_window_buffer doesn't undo
11448         kill_buffer_hook's hard work.
11449
11450         * glyphs-widget.c (tab_control_query_geometry): don't count the
11451         first item when calculating geometry.
11452
11453         * glyphs.c (map_subwindow): remove redundant code.
11454         (update_frame_subwindows): be more circumspect about when to
11455         update subwindows.
11456
11457         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
11458         when items haven't changed. Update faces if faces have changed as
11459         well as just the widget face.
11460         (x_tab_control_update): Update faces if faces have changed as well
11461         as just the widget face.
11462
11463 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11464
11465         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
11466         registration.
11467         (build_syscolor_string): Use mswindows_color_to_string to try to
11468         get a named color.
11469         (mswindows_device_system_metrics): Reverse the foreground and
11470         background colors so that they match the documentation.
11471
11472         * objects-msw.c: (mswindows_X_color_map): tweak some values so
11473         they match the default Windows palette.
11474         (mswindows_color_to_string): New function.
11475
11476 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11477
11478         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
11479
11480 2000-02-18  Olivier Galibert  <galibert@pobox.com>
11481
11482         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
11483         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
11484
11485         * symbols.c (init_symbols_once_early): Removed obsolete
11486         DATA_SEG_BITS related kludge.
11487         (defvar_magic): Ditto.
11488
11489         * malloc.c: Removed obsolete DATA_SEG_BITS
11490         * ralloc.c: Ditto.
11491         * mem-limits.h: Ditto.
11492
11493         * Makefile.in.in: Removed obsolete HAVE_SHM
11494         * emacs.c: Ditto.
11495
11496 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11497
11498         *  device-msw.c (mswindows_delete_device): Free DDE string
11499         handles.
11500
11501 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11502
11503         * keymap.c (get_keyelt):
11504         * unexnt.c (unexec):
11505         * vm-limit.c (memory_warnings):
11506         * ntheap.c (recreate_heap):
11507         * ntheap.h (UNINIT_PTR):
11508         * select-msw.c (Fmswindows_get_clipboard):
11509         (Fmswindows_set_clipboard):
11510         * objects-msw.h (MSWINDOWS_BAD_HFONT):
11511         * objects-msw.c:
11512         * menubar-msw.c (displayable_menu_item):
11513         * glyphs-msw.c:
11514         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
11515         * sysdep.c (sys_subshell):
11516         * process-nt.c (nt_create_process):
11517         * nt.c (normalize_filename):
11518         (dostounix_filename):
11519         (unixtodos_filename):
11520         * ntproc.c (win32_executable_type):
11521         * ntplay.c (play_sound_data_1):
11522         (play_sound_file):
11523         * editfns.c (get_home_directory):
11524         * event-msw.c (struct winsock_stream):
11525         (mswindows_dde_callback):
11526         * device-msw.c (msprinter_init_device):
11527         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
11528
11529         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
11530         mswindows_clear_toolbar were swapped!
11531
11532         * objects-msw.c:(colormap_t):
11533         (fontmap_t):
11534         * emacs.c (struct standard_args): Fixed const jumble.
11535
11536         * glyphs-widget.c (update_widget): Fixed comparison notation.
11537
11538         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
11539
11540         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
11541         __declspec(noreturn) syntax.
11542
11543 2000-02-19  Martin Buchholz  <martin@xemacs.org>
11544
11545         * eldap.c (Fldap_open):
11546         (Fldap_search_basic):
11547         (Fldap_add):
11548         (Fldap_modify):
11549         Use new coding system conversion macros.
11550
11551 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11552
11553         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
11554
11555 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
11556
11557         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
11558         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11559
11560         * eldap.c (Qadd, Qreplace): New constant symbols
11561         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
11562         interruptions by XEmacs signals
11563         Remove unnecessary calls to slow_down_interrupts and
11564         speed_up_interrupts
11565         (Fldap_search_basic): Renamed from Fldap_search_internal
11566         Added new optional parameter VERBOSE that triggers the
11567         display of progress messages
11568         Remove unnecessary calls to slow_down_interrupts and
11569         speed_up_interrupts
11570         LDAP result code analysis rewritten
11571         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11572         (syms_of_eldap): Define the new symbols and functions
11573
11574
11575 2000-02-17  Martin Buchholz  <martin@xemacs.org>
11576
11577         * realpath.c: Determine PATH_MAX maximally portably.
11578
11579         * insdel.c (bytecount_to_charcount): Optimize.
11580         The function used to be optimized for entirely ASCII sequences.
11581         Now it is optimized for successive characters from the same
11582         charset.  This also wins big for _mostly_ ASCII sequences.
11583
11584         * fileio.c (Ffile_truename): convert return from realpath() using
11585         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
11586         - Rewrite GCPROing slightly.
11587
11588         * sysdep.c (sys_open): Do filename conversion, like all other
11589         sys_* functions.  Fixes bug:
11590         (let ((file-name-coding-system 'iso-8859-2))
11591            (write-region x y latin2-name))
11592         ==> writes filename using internal encoding.
11593
11594 2000-02-18  Martin Buchholz  <martin@xemacs.org>
11595
11596         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
11597         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
11598         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
11599         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
11600         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
11601         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
11602         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
11603         (CONST_IF_NOT_DEBUG): Delete.
11604         * alloc.c (this_one_is_unmarkable): Delete.
11605         (mark_object): Don't check for this_one_is_unmarkable. Use the
11606         c_readonly flag instead.
11607         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
11608
11609 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11610
11611         * event-msw.c (mswindows_drain_windows_queue):
11612         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
11613         away redundant repaint events.
11614
11615 2000-02-17  Andy Piper  <andy@xemacs.org>
11616
11617         * redisplay.h: declare mark_redisplay_structs.
11618
11619         * redisplay.c (redisplay_window):
11620         (redisplay_frame): don't check subwindows_state_changed.
11621         (mark_redisplay): mark gutters here.
11622
11623         * glyphs.c: (instantiate_image_instantiator): always layout if we
11624         haven't done so already.
11625         (allocate_image_instance): don't mark as dirty.
11626         (update_subwindow): bind inhibit_quit.
11627
11628         * gutter.c (mark_gutters): new function.
11629
11630         * glyphs-x.c (x_update_widget): Always resize to get round a
11631         widget bug.
11632
11633         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
11634         breaking absolutely everything.
11635
11636         * gutter.h: declare mark_gutters.
11637
11638 2000-02-16  Martin Buchholz <martin@xemacs.org>
11639
11640         * XEmacs 21.2.29 is released.
11641
11642 2000-02-15  Olivier Galibert  <galibert@pobox.com>
11643
11644         * fns.c (size_bit_vector): Fix computation of the size.
11645
11646 2000-02-15  Martin Buchholz  <martin@xemacs.org>
11647
11648         * *.[ch]: Change CONST to const globally.
11649         find -name '*.[ch]' | \
11650         xargs global-replace \
11651         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
11652         - Remove vestigial references to CONST_IS_LOSING
11653
11654 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11655
11656         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
11657         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
11658         events instead of dispatching them directly.
11659         (mswindows_handle_paint): New function to do repainting.
11660         (mswindows_wnd_proc):
11661         (emacs_mswindows_handle_magic_event): Call above function.
11662
11663 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11664
11665         * objects-msw.c (mswindows_create_font_variant): Return the new
11666         font handle.
11667         (initialize_font_instance): Get font metrics from the underlined
11668         variant of the font to cope with the case where the underlined
11669         font has a bigger descent.
11670
11671 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11672
11673         * gui.c (gui_item_accelerator): Return the first underlined
11674         character in item name.
11675
11676 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11677
11678         * lisp.h: Added Qprinter.
11679
11680         * general.c (syms_of_general): Initialized it.
11681
11682         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
11683         (get_frame_dc):
11684         (get_frame_compdc): Made inline.
11685
11686         * console.h (struct console_methods): Added eject_page method.
11687
11688         * frame.h: Added FRAME_DISPLAY_P and friends.
11689         Aligned backslahes in many macros in more readable fashion.
11690         Added page_number to struct frame, and an accessor macro
11691         for it.
11692
11693         * defice.h: Added DEVICE_DISPLAY_P and friends.
11694
11695         * device.c (Fdevice_printer_p): Used these.
11696
11697         * frame.c (allocate_frame_core): Initialize page number.
11698         (Fprint_job_page_number):
11699         (Fprint_job_eject_page): Implemented.
11700
11701         * frame-msw.c (msprinter_eject_page): Added method.
11702         (msprinter_start_page): Added.
11703
11704         * window.c (Fwindow_truncated_p): Fixed docstring.
11705         (Fwindow_last_line_visible_height): Implemented.
11706
11707 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11708
11709         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
11710
11711 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11712
11713         * syntax.c (scan_words): Always advance at least one character.
11714
11715 2000-02-13  Andy Piper  <andy@xemacs.org>
11716
11717         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
11718         to make sure the glyph is in the cachels.
11719
11720         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
11721         global image instance flag.
11722         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
11723         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
11724
11725         * glyphs.c (allocate_image_instance): set dirty bits correctly.
11726         (Fset_image_instance_property): mark layout as changed.
11727         (invalidate_glyph_geometry_maybe): mark layout as changed.
11728         (glyph_width): use new NEEDS_LAYOUT macro.
11729         (glyph_ascent): ditto.
11730         (glyph_descent): ditto.
11731         (glyph_height): ditto.
11732         (image_instance_layout): mark layout as clean after laying out.
11733         (update_subwindow): don't mark layout as clean here.
11734
11735         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
11736         should no longer be needed.
11737
11738         * glyphs-x.c (x_update_widget): sanitize asserts.
11739         (x_finalize_image_instance): sanitize assignment to widgets.
11740
11741         * glyphs-widget.c (widget_instantiate): don't need to clear the
11742         layout flag here.
11743
11744 2000-02-13  Martin Buchholz  <martin@xemacs.org>
11745
11746         * sysdep.c (getcwd): Use standard prototype.
11747         * sysdep.h (getcwd): Use standard prototype.
11748
11749         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
11750         (sequence, start, end).
11751         Remove redundant type checking.
11752         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
11753         view of `caller-protects') to avoid a crash where the real fix was
11754         found elsewhere.
11755
11756 2000-02-12  Martin Buchholz  <martin@xemacs.org>
11757
11758         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
11759
11760         * s/sol2.h: Remove feature macro initialization.
11761
11762         * alloc.c (alloc_lcrecord): Add more type checking assertions.
11763         (vector_hash): New.  Code from internal_hash.
11764         * lrecord.h:
11765         Fix up allocation subsystem comments.
11766
11767         * config.h.in: Add __EXTENSIONS__ for Solaris.
11768
11769         * systime.h (EMACS_GETTIMEOFDAY): New.
11770         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
11771         Remove Solaris-specific code.
11772         Use void* for the (ignored) second arg for gettimeofday().
11773
11774         * elhash.c (hash_table_hash): Implement it, finally.
11775         * elhash.c:  Use hashcode_t.
11776
11777         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
11778         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
11779
11780         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
11781         * fns.c (size_bit_vector):
11782         * alloc.c (size_vector):
11783         (make_vector_internal):
11784         (make_bit_vector_internal):
11785         (sweep_bit_vectors_1):
11786         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
11787
11788 2000-02-10  Martin Buchholz  <martin@xemacs.org>
11789
11790         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
11791         Include strings.h to avoid warnings for bzero and strcasecmp.
11792
11793 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11794
11795         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
11796         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
11797
11798         * fns.c (size_bit_vector): New.  Declare bit vectors as a
11799         sequence.
11800
11801 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11802
11803         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
11804         use a value field instead.
11805         (symbol_value_forward_forward): Use value field.
11806         (DEFVAR_SYMVAL_FWD): Use value field.
11807         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
11808         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
11809         (DEFVAR_CONST_INT): Ditto.
11810         (DEFVAR_BOOL): Ditto.
11811         (DEFVAR_CONST_BOOL): Ditto.
11812         (DEFVAR_INT_MAGIC): Ditto.
11813         (DEFVAR_BOOL_MAGIC): Ditto.
11814
11815         * symbols.c (guts_of_unbound_marker): Use value field.
11816         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
11817         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
11818
11819         * lisp.h: Declare dumpopaque and noninteractive1.
11820
11821         * alloc.c (dumpopaque): Added.
11822         (pdump_dump_opaquevec): Added.
11823         (pdump): Call pdump_dump_opaquevec to dump opaque data.
11824         (pdump_load): Reload opaque data.  Sync noninteractive1 with
11825         noninteractive.
11826
11827 2000-02-10  Andy Piper  <andy@xemacs.org>
11828
11829         * glyphs.c (image_instance_layout): if the size changes, mark it
11830         as such.
11831
11832         * redisplay-output.c (redisplay_output_layout): Update the
11833         subwindow here.
11834         (redisplay_output_subwindow): ditto.
11835
11836         * glyphs.c (update_subwindow): make sure we reset flags for
11837         layouts as well as everything else.
11838
11839         * glyphs-widget.c (layout_layout): don't need to set the instances
11840         dimensions here.
11841
11842 2000-02-09  Martin Buchholz  <martin@xemacs.org>
11843
11844         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
11845         not HAVE_DLOPEN, which is a lower-level thing.
11846
11847         * .cvsignore: Ignore gmon.out
11848
11849 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
11850
11851         * .cvsignore: Ignore portable dumper xemacs.dmp file
11852
11853 2000-02-09  Andy Piper  <andy@xemacs.org>
11854
11855         * redisplay-output.c (redisplay_output_layout): be more clever
11856         about when we output based on the changed flags.
11857
11858         * glyphs.h (struct image_instantiator_methods): add update_method.
11859         (struct Lisp_Image_Instance): add changed flags. Declare new
11860         macros for manipulating them.
11861
11862         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
11863         (image_instance_parent_glyph): find an image_instance's parent
11864         glyph or image_instance.
11865         (image_instance_layout): mark the size as changed.
11866         (set_image_instance_dirty_p): new function. mark an image
11867         instance, plus all of its parents, as dirty.
11868         (Fset_image_instance_property): use it.
11869         (Fglyph_animated_timeout_handler): use it.
11870         (update_subwindow): call update_widget and device methods for
11871         update_subwindow. Mark all changed flags as clean.
11872         (Fresize_subwindow): mark size as changed.
11873
11874         * glyphs-x.c (x_finalize_image_instance): try and detect gc
11875         failures.
11876         (x_update_subwindow): only resize subwindows here.
11877         (x_update_widget): new function. Update all changed properties of
11878         a widget.
11879         (x_resize_subwindow): deleted.
11880         (x_widget_set_property): deleted.
11881         (x_progress_gauge_set_property): deleted.
11882         (x_progress_gauge_update): new function. Implement recorded
11883         changes.
11884         (x_tab_control_update): ditto.
11885         (x_tab_control_set_property): deleted.
11886         (console_type_create_glyphs_x): declare new functions.
11887         (image_instantiator_format_create_glyphs_x): ditto.
11888
11889         * glyphs-widget.c (widget_set_property): mark text changed.
11890         (update_widget): new function. Update properties of a widget.
11891         (widget_instantiate): for layouts make sure we set their
11892         children's parent correctly.
11893         (tab_control_set_property): new function. Record changes that will
11894         take place under redisplay's control.
11895         (progress_gauge_set_property): ditto.
11896         (image_instantiator_progress_guage): declare new functions.
11897         (image_instantiator_tab_control): ditto.
11898
11899         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
11900         now.
11901         (mswindows_update_widget): new function. Update all properties on
11902         a widget that have changed.
11903         (mswindows_button_update): new function. Update a button's set
11904         state.
11905         (mswindows_tab_control_update): new function. Update the items in
11906         a tab.
11907         (mswindows_tab_control_set_property): deleted.
11908         (mswindows_progress_gauge_update): new function. Update the
11909         progress gauge's progress.
11910         (mswindows_widget_set_property): deleted. This is all done
11911         asynchronously now.
11912         (mswindows_progress_gauge_set_property): ditto.
11913         (console_type_create_glyphs_mswindows): declare new methods.
11914         (image_instantiator_format_create_glyphs_mswindows): ditto.
11915
11916         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
11917         (msprinter_set_frame_properties): ditto.
11918
11919         * console.h (struct console_methods): Add update_widget_method.
11920
11921 2000-02-09  Andy Piper  <andy@xemacs.org>
11922
11923         * gui-msw.c (Fmswindows_shell_execute): Make
11924         mswindows-shell-execute industrial strength.
11925
11926 2000-02-08  Martin Buchholz  <martin@xemacs.org>
11927
11928         * lrecord.h: Make macro argument `props' match member function `plist'.
11929         * fns.c (Fget):
11930         * fns.c (Fput):
11931         * fns.c (Fremprop):
11932         * fns.c (Fobject_plist):
11933         * alloc.c:
11934         * symbols.c:
11935         Object property list frobbing cleanup.
11936         - Allow any lisp object (compared with `eq'), not just symbols, as
11937           keys in object plists.
11938         - Move symbol plist frobbing into symbols.c, where it belongs.
11939         - Move string plist frobbing into alloc.c, where it belongs.
11940         - Everything's an lrecord now, so no need to test for symbolp, etc.
11941         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
11942
11943         * extents.c: Reorder code to remove declarations.
11944
11945         * frame.h (store_in_alist): Remove useless declaration.
11946
11947 2000-02-07  Martin Buchholz  <martin@xemacs.org>
11948
11949         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
11950         * config.h.in: Add HAVE_XCONVERTCASE.
11951
11952 2000-02-07  Andy Piper  <andy@xemacs.org>
11953
11954         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
11955         it breaks many things.
11956
11957 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11958
11959         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
11960         actually can start a common comment type.
11961         * src/syntax.h (SYNTAX_END_P): ditto for end.
11962
11963 2000-02-07  Martin Buchholz <martin@xemacs.org>
11964
11965         * XEmacs 21.2.28 is released.
11966
11967 2000-02-06  Martin Buchholz  <martin@xemacs.org>
11968
11969         * event-Xt.c (x_keysym_to_character): New.
11970         (maybe_define_x_key_as_self_inserting_character): New.
11971         (x_has_keysym): New.
11972         Auto-define all keys on the keyboard as self-insert-key.
11973
11974 2000-02-02  Martin Buchholz  <martin@xemacs.org>
11975
11976         * menubar.c (vars_of_menubar): A small code simplification.
11977
11978         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
11979
11980         * ExternalShell.c:
11981         * ExternalClient.c:
11982         * EmacsShell-sub.c:
11983         * EmacsManager.c:
11984         * EmacsFrame.c:
11985         Use consistent style for specifying X resources.
11986
11987         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
11988         This makes (dontusethis-set-symbol-value-handler) actually usable.
11989
11990         * lrecord.h (lrecord_decription_type):
11991         * alloc.c (pdump_register_sub):
11992         (pdump_dump_data):
11993         (pdump_reloc_one):
11994         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
11995         Comply with XEmacs coding style.
11996         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
11997         args, and XD_LISP_OBJECT_ARRAY with 3 args.
11998
11999         * keymap.c (Faccessible_keymaps):
12000         Make (accessible-keymaps map "\C-h") do the Right Thing.
12001         Make (accessible-keymaps map []) do the Right Thing.
12002         Make (accessible-keymaps map "") do the Right Thing.
12003         (check_keymap_definition_loop): New function.
12004         (keymap_store_internal): Keep luser from shooting self in foot,
12005           via (define-key ctl-x-4-map "p" global-map).
12006         Remove fullness slot from struct Lisp_Keymap, since hash tables
12007         are now reliable.
12008         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
12009
12010 2000-01-30  Martin Buchholz  <martin@xemacs.org>
12011
12012         * redisplay.c (init_redisplay): Fix small memory leak.
12013         * elhash.h:
12014         * elhash.c (pdump_reorganize_hash_table):
12015         Rename from reorganize_hash_table. Change prototype.
12016         Reuse the original memory for hentries.  Save 100k.
12017         * alloc.c (PDUMP_READ): new macro.
12018         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
12019         * alloc.c: No need to #ifndef before #undef.
12020
12021         * print.c: Allow debug_print() to print readably by modifying
12022         debug_print_readably.  Use consistent variable names.
12023
12024         * .dbxrc: Try to get things to work even if stopped in a function
12025         without source available by explicitly specifying source files.
12026 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12027
12028         * unexnt.c (_start): Removed bogus code which caused loading heap
12029         from differrent executable file.
12030         Removed bogus assignment to _fmode, which caused inconsistencies.
12031
12032 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12033
12034         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
12035         Have spawnve encapsulation regard DONT_ENCAPSULATE.
12036         Do not preliminary `#define signal sigset'.
12037
12038         * systime.h: Do not prototype environ on windows nt and cygwin,
12039         this conflicts with system header.
12040
12041         * syssignal.h: Use correct define for WINDOWSNT
12042
12043         * sysdep.h: Do not prototype environ on windows nt, this conflicts
12044         with system header.
12045
12046         * sysdep.c (near start of file): Fixed commentary and rearranged
12047         ifdefs in readable order.
12048         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
12049         (start_of_text):
12050         (end_of_text):
12051         (end_of_data): Do not compile in if using PDUMP.
12052
12053         * symsinit.h: Prototyped vars_of_nt().
12054
12055         * ntproc.c (windows9x_p): Added, instead of os_subtype.
12056         (find_child_console): Use it.
12057         (sys_kill): Use it.
12058
12059         * ntheap.h: Do not extern os_subtype.
12060
12061         * ntheap.c (cache_system_info): Do not cache unneeded:
12062         nt_major_version, nt_minor_version and os_subtype.
12063         (recreate_heap): Do not compile in when PDUMPing.
12064
12065         * nt.c (geteuid and friends): Use the new varibale
12066         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
12067         (init_user_info): Removed the above mentioned hackery.
12068         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
12069         stat has been fixed in the C runtime.
12070         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
12071
12072         * file-coding.c (struct file_coding_dump): Do not define
12073         ucs_to_mule_table in the struct if not MULE.
12074         (struct struct lrecord_description fcd_description_1): Do not dump
12075         the above.
12076
12077         * emacs.c (main_1): Call vars_of_nt().
12078         (right before Fdump_emacs_data): Don't need lastfile if using both
12079         portabe dumper and system malloc.
12080
12081         * alloc.c (Fmemory_limit): Conditionalized out.
12082         (pdump): Use OPEN_BINARY for the portable dump file.
12083         (pdump_load): Ditto.
12084
12085 2000-02-02  Mike Alexander  <mta@arbortext.com>
12086
12087         * nt.c (convert_time): Set tm_isdst before calling mktime and
12088         avoid calling it at all if the compiler supports 64 bit integers.
12089         Also initialize utc_base_ft before using it.
12090
12091 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
12092
12093         * frame.c (change_frame_size_1): Take f->internal_border_width
12094         into consideration when calculating the width of the frame.
12095
12096 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12097
12098         * window.c (frame_min_height):
12099         (frame_size_valid_p):
12100         (frame_pixsize_valid_p): Added.
12101         (check_frame_size): Generalized.
12102
12103         * window.h: Prototyped the above.
12104
12105         * lisp.h:
12106         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
12107         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
12108         Deleted Vwin32_* and Vbinary_process_* unused variables.
12109
12110         * device-msw.c (msprinter_init_device): Do not get printer font
12111         list; Added DEVMODE functions.
12112
12113         * frame-msw.c: Added lots of printer code.
12114
12115         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
12116         general.c.
12117
12118         * console-msw.h: Added more msprinter device private slots.
12119
12120 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12121
12122         * event-msw.c (key_needs_default_processing_p): Added.
12123         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
12124
12125 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12126
12127         * glyphs.c (image_instance_layout): Mark image instance as clean
12128         after layout.
12129         (glyph_dirty_p): Removed redundant function.
12130         (invalidate_glyph_geometry_maybe): Added.
12131         (update_glyph_cachel_data): Call it.
12132
12133         * glyphs.h: Prototyped it.
12134
12135         * redisplay.c (add_glyph_rune): Call it.
12136         (redisplay_window): Reset glyphs cachels when frame faces have
12137         changed, thus forcing recomputation of built-in border glyphs.
12138
12139 2000-01-30  Martin Buchholz  <martin@xemacs.org>
12140
12141         * Makefile.in.in: Make portable dumper and purify play well together.
12142         Add imperfect, but better than nothing, support for pdump.
12143         Remove xemacs.dmp when temacs is re-generated.
12144         Don't ignore errors when dumping xemacs.
12145
12146         * symbols.c (maybe_call_magic_handler): Remove one magic number.
12147
12148 2000-01-28  Andy Piper  <andy@xemacs.org>
12149
12150         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
12151         (setup_normal_frame): ditto.
12152         (setup_frame_without_minibuffer): ditto.
12153         (setup_minibuffer_frame): ditto.
12154         (delete_frame_internal): ditto.
12155         (Fmake_frame_invisible): ditto.
12156         (Ficonify_frame): ditto.
12157
12158         * window.h: change Fset_window_buffer signature.
12159
12160         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
12161         (Fset_window_buffer): allow recording of buffer if the window is
12162         the selected window.
12163         (window_loop): Use new Fset_window signature.
12164
12165 2000-01-23  Daniel Pittman  <daniel@danann.net>
12166
12167         * config.h.in: Added template for `HAVE_ATHENA_3D'
12168
12169 2000-01-29  Andy Piper  <andy@xemacs.org>
12170
12171         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
12172
12173         * gutter.c (output_gutter): Don't output if the window isn't live.
12174
12175 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12176
12177         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
12178         of 01/12/00: Moved SetFocus back here where it belongs.
12179
12180 2000-01-23  Andy Piper  <andy@xemacs.org>
12181
12182         * s/cygwin32.h: declare printer things.
12183
12184 2000-01-26  Andy Piper  <andy@xemacs.org>
12185
12186         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
12187         Alexander.
12188
12189 2000-01-24  Andy Piper  <andy@xemacs.org>
12190
12191         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
12192         (mswindows_button_instantiate): Make sure glyph is a pixmap.
12193
12194         * glyphs-widget.c (widget_instantiate): Avoid shadows.
12195
12196         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
12197
12198         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
12199
12200         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
12201         (mswindows_output_display_block): Avoid local shadows.
12202
12203         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
12204         (mswindows_enqueue_mouse_button_event): ditto.
12205         (mswindows_handle_gui_wm_command): remove declaration.
12206
12207         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
12208         warnings.
12209
12210         * console-msw.h: Avoid shadows.
12211         (mswindows_get_toolbar_button_text):
12212         (emacs_mswindows_create_stream_pair):
12213         (emacs_mswindows_delete_stream_pair):
12214         (mswindows_handle_toolbar_wm_command): declare.
12215
12216         * device-msw.c (build_syscolor_string): Avoid shadows.
12217
12218 2000-01-23  Andy Piper  <andy@xemacs.org>
12219
12220         * glyphs-widget.c (widget_instantiate): reverse the items for
12221         layouts so that children are in the expected order.
12222
12223 2000-01-28  Martin Buchholz  <martin@xemacs.org>
12224
12225         * ralloc.c: safe_bcopy ==> memmove
12226         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
12227         * s/msdos.h: Remove BCOPY macros.
12228         * insdel.c (gap_right): Remove BCOPY conditional code.
12229         * insdel.c (gap_left): Remove BCOPY conditional code.
12230         XEmacs demands a working ANSI C compiler - hence memmove.
12231
12232         * regex.c (regex_compile): Remove accidental use of trigraphs.
12233
12234 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12235
12236         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
12237         event timestamp.
12238
12239 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12240
12241         * event-msw.c (mswindows_drain_windows_queue): Added the
12242         parameter.
12243         (mswindows_need_event): Commented the call to
12244         mswindows_drain_windows_queue().
12245         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
12246         only.
12247
12248         * console-msw.h: Moved a few function prototypes here from
12249         event-msw.c.
12250
12251         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
12252         parameter from unsigned short to unsigned long.
12253         (Fmswindows_shell_execute): Added return value.
12254
12255 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12256
12257         * sysdep.c (init_system_name):
12258           process-unix.c (unix_canonicalized_host_name):
12259         Don't call freeaddrinfo() if getaddrinfo() fails.
12260
12261         * process-unix.c (unix_open_unix_network_stream):
12262         Moved the code to get a port # into address loop.
12263
12264 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12265
12266         * buffer.c (reinit_vars_of_buffer):
12267         The right place to initialize conversion_in_dynarr and
12268         conversion_out_dynarr.
12269
12270         * alloc.c (pdump): Use the real open() till sys_open() is functional.
12271
12272         * process-unix.c (unix_canonicalize_host_name): Muleize.
12273         (unix_open_network_stream): Muleize.
12274
12275         * buffer.h: Fix up prototypes for ralloc.c functions.
12276
12277 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12278         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
12279         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
12280                 instead of gethostbyname()
12281         * process-unix.c: In unix_canonicalize_host_name() and
12282                 unix_open_network_stream(), add code to use getaddrinfo()
12283                 instead of gethostbyname().
12284
12285 2000-01-27  Daniel Pittman <daniel@danann.net>
12286
12287         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
12288         libs when built with flat Athena.
12289
12290 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12291
12292         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
12293         Use coding standards for function prototypes.
12294
12295 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12296
12297         * dialog-msw.c (push_lisp_string_as_unicode):
12298         * doc.c (unparesseuxify_doc_string):
12299         * dired.c (Fuser_name_completion_1):
12300         * dired.c (Fuser_name_all_completions):
12301         * dired.c (free_user_cache):
12302         * dired.c (user_name_completion):
12303         * console-x.c (get_display_arg_connection):
12304         * minibuf.c (clear_echo_area_internal):
12305         * minibuf.c (echo_area_append):
12306         * eldap.c (Fldap_open):
12307         * eldap.c (Fldap_search_internal):
12308         * frame-x.c (x_set_frame_text_value):
12309         * frame-x.c (x_set_frame_properties):
12310         * frame-x.c (x_create_widgets):
12311         * redisplay-tty.c (term_get_fkeys_1):
12312         * objects-x.c (x_parse_nearest_color):
12313         * objects-x.c (x_valid_color_name_p):
12314         * objects-x.c (x_initialize_font_instance):
12315         * objects-x.c (x_list_fonts):
12316         * objects-x.c (x_find_charset_font):
12317         * tooltalk.c (Fadd_tooltalk_message_arg):
12318         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12319         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12320         * process-unix.c (unix_create_process):
12321         * ntproc.c (sys_spawnve):
12322         * sound.c (Fplay_sound_file):
12323         * sound.c (Fplay_sound):
12324         * buffer.c (init_initial_directory):
12325         * buffer.c (init_buffer):
12326         * editfns.c (init_editfns):
12327         * editfns.c (Ftemp_directory):
12328         * editfns.c (Fuser_full_name):
12329         * editfns.c (uncache_home_directory):
12330         * editfns.c (get_home_directory):
12331         * editfns.c (Fuser_home_directory):
12332         * editfns.c (Fformat_time_string):
12333         * editfns.c (Fcurrent_time_string):
12334         * gui-x.c (button_item_to_widget_value):
12335         * database.c (Fopen_database):
12336         * event-Xt.c (x_to_emacs_keysym):
12337         * event-Xt.c (x_event_to_emacs_event):
12338         * event-Xt.c (describe_event_window):
12339         * event-msw.c (mswindows_wnd_proc):
12340         * glyphs-eimage.c (jpeg_instantiate):
12341         * glyphs-eimage.c (gif_instantiate):
12342         * glyphs-eimage.c (png_instantiate):
12343         * glyphs-eimage.c (tiff_instantiate):
12344         * glyphs-x.c (xbm_instantiate_1):
12345         * glyphs-x.c (x_xbm_instantiate):
12346         * glyphs-x.c (x_xface_instantiate):
12347         * glyphs-x.c (autodetect_instantiate):
12348         * glyphs-x.c (cursor_font_instantiate):
12349         * glyphs-x.c (x_widget_instantiate):
12350         * glyphs-x.c (x_widget_set_property):
12351         * glyphs-x.c (x_widget_property):
12352         * glyphs-x.c (BUILD_GLYPH_INST):
12353         * print.c (write_string_to_stdio_stream):
12354         * print.c (output_string):
12355         * print.c (Falternate_debugging_output):
12356         * print.c (Fexternal_debugging_output):
12357         * glyphs-msw.c (extract_xpm_color_names):
12358         * glyphs-msw.c (mswindows_xpm_instantiate):
12359         * glyphs-msw.c (bmp_instantiate):
12360         * glyphs-msw.c (resource_name_to_resource):
12361         * glyphs-msw.c (mswindows_resource_instantiate):
12362         * glyphs-msw.c (xbm_instantiate_1):
12363         * glyphs-msw.c (mswindows_xbm_instantiate):
12364         * glyphs-msw.c (mswindows_xface_instantiate):
12365         * glyphs-msw.c (mswindows_widget_instantiate):
12366         * glyphs-msw.c (add_tree_item):
12367         * glyphs-msw.c (add_tab_item):
12368         * glyphs-msw.c (mswindows_combo_box_instantiate):
12369         * glyphs-msw.c (mswindows_widget_property):
12370         * glyphs-msw.c (mswindows_combo_box_property):
12371         * glyphs-msw.c (mswindows_widget_set_property):
12372         * console.c (stuff_buffered_input):
12373         * objects-msw.c (mswindows_initialize_color_instance):
12374         * objects-msw.c (mswindows_valid_color_name_p):
12375         * objects-msw.c (mswindows_list_fonts):
12376         * objects-msw.c (mswindows_font_instance_truename):
12377         * bytecode.c (optimize_compiled_function):
12378         * select-x.c (symbol_to_x_atom):
12379         * select-x.c (x_atom_to_symbol):
12380         * select-x.c (hack_motif_clipboard_selection):
12381         * select-x.c (selection_data_to_lisp_data):
12382         * select-x.c (lisp_data_to_selection_data):
12383         * select-x.c (Fx_get_cutbuffer_internal):
12384         * select-x.c (Fx_store_cutbuffer_internal):
12385         * buffer.h (TO_EXTERNAL_FORMAT): New function.
12386         * buffer.h (TO_INTERNAL_FORMAT): New function.
12387         * emacs.c (make_arg_list_1):
12388         * emacs.c (make_argc_argv):
12389         * emacs.c (main_1):
12390         * emacs.c (Fdump_emacs):
12391         * emacs.c (split_string_by_emchar_1):
12392         * file-coding.h:
12393         * lisp.h:
12394         * lstream.h:
12395         * symsinit.h:
12396         * device-x.c (x_init_device):
12397         * device-x.c (Fx_valid_keysym_name_p):
12398         * device-x.c (Fx_get_font_path):
12399         * device-x.c (Fx_set_font_path):
12400         * glyphs.c (bitmap_to_lisp_data):
12401         * glyphs.c (pixmap_to_lisp_data):
12402         * alloc.c (make_ext_string): Use coding system arguments.  Update
12403         all callers.
12404         * alloc.c (build_string):
12405         * callproc.c (child_setup):
12406         * callproc.c (init_callproc):
12407         * fileio.c (lisp_strerror):
12408         * fileio.c (directory_file_name):
12409         * fileio.c (Fexpand_file_name):
12410         * fileio.c (Ffile_truename):
12411         * fileio.c (Fsysnetunam):
12412         * fileio.c (Fdo_auto_save):
12413         * sysdep.c (sys_readdir):
12414         * tests.c: New file.  Allow adding C tests.
12415         Replace GET_* macros with a more comprehensible and flexible
12416         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
12417         Modify all calls.
12418         Any coding system can be used to do format conversion.
12419         Eliminate enum external_data_format.
12420         Eliminate convert_to_external_format.
12421         Eliminate convert_to_internal_format.
12422         Make sure file-name, keyboard, terminal, and ctext are always
12423         defined as coding systems or aliases.  Make
12424         file-name-coding-system, terminal-coding-system, and
12425         keyboard-coding-system magical variables that are equivalent to
12426         defining the corresponding coding system aliases.
12427
12428         * file-coding.c (Fcoding_system_canonical_name_p): New function.
12429         * file-coding.c (Fcoding_system_alias_p): New function.
12430         * file-coding.c (Fcoding_system_aliasee): New function.
12431         * file-coding.c (append_suffix_to_symbol): New function.
12432         * file-coding.c (dangling_coding_system_alias_p): New function.
12433         * file-coding.c (Ffind_coding_system):
12434         * file-coding.c (Fcopy_coding_system):
12435         * file-coding.c (encode_coding_no_conversion):
12436         * file-coding.c (syms_of_file_coding):
12437         * file-coding.c (vars_of_file_coding):
12438         Rewrite coding system alias code.
12439         Allow nested aliases, like symbolic links.
12440         Allow redefinition of coding system aliases.
12441         Prevent existence of dangling coding system aliases.
12442
12443         * dired.c (Fuser_name_completion_1):
12444         * dired.c (Fuser_name_all_completions):
12445         A crash would happen if user did QUIT in the middle of building
12446         user_name_cache.  Remove redundant code in mainline and unwind_protect.
12447
12448         * lisp.h:
12449         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
12450
12451         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
12452         an unsigned char *.  Update all callers.
12453
12454 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12455
12456         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
12457
12458 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12459
12460         * elhash.c (hentry_description): Use more portable definition.
12461         (resize_hash_table): Initialize new hentries using
12462         xnew_array_and_zero, thereby simplifying the code.
12463
12464         * mule-charset.c (make_charset): Make sure entire object is
12465         initialized, to avoid Purify warnings.
12466
12467         * alloc.c (resize_string): Fix unlikely crash with big strings.
12468
12469 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12470
12471         * realpath.c (xrealpath):
12472         Don't call getwd().
12473
12474 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12475
12476         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
12477
12478 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
12479
12480         * unexelfsgi.c (unexec): Change the way we decide which segment
12481         should be extended.
12482
12483         Assumption that .bss section should be outside the PT_LOADable
12484         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
12485         it's present) is inside the 'data' segment. This would fail the
12486         test which was used to find a segment to grow and cover new
12487         heap. Instead of this assumption, I created another one - on IRIX
12488         the segment to grow should start below .bss and it's address
12489         should extent above the end of .bss. Once this segment is
12490         identified, it's grown to accommodate the new heap and new
12491         zero-length .bss section is added at the end of .data2.
12492
12493 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12494
12495         * eval.c (Feval): Wrong number of arguments should use original
12496         function, not the indirect_function version of it.
12497
12498 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
12499
12500         * glyphs-x.c (x_button_instantiate): Don't add image if
12501         it is not a pixmap.
12502         (x_locate_pixmap_file): Call Fexpand_file_name when file name
12503         is relative.
12504
12505 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
12506
12507         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
12508         declaration.
12509         (DEFVAR_INT_MAGIC): Ditto.
12510         (DEFVAR_BOOL_MAGIC): Ditto.
12511         * glyphs.h: Reindent backslash.
12512
12513 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12514
12515         * glyphs-widget.c (layout_query_geometry):
12516         (layout_layout): Use correct types for gheight, gwidth.
12517
12518 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12519
12520         * EmacsManager.c (QueryGeometry): Purified.
12521
12522 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12523
12524         * alloc.c (make_float): Make sure entire object is initialized, to
12525         avoid Purify warnings.
12526         (pdump_register_sub): Remove useless assignment.
12527         (pdump): Use xmalloc, not malloc.
12528         (pdump_load): Use xmalloc, not malloc.
12529
12530 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12531
12532         * callproc.c:
12533         * dired-msw.c:
12534         * fileio.c:
12535         * process-nt.c:
12536         * redisplay-msw.c:
12537         * sysdep.c: Removed redundant #include <windows.h>
12538
12539 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12540
12541         * frame.c (delete_frame_internal): Do not delete device when its
12542         implementation so declares.
12543         (delete_frame_internal): Set device selected frame to nil when
12544         last frame goes away.
12545
12546         * device-msw.c (msprinter_device_system_metrics): Implemented.
12547         (mswindows_device_system_metrics): Added 'device-dpi property.
12548
12549         * device.c: (Fdevice_printer_p): Added.
12550         Added 'offset-workspace device metric.
12551
12552         * console.h (device_metrics): Declared DM_offset_workspace.
12553
12554 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12555
12556         * fileio.c (Ffile_truename): Remove pointless and confusing
12557         initialization of elen.
12558
12559         * glyphs-widget.c: Compiler warning fixes.
12560
12561 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
12562
12563         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
12564         instead of a Lisp_Object as argument to make it consistent with
12565         the other LIVE_P macros.
12566         (CHECK_LIVE_PROCESS): New macro.
12567
12568         * process.c: Declare Qprocess_live_p.
12569         (Fprocess_live_p): New function.
12570         (create_process): Use PROCESS_LIVE_P.
12571         (read_process_output): Ditto.
12572         (set_process_filter): Ditto.
12573         (Fdelete_process): Ditto.
12574         (kill_buffer_processes): Ditto
12575         (process_send_signal): Use CHECK_LIVE_PROCESS.
12576         (Fprocess_input_coding_system): Check whether process is still
12577         alive (fix PR#1061).
12578         (Fprocess_output_coding_system): Ditto.
12579         (Fprocess_coding_system): Ditto.
12580         (Fset_process_input_coding_system): Ditto.
12581         (Fset_process_output_coding_system): Ditto.
12582
12583 2000-01-23  Andy Piper  <andy@xemacs.org>
12584
12585         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
12586         layout and widget.
12587
12588         * glyphs.c (mark_image_instance): take into account changed
12589         image_instance format.
12590         (image_instance_equal): ditto.
12591         (image_instance_hash): ditto.
12592
12593         * glyphs-widget.c (widget_instantiate): Incorporate layout
12594         instantiation here. Delay layout of the layout until later.
12595         (layout_instantiate): deleted.
12596         (layout_query_geometry): new function. get the geometry of a
12597         layout.
12598         (layout_layout): layout a layout dynamically.
12599         (image_instantiator_widget): New function - splitting up
12600         image_instantiator_format_create_glyphs_widget for netwinder
12601         compilation.
12602         (image_instantiator_buttons):
12603         (image_instantiator_edit_fields):
12604         (image_instantiator_combo_box):
12605         (image_instantiator_scrollbar):
12606         (image_instantiator_progress_guage):
12607         (image_instantiator_tree_view):
12608         (image_instantiator_tab_control):
12609         (image_instantiator_labels):
12610         (image_instantiator_layout): ditto.
12611         (image_instantiator_format_create_glyphs_widget): Call preceding
12612         functions.
12613
12614 2000-01-22  Martin Buchholz  <martin@xemacs.org>
12615
12616         * process.c (Fset_process_coding_system):
12617         * device-x.c (Fx_keysym_hash_table):
12618         Docstring fixes.
12619
12620         * lstream.c (Lstream_write): Return documented value, not 0.
12621
12622         * fileio.c (directory_file_name):
12623         (Fsubstitute_in_file_name):
12624         (Fsubstitute_insert_file_contents_internal):
12625         (Fwrite_region_internal):
12626         * emacs.c:
12627         * sysdep.c:
12628         * getloadavg.c:
12629         * systty.h:
12630         Remove vestigial APOLLO-conditional code.
12631
12632 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12633
12634         * getpagesize.h: Add guard macros.
12635         * libsst.h: Add guard macros.
12636         * libst.h: Add guard macros.
12637         * line-number.h: Add guard macros.
12638         * ndir.h: Add guard macros.
12639         * sysfloat.h: Add guard macros.
12640         * sysfile.h: Add guard macros.
12641         * sysproc.h: Add guard macros.
12642         * syswait.h: Add guard macros.
12643         * xintrinsic.h: Add guard macros.
12644         * xintrinsicp.h: Add guard macros.
12645         * xmmanager.h: Add guard macros.
12646         * xmmanagerp.h: Add guard macros.
12647         * xmprimitive.h: Add guard macros.
12648         * xmu.h: Add guard macros.
12649         * gpmevent.h: Add copyright statement. Add guard macros.
12650         * miscplay.h: Add guard macros.
12651         * *.h: Use consistent C-standards-approved guard macro names.
12652
12653         * opaque.c (make_opaque): Switch parameter order.
12654         * opaque.h (make_opaque): Switch parameter order.
12655         Update all callers.
12656         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
12657
12658         * config.h.in (type_checking_assert): Added.
12659         (bufpos_checking_assert): Added.
12660
12661 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12662
12663         * alloc.c: Harmless pdump changes.
12664         - Use countof().
12665         - spell alignment correctly.
12666         * sysdep.c: Use countof()
12667
12668 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12669
12670         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
12671         initially_selected_for_input() console method, default to 0.
12672         (semi_canonicalize_console_connection): Try to delegate to
12673         canonicalize_console_connection if no such console method.
12674         (canonicalize_console_connection): Vice versa.
12675         (print_console): Do not print nil connection.
12676
12677         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
12678         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
12679         (XDEVIMPF_FRAMELESS_OK): Added.
12680         (CONSOLE_INHERITS_METHOD): Added.
12681
12682         * console-msw.c (mswindows_canonicalize_console_connection):
12683         Added.
12684         (mswindows_canonicalize_device_connection): Added.
12685
12686         * console-msw.h (struct msprinter_device): Added this struct and
12687         accessor macros.
12688         (mswindows_device): Made fontlist a lisp object.
12689
12690         * device.c (semi_canonicalize_device_connection):  Try to delegate
12691         to canonicalize_device_connection if no such console method.
12692         (canonicalize_device_connection): Vice versa.
12693         (print_device): Do not print nil connection.
12694
12695         * device-msw.c (mswindows_init_device): Call InitCommonControls
12696         when have widgets.
12697         (mswindows_delete_device): Removed fontlist deallocation.
12698         (mswindows_mark_device): Added.
12699
12700         * events.c (event_equal): Added abort() at unreached code.
12701         (event_hash): Ditto.
12702
12703         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
12704         fallback tags of Windows devices.
12705
12706         * general.c (syms_of_general): Initialized Qmsprinter.
12707
12708         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
12709         of fallback tags of Windows devices.
12710
12711         * lisp.h: Declared Qmsprinter.
12712
12713         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
12714         of strings.
12715         (mswindows_list_fonts): Ditto.
12716         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
12717         that it can be used by both mswindows and msprinter devices.
12718         (initialize_font_instance): Added.
12719         (mswindows_initialize_font_instance): Use it.
12720         (msprinter_initialize_font_instance): Added.
12721
12722         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
12723         and implementation flags check.
12724         (redisplay_without_hooks): Changed the call to the above.
12725         (Fredraw_device): Ditto.
12726         (Fredisplay_device): Ditto.
12727
12728         * redisplay-msw.c (get_frame_dc): Implemented.
12729         (get_frame_compdc): Implemented.
12730         (many functions): Use the two functions above to get device
12731         contexts, ether for a window or a printer.
12732
12733 2000-01-21  Olivier Galibert  <galibert@pobox.com>
12734
12735         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
12736         initialization here.
12737         (init_symbols_once_early): Call it.
12738         * emacs.c (main_1): Call it.
12739         * symsinit.h: Declare it.
12740
12741 2000-01-19  Olivier Galibert  <galibert@pobox.com>
12742
12743         * alloc.c: Use a lrecord_header * in the backtrace instead of a
12744         Lisp_Object.
12745         (pdump_backtrace): Ditto.
12746         (pdump_register_object): Ditto.  Cleanup use of the pointers.
12747         (pdump_get_entry): Abort if trying to register a null pointer.
12748         (pdump_dump_data): Cleanup types when relocating.
12749         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
12750         (pdump_dump_rtables): Remove bad casts.
12751         (pdump_load): Cleanup relocation w.r.t union type.  Use a
12752         Lisp_Object instead of a EMACS_INT for the hashtable
12753         reorganization.
12754
12755 2000-01-20  Martin Buchholz  <martin@xemacs.org>
12756
12757         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
12758
12759         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
12760
12761         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
12762
12763         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
12764
12765 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12766
12767         * faces.h (FACE_STRIKETHRU_P): Added.
12768
12769         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
12770         of font variants.
12771
12772         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
12773         (mswindows_set_dc_font): New function, aware of font variants,
12774         separated from mswindows_update_dc.
12775
12776         * objects-msw.h (struct mswindows_font_instance_data): Added
12777         definition.
12778
12779         * objects-msw.c (mswindows_finalize_font_instance): Delete all
12780         cached fonts and the data structure.
12781         (mswindows_initialize_font_instance): Added creation of font data
12782         structure.
12783         (mswindows_print_font_instance): Print at least something.
12784         (mswindows_create_font_variant): Implemented.
12785         (mswindows_get_hfont): Implemented.
12786
12787 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
12788
12789         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
12790         prototyping problem with msvc.
12791
12792         * emacs.c (main_1): added syms_of_gui_mswindows() call
12793
12794         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
12795         syms_of_gui_mswindows() function
12796
12797         * symsinit.h: added the prototype for syms_of_gui_mswindows()
12798
12799 2000-01-18  Martin Buchholz <martin@xemacs.org>
12800
12801         * XEmacs 21.2.27 is released.
12802
12803 2000-01-18  Martin Buchholz  <martin@xemacs.org>
12804
12805         * glyphs-eimage.c (struct tiff_error_struct):
12806         (tiff_error_func):
12807         (tiff_warning_func):
12808         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
12809
12810         * unexmips.c:
12811         * unexhp9k3.c:
12812         * unexfreebsd.c:
12813         * unexec.c: Remove vestigial Lucid C code.
12814         * unexalpha.c:
12815         * unexaix.c:
12816         * termcap.c:
12817         * libsst.c: Ansify.
12818         Remove declarations of errno and strerror().
12819
12820         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
12821
12822         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
12823
12824 2000-01-16  Martin Buchholz  <martin@xemacs.org>
12825
12826         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
12827         Optimize.
12828
12829 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12830
12831         * md5.c:
12832         * file-coding.c:
12833         * file-coding.h:
12834         Change enum eol_type to eol_type_t.
12835
12836 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12837
12838         * gui.c (get_gui_callback): Check cons before accessing car.
12839
12840 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12841
12842         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
12843         (XSETSPECIFIER_TYPE): Ditto.
12844
12845 2000-01-17  Didier Verna  <didier@xemacs.org>
12846
12847         * redisplay.c (generate_fstring_runes): compute string size in
12848         characters, not bytes.
12849
12850 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12851
12852         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
12853
12854 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
12855
12856         * print.c (print_error_message): Call print_prepare().
12857
12858 2000-01-14  Martin Buchholz  <martin@xemacs.org>
12859
12860         * .dbxrc: Renamed from dbxrc.
12861
12862         * events.c (event_to_character):
12863         Use `assert (foo)' instead of `if (!foo) abort()'
12864
12865         * .gdbinit (xtype): Add documentation.
12866         * .gdbinit (check-temacs): New function.
12867         * .gdbinit (check-xemacs): New function.
12868         * dbxrc (check-xemacs): New function.
12869         * dbxrc (check-xemacs): New function.
12870
12871 2000-01-14  Andy Piper  <andy@xemacs.org>
12872
12873         * glyphs-widget.c (widget_query_geometry): Make sure that we
12874         calculate default dimensions correctly.
12875
12876 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12877
12878         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
12879
12880         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
12881         pdump_wire'd variable.
12882
12883         * emacs.c: (main_1): Conditionalized calls to
12884         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
12885
12886 2000-01-13  Martin Buchholz  <martin@xemacs.org>
12887
12888         * window.c (Fset_window_configuration):
12889         * sysdep.c (_start):
12890         * input-method-motif.c (res):
12891         * event-Xt.c (Xt_process_to_emacs_event):
12892         Simple compiler warning fixes.
12893
12894         * bytecode.c (funcall_compiled_function): Use the original
12895         function symbol on the backtrace list in preference to the
12896         compiled_function object in error messages.
12897
12898 2000-01-13  Andy Piper  <andy@xemacs.org>
12899
12900         * glyphs-x.c (update_widget_face): Make sure we update the widget
12901         background as well as foreground.
12902
12903 2000-01-13  Andy Piper  <andy@xemacs.org>
12904
12905         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
12906         fields to subwindow.
12907         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
12908         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
12909         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12910         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12911
12912         * glyphs-widget.c (check_valid_tab_orientation): new function.
12913         (initialize_widget_image_instance): zero orientation and
12914         justification.
12915         (widget_instantiate): pick up orientation.
12916         (tab_control_query_geometry): return appropriate values for
12917         vertical tabs.
12918
12919         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
12920         appropriate creation flags for left, right and bottom tabs.
12921
12922         * s/cygwin32.h: add tab definitions.
12923
12924 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12925
12926         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
12927         frame upon hiding a subwindow.
12928         (mswindows_button_instantiate): Changed the push button style to
12929         BS_PUSHBUTTON.
12930         (mswindows_button_instantiate): Removed button BS_NOTIFY
12931         style.
12932         (mswindows_button_instantiate): Removed redundant check for
12933         a disabled gui item.
12934         (mswindows_button_instantiate): Made use of WS_TABSTOP
12935         consistent: "operable" controls (edit, button, tree, scroll) have
12936         this style, "display-only" ones (static, progress gauge) do
12937         not. This style is currently ignored by XEmacs though. Also,
12938         removed the WS_EX_CONTROLPARENT style - it is not for children,
12939         it is for their parents!
12940         (mswindows_edit_field_instantiate): Ditto.
12941         (mswindows_progress_gauge_instantiate): Ditto.
12942         (mswindows_tree_view_instantiate): Ditto.
12943         (mswindows_tab_control_instantiate): Ditto.
12944         (mswindows_scrollbar_instantiate): Ditto.
12945         (mswindows_combo_box_instantiate): Ditto.
12946         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
12947         style to the "clip" window.
12948         (mswindows_button_instantiate): Removed compilation warning by
12949         equally typing terms of the ?: operator.
12950
12951 2000-01-12  Didier Verna  <didier@xemacs.org>
12952
12953         * redisplay.c (generate_fstring_runes): new parameter holding the
12954         last modeline-format extent.
12955         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
12956         extent, fill the glyph block with it.
12957         (generate_fstring_runes): handle these parameters.
12958         (generate_formatted_string_db): ditto.
12959
12960         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
12961         glyphs'extents in the modeline.
12962
12963 1999-01-11  Mike Woolley  <mike@bulsara.com>
12964
12965         * ntheap.c: Reduced the reserved heap space from 1Gb down to
12966         256Mb, as a workaround for the non-starting problem many people
12967         have experienced.
12968
12969 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12970
12971         * console-tty.c (Fset_console_tty_output_coding_system):
12972         Force redrawing tty frame.
12973
12974 2000-01-10  Didier Verna  <didier@xemacs.org>
12975
12976         * redisplay.c (generate_fstring_runes): fix size computation bug.
12977
12978 2000-01-09  William M. Perry <wmperry@aventail.com>
12979
12980         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
12981
12982 2000-01-09  Andy Piper  <andy@xemacs.org>
12983
12984         * glyphs-msw.c: index -> i to avoid shadows.
12985         (xbm_create_bitmap_from_data): make static.
12986         (check_valid_string_or_int): deleted.
12987         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
12988
12989         * glyphs-x.c (x_update_subwindow): remove unused args.
12990
12991         * glyphs.c (glyph_image_instance): return the thing. Don't set the
12992         back pointer - this is done in allocate_image_instance.
12993         (query_string_font): return Qnil to make the compiler happy.
12994         (unmap_subwindow): set to ~0 to make the compiler happy.
12995         (glyph_query_geometry): comment out until used.
12996         (glyph_layout): ditto.
12997
12998 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12999
13000         * insdel.c (signal_after_change): Remove extraneous unbind_to().