Sync up with r21-4-10-utf-2000-0_20-ucs-ks-l.
[chise/xemacs-chise.git] / src / ChangeLog
1 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2
3         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
4
5         * mule-charset.c (Vcharset_ucs_ks): Deleted.
6         (Qucs_ks): Deleted.
7         (syms_of_mule_charset): Delete `ucs-ks'.
8         (complex_vars_of_mule_charset): Likewise.
9
10 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
11
12         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
13         (Qideograph_daikanwa_2): Deleted.
14         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
15         (complex_vars_of_mule_charset): Likewise.
16
17         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
18         (LEADING_BYTE_DAIKANWA_1): Deleted.
19         (LEADING_BYTE_DAIKANWA_2): Deleted.
20         (MIN_CHAR_DAIKANWA): Deleted.
21         (MAX_CHAR_DAIKANWA): Deleted.
22
23 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
24
25         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
26         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
27         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
28
29         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
30         (Vcharset_ideograph_daikanwa): Deleted.
31         (Qideograph_hanziku_{1..12}): Deleted.
32         (Qideograph_daikanwa): Deleted.
33         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
34         Vcharset_ideograph_daikanwa.
35         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
36         `ideograph-hanziku-{1..12}'.
37         (complex_vars_of_mule_charset): Likewise.
38
39 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
40
41         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
42
43         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
44         (Qideograph_gt_pj_{1..11}): Deleted.
45         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
46         (complex_vars_of_mule_charset): Likewise.
47
48 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
49
50         * mule-charset.c (Vcharset_ucs_big5): Deleted.
51         (Vcharset_ideograph_gt): Deleted.
52         (Qucs_big5): Deleted.
53         (Qideograph_gt): Deleted.
54         (syms_of_mule_charset): Delete symbol `ucs-big5' and
55         `ideograph-gt'.
56         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
57         and `ideograph-gt'.
58
59         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
60         (LEADING_BYTE_GT): Deleted.
61         (GC_CHARSETP): Deleted.
62         (MIN_CHAR_GT): Deleted.
63         (MAX_CHAR_GT): Deleted.
64
65 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
66
67         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
68
69 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
70
71         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
72         (Qideograph_cbeta): Deleted.
73         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
74         (complex_vars_of_mule_charset): Likewise.
75
76         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
77         (MIN_CHAR_CBETA): Comment out.
78         (MAX_CHAR_CBETA): Likewise.
79
80 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
81
82         * mule-charset.c (charset_lookup_description_1): Use
83         `NUM_LEADING_BYTES' in UTF-2000.
84
85 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
86
87         * mule-charset.c (Vcharset_china3_jef): Deleted.
88         (Qchina3_jef): Deleted.
89         (syms_of_mule_charset): Don't define `china3-jef'.
90         (complex_vars_of_mule_charset): Likewise.
91
92         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
93         (MIN_CHAR_CHINA3_JEF): Comment out.
94         (MAX_CHAR_CHINA3_JEF): Comment out.
95
96 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
97
98         * mule-charset.c (Vcharset_ucs_gb): New variable.
99         (Qucs_gb): New variable.
100         (syms_of_mule_charset): Add new symbol `ucs-gb'.
101         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
102
103         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
104
105 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
106
107         * mule-charset.c (charset_code_point): if a coded-charset has a
108         final-byte, don't inherit the builtin range of the mother CCS.
109
110 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
111
112         * mule-charset.c (charset_code_point): Fix problem about
113         inheritance.
114
115 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
116
117         * mule-charset.c (decode_builtin_char): Reorganized.
118
119 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
120
121         * text-coding.c (char_encode_shift_jis): Modify for
122         `charset_code_point'.
123         (char_encode_big5): Likewise.
124         (char_encode_utf8): Likewise.
125         (char_encode_iso2022): Likewise.
126
127         * mule-charset.c (charset_code_point): Add new argument
128         `defined_only'.
129         (Fencode_char): Add new optional argument `defined_only'.
130
131         * chartab.c (put_char_table): Modify for `charset_code_point'.
132         (map_char_table): Likewise.
133
134         * char-ucs.h (charset_code_point): Add new argument
135         `defined_only'.
136         (encode_char_1): Modify for `charset_code_point'.
137
138 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
139
140         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
141         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
142
143 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
144
145         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
146         (Qjis_x0208): Likewise.
147         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
148         XCHARSET_FINAL(charset).
149         (charset_code_point): Modify condition for final-byte based
150         builtin-chars.
151         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
152         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
153         in UTF-2000; specify `=jis-x0208' as the mother of
154         `japanese-jisx0208-1978', `japanese-jisx0208' and
155         `japanese-jisx0208-1990' in UTF-2000.
156
157 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
158
159         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
160
161 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
162
163         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
164         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
165         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
166         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
167         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
168         CONVERSION_96x96x96x96 are introduced.
169         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
170         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
171         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
172
173         * char-ucs.h (CONVERSION_94): New macro.
174         (CONVERSION_96): New macro.
175         (CONVERSION_94x94): New macro.
176         (CONVERSION_96x96): New macro.
177         (CONVERSION_94x94x94): New macro.
178         (CONVERSION_96x96x96): New macro.
179         (CONVERSION_94x94x94x60): New macro.
180         (CONVERSION_94x94x94x94): New macro.
181         (CONVERSION_96x96x96x96): New macro.
182
183 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
184
185         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
186
187         * fns.c (Qideographic_structure): New variable.
188         (Qkeyword_char): New variable.
189         (ids_format_unit): New function.
190         (Fideographic_structure_to_ids): New function.
191         (syms_of_fns): Add new symbols `ideographic-structure' and
192         `:char'; add new builtin function `ideographic-structure-to-ids'.
193
194         * data.c (Fchar_ref_p): New function.
195         (syms_of_data): Add new builtin function `char-ref-p'.
196
197         * chartab.h: Add an EXFUN for `Ffind_char'.
198
199 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
200
201         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
202         and `COMPOSE_ADD_CHAR'.
203         (decode_coding_iso2022): Use `decode_flush_er_chars'.
204
205 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
206
207         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
208         instead of `DECODE_ADD_UCS_CHAR'.
209         (COMPOSE_ADD_CHAR): Likewise.
210
211 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
212
213         * text-coding.c (decode_flush_er_chars): New inline function.
214         (decode_add_er_char): New function.
215         (decode_coding_utf8): Use `decode_flush_er_chars' and
216         `decode_add_er_char'.
217
218 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
219
220         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
221         done before `decode_output_utf8_partial_char'.
222
223         * mule-charset.c (complex_vars_of_mule_charset): Specify
224         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
225         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
226
227 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
228
229         * mule-charset.c (decode_defined_char): New function; search
230         mother.
231         (decode_builtin_char): Don't search mother if
232         XCHARSET_MAX_CODE(charset) == 0.
233         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
234         == 0 even if code >= XCHARSET_MAX_CODE(charset).
235         (Fdecode_char): Use `decode_defined_char' instead of
236         `DECODE_DEFINED_CHAR'.
237         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
238         mother of `Vcharset_ucs_jis'.
239
240         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
241         instead of `DECODE_DEFINED_CHAR'.
242
243         * char-ucs.h (decode_defined_char): Renamed from
244         `DECODE_DEFINED_CHAR'; changed to normal function.
245         (DECODE_CHAR): Use `decode_defined_char' instead of
246         `DECODE_DEFINED_CHAR'.
247
248         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
249
250 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
251
252         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
253
254         * text-coding.c (Vcoded_charset_entity_reference_alist): New
255         variable.
256         (Quse_entity_reference): New variable.
257         (Qd): New variable.
258         (Qx): New variable.
259         (QX): New variable.
260         (coding_system_description): Add description for
261         `ccs_priority_list'.
262         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
263         (allocate_coding_system): Initialize `ccs_priority_list' in
264         UTF-2000.
265         (Fmake_coding_system): Add description about
266         'use-entity-reference; setup
267         CODING_SYSTEM_USE_ENTITY_REFERENCE(codesys).
268         (Fcoding_system_property): Accept `disable-composition' and
269         `use-entity-reference' in UTF-2000.
270         (struct decoding_stream): Add new member `er_counter' and `er_buf'
271         in UTF-2000.
272         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
273         (decode_coding_utf8): Decode entity-reference if
274         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
275         (char_encode_utf8): Encode non-Unicode characters as
276         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
277         (str->codesys).
278         (syms_of_file_coding): Add new symbols `use-entity-reference',
279         `d', `x', `X'.
280         (vars_of_file_coding): Add new variable
281         `coded-charset-entity-reference-alist'.
282         (complex_vars_of_file_coding): Declare `disable-composition' and
283         `use-entity-reference' to be coding-system-properties in UTF-2000.
284
285         * file-coding.h (struct Lisp_Coding_System): Add new member
286         `use_entity_reference' and `ccs_priority_list'.
287         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
288         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
289         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
290
291 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
292
293         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
294
295 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
296
297         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
298         `XCHARSET_GRAPHIC(ccs)'.
299
300 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
301
302         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
303         for decoding-table.
304
305 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
306
307         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
308         instead of `XCHARSET_CHARS'.
309
310 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
311
312         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
313         (XCHARSET_BYTE_SIZE): Likewise.
314
315         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
316         mule-charset.c].
317         (XCHARSET_BYTE_SIZE): Likewise.
318
319 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
320
321         * char-ucs.h (decoding_table_check_elements): Delete prototype.
322         (get_ccs_octet_table): New inline function.
323         (put_ccs_octet_table): Likewise.
324         (decoding_table_put_char): Use `get_ccs_octet_table' and
325         `put_ccs_octet_table'.
326         (decoding_table_remove_char): Use `decoding_table_put_char'.
327         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
328
329         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
330         into encoding_table.
331         (make_charset): Use Qunbound instead Qnil as initial value of
332         decoding_table.
333
334 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
335
336         * mule-charset.c (put_char_ccs_code_point): Modify for
337         `decoding_table_remove_char' and `decoding_table_put_char'.
338         (remove_char_ccs): Modify for `decoding_table_remove_char'.
339
340         * char-ucs.h (decoding_table_remove_char): Change arguments to
341         hide decoding_table vector.
342         (decoding_table_put_char): Likewise.
343
344 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
345
346         * mule-charset.c (decoding_table_remove_char): Moved to
347         char-ucs.h.
348         (decoding_table_put_char): Likewise.
349
350         * char-ucs.h (decoding_table_check_elements): New prototype [moved
351         from mule-charset.c].
352         (decoding_table_remove_char): New inline function [moved from
353         mule-charset.c].
354         (decoding_table_put_char): Likewise.
355
356 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
357
358         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
359         instead of `DECODE_CHAR' for mother; don't use special code for
360         chinese-big5 to use code space of chinese-big5-1 and
361         chinese-big5-2.
362         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
363         `MAX_CHAR_BIG5_CDP' for chinese-big5.
364
365         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
366         (MAX_CHAR_BIG5_CDP): Revival.
367
368 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
369
370         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
371         the XLFD registry-encoding name of `chinese-big5'.
372
373 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
374
375         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
376         (Qchinese_big5_cdp): Deleted.
377         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
378         (complex_vars_of_mule_charset): Delete coded-charset
379         `chinese-big5-cdp'.
380
381         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
382         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
383         `CHARSET_ID_OFFSET - n' for private CCS.
384         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
385         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
386         of `MIN_LEADING_BYTE'.
387         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
388         `(CHARSET_ID_OFFSET - 97)'.
389         (MIN_CHAR_BIG5_CDP): Deleted.
390         (MAX_CHAR_BIG5_CDP): Deleted.
391
392 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
393
394         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
395         extension.
396
397 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
398
399         * mule-charset.c (decode_builtin_char): Support mother charsets.
400
401 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
402
403         * mule-charset.c (Q94x94x60): New variable.
404         (charset_code_point): Support conversion `94x94x60'.
405         (Fmake_charset): Likewise.
406         (syms_of_mule_charset): Add new symbol `94x94x60'.
407
408         * char-ucs.h (CONVERSION_94x94x60): New macro.
409
410 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
411
412         * mule-charset.c (charset_code_point): Unify code about
413         `code-offset'.
414
415 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
416
417         * mule-charset.c (charset_code_point): Merge code about builtin
418         characters into code about mother charsets; don't use
419         `range_charset_code_point'.
420         (range_charset_code_point): Deleted.
421
422 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
423
424         * mule-charset.c (Qcode_offset): New variable.
425         (Fmake_charset): Use `XUINT' to get value of `min-code' and
426         `max-code'; accept new property `code-offset'.
427         (syms_of_mule_charset): Add new symbol `code-offset'.
428
429 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
430
431         * mule-charset.c (range_charset_code_point): Fixed.
432
433 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
434
435         * mule-charset.c (decode_builtin_char): Change semantics of
436         code-offset of coded-charset.
437         (charset_code_point): Likewise.
438         (range_charset_code_point): Likewise.
439         (complex_vars_of_mule_charset): Modify for the change.
440
441 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
442
443         * mule-charset.c (Fencode_char): Reverse arguments.
444
445         * mule-charset.c (charset_code_point): Fixed.
446
447 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
448
449         * mule-charset.c (Vcharset_mojikyo): Deleted.
450         (Vcharset_mojikyo_2022_1): Deleted.
451         (Vcharset_mojikyo_pj_{1..21}): Deleted.
452         (Qmin_code): New variable in UTF-2000.
453         (Qmax_code): Likewise.
454         (Qmother): Likewise.
455         (Qconversion): Likewise.
456         (Q94x60): Likewise.
457         (Qmojikyo): Deleted.
458         (Qmojikyo_2022_1): Deleted.
459         (Qmojikyo_pj_{1..22}): Deleted.
460         (mark_charset): Mark `cs->mother'.
461         (charset_description): Add description for `mother'.
462         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
463         new arguments `mother' and `conversion'; use
464         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
465         (charset_code_point): Moved from char-ucs.h; support `mother'
466         charset feature.
467         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
468         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
469         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
470         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
471         allow 2 as the value of `graphic' in UTF-2000; add new properties
472         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
473         require `final' in UTF-2000; modify for `make_charset'.
474         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
475         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
476         (Fcharset_property): Support `mother', `min-code' and `max-code'.
477         (Fencode_char): New function.
478         (syms_of_mule_charset): Add new builtin function `encode-char' in
479         UTF-2000; add new symbols `min-code', `max-code', `mother',
480         `conversion' and `94x60'; delete symbols `mojikyo',
481         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
482         (complex_vars_of_mule_charset): Modify for `make_charset' change;
483         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
484         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
485
486         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
487         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
488
489         * char-ucs.h (Vcharset_mojikyo): Deleted.
490         (Vcharset_mojikyo_2022_1): Deleted.
491         (LEADING_BYTE_MOJIKYO): Deleted.
492         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
493         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
494         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
495         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
496         add new member `mother'; add new member `conversion'.
497         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
498         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
499         (CHARSET_MOTHER): New macro.
500         (CHARSET_CONVERSION): New macro.
501         (CONVERSION_IDENTICAL): New macro.
502         (CONVERSION_94x60): New macro.
503         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
504         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
505         (XCHARSET_MOTHER): New macro.
506         (XCHARSET_CONVERSION): New macro.
507         (MIN_CHAR_MOJIKYO): Deleted.
508         (MAX_CHAR_MOJIKYO): Deleted.
509         (DECODE_MOJIKYO_2022): Deleted.
510         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
511         (charset_code_point): Changed to non-inline function.
512         (encode_char_1): Use `charset_code_point'.
513         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
514
515 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
516
517         * lread.c (read_compiled_function): Fix prototype.
518         (read_vector): Likewise.
519
520 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
521
522         * lrecord.h (struct lrecord_header): Delete `older'.
523         (set_lheader_implementation): Delete code for `older'.
524         (set_lheader_older_implementation): Deleted.
525         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
526         (OLDER_RECORD_P): Deleted.
527         (OLDER_RECORD_HEADER_P): Deleted.
528         (alloc_older_lcrecord): Deleted.
529         (alloc_older_lcrecord_type): Deleted.
530
531         * alloc.c (all_older_lcrecords): Deleted.
532         (alloc_older_lcrecord): Deleted.
533         (disksave_object_finalization_1): Delete code for older objects.
534         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
535         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
536
537 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
538
539         * mule-charset.c (decoding_table_put_char): Use `make_vector'
540         instead of `make_older_vector'.
541         (put_char_ccs_code_point): Likewise.
542         (mark_charset): Mark `cs->decoding_table'.
543         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
544
545         * lisp.h (make_older_vector): Deleted.
546         (make_vector_newer): Deleted.
547
548         * config.h.in (HAVE_GGC): Deleted.
549
550         * alloc.c (make_older_vector): Deleted.
551         (make_vector_newer_1): Deleted.
552         (make_vector_newer): Deleted.
553
554 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
555
556         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
557         (Qideograph_daikanwa_2): New variable.
558         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
559         (complex_vars_of_mule_charset): Add new coded-charset
560         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
561         `LEADING_BYTE_DAIKANWA'.
562
563         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
564         (LEADING_BYTE_DAIKANWA_1): New macro.
565         (LEADING_BYTE_DAIKANWA_2): New macro.
566         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
567
568 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
569
570         * mule-charset.c (complex_vars_of_mule_charset): Change
571         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
572         the second revised version.
573
574 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
575
576         * mule-charset.c (Vcharset_ucs_smp): New variable.
577         (Vcharset_ucs_sip): New variable.
578         (Qucs_smp): New variable.
579         (Qucs_sip): New variable.
580         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
581         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
582         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
583         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
584         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
585         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
586
587         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
588         (LEADING_BYTE_UCS_SIP): New macro.
589         (MIN_CHAR_SMP): New macro.
590         (MAX_CHAR_SMP): New macro.
591         (MIN_CHAR_SIP): New macro.
592         (MAX_CHAR_SIP): New macro.
593
594 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
595
596         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
597         utf-2000.
598
599 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
600
601         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
602         value; don't store value into `encoding_table' of `Lisp_Charset'.
603         (mark_charset): `encoding_table' was deleted.
604         (charset_description): Likewise.
605         (make_charset): Likewise.
606         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
607         `put_char_ccs_code_point'.
608
609         * chartab.h (Fput_char_attribute): New EXFUN.
610
611         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
612         is unified with normal symbol space.
613         (Fget_char_attribute): Likewise.
614         (Fput_char_attribute): Likewise; behavior of
615         `put_char_ccs_code_point' is changed.
616
617         * char-ucs.h: Include "elhash.h".
618         (Vchar_attribute_hash_table): New external variable.
619         (struct Lisp_Charset): Delete `encoding_table'.
620         (CHARSET_ENCODING_TABLE): New implementation; refer
621         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
622         `Lisp_Charset'.
623
624 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
625
626         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
627         (cs) == 0.
628
629 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
630
631         * text-coding.c (char_encode_big5): Prefer charset-g1 than
632         `chinese-big5'.
633
634 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
635
636         * chartab.c (uint8_byte_table_description): New constant.
637         (uint8-byte-table): Use `uint8_byte_table_description'.
638         (uint16_byte_table_description): New constant.
639         (uint16-byte-table): Use `uint16_byte_table_description'.
640
641 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
642
643         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
644         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
645
646 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
647
648         * mule-charset.c (Vcharset_ucs_ks): New variable.
649         (Qucs_ks): New variable.
650         (syms_of_mule_charset): Add new symbol `ucs-ks'.
651         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
652
653         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
654
655 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
656
657         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
658         (Fdecode_char): Likewise.
659
660         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
661         chartab.h.
662         (Fdefine_char): Modify for Fdecode_char.
663         (Ffind_char): Likewise.
664
665         * mule-charset.c (Fdecode_char): Add new optional argument
666         `defined-only'.
667         (Fdecode_builtin_char): Modify for `Fdecode_char'.
668
669 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
670
671         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
672         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
673         (allocate_coding_system): Initialize initial-charsets of
674         CODESYS_BIG5 in XEmacs UTF-2000.
675         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
676         CODESYS_BIG5 in XEmacs UTF-2000.
677         (decode_coding_big5): Use initial-charset-g0 and -g1 of
678         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
679
680         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
681         variables.
682         (Qideograph_hanziku_{1 .. 12}): Likewise.
683         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
684         .. 12}'.
685         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
686         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
687         `ideograph-hanziku-{1 .. 12}'.
688
689         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
690         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
691         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
692         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
693         (DECODE_DEFINED_CHAR): New inline function.
694         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
695
696 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
697
698         * mule-charset.c (Vcharset_china3_jef): Renamed from
699         `Vcharset_japanese_jef_china3'.
700         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
701         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
702         `{MIN|MAX}_CHAR_JEF_CHINA3'..
703         (syms_of_mule_charset): Rename `china3-jef' from
704         `japanese-jef-china3'.
705         (complex_vars_of_mule_charset): Likewise; rename
706         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
707
708         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
709         `LEADING_BYTE_JEF_CHINA3'.
710         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
711         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
712
713 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
714
715         * mule-charset.c (encode_builtin_char_1): Comment out special code
716         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
717
718         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
719         (MAX_CHAR_MOJIKYO_0): Comment out.
720         (MIN_CHAR_CBETA): Changed to 0x00E20000.
721         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
722         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
723         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
724
725 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
726
727         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
728         (Qideograph_cbeta): New variable.
729         (encode_builtin_char_1): Comment out special code for
730         coded-charset `mojikyo' and `japanese-jef-china3'.
731         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
732         (complex_vars_of_mule_charset): Add new coded-charset
733         `ideograph-cbeta'.
734
735         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
736         (MIN_CHAR_CBETA): New macro.
737         (MAX_CHAR_CBETA): New macro.
738
739 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
740
741         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
742         (LEADING_BYTE_JEF_CHINA3): New macro.
743         (MIN_CHAR_JEF_CHINA3): New macro.
744         (MAX_CHAR_JEF_CHINA3): Likewise.
745         (DECODE_CHAR): Fixed.
746
747 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
748
749         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
750         (Qjapanese_jef_china3): New variable.
751         (encode_builtin_char_1): Support `japanese-jef-china3'.
752         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
753         (complex_vars_of_mule_charset): Add new coded-charset
754         `japanese-jef-china3'.
755
756 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
757
758         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
759         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
760         94^4, 96^3, 96^4, 128^n and 256^n set.
761         (put_char_table): Use `XCHARSET_CELL_RANGE'.
762         (map_char_table): Likewise.
763
764 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
765
766         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
767         UTF-2000.
768
769 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
770
771         * chartab.h (get_char_id_table): New inline function.
772
773         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
774         function.
775
776 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
777
778         * chartab.h (decode_char_table_range): New prototype in XEmacs
779         UTF-2000.
780         (put_char_id_table): New inline function in XEmacs UTF-2000.
781
782         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
783         function.
784         (decode_char_table_range): Delete static declaration in XEmacs
785         UTF-2000.
786
787 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
788
789         * chartab.c (put_char_id_table): Use `put_char_table'.
790
791 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
792
793         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
794         (map_over_uint16_byte_table): Likewise.
795         (map_over_byte_table): Likewise.
796         (map_char_table): Modify for `map_over_uint8_byte_table',
797         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
798         UTF-2000.
799
800 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
801
802         * chartab.c (struct map_char_table_for_charset_arg): New
803         structure.
804         (map_char_table_for_charset_fun): New function.
805         (map_char_table): Use `map_char_table' for encoding_table of
806         `range->charset'.
807
808 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
809
810         * chartab.c (map_char_table): Check a character is found in
811         range->charset instead of non default value is defined in
812         char-table when range is CHARTAB_RANGE_ROW.
813
814 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
815
816         * chartab.c (map_char_id_table): Deleted.
817         (Fmap_char_attribute): Use `map_char_table' instead of
818         `map_char_id_table'.
819
820 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
821
822         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
823         UTF-2000.
824         (update_syntax_table): Deleted in XEmacs UTF-2000.
825
826         * syntax.c (find_defun_start): Use `syntax_table' instead of
827         `mirror_syntax_table' in XEmacs UTF-2000.
828         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
829         UTF-2000.
830         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
831         XEmacs UTF-2000.
832         (Fmatching_paren): Likewise.
833         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
834         in XEmacs UTF-2000.
835         (find_start_of_comment): Likewise.
836         (find_end_of_comment): Likewise.
837         (Fforward_comment): Likewise.
838         (scan_lists): Likewise.
839         (char_quoted): Likewise.
840         (Fbackward_prefix_chars): Likewise.
841         (scan_sexps_forward): Likewise.
842         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
843         (update_syntax_table): Likewise.
844
845         * search.c (skip_chars): Use `syntax_table' instead of
846         `mirror_syntax_table' in XEmacs UTF-2000.
847         (wordify): Likewise.
848         (Freplace_match): Likewise.
849
850         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
851         `mirror_syntax_table' in XEmacs UTF-2000.
852         (WORDCHAR_P_UNSAFE): Likewise.
853         (re_match_2_internal): Likewise.
854
855         * font-lock.c (find_context): Use `buf->syntax_table' instead of
856         `buf->mirror_syntax_table' in XEmacs UTF-2000.
857
858         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
859         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
860
861         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
862         XEmacs UTF-2000.
863
864         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
865         UTF-2000.
866         (print_char_table): Print `default_value' in XEmacs UTF-2000.
867         (char_table_description): Delete `mirror_table' in XEmacs
868         UTF-2000.
869         (fill_char_table): Don't call `update_syntax_table' in XEmacs
870         UTF-2000.
871         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
872         (Fcopy_char_table): Likewise.
873         (put_char_table): Don't call `update_syntax_table' in XEmacs
874         UTF-2000.
875
876         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
877         `buf->mirror_syntax_table' in XEmacs UTF-2000.
878         (casify_region_internal): Likewise.
879
880         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
881
882         * buffer.c (common_init_complex_vars_of_buffer): Don't use
883         `mirror_syntax_table' in XEmacs UTF-2000.
884
885         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
886         `buf->mirror_syntax_table' in XEmacs UTF-2000.
887         (Fexpand_abbrev): Likewise.
888
889 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
890
891         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
892
893 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
894
895         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
896         (map_over_uint16_byte_table): Likewise.
897         (map_over_byte_table): Likewise.
898         (get_char_id_table): Refer `cit->default_value'.
899         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
900         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
901         of character-id ranges.
902         (mark_char_table): Mark `ct->default_value'.
903         (char_table_description): Add `default_value'.
904         (fill_char_table): Use `default_value'.
905         (decode_char_table_range): Decode `nil' as
906         `CHARTAB_RANGE_DEFAULT'.
907         (get_char_id_table): Refer `cit->default_value'.
908         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
909         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
910         temporary hack; check value of char-table is bound or not.
911         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
912
913         * chartab.h (struct Lisp_Char_Table): Add new member
914         `default_value' in XEmacs UTF-2000.
915         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
916         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
917         UTF-2000.
918
919 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
920
921         * chartab.h (Lisp_Char_ID_Table): Deleted.
922
923         * chartab.c (char_table_description): Fix typo.
924         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
925         `Lisp_Char_ID_Table'.
926
927 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
928
929         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
930         `CHAR_ID_TABLE_P'.
931
932         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
933         `CHAR_ID_TABLE_P'.
934
935         * chartab.h (XCHAR_ID_TABLE): Deleted.
936         (XSETCHAR_ID_TABLE): Deleted.
937         (CHAR_ID_TABLE_P): Deleted.
938
939         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
940         `CHAR_ID_TABLE_P'.
941         (Fget_composite_char): Likewise.
942         (put_char_table): Likewise.
943         (add_char_attribute_alist_mapper): Fixed.
944         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
945         `CHAR_ID_TABLE_P'.
946         (Fget_char_attribute): Likewise.
947         (Fget_char_attribute): Likewise.
948         (Fmap_char_attribute): Likewise.
949
950         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
951         `CHAR_ID_TABLE_P'.
952         (encode_char_1): Likewise.
953
954 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
955
956         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
957         `XCHAR_ID_TABLE'.
958
959         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
960         instead of `XCHAR_ID_TABLE'.
961         (remove_char_ccs): Likewise.
962
963         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
964         `XCHAR_ID_TABLE'.
965         (Fget_composite_char): Likewise.
966         (Fchar_variants): Likewise.
967         (put_char_table): Likewise.
968         (add_char_attribute_alist_mapper): Likewise.
969         (Fchar_attribute_alist): Likewise.
970         (Fget_char_attribute): Likewise.
971         (Fput_char_attribute): Likewise.
972         (Fmap_char_attribute): Likewise.
973         (Fmap_char_attribute): Likewise.
974
975         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
976         `XCHAR_ID_TABLE'.
977         (encode_char_1): Likewise.
978
979 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
980
981         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
982         `Lisp_Char_ID_Table'.
983         (mark_char_id_table): Deleted.
984         (print_char_id_table): Likewise.
985         (char_id_table_equal): Likewise.
986         (char_id_table_hash): Likewise.
987         (char_id_table_description): Likewise.
988         (char_id_table): Likewise.
989         (make_char_id_table): Use `Fmake_char_table' and
990         `fill_char_table'.
991         (get_char_id_table): Use `Lisp_Char_Table' instead of
992         `Lisp_Char_ID_Table'.
993         (put_char_id_table): Likewise.
994         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
995         `XCHAR_ID_TABLE'.
996         (Fremove_char_attribute): Likewise.
997         (syms_of_chartab): Don't define type `char-id-table'.
998
999         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
1000         (char_id_table): Likewise.
1001         (GC_CHAR_ID_TABLE_P): Likewise.
1002         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
1003         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
1004         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
1005         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
1006         (get_char_id_table): Use `Lisp_Char_Table' instead of
1007         `Lisp_Char_ID_Table'.
1008         (put_char_id_table_0): Likewise.
1009         (put_char_id_table): Likewise.
1010
1011 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1012
1013         * chartab.h: Lisp_Byte_Table related codes are moved from
1014         chartab.h.
1015
1016         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
1017
1018 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1019
1020         * chartab.h: Don't include "chartab.h".
1021         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
1022         (Lisp_Char_ID_Table): Likewise.
1023         (char_id_table): Likewise.
1024         (XCHAR_ID_TABLE): Likewise.
1025         (XSETCHAR_ID_TABLE): Likewise.
1026         (CHAR_ID_TABLE_P): Likewise.
1027         (GC_CHAR_ID_TABLE_P): Likewise.
1028         (get_char_id_table): Likewise.
1029
1030         * char-ucs.h: Include "chartab.h".
1031         (struct Lisp_Char_ID_Table): Moved to chartab.h.
1032         (Lisp_Char_ID_Table): Likewise.
1033         (char_id_table): Likewise.
1034         (XCHAR_ID_TABLE): Likewise.
1035         (XSETCHAR_ID_TABLE): Likewise.
1036         (CHAR_ID_TABLE_P): Likewise.
1037         (GC_CHAR_ID_TABLE_P): Likewise.
1038         (get_char_id_table): Likewise.
1039
1040 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1041
1042         * chartab.c (copy_uint8_byte_table): New function.
1043         (copy_uint16_byte_table): New function.
1044         (copy_byte_table): New function.
1045         (map_over_uint8_byte_table): Modify to avoid huge numbers of
1046         characters to call.
1047         (map_over_uint16_byte_table): Likewise.
1048         (map_over_byte_table): Likewise.
1049         (get_byte_table): Move prototype to chartab.h.
1050         (put_byte_table): Likewise.
1051         (put_char_id_table_0): Moved to chartab.h.
1052         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
1053         (char_table_entry_equal): Likewise.
1054         (char_table_entry_hash): Likewise.
1055         (char_table_entry_description): Likewise.
1056         (char_table_entry): Likewise.
1057         (make_char_table_entry): Likewise.
1058         (copy_char_table_entry): Likewise.
1059         (get_non_ascii_char_table_value): Likewise.
1060         (map_over_charset_ascii): Likewise.
1061         (map_over_charset_control_1): Likewise.
1062         (map_over_charset_row): Likewise.
1063         (map_over_other_charset): Likewise.
1064         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
1065         (print_char_table): Likewise.
1066         (char_table_equal): Likewise.
1067         (char_table_hash): Likewise.
1068         (char_table_description): Likewise.
1069         (fill_char_table): Likewise.
1070         (Fcopy_char_table): Likewise.
1071         (get_char_table): Likewise.
1072         (Fget_range_char_table): Likewise.
1073         (put_char_table): Likewise.
1074         (map_char_table): Likewise.
1075         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
1076         UTF-2000.
1077
1078 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1079
1080         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
1081         `Vauto_fill_chars' in XEmacs UTF-2000.
1082
1083         * chartab.h (get_byte_table): New prototype [moved from
1084         chartab.c].
1085         (put_byte_table): Likewise [moved from chartab.c].
1086         (put_char_id_table_0): New inline function [moved from chartab.c].
1087         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
1088         (Lisp_Char_Table_Entry): Likewise.
1089         (char_table_entry): Likewise.
1090         (XCHAR_TABLE_ENTRY): Likewise.
1091         (XSETCHAR_TABLE_ENTRY): Likewise.
1092         (CHAR_TABLE_ENTRYP): Likewise.
1093         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1094         (NUM_ASCII_CHARS): Likewise.
1095         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1096         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1097
1098 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1099
1100         * chartab.c (get_char_id_table): Change interface.
1101         (put_char_id_table_0): New function.
1102         (put_char_id_table): Change interface; new implementation.
1103         (Fget_composite_char): Modify for interface change of
1104         `get_char_id_table'.
1105         (Fchar_variants): Likewise.
1106         (add_char_attribute_alist_mapper): Likewise.
1107         (Fchar_attribute_alist): Likewise.
1108         (Fget_char_attribute): Likewise.
1109         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1110         as same as character as the first argument like `put-char-table';
1111         modify for interface change of `put_char_id_table'.
1112         (Fremove_char_attribute): Modify for interface change of
1113         `put_char_id_table'.
1114
1115 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1116
1117         * text-coding.c: Sync up with XEmacs 21.2.41.
1118         (COMPOSE_ADD_CHAR): Modify for interface change of
1119         `get_char_id_table'.
1120
1121         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1122         change of `put_char_id_table'.
1123         (remove_char_ccs): Likewise.
1124
1125         * chartab.h (put_char_id_table): Change interface.
1126
1127         * char-ucs.h (get_char_id_table): Change interface.
1128         (charset_code_point): Modify for interface change of
1129         `get_char_id_table'.
1130         (encode_char_1): Likewise.
1131
1132 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1133
1134         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1135         argument `ccs'.
1136         (map_over_uint16_byte_table): Likewise.
1137         (map_over_byte_table): Likewise.
1138         (map_char_id_table): Add new argument `range' like
1139         `map_char_table'.
1140         (Fmap_char_attribute): Add new argument `range' like
1141         `Fmap_char_table'.
1142
1143 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1144
1145         * chartab.c (map_over_uint8_byte_table): Change interface of
1146         mapping function to use struct chartab_range instead of Emchar.
1147         (map_over_uint16_byte_table): Likewise.
1148         (map_over_byte_table): Likewise.
1149         (map_char_id_table): Likewise.
1150         (struct slow_map_char_id_table_arg): Deleted.
1151         (slow_map_char_id_table_fun): Deleted.
1152         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1153         function `slow_map_char_table_fun' instead of struct
1154         `slow_map_char_id_table_arg' and function
1155         `slow_map_char_id_table_fun'.
1156
1157 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1158
1159         * mule-charset.c: Move char-it-table related codes to chartab.c.
1160         (Vutf_2000_version): Moved to chartab.c.
1161         (Fdefine_char): Likewise.
1162         (Ffind_char): Likewise.
1163         (syms_of_mule_charset): Move types `uint8-byte-table',
1164         `uint16-byte-table', `byte-table' and `char-id-table' to
1165         chartab.c; move functions `char_attribute_list,
1166         `find_char_attribute_table, `char_attribute_alist,
1167         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1168         `map_char_attribute, `define_char, `find_char, `char_variants and
1169         `get_composite_char to chartab.c; move symbols `=>ucs',
1170         `->decomposition', `compat', `isolated', `initial', `medial',
1171         `final', `vertical', `noBreak', `fraction', `super', `sub',
1172         `circle', `square', `wide', `narrow', `small' and `font' to
1173         chartab.c.
1174         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1175         setting codes for `Vcharacter_composition_table' and
1176         `Vcharacter_variant_table' to chartab.c.
1177         (complex_vars_of_mule_charset): Move setting code for
1178         `Vchar_attribute_hash_table' to chartab.c.
1179
1180         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1181         (make_char_id_table): New prototype.
1182         (put_char_id_table): Likewise.
1183         (Fget_char_attribute): Likewise.
1184
1185         * chartab.c: Move char-id-table related code from mule-charset.c.
1186         (Vutf_2000_version): Moved from mule-charset.c.
1187
1188         * char-ucs.h (Qucs): New external variable.
1189         (put_char_ccs_code_point): New prototype.
1190         (remove_char_ccs): Likewise.
1191
1192 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1193
1194         * mule-charset.c (Vcharset_ucs_jis): New variable.
1195         (Qucs_jis): Likewise.
1196         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1197         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1198
1199         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1200
1201 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1202
1203         * mule-charset.c (map_over_uint8_byte_table): New function.
1204         (map_over_uint16_byte_table): Likewise.
1205         (map_over_byte_table): Likewise.
1206         (map_char_id_table): Likewise.
1207         (slow_map_char_id_table_fun): Likewise.
1208         (Fmap_char_attribute): Likewise.
1209         (syms_of_mule_charset): Add new function `map-char-attribute'.
1210
1211 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1212
1213         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1214         (syms_of_mule_charset): Add new function `find-char'.
1215
1216 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1217
1218         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1219         XEmacs UTF-2000.
1220         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1221         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1222         XEmacs UTF-2000.
1223         (complex_vars_of_mule_charset): Add new coded-charset
1224         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1225         `ideograph-gt-pj-*'.
1226
1227         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1228
1229 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1230
1231         * mule-charset.c (encode_builtin_char_1): Purge codes about
1232         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1233         {MIN|MAX}_CHAR_HEBREW.
1234         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1235         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1236
1237         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1238         (MAX_CHAR_GREEK): Purged.
1239         (MIN_CHAR_CYRILLIC): Purged.
1240         (MAX_CHAR_CYRILLIC): Purged.
1241         (MIN_CHAR_HEBREW): Commented out.
1242         (MAX_CHAR_HEBREW): Likewise.
1243
1244 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1245
1246         * mule-charset.c (Qto_ucs): New variable.
1247         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1248         (Fdefine_char): Likewise.
1249         (syms_of_mule_charset): Add new symbol `=>ucs'.
1250
1251 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1252
1253         * mule-charset.c (Fdecode_char): Fixed.
1254
1255 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1256
1257         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1258         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1259         "tcvn5712-1".
1260
1261 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1262
1263         * mule-charset.c (Vcharset_ucs_big5): New variable.
1264         (Qucs_big5): Likewise.
1265         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1266         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1267
1268         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1269
1270 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1271
1272         * mule-charset.c (decode_builtin_char): Check Big5 code range
1273         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1274
1275 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1276
1277         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1278         (Qchinese_gb12345): Likewise.
1279         (Fdecode_builtin_char): Fixed.
1280         (syms_of_mule_charset): Add `chinese-gb12345'.
1281         (complex_vars_of_mule_charset): Add coded-charset
1282         `chinese-gb12345'.
1283
1284         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1285         (LEADING_BYTE_CHINESE_GB12345): New macro.
1286
1287 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1288
1289         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1290         and `latin-viscii-upper' for `latin-viscii'.
1291
1292 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1293
1294         * mule-charset.c (Fdecode_builtin_char): Comment out
1295         regularization code for ISO-IR GR representation.
1296
1297 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1298
1299         * mule-charset.c (decode_builtin_char): New function; renamed from
1300         `make_builtin_char'; return -1 instead of signal.
1301         (Fdecode_builtin_char): Use `decode_builtin_char'.
1302
1303         * char-ucs.h (decode_builtin_char): New prototype; renamed from
1304         `make_builtin_char'.
1305         (DECODE_CHAR): Use `decode_builtin_char' instead of
1306         `make_builtin_char'; use mapping table of `chinese-big5' for
1307         `chinese-big5-{1,2}'.
1308
1309 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1310
1311         * text-coding.c (char_encode_big5): New function.
1312         (char_finish_big5): Likewise.
1313         (reset_encoding_stream): Use `char_encode_big5' and
1314         `char_finish_big5' for CODESYS_BIG5.
1315         (mule_encode): Don't use `encode_coding_big5'.
1316         (encode_coding_big5): Deleted.
1317
1318 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1319
1320         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
1321         0x81- in XEmacs UTF-2000.
1322         (detect_coding_big5): Likewise.
1323
1324 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1325
1326         * mule-charset.c (Fdefine_char): Don't use a CCS property to
1327         generate character-id if the CCS property does not have
1328         corresponding predefined character.
1329         (make_builtin_char): Return -1 if corresponding predefined
1330         character is not found.
1331         (Fdecode_char): Return nil if corresponding character is not
1332         found.
1333         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
1334         don't map to builtin ucs space.
1335
1336 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1337
1338         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
1339         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
1340
1341 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1342
1343         * mule-charset.c (Vcharset_ideograph_gt): New variable.
1344         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
1345         (Qideograph_gt): Likewise.
1346         (Qideograph_gt_pj_{1..11}): Likewise.
1347         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
1348         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
1349         `ideograph-gt-pj-11'.
1350         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
1351         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
1352         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
1353
1354         * char-ucs.h (LEADING_BYTE_GT): New macro.
1355         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
1356         (MIN_CHAR_GT): Likewise.
1357         (MAX_CHAR_GT): Likewise.
1358
1359 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1360
1361         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
1362         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
1363
1364         * doprnt.c (unsigned_int_converters): Add `c'.
1365         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
1366
1367         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
1368         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
1369         `MIN_CHAR_MOJIKYO'.
1370         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
1371         (MAX_CHAR_MOJIKYO_0): New macro.
1372         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
1373
1374 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1375
1376         * mule-charset.c (Fdefine_char): Delete cemented out code.
1377         (encode_builtin_char_1): Modify for new allocation of builtin
1378         Mojikyo characters.
1379
1380         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
1381
1382 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1383
1384         * mule-charset.c (Vcharset_ucs_cns): New variable.
1385         (Qucs_cns): New variable.
1386         (syms_of_mule_charset): Add new symbol `ucs-cns'.
1387         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
1388
1389 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1390
1391         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
1392
1393 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1394
1395         * search.c (search_buffer): Make `charset_base_code' as
1396         character-id >> 6 to eliminate the corresponding last byte in
1397         UTF-8 representation [I'm not sure it is right thing].
1398         (boyer_moore): Likewise.
1399
1400 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1401
1402         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
1403         representation in MULE.
1404
1405 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1406
1407         * text-coding.c (Fmake_coding_system): Use
1408         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
1409         `EXTERNAL_PROPERTY_LIST_LOOP'.
1410
1411 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1412
1413         * text-coding.c (decode_output_utf8_partial_char): New function.
1414         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
1415
1416 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1417
1418         * text-coding.c (decode_coding_utf8): Output original byte
1419         sequence if it is broken; change order of conditions.
1420
1421         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
1422         of conditions.
1423
1424         * mb-multibyte.h (BYTE_ASCII_P):
1425         Use bit ops for char-signedness safety.
1426         (BYTE_C0_P): Use bit ops for char-signedness safety.
1427         (BYTE_C1_P): Use bit ops for char-signedness safety.
1428
1429         * character.h: (XCHAR_OR_CHAR_INT):
1430         Always use inline function.
1431         Remove redundant type checking assert() - XINT will abort quite
1432         nicely.
1433
1434 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1435
1436         * text-coding.c: (Fencode_shift_jis_char):
1437         (Fencode_big5_char):
1438         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1439         Replace 0 with '\0' when working with bytes.
1440         Replace initial "(" with "\(" in docstrings.
1441
1442         (Fmake_coding_system):
1443         When type is ccl and value is vector, register it with a proper
1444         symbol.  And checks whether the given ccl program is valid.
1445         (mule_decode): When calling ccl_driver, if src indicates
1446         NULL pointer, set an empty string instead.
1447         (mule_encode): Likewise.
1448
1449         (detect_eol_type):
1450         (detect_coding_sjis):
1451         (decode_coding_sjis):
1452         (detect_coding_big5):
1453         (decode_coding_big5):
1454         (detect_coding_ucs4):
1455         (decode_coding_ucs4):
1456         (detect_coding_utf8):
1457         (decode_coding_utf8):
1458         (detect_coding_iso2022):
1459         (decode_coding_iso2022):
1460         (decode_coding_no_conversion):
1461         (mule_decode):
1462         Make all detecting and decoding functions take an Extbyte * arg.
1463         (text_encode_generic):
1464         (encode_coding_big5):
1465         (encode_coding_no_conversion):
1466         (mule_encode):
1467         Make all encoding functions take a Bufbyte * arg.
1468         Use size_t instead of unsigned int for memory sizes.
1469         Only cast to unsigned char whenever dereferencing Extbyte *.
1470
1471         (struct lrecord_description fcd_description_1): Use countof.
1472         (complex_vars_of_file_coding):
1473         Use countof instead of sizeof.
1474         Use CHECK_NATNUM instead of CHECK_INT.
1475
1476 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1477
1478         * mule-charset.c (Fget_char_attribute): Add new optional argument
1479         `default-value'.
1480         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1481         (remove_char_ccs): Likewise.
1482
1483 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1484
1485         * text-coding.c (char_encode_shift_jis): New implementation in
1486         UTF-2000.
1487         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1488         ...)'.
1489
1490         * mule-charset.c (Vcharset_chinese_big5): New variable in
1491         UTF-2000.
1492         (Qchinese_big5): New variable in UTF-2000.
1493         (BIG5_SAME_ROW): New macro in UTF-2000.
1494         (make_builtin_char): Use builtin characters of
1495         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1496         characters of `Vcharset_chinese_big5'.
1497         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1498         (complex_vars_of_mule_charset): Add new coded-charset
1499         `chinese-big5' in UTF-2000.
1500
1501         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1502         (Vcharset_chinese_big5): New external variable declaration.
1503         (Vcharset_japanese_jisx0208_1990): Likewise.
1504
1505 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1506
1507         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1508         function.
1509         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1510
1511 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1512
1513         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1514         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1515         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1516         `mojikyo-pj-*'.
1517
1518 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1519
1520         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1521
1522 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1523
1524         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1525         to 0.17.
1526
1527 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1528
1529         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1530         for `CHARSET_BY_ATTRIBUTES'.
1531         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1532         `CHARSET_BY_ATTRIBUTES'.
1533
1534         * text-coding.c (struct decoding_stream): Rename member `CH' to
1535         `CPOS'.
1536         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1537         (decode_coding_sjis): Likewise.
1538         (decode_coding_big5): Likewise.
1539         (decode_coding_ucs4): Likewise.
1540         (decode_coding_utf8): Likewise.
1541         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1542         `CHARSET_BY_ATTRIBUTES'.
1543         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1544         `str->counter'; decode 3, 4 bytes sets.
1545         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1546         sets.
1547         (decode_coding_no_conversion): Use `str->cpos' instead of
1548         `str->ch'.
1549
1550         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1551         (Qmojikyo_2022_1): New variable.
1552         (make_charset): Don't use `CHARSET_TYPE_*'.
1553         (range_charset_code_point): Support coded-charset
1554         `mojikyo-2022-1'.
1555         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1556         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1557         `CHARSET_BY_ATTRIBUTES'.
1558         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1559         `CHARSET_BY_ATTRIBUTES'.
1560         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1561         (complex_vars_of_mule_charset): Add new coded-charset
1562         `mojikyo-2022-1'.
1563
1564         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1565         interface; changed to inline function.
1566
1567         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1568         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1569         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1570         (CHARSET_TYPE_94): Deleted.
1571         (CHARSET_TYPE_94X94): Deleted.
1572         (CHARSET_TYPE_96): Deleted.
1573         (CHARSET_TYPE_96X96): Deleted.
1574         (CHARSET_TYPE_128): Deleted.
1575         (CHARSET_TYPE_128X128): Deleted.
1576         (CHARSET_TYPE_256): Deleted.
1577         (CHARSET_TYPE_256X256): Deleted.
1578         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1579         to inline function.
1580         (DECODE_MOJIKYO_2022): New inline function.
1581         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1582         `Vcharset_mojikyo_2022_1'.
1583
1584 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1585
1586         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1587         instead of `EQ'.
1588         (put_byte_table): Likewise.
1589         (char_id_table_equal): Use `get_byte_table' [new implementation].
1590
1591 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1592
1593         * mule-charset.c: Include <limits.h> in UTF-2000.
1594         (BT_UINT8_MIN): New macro in UTF-2000.
1595         (BT_UINT8_MAX): New macro in UTF-2000.
1596         (BT_UINT8_t): New macro in UTF-2000.
1597         (BT_UINT8_nil): New macro in UTF-2000.
1598         (BT_UINT8_unbound): New macro in UTF-2000.
1599         (INT_UINT8_P): New inline function in UTF-2000.
1600         (UINT8_VALUE_P): New inline function in UTF-2000.
1601         (UINT8_ENCODE): New inline function in UTF-2000.
1602         (UINT8_DECODE): New inline function in UTF-2000.
1603         (mark_uint8_byte_table): New function in UTF-2000.
1604         (print_uint8_byte_table): New function in UTF-2000.
1605         (uint8_byte_table_equal): New function in UTF-2000.
1606         (uint8_byte_table_hash): New function in UTF-2000.
1607         (make_uint8_byte_table): New function in UTF-2000.
1608         (uint8_byte_table_same_value_p): New function in UTF-2000.
1609         (BT_UINT16_MIN): New macro in UTF-2000.
1610         (BT_UINT16_MAX): New macro in UTF-2000.
1611         (BT_UINT16_t): New macro in UTF-2000.
1612         (BT_UINT16_nil): New macro in UTF-2000.
1613         (BT_UINT16_unbound): New macro in UTF-2000.
1614         (INT_UINT16_P): New inline function in UTF-2000.
1615         (UINT16_VALUE_P): New inline function in UTF-2000.
1616         (UINT16_ENCODE): New inline function in UTF-2000.
1617         (UINT16_DECODE): New inline function in UTF-2000.
1618         (UINT8_TO_UINT16): New inline function in UTF-2000.
1619         (mark_uint16_byte_table): New function in UTF-2000.
1620         (print_uint16_byte_table): New function in UTF-2000.
1621         (uint16_byte_table_equal): New function in UTF-2000.
1622         (uint16_byte_table_hash): New function in UTF-2000.
1623         (make_uint16_byte_table): New function in UTF-2000.
1624         (uint16_byte_table_same_value_p): New function in UTF-2000.
1625         (print_byte_table): New function in UTF-2000.
1626         (byte-table): Use `print_byte_table' as printer.
1627         (make_byte_table): Delete second argument `older'.
1628         (byte_table_same_value_p): New function in UTF-2000.
1629         (copy_byte_table): Deleted.
1630         (get_byte_table): New function in UTF-2000.
1631         (put_byte_table): New function in UTF-2000.
1632         (print_char_id_table): New function in UTF-2000.
1633         (char-id-table): Use `print_char_id_table' as printer.
1634         (make_char_id_table): Delete second argument `older'.
1635         (get_char_id_table): Use `get_byte_table [new implementation].
1636         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1637         implementation].
1638         (Ffind_char_attribute_table): New function in UTF-2000.
1639         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1640         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1641         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1642         (syms_of_mule_charset): Add new function
1643         `find-char-attribute-table' in UTF-2000.
1644
1645         * lrecord.h (enum lrecord_type): Add
1646         `lrecord_type_uint16_byte_table' and
1647         `lrecord_type_uint8_byte_table'.
1648
1649         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1650         (Lisp_Uint8_Byte_Table): New type.
1651         (XUINT8_BYTE_TABLE): New macro.
1652         (XSETUINT8_BYTE_TABLE): New macro.
1653         (UINT8_BYTE_TABLE_P): New macro.
1654         (GC_UINT8_BYTE_TABLE_P): New macro.
1655         (struct Lisp_Uint16_Byte_Table): New structure.
1656         (Lisp_Uint16_Byte_Table): New type.
1657         (XUINT16_BYTE_TABLE): New macro.
1658         (XSETUINT16_BYTE_TABLE): New macro.
1659         (UINT16_BYTE_TABLE_P): New macro.
1660         (GC_UINT16_BYTE_TABLE_P): New macro.
1661
1662 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1663
1664         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1665         (Vcharacter_ideographic_strokes_table): Deleted.
1666         (Vcharacter_total_strokes_table): Deleted.
1667         (Vcharacter_morohashi_daikanwa_table): Deleted.
1668         (Vcharacter_decomposition_table): Deleted.
1669         (Qname): Deleted because it is duplicated.
1670         (Qideographic_radical): Deleted.
1671         (Qideographic_strokes): Deleted.
1672         (Qtotal_strokes): Deleted.
1673         (Qmorohashi_daikanwa): Deleted.
1674         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1675         `ideographic-radical', `ideographic-strokes', `total-strokes',
1676         `morohashi-daikanwa' and `->decomposition'.
1677         (Fget_char_attribute): Likewise.
1678         (Fput_char_attribute): Likewise; use `make-vector' instead of
1679         `make_older_vector' for `->decomposition' value.
1680         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1681         `ideograph-daikanwa'.
1682         (syms_of_mule_charset): Delete builtin symbols `name',
1683         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1684         `morohashi-daikanwa'.
1685         (vars_of_mule_charset): Don't setup
1686         `Vcharacter_ideographic_radical_table',
1687         `Vcharacter_ideographic_strokes_table',
1688         `Vcharacter_total_strokes_table',
1689         `Vcharacter_morohashi_daikanwa_table' and
1690         `Vcharacter_decomposition_table'.
1691
1692 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1693
1694         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1695         `make_older_vector', `make_vector_newer_1' and
1696         `make_vector_newer'.
1697
1698         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1699         `make_older_vector' and `make_vector_newer'.
1700
1701         * config.h.in (HAVE_GGC): New macro.
1702
1703 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1704
1705         * mule-charset.c (struct char_attribute_list_closure): New
1706         structure in UTF-2000.
1707         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1708         (Fchar_attribute_list): Likewise.
1709         (Fset_charset_mapping_table): Use `make_vector_newer'.
1710         (Fdecode_builtin_char): New function in UTF-2000.
1711         (syms_of_mule_charset): Add new function `char-attribute-list' and
1712         `decode-builtin-char' in UTF-2000.
1713
1714         * lisp.h (make_vector_newer): New prototype.
1715
1716         * alloc.c (make_vector_newer_1): New function.
1717         (make_vector_newer): New function.
1718
1719 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1720
1721         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1722         50100)'.
1723
1724 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1725
1726         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1727         (Vcharacter_attribute_table): Deleted.
1728         (Vcharacter_name_table): Deleted.
1729         (put_char_attribute): Deleted.
1730         (remove_char_attribute): Deleted.
1731         (struct char_attribute_alist_closure): New structure.
1732         (add_char_attribute_alist_mapper): New function.
1733         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1734         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1735         (Fget_char_attribute): Likewise.
1736         (Fput_char_attribute): Likewise.
1737         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1738         of `remove_char_attribute'.
1739         (Fdefine_char): Return character.
1740         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1741         and `Vcharacter_name_table'.
1742         (complex_vars_of_mule_charset): Likewise
1743         `Vchar_attribute_hash_table'.
1744
1745 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1746
1747         * character.h (CHARC_CHARSET): New macro.
1748         (CHARC_CHARSET_ID): New macro.
1749         (CHARC_CODE_POINT): New macro.
1750         (CHARC_COLUMNS): New macro.
1751         (CHARC_TO_CHAR): New inline function.
1752         (CHARC_EQ): New inline function.
1753         (CHARC_ASCII_EQ): New inline function.
1754         (CHARC_IS_SPACE): New inline function.
1755         (ASCII_TO_CHARC): New inline function.
1756
1757         * char-ucs.h (encode_char_2): Deleted.
1758         (ENCODE_CHAR): Use `encode_char_1' again.
1759         (breakup_char_1): Likewise.
1760         (CHAR_TO_CHARC): New inline function.
1761
1762         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1763
1764 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1765
1766         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1767         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1768         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1769         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1770         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1771         `CHARC_IS_SPACE'.
1772         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1773
1774         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1775         `CHARC_CODE_POINT'.
1776         (x_output_display_block): Use `CHARC_CHARSET' and
1777         `CHARC_ASCII_EQ'.
1778
1779         * redisplay-tty.c (tty_output_display_block): Use
1780         `CHARC_ASCII_EQ'.
1781         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1782
1783         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1784
1785         * insdel.c (find_charsets_in_charc_string): Use
1786         `CHARC_CHARSET_ID'.
1787         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1788         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1789         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1790         (convert_charc_string_into_malloced_string): Likewise.
1791
1792 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1793
1794         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1795         instead of <Emchar_dynarr *> for buf; use
1796         `convert_bufbyte_string_into_charc_dynarr' instead of
1797         `convert_bufbyte_string_into_emchar_dynarr'; use
1798         `find_charsets_in_charc_string' instead of
1799         `find_charsets_in_emchar_string'.
1800
1801         * redisplay.h:
1802         - Include "character.h".
1803         (struct rune): New member `cglyph'; delete member `chr'.
1804
1805         * redisplay.c (redisplay_text_width_charc_string): New function;
1806         delete `redisplay_text_width_emchar_string'.
1807         (rtw_charc_dynarr): New variable; renamed from
1808         `rtw_emchar_dynarr'.
1809         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1810         `rtw_emchar_dynarr'; use
1811         `convert_bufbyte_string_into_charc_dynarr' instead of
1812         `convert_bufbyte_string_into_emchar_dynarr'; use
1813         `redisplay_text_width_charc_string' instead of
1814         `redisplay_text_width_emchar_string'.
1815         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1816         instead of `rtw_emchar_dynarr'; use
1817         `convert_bufbyte_string_into_charc_dynarr' instead of
1818         `convert_bufbyte_string_into_emchar_dynarr'.
1819         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1820         `redisplay_text_width_charc_string' instead of
1821         `redisplay_text_width_emchar_string'.
1822         (create_text_block): Modify for <struct rune> change.
1823         (generate_formatted_string_db): Likewise.
1824         (create_string_text_block): Likewise.
1825         (pixel_to_glyph_translation): Likewise.
1826
1827         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1828         instead of <const Emchar *>.
1829         (x_text_width): Likewise.
1830         (x_output_display_block): Use <Charc_dynarr *> instead
1831         <Emchar_dynarr *>; modify for <structure rune> change.
1832         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1833         *>.
1834
1835         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1836         <const Emchar *>; use `charc_string_displayed_columns' instead of
1837         `emchar_string_displayed_columns'.
1838         (tty_output_display_block): Use <Charc_dynarr *> instead of
1839         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1840         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1841         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1842         `tty_output_emchar_dynarr_dynarr'.
1843         (tty_output_charc_dynarr): New function; delete
1844         `tty_output_charc_dynarr'.
1845
1846         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1847         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1848         <Emchar_dynarr *> for buf; use
1849         `convert_bufbyte_string_into_charc_dynarr' instead of
1850         `convert_bufbyte_string_into_emchar_dynarr'.
1851
1852         * frame.c (title_string_charc_dynarr): New variable; renamed from
1853         `title_string_emchar_dynarr'.
1854         (generate_title_string): Use `title_string_charc_dynarr' instead
1855         of `title_string_emchar_dynarr'; use
1856         `convert_charc_string_into_malloced_string' instead of
1857         `convert_emchar_string_into_malloced_string'.
1858         (init_frame): Use `title_string_charc_dynarr' instead of
1859         `title_string_emchar_dynarr'.
1860
1861         * console.h:
1862         - Include "character.h".
1863         (struct console_methods): Use <const Charc *> instead of <const
1864         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1865         <Emchar_dynarr *> in output_string_method.
1866
1867         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1868         <Emchar_dynarr *>.
1869
1870         * console-stream.c (stream_text_width): Use <const Charc *>
1871         instead of <const Emchar *>.
1872
1873         * character.h (Charc_dynarr): New type.
1874
1875         * char-ucs.h (structure Charc): New structure; define new type
1876         `Charc'.
1877
1878         * char-lb.h (DECODE_CHAR): New inline function.
1879         (encode_char_1): New inline function.
1880         (ENCODE_CHAR): New macro.
1881         (structure Charc): New structure; define new type `Charc'.
1882
1883         * char-1byte.h (Vcharset_control_1): New macro.
1884         (Vcharset_latin_iso8859_1): New macro.
1885         (DECODE_CHAR): New inline function.
1886         (encode_char_1): New inline function.
1887         (ENCODE_CHAR): New macro.
1888         (structure Charc): New structure; define new type `Charc'.
1889
1890         * insdel.c (find_charsets_in_charc_string): New function; delete
1891         `find_charsets_in_emchar_string'.
1892         (charc_string_displayed_columns): New function; delete
1893         `emchar_string_displayed_columns'.
1894         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1895         `convert_bufbyte_string_into_emchar_dynarr'.
1896         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1897         `convert_charc_string_into_bufbyte_dynarr'.
1898         (convert_charc_string_into_malloced_string): New function; delete
1899         `convert_charc_string_into_malloced_string'.
1900
1901         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1902         `find_charsets_in_emchar_string'.
1903         (charc_string_displayed_columns): New prototype; delete
1904         `emchar_string_displayed_columns'.
1905         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1906         `convert_charc_string_into_bufbyte_dynarr'.
1907         (convert_charc_string_into_malloced_string): New prototype; delete
1908         `convert_charc_string_into_malloced_string'.
1909
1910 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1911
1912         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1913
1914 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1915
1916         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1917
1918         * char-ucs.h: Use <short> for <Charset_ID>.
1919
1920         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1921         <Charset_ID>.
1922
1923 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1924
1925         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1926         to 0.16.
1927
1928 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1929
1930         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1931         variable.
1932         (Qmorohashi_daikanwa): New variable.
1933         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1934         for `morohashi-daikanwa' attribute.
1935         (Fget_char_attribute): Likewise.
1936         (Fput_char_attribute): Likewise.
1937         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1938         has the same value of `ideograph-daikanwa'.
1939         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1940         (vars_of_mule_charset): Setup
1941         `Vcharacter_morohashi_daikanwa_table'.
1942
1943 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1944
1945         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1946         attributes.
1947         (add_charset_to_list_mapper): Add `key' instead of
1948         `XCHARSET_NAME (value)' to return aliases.
1949
1950 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1951
1952         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1953         variable.
1954         (Vcharacter_ideographic_strokes_table): New variable.
1955         (Qideographic_radical): New variable.
1956         (Qideographic_strokes): New variable.
1957         (Fchar_attribute_alist): Use
1958         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1959         attribute; use `Vcharacter_ideographic_strokes_table' for
1960         `ideographic-strokes' attribute.
1961         (Fget_char_attribute): Likewise.
1962         (Fput_char_attribute): Likewise.
1963         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1964         `ideographic-strokes'.
1965         (vars_of_mule_charset): Setup
1966         `Vcharacter_ideographic_radical_table' and
1967         `Vcharacter_ideographic_strokes_table'.
1968
1969 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1970
1971         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1972         (Qtotal_strokes): New variable.
1973         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1974         `total-strokes' attribute.
1975         (Fget_char_attribute): Likewise.
1976         (Fput_char_attribute): Likewise.
1977         (syms_of_mule_charset): Add new symbol `total-strokes'.
1978         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1979
1980 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1981
1982         * mule-charset.c (Vcharacter_decomposition_table): New variable.
1983         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
1984         are found.
1985         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
1986         `->decomposition' attribute.
1987         (Fput_char_attribute): Likewise.
1988         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
1989
1990 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1991
1992         * mule-charset.c (decoding_table_check_elements): New function.
1993         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
1994
1995 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1996
1997         * mule-charset.c (Fset_charset_mapping_table): Use
1998         `put_char_ccs_code_point'.
1999
2000 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2001
2002         * mule-charset.c (decoding_table_put_char): New inline function.
2003         (put_char_ccs_code_point): Use `decoding_table_put_char'.
2004
2005 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2006
2007         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
2008         (XCHARSET_BYTE_SIZE): New macro.
2009         (decoding_table_remove_char): New inline function.
2010         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
2011         `decoding_table_remove_char'.
2012         (remove_char_ccs): Use `decoding_table_remove_char'.
2013         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
2014
2015 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2016
2017         * mule-charset.c (Vcharacter_name_table): New variable.
2018         (Qname): New variable.
2019         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
2020         attribute.
2021         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
2022         `Vcharacter_name_table' for `name' attribute.
2023         (Fremove_char_attribute): Use function `remove_char_ccs'.
2024         (put_char_ccs_code_point): New function.
2025         (remove_char_ccs): New function.
2026         (syms_of_mule_charset): Add new symbol `name'.
2027         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
2028
2029 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2030
2031         * mule-charset.c (make_byte_table): Add new argument `older'.
2032         (make_char_id_table): Likewise.
2033         (copy_char_id_table): Comment out because it is not used.
2034         (put_char_id_table): Modify for `make_byte_table'.
2035         (Fput_char_attribute): Make encoding_table as older object;
2036         inherit older bit of `Vcharacter_composition_table'.
2037         (mark_charset): Don't mark `cs->encoding_table'.
2038         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
2039         normal object; make `Vcharacter_composition_table' as an older
2040         object; delete staticpro for `Vcharacter_composition_table'; make
2041         `Vcharacter_variant_table' as a normal object.
2042
2043         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
2044         (mark_object): Don't check older object in UTF-2000.
2045
2046         * lrecord.h (struct lrecord_header): Add new member `older' in
2047         UTF-2000.
2048         (set_lheader_implementation): Setup `SLI_header->older' in
2049         UTF-2000.
2050         (set_lheader_older_implementation): New macro in UTF-2000.
2051         (OLDER_RECORD_P): New macro in UTF-2000.
2052         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
2053         (alloc_older_lcrecord): New prototype in UTF-2000.
2054         (alloc_older_lcrecord_type): New macro in UTF-2000.
2055
2056 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2057
2058         * mule-charset.c (byte_table_description): Use
2059         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
2060         (char_id_table_description): Delete bogus `, 1'.
2061         (Fget_char_attribute): Refer encoding_table of each coded-charset
2062         to get value of coded-charset attribute of a character.
2063         (Fput_char_attribute): Use `make_older_vector' instead of
2064         `make_vector'; use encoding_table of each coded-charset to store
2065         value of coded-charset attribute of a character.
2066         (Fremove_char_attribute): Use encoding_table of each coded-charset
2067         to store value of coded-charset attribute of a character.
2068         (mark_charset): Mark `cs->encoding_table'; don't mark
2069         `cs->decoding_table'.
2070         (charset_description): Add description of new member
2071         `encoding_table'.
2072         (make_charset): Initialize `encoding_table'.
2073
2074         * char-ucs.h (struct Lisp_Charset): Add new member
2075         `encoding_table'.
2076         (CHARSET_ENCODING_TABLE): New macro.
2077         (XCHARSET_ENCODING_TABLE): New macro.
2078         (charset_code_point): New implementation.
2079         (encode_char_1): Likewise.
2080
2081         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
2082         (disksave_object_finalization_1): Call finalizers of
2083         `all_older_lcrecords' in UTF-2000.
2084         (make_older_vector): New function in UTF-2000.
2085         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
2086         UTF-2000.
2087
2088         * lisp.h (make_older_vector): New prototype in UTF-2000.
2089
2090 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2091
2092         * lrecord.h (enum lrecord_type): Rename
2093         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2094
2095         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2096         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2097         `get_char_code_table'.
2098
2099         * mule-charset.c (mark_char_id_table): Renamed from
2100         `mark_char_code_table'.
2101         (char_id_table_equal): Renamed from `char_code_table_equal'.
2102         (char_id_table_hash): Renamed from `char_code_table_hash'.
2103         (make_char_id_table): Renamed from `make_char_code_table'.
2104         (copy_char_id_table): Renamed from `copy_char_code_table'.
2105         (get_char_id_table): Renamed from `get_char_code_table'.
2106         (put_char_id_table): Renamed from `put_char_code_table'.
2107         (to_char_id): Renamed from `to_char_code'.
2108
2109         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2110         `Lisp_Char_Code_Table'.
2111         (char_id_table): Renamed from `char_code_table'.
2112         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2113         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2114         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2115         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2116         (get_char_id_table): Renamed from `get_char_code_table'.
2117
2118 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2119
2120         * lrecord.h (enum lrecord_type): Rename
2121         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2122
2123         * mule-charset.c (mark_byte_table): Renamed from
2124         `mark_char_byte_table'.
2125         (byte_table_equal): Renamed from `char_byte_table_equal'.
2126         (byte_table_hash): Renamed from `byte_table_hash'.
2127         (make_byte_table): Renamed from `make_byte_table'.
2128         (copy_byte_table): Renamed from `copy_char_byte_table'.
2129
2130         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2131         `Lisp_Char_Byte_Table'.
2132         (byte_table): Renamed from `char_byte_table'.
2133         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2134         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2135         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2136         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2137
2138 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2139
2140         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2141         (dfc_convert_to_internal_format): Likewise.
2142         
2143         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2144         * text-coding.c (Fcoding_system_alias_p): New function.
2145         * text-coding.c (Fcoding_system_aliasee): New function.
2146         * text-coding.c (append_suffix_to_symbol): New function.
2147         * text-coding.c (dangling_coding_system_alias_p): New function.
2148         * text-coding.c (Ffind_coding_system):
2149         * text-coding.c (Fcopy_coding_system):
2150         * text-coding.c (encode_coding_no_conversion):
2151         * text-coding.c (syms_of_file_coding):
2152         * text-coding.c (vars_of_file_coding):
2153         Rewrite coding system alias code.
2154         Allow nested aliases, like symbolic links.
2155         Allow redefinition of coding system aliases.
2156         Prevent existence of dangling coding system aliases.
2157         Eliminate convert_to_external_format.
2158         Eliminate convert_to_internal_format.
2159         
2160         * text-coding.c: Change enum eol_type to eol_type_t.
2161
2162 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2163
2164         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2165         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2166
2167         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2168         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2169
2170 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2171
2172         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2173         `ideograph-daikanwa'.
2174
2175         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2176         (Vcharset_ucs_bmp): Likewise.
2177         (Vcharset_mojikyo): Add new extern variable definition.
2178         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2179         (Vcharset_latin_iso8859_3): Likewise.
2180         (Vcharset_latin_iso8859_4): Likewise.
2181         (Vcharset_latin_iso8859_9): Likewise.
2182         (Vcharset_latin_viscii_lower): Likewise.
2183         (Vcharset_latin_viscii_upper): Likewise.
2184         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2185         `mojikyo' code-point is used to decode.
2186         (encode_char_2): New function [to convert `mojikyo' code-point to
2187         Mojikyo font encoding].
2188         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2189         (breakup_char_1): Likewise.
2190         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2191
2192 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2193
2194         * text-coding.c (Fmake_coding_system): Add document about
2195         `disable-composition' property.
2196
2197 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2198
2199         * text-coding.c (Qdisable_composition): New variable; delete
2200         `Qcomposite'.
2201         (Fmake_coding_system): Add new property `disable-composite';
2202         delete property `composite'.
2203         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2204         instead of `!CODING_SYSTEM_COMPOSITE'.
2205         (syms_of_file_coding): Add new symbol `disable-composition';
2206         delete symbol `composite'.
2207
2208         * file-coding.h (struct Lisp_Coding_System): Add
2209         `disable_composition'; delete `enable_composition'.
2210         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2211         `CODING_SYSTEM_COMPOSITE'.
2212         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2213         `XCODING_SYSTEM_COMPOSITE'.
2214
2215 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2216
2217         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2218         to 0.15.
2219
2220 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2221
2222         * text-coding.c (Qcomposite): New variable.
2223         (Fmake_coding_system): Add new property `composite'.
2224         (struct decoding_stream): Add `combined_char_count',
2225         `combined_chars' and `combining_table' in UTF-2000.
2226         (COMPOSE_FLUSH_CHARS): New macro.
2227         (COMPOSE_ADD_CHAR): New macro.
2228         (reset_decoding_stream): Reset `str->combined_char_count' and
2229         `str->combining_table' in UTF-2000.
2230         (decode_coding_iso2022): Modify for character-decomposition.
2231         (syms_of_file_coding): Add new symbol `composite'.
2232
2233 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2234
2235         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2236         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2237         of `Vcharacter_composition_table' if `->decomposition' property
2238         has only 1 element.
2239         (Qlatin_tcvn5712): New variable.
2240         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2241         (complex_vars_of_mule_charset): Add new coded-charset
2242         `latin-tcvn5712'.
2243
2244         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2245
2246 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2247
2248         * file-coding.h (struct Lisp_Coding_System): Add
2249         `enable_composition'.
2250         (CODING_SYSTEM_COMPOSITE): New macro.
2251         (XCODING_SYSTEM_COMPOSITE): New macro.
2252
2253 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2254
2255         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2256
2257 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2258
2259         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2260         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2261
2262 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2263
2264         * mule-charset.c (Vcharset_mojikyo): New variable.
2265         (Fdefine_char): Don't use coded-charset which does not have
2266         non-builtin character range to allocate character-id.
2267         (Qmojikyo): New variable.
2268         (syms_of_mule_charset): Add new symbol `mojikyo'.
2269         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2270
2271         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2272         (LEADING_BYTE_MOJIKYO): New macro.
2273         (MIN_CHAR_MOJIKYO): New macro.
2274         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2275         (MAX_CHAR_MOJIKYO): New macro.
2276
2277 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2278
2279         * mule-charset.c (remove_char_attribute): Fixed.
2280
2281 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2282
2283         * mule-charset.c (remove_char_attribute): New function.
2284         (Fremove_char_attribute): New function.
2285         (encode_builtin_char_1): Comment out builtin-support for
2286         greek-iso8859-7 and cyrillic-iso8859-5.
2287         (Fdecode_char): Check `code' is an integer.
2288         (syms_of_mule_charset): Add `remove-char-attribute'.
2289         (MIN_CHAR_GREEK): Deleted.
2290         (MAX_CHAR_GREEK): Likewise.
2291         (MIN_CHAR_CYRILLIC): Likewise.
2292         (MAX_CHAR_CYRILLIC): Likewise.
2293         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2294         MAX_CHAR_GREEK for `greek-iso8859-7'.
2295
2296         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
2297         (MAX_CHAR_GREEK): Likewise.
2298         (MIN_CHAR_CYRILLIC): Likewise.
2299         (MAX_CHAR_CYRILLIC): Likewise.
2300
2301 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
2302
2303         * mule-charset.c (Fdefine_char): Fix problem when new code-point
2304         format is used without `ucs' property.
2305         (Fdecode_char): Fix problem with GR representation.
2306         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
2307         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
2308
2309 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2310
2311         * mule-charset.c (make_builtin_char): New function.
2312         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
2313         (Fset_charset_mapping_table): Modify for new representation of
2314         code-point.
2315         (Fdecode_char): New function.
2316         (syms_of_mule_charset): Add new builtin function `decode-char' in
2317         UTF-2000.
2318
2319         * char-ucs.h (make_builtin_char): New prototype.
2320         (DECODE_CHAR): New inline function.
2321         (MAKE_CHAR): Use `DECODE_CHAR'.
2322
2323 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
2324
2325         * text-coding.c (parse_charset_conversion_specs): Use
2326         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
2327         `XCHARSET_TYPE'.
2328         (iso2022_designate): Likewise.
2329
2330         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
2331         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
2332
2333         * mule-charset.c (Vcharset_ucs): New variable.
2334         (print_charset): Change design; use `CHARSET_CHARS' and
2335         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
2336         (make_charset): Change signature to specify `chars' and
2337         `dimension' instead of `type'.
2338         (range_charset_code_point): Modify for 256^n-set.
2339         (encode_builtin_char_1): Encode as `ucs' in default.
2340         (Fmake_charset): Modify for `make_charset'.
2341         (Fmake_reverse_direction_charset): Likewise.
2342         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
2343         UTF-2000.
2344         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
2345         for `make_charset'.
2346
2347         * char-ucs.h (Vcharset_ucs): New variable.
2348         (LEADING_BYTE_UCS): New macro.
2349         (struct Lisp_Charset): Delete `type'; change type of `dimension'
2350         and `chars' to `unsigned short' from `unsigned int'.
2351         (CHARSET_TYPE): Deleted.
2352         (XCHARSET_TYPE): Deleted.
2353
2354 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
2355
2356         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
2357
2358         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
2359         (ENCODE_CHAR): New macro.
2360
2361 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2362
2363         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2364         to 0.14 (Kawachi-Katakami).
2365
2366 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2367
2368         * text-coding.c (char_encode_shift_jis): Modify for
2369         `charset_code_point'.
2370         (char_encode_iso2022): Likewise.
2371
2372         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
2373         (integer) instead of list of <Lisp_Object>s (integers) as the
2374         format of code-point of a coded-charset.
2375         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2376         (encode_builtin_char_1): New function; delete
2377         `split_builtin_char'.
2378         (charset_code_point): Return <int> instead of <Lisp_Object>.
2379         (Fsplit_char): Don't use `SPLIT_CHAR'.
2380
2381         * char-ucs.h (encode_builtin_char_1): New prototype; delete
2382         prototype for `split_builtin_char'.
2383         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2384         (charset_code_point): Likewise.
2385         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
2386         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
2387
2388 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
2389
2390         * mule-charset.c (complex_vars_of_mule_charset): Don't define
2391         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
2392
2393 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2394
2395         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
2396
2397         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
2398         (MAX_CHAR_OBS_94x94): Deleted.
2399
2400 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2401
2402         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
2403
2404         * char-ucs.h (MAX_CHAR_BMP): New macro.
2405
2406 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2407
2408         * text-coding.c: Sync with r21-2-24.
2409
2410 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2411
2412         * file-coding.c: Modify for UTF-2000.
2413
2414 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2415
2416         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2417         to 0.13 (Takaida).
2418
2419 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2420
2421         * mule-charset.c (split_builtin_char): Delete builtin support for
2422         `katakana-jisx0201'.
2423         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
2424         BMP area in builtin representation.
2425
2426         * char-ucs.h (MAKE_CHAR): Delete builtin support for
2427         `Vcharset_katakana_jisx0201'.
2428
2429 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
2430
2431         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2432         (Qisolated): New variable.
2433         (Qinitial): New variable.
2434         (Qmedial): New variable.
2435         (Qfinal): New variable.
2436         (Qvertical): New variable.
2437         (Qsmall): New variable.
2438         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2439         `Qvertical' and `Qsmall'.
2440         (Qmojikyo_pj_[1 .. 21]): New variable.
2441         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2442         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2443         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2444         .. 21]'.
2445
2446 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2447
2448         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2449         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2450         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2451
2452 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2453
2454         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2455         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2456         BMP.
2457         (Qjapanese_jisx0208_1990): New variable.
2458         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2459         (complex_vars_of_mule_charset): Add new coded-charset
2460         `japanese-jisx0208-1990'.
2461
2462         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2463         (MIN_CHAR_JIS_X0208_1990): New macro.
2464         (MAX_CHAR_JIS_X0208_1990): New macro.
2465
2466 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2467
2468         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2469         coded-charset is not found.
2470
2471 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2472
2473         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2474         (Fdefine_char): Use `Fmake_char'.
2475
2476 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2477
2478         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2479         (Vcharset_hiragana_jisx0208): Deleted.
2480         (Vcharset_katakana_jisx0208): Deleted.
2481         (Qideograph_daikanwa): New variable.
2482         (Qhiragana_jisx0208): Deleted.
2483         (Qkatakana_jisx0208): Deleted.
2484         (split_builtin_char): Split `ideograph-daikanwa'.
2485         (Fsplit_char): New implementation for UTF-2000.
2486         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2487         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2488         (complex_vars_of_mule_charset): Add new coded-charset
2489         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2490         `katakana-jisx0208'.
2491
2492         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2493         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2494         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2495         (MIN_CHAR_DAIKANWA): New macro.
2496         (MAX_CHAR_DAIKANWA): New macro.
2497
2498 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2499
2500         * data.c (Fstring_to_number): Don't recognize floating point if
2501         base is not 10.
2502
2503 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2504
2505         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2506
2507 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2508
2509         * mule-charset.c (Qsquare): New variable.
2510         (to_char_code): Add `Qsquare'.
2511         (syms_of_mule_charset): Add new symbol `square'.
2512
2513 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2514
2515         * mule-charset.c (Qcircle): New variable.
2516         (to_char_code): Add `Qcircle'.
2517         (syms_of_mule_charset): Add new symbol `circle'.
2518
2519 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2520
2521         * mule-charset.c (Qfont): New variable.
2522         (to_char_code): Add `Qfont'.
2523         (syms_of_mule_charset): Add new symbol `font'.
2524
2525 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2526
2527         * mule-charset.c (Qsub): New variable.
2528         (to_char_code): Add `Qsub'.
2529         (syms_of_mule_charset): Add new symbol `sub'.
2530
2531 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2532
2533         * mule-charset.c (Fput_char_attribute): Convert each element of
2534         VALUE to GL position if ATTRIBUTE is a GR-set,
2535
2536 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2537
2538         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2539         coded-charset is a GR-set.
2540
2541 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2542
2543         * mule-charset.c (Fput_char_attribute): Check each element of
2544         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2545
2546 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2547
2548         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2549         UTF-2000.
2550         (Qethiopic_ucs): New variable in UTF-2000.
2551         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2552         (complex_vars_of_mule_charset): Add new coded-charset
2553         `ethiopic-ucs' in UTF-2000.
2554
2555         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2556         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2557         9)'.
2558         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2559         10)'.
2560         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2561
2562 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2563
2564         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2565         `ascii'.
2566
2567 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2568
2569         * mule-charset.c (Vcharacter_variant_table): New variable.
2570         (Q_ucs): New variable.
2571         (Fchar_variants): New function.
2572         (Fput_char_attribute): Register `->ucs' value to
2573         `Vcharacter_variant_table'.
2574         (syms_of_mule_charset): Add new function `char-variants' and new
2575         symbol `->ucs'.
2576         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2577
2578 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2579
2580         * mule-charset.c (get_char_code_table): Allow negative character
2581         code.
2582         (put_char_code_table): Likewise.
2583         (Vcharacter_composition_table): New variable.
2584         (Q_decomposition): New variable.
2585         (Qwide): New variable.
2586         (Qnarrow): New variable.
2587         (Qcompat): New variable.
2588         (QnoBreak): New variable.
2589         (Qsuper): New variable.
2590         (Qfraction): New variable.
2591         (to_char_code): New function.
2592         (Fget_composite_char): New function.
2593         (Fput_char_attribute): Register `->decomposition' value to
2594         `Vcharacter_composition_table'.
2595         (syms_of_mule_charset): Add new function `get-composite-char', new
2596         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2597         `super' and `fraction'.
2598         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2599
2600 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2601
2602         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2603         character; copy the return value.
2604
2605 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2606
2607         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2608
2609         * mule-charset.c (range_charset_code_point): Must use make_int.
2610         (split_builtin_char): New function.
2611
2612 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2613
2614         * mule-charset.c (char_byte_table): Change name from
2615         "char-code-table" to "char-byte-table".
2616         (mark_char_code_table): New function.
2617         (char_code_table_equal): New function.
2618         (char_code_table_hash): New function.
2619         (char_code_table_description): New constant.
2620         (char_code_table): New type.
2621         (make_char_code_table): New function.
2622         (copy_char_code_table): New function.
2623         (get_char_code_table): Modify for `char_code_table' type.
2624         (put_char_code_table): Likewise.
2625         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2626         (Kashiwara).
2627
2628         * char-ucs.h (char_code_table): New type.
2629         (XCHAR_CODE_TABLE): New macro.
2630         (XSETCHAR_CODE_TABLE): New macro.
2631         (CHAR_CODE_TABLE_P): New macro.
2632         (GC_CHAR_CODE_TABLE_P): New macro.
2633         (struct Lisp_Char_Code_Table): New structure.
2634
2635 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2636
2637         * mule-charset.c (Fmake_charset): Setup byte_offset for
2638         {94|96}^n-set.
2639
2640 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2641
2642         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2643         character.
2644
2645 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2646
2647         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2648         is found.
2649
2650 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2651
2652         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2653         charset, it is regarded as a charset.
2654         (put_char_attribute): New function in UTF-2000.
2655         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2656         charset, mapping-table of the charset is modified.
2657         (Fdefine_char): New function in UTF-2000.
2658         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2659         `Fput_char_attribute'.
2660         (syms_of_mule_charset): Add new function `define-char' and new
2661         symbol `ucs' in UTF-2000.
2662         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2663
2664 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2665
2666         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2667         non-UTF-2000 configuration.
2668
2669 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2670
2671         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2672         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2673
2674         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2675         deleted.
2676         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2677         (Fset_charset_mapping_table): Likewise.
2678
2679         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2680         (CHARSET_ENCODING_TABLE): Delete.
2681         (XCHARSET_ENCODING_TABLE): Delete.
2682         (charset_code_point): New interface.
2683
2684 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2685
2686         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2687         instead of `charset_get_byte1' and `charset_get_byte2'.
2688
2689         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2690         (charset_get_byte2): Deleted.
2691
2692 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2693
2694         * char-ucs.h (SPLIT_CHAR): New inline function.
2695         (breakup_char_1): Use `SPLIT_CHAR'.
2696
2697         * mule-charset.c (range_charset_code_point): New function.
2698         (charset_code_point): New function.
2699
2700         * char-ucs.h (range_charset_code_point): New interface.
2701         (breakup_char_1): Use `range_charset_code_point'.
2702
2703 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2704
2705         * mule-charset.c (Fmake_charset): Delete unused local variable
2706         `code_offset'.
2707
2708         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2709         (breakup_char_1): Find a charset and code-point in
2710         `Vcharacter_attribute_table'.
2711
2712 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2713
2714         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2715         to 0.10 (Yao).
2716
2717 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2718
2719         * mule-charset.c (Vcharacter_attribute_table): New variable.
2720         (Fchar_attribute_alist): New function.
2721         (Fget_char_attribute): New function.
2722         (Fput_char_attribute): New function.
2723         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2724         too.
2725         (syms_of_mule_charset): Add new function `char-attribute-alist',
2726         `get-char-attribute' and `put-char-attribute'.
2727         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2728
2729 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2730
2731         * mule-charset.c (Fmake_charset): Just use
2732         `get_unallocated_leading_byte'.
2733
2734         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2735         sets; don't use final-byte based number for private sets.
2736
2737 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2738
2739         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2740         integer.
2741
2742 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2743
2744         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2745         to 0.9.
2746
2747 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2748
2749         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2750         of `CHAR_LEADING_BYTE' in UTF-2000.
2751
2752         * insdel.c (find_charsets_in_bufbyte_string): Use
2753         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2754         (find_charsets_in_emchar_string): Likewise.
2755
2756         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2757         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2758
2759         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2760         (CHAR_CHARSET_ID): New macro.
2761
2762 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2763
2764         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2765         charset-id - MIN_LEADING_BYTE.
2766         (put_char_table): Likewise.
2767
2768 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2769
2770         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2771         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2772         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2773         (CHARSET_ID_OFFSET): New macro.
2774         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2775         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2776         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2777         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2778         4).
2779         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2780         5).
2781         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2782         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2783         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2784         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2785         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2786
2787 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2788
2789         * mule-charset.c (next_allocated_leading_byte): New variable in
2790         UTF-2000.
2791         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2792         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2793         (get_unallocated_leading_byte): Simply use
2794         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2795         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2796         UTF-2000.
2797
2798         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2799         (MAX_LEADING_BYTE_PRIVATE): New macro.
2800         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2801         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2802
2803 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2804
2805         * mule-charset.c (Fmake_charset): Allocate final-byte based
2806         charset-id for 94-set, 96-set and 94x94-set.
2807
2808 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2809
2810         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2811         ambiguous `else'.
2812         (Fmake_charset): Likewise.
2813         (complex_vars_of_mule_charset): Modify the font registry of
2814         `ucs-bmp' not to match `Ethiopic-Unicode'.
2815
2816 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2817
2818         * mule-charset.c (complex_vars_of_mule_charset): Add font
2819         registory of `ucs-bmp'.
2820
2821 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2822
2823         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2824         coded-charsets in `default-coded-charset-priority-list' when
2825         breaking up a character.
2826
2827         * mule-charset.c (Vcharset_latin_viscii): New variable.
2828         (Qlatin_viscii): New variable.
2829         (make_charset): Don't use `decoding_table'.
2830         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2831         byte_offset.
2832         (Fset_charset_mapping_table): New implementation.
2833         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2834         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2835         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2836         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2837         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2838         charset `latin_viscii'.
2839
2840         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2841         (CHARSET_TYPE_94X94): Change to 1 from 2.
2842         (CHARSET_TYPE_96): Change to 2 from 1.
2843         (CHARSET_TYPE_128): New macro.
2844         (CHARSET_TYPE_128X128): Change to 5 from 4.
2845         (CHARSET_TYPE_256): New macro.
2846         (CHARSET_TYPE_256X256): Change to 7 from 5.
2847         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2848
2849 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2850
2851         * text-coding.c (char_encode_shift_jis): Refer
2852         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2853         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2854
2855         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2856         (char_byte_table_equal): New function in UTF-2000.
2857         (char_byte_table_hash): New function in UTF-2000.
2858         (char_byte_table_description): New constant in UTF-2000.
2859         (char_byte_table): New type in UTF-2000.
2860         (make_char_byte_table): New function in UTF-2000.
2861         (copy_char_byte_table): New function in UTF-2000.
2862         (make_char_code_table): New macro in UTF-2000.
2863         (get_char_code_table): New function in UTF-2000.
2864         (put_char_code_table): New function in UTF-2000.
2865         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2866         (charset_description): Add setting in UTF-2000.
2867         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2868         `CHARSET_TO_BYTE1_TABLE(cs)'.
2869         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2870         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2871         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2872         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2873         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2874         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2875         `CHARSET_TO_BYTE2_TABLE(cs)'.
2876
2877         * char-ucs.h (char_byte_table): New type.
2878         (XCHAR_BYTE_TABLE): New macro.
2879         (XSETCHAR_BYTE_TABLE): New macro.
2880         (CHAR_BYTE_TABLE_P): New macro.
2881         (GC_CHAR_BYTE_TABLE_P): New macro.
2882         (struct Lisp_Char_Byte_Table): New structure.
2883         (get_char_code_table): New interface.
2884         (Emchar_to_byte_table): Deleted.
2885         (get_byte_from_character_table): Deleted.
2886         (struct Lisp_Charset): Add `encoding_table'; delete
2887         `to_byte1_table' and `to_byte2_table'.
2888         (CHARSET_ENCODING_TABLE): New macro.
2889         (CHARSET_TO_BYTE1_TABLE): Deleted.
2890         (CHARSET_TO_BYTE2_TABLE): Deleted.
2891         (XCHARSET_ENCODING_TABLE): New macro.
2892         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2893         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2894
2895 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2896
2897         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2898         `vietnamese-viscii-*'.
2899
2900 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2901
2902         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2903         (Qvietnamese_viscii_upper): New variable.
2904         (Fdefine_charset_alias): New function.
2905         (syms_of_mule_charset): Add new function `define-charset-alias'.
2906         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2907         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2908         `latin-viscii-*'.
2909
2910 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2911
2912         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2913         (MAX_CHAR_OBS_94x94): New macro.
2914         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2915         for 94x94 sets.
2916
2917         * mule-charset.c (put_byte_from_character_table): Change unit size
2918         from 128 to 256.
2919         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2920         not defined.
2921         (Fmake_reverse_direction_charset): Modify dummy argument of
2922         `make_charset' for non-UTF-2000 environment.
2923
2924 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2925
2926         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2927
2928         * mule-charset.c (destroy_byte_from_character_table): New macro.
2929         (latin_jisx0201_to_ucs): Deleted.
2930         (latin_iso8859_2_to_ucs): Deleted.
2931         (latin_iso8859_3_to_ucs): Deleted.
2932         (latin_iso8859_4_to_ucs): Deleted.
2933         (latin_iso8859_9_to_ucs): Deleted.
2934         (latin_viscii_lower_to_ucs): Deleted.
2935         (latin_viscii_upper_to_ucs): Deleted.
2936         (mark_charset): Mark `cs->decoding_table'.
2937         (Fcharset_mapping_table): Fix DOC-string.
2938         (Fset_charset_mapping_table): New function.
2939         (syms_of_mule_charset): Add nwe function
2940         `set-charset-mapping-table'.
2941         (complex_vars_of_mule_charset): Don't setup and use
2942         `latin_*_to_ucs'.
2943
2944 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2945
2946         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2947         charset.
2948
2949 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2950
2951         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2952         (Vcharset_katakana_jisx0208): New variable.
2953         (Qhiragana_jisx0208): New variable.
2954         (Qkatakana_jisx0208): New variable.
2955         (make_charset): Add new argument `byte_offset'.
2956         (charset_get_byte1): Modify for new coded-charset definition; use
2957         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2958         `XCHARSET_BYTE_OFFSET'.
2959         (Fmake_charset): Modify for `make_charset'.
2960         (Fmake_reverse_direction_charset): Likewise.
2961         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2962         `katakana-jisx0208'.
2963         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2964         `.'  in font registry of charset `katakana-jisx0201',
2965         `latin-jisx0201', `vietnamese-viscii-lower' and
2966         `vietnamese-viscii-upper'; modify DOC-string of charset
2967         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2968         registry of charset `japanese-jisx0208' not to use font for JIS
2969         X0208:1990; add new charset `hiragana-jisx0208' and
2970         `katakana-jisx0208'.
2971
2972         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2973         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2974         (struct Lisp_Charset): Add `byte_offset'.
2975         (CHARSET_BYTE_OFFSET): New macro.
2976         (XCHARSET_UCS_MIN): New macro.
2977         (XCHARSET_UCS_MAX): New macro.
2978         (XCHARSET_CODE_OFFSET): New macro.
2979         (XCHARSET_BYTE_OFFSET): New macro.
2980         (MIN_CHAR_HIRAGANA): New macro.
2981         (MAX_CHAR_HIRAGANA): New macro.
2982         (MIN_CHAR_KATAKANA): New macro.
2983         (MAX_CHAR_KATAKANA): New macro.
2984         (MAKE_CHAR): Modify for new coded-charset definition; use
2985         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2986         `XCHARSET_BYTE_OFFSET'.
2987
2988 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2989
2990         * mule-charset.c (CHAR96): Deleted.
2991         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
2992         <Lisp_Object>.
2993         (latin_iso8859_2_to_ucs): Likewise.
2994         (latin_iso8859_3_to_ucs): Likewise.
2995         (latin_iso8859_4_to_ucs): Likewise.
2996         (latin_iso8859_9_to_ucs): Likewise.
2997         (latin_viscii_lower_to_ucs): Likewise.
2998         (latin_viscii_upper_to_ucs): Likewise.
2999         (latin_tcvn5712_to_ucs): Commented out.
3000         (make_charset): Change type of argument `decoding_table' from
3001         <Emchar*> to <Lisp_Object> [vector of characters].
3002         (Fmake_charset): Modify for `make_charset'.
3003         (Fmake_reverse_direction_charset): Likewise.
3004         (Fcharset_mapping_table): New function in UTF-2000.
3005         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
3006         UTF-2000.
3007         (complex_vars_of_mule_charset): Modify for type change of
3008         `*_to_ucs'; modify for `make_charset'.
3009
3010         * char-ucs.h (struct Lisp_Charset): Change type of
3011         `decoding_table' from <Emchar*> to <Lisp_Object>.
3012         (MAKE_CHAR): Modify for new specification of `decoding_table'.
3013
3014 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3015
3016         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
3017         error with non-UTF-2000-Mule.
3018
3019 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
3020
3021         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
3022         in lisp again].
3023         (Vcharset_chinese_cns11643_4): Likewise.
3024         (Vcharset_chinese_cns11643_5): Likewise.
3025         (Vcharset_chinese_cns11643_6): Likewise.
3026         (Vcharset_chinese_cns11643_7): Likewise.
3027         (Qchinese_cns11643_3): Likewise.
3028         (Qchinese_cns11643_4): Likewise.
3029         (Qchinese_cns11643_5): Likewise.
3030         (Qchinese_cns11643_6): Likewise.
3031         (Qchinese_cns11643_7): Likewise.
3032         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
3033         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3034         and `chinese-cns11643-7' to lisp/mule/chinese.el.
3035         (complex_vars_of_mule_charset): Likewise.
3036
3037 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3038
3039         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
3040         96-set.
3041         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
3042         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
3043
3044 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3045
3046         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
3047         0xFF60.
3048         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
3049         (breakup_char_1): Likewise.
3050
3051         * text-coding.c (char_encode_iso2022): Keep designated charsets if
3052         one of them includes the specified character.
3053
3054 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3055
3056         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
3057
3058 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3059
3060         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
3061
3062 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3063
3064         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
3065         definition for non-UTF-2000 Mule.
3066         (latin_iso8859_3_to_ucs): Likewise.
3067         (latin_iso8859_4_to_ucs): Likewise.
3068         (latin_iso8859_9_to_ucs): Likewise.
3069         (latin_jisx0201_to_ucs): Likewise.
3070         (MIN_CHAR_THAI): Likewise.
3071         (MAX_CHAR_THAI): Likewise.
3072         (MIN_CHAR_GREEK): Likewise.
3073         (MAX_CHAR_GREEK): Likewise.
3074         (MIN_CHAR_HEBREW): Likewise.
3075         (MAX_CHAR_HEBREW): Likewise.
3076         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
3077         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
3078         (MIN_CHAR_CYRILLIC): Likewise.
3079         (MAX_CHAR_CYRILLIC): Likewise.
3080
3081 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3082
3083         * char-ucs.h (breakup_char_1): Use
3084         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
3085         thai-tis620 and katakana-jisx0201 area.
3086
3087 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3088
3089         * char-ucs.h (breakup_char_1): Use
3090         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
3091         area.
3092
3093         * text-coding.c (reset_encoding_stream): Fixed.
3094         (char_encode_ucs4): Delete `& 255'.
3095
3096         * char-ucs.h (breakup_char_1): Use
3097         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3098
3099 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3100
3101         * file-coding.c (Fmake_coding_system): Don't set up
3102         `codesys->fixed.size'.
3103         (encode_coding_no_conversion): Don't refer
3104         `str->codesys->fixed.size'.
3105
3106 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3107
3108         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3109         (latin_a_char_to_byte1): Deleted.
3110         (latin_a_char_to_byte2): Deleted.
3111
3112 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3113
3114         * mule-charset.c (make_charset): Add new argument `ucs_min',
3115         `ucs_max' and `code_offset'.
3116         (charset_get_byte1): New implementation [delete specific charset
3117         depended implementations].
3118         (Fmake_charset): Modify for `make_charset'.
3119         (Fmake_reverse_direction_charset): Likewise.
3120         (complex_vars_of_mule_charset): Likewise.
3121
3122         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3123         `code_offset'.
3124         (CHARSET_UCS_MIN): New macro.
3125         (CHARSET_UCS_MAX): New macro.
3126         (CHARSET_CODE_OFFSET): New macro.
3127         (MAKE_CHAR): Delete charset depended definitions [except
3128         katakana-jisx0201].
3129
3130 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3131
3132         * char-ucs.h (breakup_char_1): Use
3133         `Vdefault_coded_charset_priority_list' for C0-Controls,
3134         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3135
3136 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3137
3138         * char-ucs.h (charset_get_byte1): New function.
3139         (XCHARSET_GET_BYTE1): Deleted.
3140         (charset_get_byte2): New function.
3141         (XCHARSET_GET_BYTE2): Deleted.
3142         (Vdefault_coded_charset_priority_list): New external variable.
3143         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3144         `Vdefault_preferred_coded_charset_list'.
3145
3146         * mule-charset.c (charset_get_byte1): New function.
3147         (charset_get_byte2): New function.
3148         (Vdefault_coded_charset_priority_list): New variable.
3149         (vars_of_mule_charset): Add new variable
3150         `default-coded-charset-priority-list'.
3151
3152 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3153
3154         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3155         (XCHARSET_GET_BYTE2): New inline function.
3156         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3157         `XCHARSET_GET_BYTE2'.
3158
3159 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3160
3161         * mule-charset.c (make_charset): Initialize
3162         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3163         NULL if table is not defined.
3164
3165 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3166
3167         * text-coding.c (char_encode_shift_jis): Use
3168         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3169         `ucs_to_latin_jisx0201'.
3170
3171         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3172         (ucs_to_latin_iso8859_2): Deleted.
3173         (ucs_to_latin_iso8859_3): Deleted.
3174         (ucs_to_latin_iso8859_4): Deleted.
3175         (ucs_to_latin_iso8859_9): Deleted.
3176         (ucs_to_latin_viscii_lower): Deleted.
3177         (ucs_to_latin_viscii_upper): Deleted.
3178         (ucs_to_latin_tcvn5712): Deleted.
3179         (make_charset): Add new argument `decoding_table'; set up
3180         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3181         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3182         `decoding_table' is defined in UTF-2000.
3183         (Fmake_charset): Modify for `make_charset'.
3184         (Fmake_reverse_direction_charset): Likewise.
3185         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3186         and `GENERATE_96_SET'.
3187
3188         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3189         (ucs_to_latin_jisx0201): Deleted.
3190         (latin_iso8859_2_to_ucs): Deleted.
3191         (ucs_to_latin_iso8859_2): Deleted.
3192         (latin_iso8859_3_to_ucs): Deleted.
3193         (ucs_to_latin_iso8859_3): Deleted.
3194         (latin_iso8859_4_to_ucs): Deleted.
3195         (ucs_to_latin_iso8859_4): Deleted.
3196         (latin_iso8859_9_to_ucs): Deleted.
3197         (ucs_to_latin_iso8859_9): Deleted.
3198         (latin_viscii_lower_to_ucs): Deleted.
3199         (ucs_to_latin_viscii_lower): Deleted.
3200         (latin_viscii_upper_to_ucs): Deleted.
3201         (ucs_to_latin_viscii_upper): Deleted.
3202         (struct Lisp_Charset): Renamed `encoding_table' to
3203         `to_byte1_table'; add `to_byte2_table'.
3204         (CHARSET_DECODING_TABLE): New macro.
3205         (CHARSET_TO_BYTE1_TABLE): New macro.
3206         (CHARSET_TO_BYTE2_TABLE): New macro.
3207         (XCHARSET_DECODING_TABLE): New macro.
3208         (XCHARSET_TO_BYTE1_TABLE): New macro.
3209         (XCHARSET_TO_BYTE2_TABLE): New macro.
3210         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3211         tables.
3212         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3213         don't use `ucs_to_*' tables.
3214
3215 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3216
3217         * text-coding.c (Fmake_coding_system): Don't set up
3218         `codesys->fixed.size'.
3219         (encode_coding_no_conversion): Use `if' instead of `switch'.
3220
3221         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3222
3223 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3224
3225         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3226         (Fmake_charset): Modify for `make_charset'.
3227         (Fmake_reverse_direction_charset): Likewise.
3228         (complex_vars_of_mule_charset): Likewise.
3229
3230 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3231
3232         * text-coding.c (char_encode_shift_jis): Use table
3233         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3234
3235 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3236
3237         * text-coding.c (text_encode_generic): Use `if' instead of
3238         `switch'.
3239         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3240         decode JIS-Latin.
3241
3242 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3243
3244         * text-coding.c (encode_coding_sjis): Deleted.
3245         (char_encode_shift_jis): New function.
3246         (char_finish_shift_jis): New function.
3247         (reset_encoding_stream): Set up `encode_char' and `finish' for
3248         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3249         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3250         (char_encode_utf8): Treat `eol_type'.
3251
3252 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3253
3254         * file-coding.c (decode_coding_iso2022): Use
3255         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3256
3257 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3258
3259         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3260         to 0.7 (Hirano).
3261
3262 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3263
3264         * char-lb.h (CHAR_COLUMNS): New macro.
3265
3266 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3267
3268         * text-coding.c (char_encode_ucs4): New function.
3269         (char_finish_ucs4): New function.
3270         (encode_coding_ucs4): Deleted.
3271         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3272         (text_encode_generic): Delete local variable `charset' and `half'.
3273         (ucs_to_mule_table): Deleted.
3274         (mule_to_ucs_table): Deleted.
3275         (Fset_ucs_char): Deleted.
3276         (ucs_to_char): Deleted.
3277         (Fucs_char): Deleted.
3278         (Fset_char_ucs): Deleted.
3279         (Fchar_ucs): Deleted.
3280         (decode_ucs4): Deleted.
3281         (mule_char_to_ucs4): Deleted.
3282         (encode_ucs4): Deleted.
3283         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3284         (decode_coding_utf8): Likewise.
3285         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3286         (char_encode_iso2022): Fixed.
3287         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3288         `Fset_char_ucs' and `Fchar_ucs'.
3289         (complex_vars_of_file_coding): Don't initialize
3290         `ucs_to_mule_table'.
3291
3292         * objects-tty.c (tty_initialize_font_instance): Don't use
3293         `XCHARSET_COLUMNS'.
3294
3295         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3296         UTF-2000.
3297
3298         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
3299         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3300
3301         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
3302         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3303         (emchar_string_displayed_columns): Likewise.
3304
3305         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
3306         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3307         (string_column_at_point): Likewise.
3308         (Fmove_to_column): Likewise.
3309
3310         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
3311         `encoding_table' and `decoding_table'.
3312         (CHARSET_REP_BYTES): Deleted.
3313         (XCHARSET_REP_BYTES): Deleted.
3314         (XCHARSET_COLUMNS): Deleted.
3315         (CHAR_COLUMNS): New macro.
3316         (lookup_composite_char): Deleted unconditionally.
3317         (composite_char_string): Likewise.
3318
3319 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3320
3321         * char-ucs.h (Emchar_to_byte_table): New type.
3322         (get_byte_from_character_table): New function interface.
3323         (Vcharset_latin_jisx0201): New variable.
3324         (latin_jisx0201_to_ucs): New variable.
3325         (ucs_to_latin_jisx0201): New variable.
3326         (Vcharset_latin_iso8859_2): New variable.
3327         (latin_iso8859_2_to_ucs): New variable.
3328         (ucs_to_latin_iso8859_2): New variable.
3329         (Vcharset_latin_iso8859_3): New variable.
3330         (latin_iso8859_3_to_ucs): New variable.
3331         (ucs_to_latin_iso8859_3): New variable.
3332         (Vcharset_latin_iso8859_4): New variable.
3333         (latin_iso8859_4_to_ucs): New variable.
3334         (ucs_to_latin_iso8859_4): New variable.
3335         (Vcharset_latin_iso8859_9): New variable.
3336         (latin_iso8859_9_to_ucs): New variable.
3337         (ucs_to_latin_iso8859_9): New variable.
3338         (Vcharset_latin_viscii_lower): New variable.
3339         (latin_viscii_lower_to_ucs): New variable.
3340         (ucs_to_latin_viscii_lower): New variable.
3341         (Vcharset_latin_viscii_upper): New variable.
3342         (latin_viscii_upper_to_ucs): New variable.
3343         (ucs_to_latin_viscii_upper): New variable.
3344         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
3345         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
3346         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
3347         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
3348         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
3349         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
3350         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
3351         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
3352         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
3353         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
3354
3355         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
3356         (Vcharset_latin_viscii_upper): New variable.
3357         (make_byte_from_character_table): New function.
3358         (put_byte_from_character_table): New function.
3359         (get_byte_from_character_table): New function.
3360         (CHAR96): New macro.
3361         (ucs_to_latin_jisx0201): New variable.
3362         (latin_jisx0201_to_ucs): New variable.
3363         (ucs_to_latin_iso8859_2): New variable.
3364         (latin_iso8859_2_to_ucs): New variable.
3365         (ucs_to_latin_iso8859_3): New variable.
3366         (latin_iso8859_3_to_ucs): New variable.
3367         (ucs_to_latin_iso8859_4): New variable.
3368         (latin_iso8859_4_to_ucs): New variable.
3369         (ucs_to_latin_iso8859_9): New variable.
3370         (latin_iso8859_9_to_ucs): New variable.
3371         (ucs_to_latin_viscii_lower): New variable.
3372         (latin_viscii_lower_to_ucs): New variable.
3373         (ucs_to_latin_viscii_upper): New variable.
3374         (latin_viscii_upper_to_ucs): New variable.
3375         (ucs_to_latin_tcvn5712): New variable.
3376         (latin_tcvn5712_to_ucs): New variable.
3377         (Qlatin_viscii_lower): New variable.
3378         (Qlatin_viscii_upper): New variable.
3379         (syms_of_mule_charset): Set up new symbol
3380         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
3381         (complex_vars_of_mule_charset): Set up new charset
3382         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
3383         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
3384         `ucs_to_<CHARSET>' tables.
3385
3386 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3387
3388         * text-coding.c: New file.
3389
3390 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3391
3392         * mule-charset.c (Fmake_char): Fix problem of 256-set.
3393
3394         * char-ucs.h (Vcharset_ucs_bmp): New variable.
3395         (MAKE_CHAR): Modify for `ucs-bmp'.
3396         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
3397         non-MULE characters of BMP.
3398
3399 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
3400
3401         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3402         to 0.6.
3403
3404 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3405
3406         * lstream.h:
3407         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
3408         - Include character.h for `CHAR_ASCII_P'.
3409
3410         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
3411
3412         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
3413         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
3414
3415         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
3416         (BYTE_C0_P): Likewise.
3417         (BYTE_C1_P): Likewise.
3418         (Lstream_get_emchar_1): Likewise.
3419         (Lstream_fput_emchar): Likewise.
3420         (Lstream_funget_emchar): Likewise.
3421         (copy_internal_to_external): Likewise.
3422         (copy_external_to_internal): Likewise.
3423
3424         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
3425         (BYTE_C0_P): Likewise.
3426         (BYTE_C1_P): Likewise.
3427         (Lstream_get_emchar_1): Likewise.
3428         (Lstream_fput_emchar): Likewise.
3429         (Lstream_funget_emchar): Likewise.
3430         (copy_internal_to_external): Likewise.
3431         (copy_external_to_internal): Likewise.
3432
3433         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3434         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3435
3436         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3437         (BYTE_ASCII_P): Moved to mb-1byte.h.
3438
3439 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3440
3441         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3442
3443         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3444         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3445         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3446         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3447         (VALIDATE_CHARPTR_FORWARD): Likewise.
3448         (simple_charptr_emchar): Moved to mb-multibyte.h.
3449         (simple_set_charptr_emchar): Likewise.
3450         (simple_charptr_copy_char): Likewise.
3451         (non_ascii_charptr_emchar): Likewise.
3452         (non_ascii_set_charptr_emchar): Likewise.
3453         (non_ascii_charptr_copy_char): Likewise.
3454         (charptr_emchar): Moved to mb-*byte.h.
3455         (set_charptr_emchar): Likewise.
3456         (charptr_copy_char): Likewise.
3457
3458         * mb-1byte.h, mb-multibyte.h: New files.
3459
3460 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3461
3462         * mb-utf-8.h (MULTIBYTE): New macro.
3463         (MAX_EMCHAR_LEN): Moved from buffer.h.
3464         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3465
3466         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3467
3468         * mb-lb.h, multibyte.h: New files.
3469
3470         * char-1byte.h (Charset_ID): Moved from buffer.h.
3471         (MIN_LEADING_BYTE): Likewise.
3472         (LEADING_BYTE_ASCII): Likewise.
3473         (NUM_LEADING_BYTES): Likewise.
3474         (CHARSETP): Likewise.
3475         (CHARSET_BY_LEADING_BYTE): Likewise.
3476         (XCHARSET_LEADING_BYTE): Likewise.
3477         (XCHARSET_GRAPHIC): Likewise.
3478         (XCHARSET_COLUMNS): Likewise.
3479         (XCHARSET_DIMENSION): Likewise.
3480         (CHAR_CHARSET): Likewise.
3481         (CHAR_LEADING_BYTE): Likewise.
3482         (BREAKUP_CHAR): Likewise.
3483         (Vcharset_ascii): Likewise.
3484
3485         * buffer.h: Include multibyte.h unconditionally.
3486         (VALID_CHARPTR_P): Moved to multibyte.h.
3487         (ASSERT_VALID_CHARPTR): Likewise.
3488         (REAL_INC_CHARPTR): Likewise.
3489         (REAL_INC_CHARBYTIND): Likewise.
3490         (REAL_DEC_CHARPTR): Likewise.
3491         (INC_CHARPTR): Likewise.
3492         (INC_CHARBYTIND): Likewise.
3493         (DEC_CHARPTR): Likewise.
3494         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3495         (VALIDATE_CHARPTR_FORWARD): Likewise.
3496         (charptr_n_addr): Likewise.
3497         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3498         (simple_charptr_emchar): Moved to multibyte.h.
3499         (simple_set_charptr_emchar): Likewise.
3500         (simple_charptr_copy_char): Likewise.
3501         (non_ascii_charptr_emchar): Likewise.
3502         (non_ascii_set_charptr_emchar): Likewise.
3503         (non_ascii_charptr_copy_char): Likewise.
3504         (charptr_emchar): Likewise.
3505         (set_charptr_emchar): Likewise.
3506         (charptr_copy_char): Likewise.
3507         (charptr_emchar_n): Likewise.
3508         (Charset_ID): Moved to char-1byte.h.
3509         (Vcharset_ascii): Likewise.
3510         (CHAR_CHARSET): Likewise.
3511         (CHAR_LEADING_BYTE): Likewise.
3512         (LEADING_BYTE_ASCII): Likewise.
3513         (NUM_LEADING_BYTES): Likewise.
3514         (MIN_LEADING_BYTE): Likewise.
3515         (CHARSETP): Likewise.
3516         (CHARSET_BY_LEADING_BYTE): Likewise.
3517         (XCHARSET_LEADING_BYTE): Likewise.
3518         (XCHARSET_GRAPHIC): Likewise.
3519         (XCHARSET_COLUMNS): Likewise.
3520         (XCHARSET_DIMENSION): Likewise.
3521         (BREAKUP_CHAR): Likewise.
3522
3523 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3524
3525         * character.h: Add document about interface for characters.
3526
3527         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3528         (MAKE_CHAR): Delete comment about
3529         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3530         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3531         (BREAKUP_CHAR): Modify name of arguments.
3532         (CHAR_CHARSET): Modify name of argument.
3533
3534         * buffer.h: Delete document about Emchar accessors.
3535
3536 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3537
3538         * character.h (CHAR_INTP): Moved from buffer.h
3539         (CHAR_OR_CHAR_INTP): Likewise.
3540         (XCHAR_OR_CHAR_INT): Likewise.
3541         (CHECK_CHAR_COERCE_INT): Likewise.
3542
3543         * buffer.h (CHAR_INTP): Moved to character.h
3544         (CHAR_OR_CHAR_INTP): Likewise.
3545         (XCHAR_OR_CHAR_INT): Likewise.
3546         (CHECK_CHAR_COERCE_INT): Likewise.
3547
3548 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3549
3550         * character.h:
3551         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3552         - Include char-1byte.h, char-lb.h or char-ucs.h.
3553
3554         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3555
3556         * buffer.h: Include character unconditionally.
3557         (valid_char_p): Moved to char-*.h.
3558         (non_ascii_valid_char_p): Moved to char-lb.h.
3559
3560         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3561
3562 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3563
3564         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3565         in UTF-2000 because it is not ported yet and not to use
3566         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3567         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3568         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3569
3570         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3571         (CHAR_ASCII_P): Moved from character.h.
3572
3573         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3574         (CHAR_ASCII_P): Likewise.
3575         (CHAR_FIELD1_MASK): Deleted.
3576         (CHAR_FIELD2_MASK): Deleted.
3577         (CHAR_FIELD3_MASK): Deleted.
3578         (MAX_CHAR_BASIC_LATIN): New macro.
3579         (CHAR_FIELD1): Deleted.
3580         (CHAR_FIELD2_INTERNAL): Deleted.
3581         (CHAR_FIELD3_INTERNAL): Deleted.
3582         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3583         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3584         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3585         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3586         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3587         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3588         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3589         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3590         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3591         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3592         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3593         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3594         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3595         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3596         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3597         (MIN_CHAR_COMPOSITION): Deleted.
3598         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3599         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3600
3601 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3602
3603         * buffer.h: Include mb-utf-8.h in UTF-2000.
3604
3605         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3606
3607         * mb-utf-8.h: New file.
3608
3609 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3610
3611         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3612         instead of `int'.
3613
3614         * mule-charset.h, buffer.h (Charset_ID): New type.
3615
3616 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3617
3618         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3619         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3620         instead of `MULE_CHAR_PRIVATE_OFFSET',
3621         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3622         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3623         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3624
3625         * character.h (Vcharset_japanese_jisx0212): New variable
3626         definition.
3627
3628 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3629
3630         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3631         (charset_by_attributes): Delete array about direction.
3632         (latin_a_char_to_charset): New variable in UTF-2000.
3633         (latin_a_char_to_byte1): New variable in UTF-2000.
3634         (latin_a_char_to_byte2): New variable in UTF-2000.
3635         (Qucs_bmp): New variable.
3636         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3637         `Bufbyte'.
3638         (next_allocated_2_byte_leading_byte): Likewise.
3639         (non_ascii_set_charptr_emchar): Likewise.
3640         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3641         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3642         `charset_by_attributes'.
3643         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3644         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3645         and `CHARSET_BY_LEADING_BYTE'.
3646         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3647         `utf-2000-version' to `vars_of_mule_charset'.
3648         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3649         define `leading-code-private-11' in UTF-2000; move setting of
3650         `utf-2000-version' from `syms_of_mule_charset'.
3651         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3652         UTF-2000.
3653
3654         * character.h (Charset_ID): New type.
3655         (LEADING_BYTE_UCS_BMP): New macro.
3656         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3657         (CHARSET_ID_OFFSET_94): New macro.
3658         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3659         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3660         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3661         final-byte.
3662         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3663         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3664         (CHARSET_ID_OFFSET_96): New macro.
3665         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3666         CHARSET_ID_OFFSET_96 and final-byte.
3667         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3668         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3669         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3670         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3671         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3672         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3673         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3674         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3675         (LEADING_BYTE_THAI_TIS620): Likewise.
3676         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3677         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3678         (CHARSET_ID_OFFSET_94x94): New macro.
3679         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3680         CHARSET_ID_OFFSET_94x94 and final-byte.
3681         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3682         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3683         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3684         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3685         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3686         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3687         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3688         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3689         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3690         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3691         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3692         (CHARSET_TYPE_128X128): New macro.
3693         (CHARSET_TYPE_256X256): New macro.
3694         (XCHARSET_PRIVATE_P): Delete unconditionally.
3695         (charset_by_attributes): Delete array about direction.
3696         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3697         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3698         (MIN_CHAR_94): New macro.
3699         (MAX_CHAR_94): New macro.
3700         (MIN_CHAR_96): New macro.
3701         (MAX_CHAR_96): New macro.
3702         (MIN_CHAR_94x94): New macro.
3703         (MAX_CHAR_94x94): New macro.
3704         (MIN_CHAR_96x96): New macro.
3705         (MAX_CHAR_96x96): New macro.
3706         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3707         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3708         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3709         - 32)'.
3710         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3711         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3712         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3713         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3714         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3715         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3716         `XCHARSET_LEADING_BYTE' to make code-point.
3717         (latin_a_char_to_charset): New variable.
3718         (latin_a_char_to_byte1): New variable.
3719         (latin_a_char_to_byte2): New variable.
3720         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3721         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3722         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3723
3724         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3725         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3726         (find_charsets_in_emchar_string): Likewise.
3727         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3728
3729         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3730         `int'.
3731         (decode_coding_iso2022): Likewise.
3732
3733         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3734         of `unsigned char'.
3735
3736         * redisplay.c (redisplay_text_width_emchar_string): Use
3737         `Charset_ID' instead of `unsigned char'.
3738         (redisplay_frame_text_width_string): Likewise.
3739
3740         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3741         `unsigned char'.
3742
3743         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3744         instead of `unsigned char'.
3745         (face_cachel_charset_font_metric_info): Likewise.
3746
3747         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3748         (get_non_ascii_char_table_value): Likewise.
3749         (get_char_table): Likewise.
3750         (put_char_table): Likewise.
3751         (map_over_other_charset): Likewise.
3752         (map_char_table): Likewise.
3753
3754         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3755         instead of `unsigned char'.
3756
3757 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3758
3759         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3760         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3761
3762         * mule-charset.c (leading_code_private_11): Don't define in
3763         UTF-2000.
3764
3765         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3766         in UTF-2000 because it is not ported yet and not to use
3767         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3768
3769 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3770
3771         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3772
3773 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3774
3775         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3776         in UTF-2000.
3777
3778         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3779         of unsigned char to store leading-byte.
3780
3781         * chartab.c (get_non_ascii_char_table_value): Don't use
3782         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3783
3784         * file-coding.c (encode_coding_big5): Delete bogus implementation
3785         in UTF2000.
3786
3787         * character.h (LEADING_BYTE_*): Delete definition for
3788         non-UTF-2000.
3789         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3790         (LEADING_BYTE_PREFIX_P): Deleted.
3791         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3792         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3793         (BUFBYTE_LEADING_BYTE_P): Deleted.
3794         (CHARSET_PRIVATE_P): Deleted unconditionally.
3795         (rep_bytes_by_first_byte): Deleted unconditionally.
3796         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3797         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3798         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3799         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3800         (CHAR_FIELD2): Deleted.
3801         (CHAR_FIELD3): Deleted.
3802         (MAKE_CHAR): Delete definition for non-UTF-2000.
3803         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3804         (breakup_char_1): New implementation.
3805         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3806         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3807
3808 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3809
3810         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3811         condition.
3812
3813 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3814
3815         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3816         (CHARSET_PRIVATE_P): Likewise.
3817         (XCHARSET_PRIVATE_P): Likewise.
3818         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3819
3820         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3821         UTF2000.
3822         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3823
3824 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3825
3826         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3827         (NUM_LEADING_BYTES): Changed from 128 to 256.
3828         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3829         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3830         UTF2000.
3831         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3832
3833         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3834         UTF2000.
3835         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3836         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3837         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3838         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3839         (Qchinese_cns11643_3): New variable in UTF2000.
3840         (Qchinese_cns11643_4): New variable in UTF2000.
3841         (Qchinese_cns11643_5): New variable in UTF2000.
3842         (Qchinese_cns11643_6): New variable in UTF2000.
3843         (Qchinese_cns11643_7): New variable in UTF2000.
3844         (syms_of_mule_charset): Define `chinese-cns11643-3',
3845         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3846         and `chinese-cns11643-7' in UTF2000.
3847         (vars_of_mule_charset): Initialize
3848         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3849         + 1 in UTF2000.
3850         (complex_vars_of_mule_charset): Setup charset
3851         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3852         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3853
3854 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3855
3856         * mule-charset.c: Move setting for `leading-code-private-11' from
3857         `syms_of_mule_charset' to `vars_of_mule_charset'.
3858
3859 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3860
3861         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3862         and `NUM_LEADING_BYTES' in assert.
3863
3864 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3865
3866         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3867         instead of 128.
3868         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3869         `NUM_LEADING_BYTES' instead of 128.
3870
3871 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3872
3873         * mule-charset.h (charset_by_leading_byte): Use
3874         `NUM_LEADING_BYTES' instead of 128.
3875         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3876
3877         * mule-charset.c (charset_by_leading_byte): Use
3878         `NUM_LEADING_BYTES' instead of 128.
3879         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3880
3881         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3882         128.
3883
3884 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3885
3886         * mule-charset.c (syms_of_mule_charset): Update to
3887         0.4 (Shin-Imamiya).
3888
3889 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3890
3891         * file-coding.c (encode_coding_sjis): New implementation for
3892         UTF2000.  (decode_coding_sjis): Ditto.
3893
3894 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3895
3896         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3897         Don't define in UTF2000.
3898
3899         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3900         defined.
3901
3902         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3903         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3904         MULE.
3905
3906 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3907
3908         * config.h.in (CHAR_IS_UCS4): New macro.
3909
3910         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3911         conventional MULE representation.
3912         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3913
3914         * mule-charset.h: Reverted to original.
3915
3916         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3917         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3918         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3919
3920         * character.h: New file.
3921
3922         * file-coding.c (Fmake_coding_system): Set 1 to
3923         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3924         defined.
3925         (encode_coding_no_conversion): New implementation for UTF2000.
3926
3927         * file-coding.h (struct Lisp_Coding_System): Add new member
3928         `fixed.size'.
3929
3930 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3931
3932         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3933         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3934         (encode_coding_iso2022): New implementation for UTF2000.
3935
3936 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3937
3938         * mule-canna.c (c2mu): New implementation for UTF2000.
3939         (m2c): Likewise.
3940
3941 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3942
3943         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3944
3945 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3946
3947         * file-coding.c (reset_encoding_stream): Set 0 to
3948         `str->iso2022.current_char_boundary' in UTF2000.
3949         (encode_utf8): Don't define in UTF2000.
3950         (encode_coding_utf8): New implementation for UTF-8 representation
3951         of UTF2000.
3952         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3953
3954 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3955
3956         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3957
3958         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3959         UTF2000.
3960         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3961
3962         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3963
3964         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3965         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3966         as UTF-8 in UTF2000.
3967         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3968         (non_ascii_valid_char_p): Don't define in UTF2000.
3969         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3970         (Lstream_get_emchar_1): Likewise.
3971         (utf-2000-version): New variable in UTF2000.
3972
3973         * lread.c (read_escape): Add new reader `u'.
3974
3975         * insdel.c (three_to_one_table): Don't define in UTF2000.
3976         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3977         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3978         UTF2000.
3979         (bytind_to_bufpos_func): Likewise.
3980         (buffer_mule_signal_inserted_region): Likewise.
3981         (vars_of_insdel): Don't initialize `three_to_one_table'.
3982         (init_buffer_text): Use `buf->text->mule_size' instead of
3983         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3984         UTF2000.
3985
3986         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
3987         UTF-8 representation in UTF2000.
3988         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
3989         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
3990         (decode_coding_iso2022): Don't define local variable `lb' in
3991         UTF2000; don't use LEADING_BYTE in UTF2000; use
3992         `DECODE_ADD_UCS_CHAR' in UTF2000.
3993         (convert_to_external_format): Decode as UTF-8 in UTF2000.
3994
3995         * config.h.in (UTF2000): New macro.
3996
3997         * buffer.h (struct buffer_text): Add new member `mule_size' and
3998         don't add `mule_shifter' and `mule_three_p' in UTF2000.
3999         (valid_char_p): Return always 1 in UTF2000.
4000         (MAX_EMCHAR_LEN): 6 in UTF2000.
4001         (three_to_one_table): Don't define in UTF2000.
4002         (real_bufpos_to_bytind): Modify for UTF-8 representation in
4003         UTF2000.
4004         (real_bytind_to_bufpos): Likewise.
4005
4006         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
4007
4008 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4009
4010         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
4011         representation change.
4012         (Vutf_2000_version): New variable.
4013         (leading_code_private_11): New variable.
4014         (syms_of_mule_charset): Add new variables `utf-2000-version' and
4015         `leading-code-private-11'.
4016
4017         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
4018         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
4019         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
4020         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
4021         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
4022         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
4023         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
4024         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
4025         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
4026         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
4027         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
4028         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
4029         (MIN_CHAR_GREEK): New macro.
4030         (MAX_CHAR_GREEK): New macro.
4031         (MIN_CHAR_CYRILLIC): New macro.
4032         (MAX_CHAR_CYRILLIC): New macro.
4033         (MIN_CHAR_HEBREW): New macro.
4034         (MAX_CHAR_HEBREW): New macro.
4035         (MIN_CHAR_THAI): New macro.
4036         (MAX_CHAR_THAI): New macro.
4037         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
4038         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
4039         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
4040         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
4041         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
4042         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
4043         (CHAR_FIELD2): New inline function.
4044         (CHAR_FIELD3): New inline function.
4045         (MULE_CHAR_PRIVATE_OFFSET): New macro.
4046         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
4047         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
4048         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
4049         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
4050         (MIN_CHAR_COMPOSITION): Likewise.
4051         (CHAR_LEADING_BYTE): Modified for character representation change.
4052         (MAKE_CHAR): Likewise.
4053
4054         * lisp.h (Vcharset_latin_iso8859_1): New variable.
4055         (Vcharset_greek_iso8859_7): Likewise.
4056         (Vcharset_cyrillic_iso8859_5): Likewise.
4057         (Vcharset_hebrew_iso8859_8): Likewise.
4058         (Vcharset_thai_tis620): Likewise.
4059         (Vcharset_katakana_jisx0201): Likewise.
4060
4061 2001-02-08  Martin Buchholz <martin@xemacs.org>
4062
4063         * XEmacs 21.2.44 "Thalia" is released.
4064
4065 2001-02-06  Martin Buchholz  <martin@xemacs.org>
4066
4067         Fixes crashes in kill-emacs on some systems.
4068         * process-unix.c (unix_kill_child_process):
4069         It's OK for kill() to fail with ESRCH.
4070
4071 2001-02-07  Martin Buchholz  <martin@xemacs.org>
4072
4073         Contortions to make .gdbinit tricks work on most systems.
4074         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
4075         * alloc.c (dbg_valmask): Make non-const.
4076         * alloc.c (dbg_typemask): Make non-const.
4077         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
4078         * alloc.c (dbg_valbits): Make non-const.
4079         * alloc.c (dbg_gctypebits): Make non-const.
4080         * .gdbinit (decode_object): Make it work with AIX cc.
4081
4082 2001-02-06  Martin Buchholz  <martin@xemacs.org>
4083
4084         * elhash.c (make_general_lisp_hash_table):
4085         Use simpler and more efficient calloc to clear entries.
4086
4087 2001-02-07  Martin Buchholz  <martin@xemacs.org>
4088
4089         * window.c (window_scroll): Work around an AIX C compiler bug.
4090         Fixes 'scroll-up' does nothing problem with xlC.
4091
4092 2001-02-05  Martin Buchholz  <martin@xemacs.org>
4093
4094         * .gdbinit: Remove obsolete comment.
4095
4096 2001-01-31  Mike Alexander  <mta@arbortext.com>
4097
4098         * select.c (Fown_selection_internal): Set owned_p for device
4099         method correctly.
4100
4101 2001-02-01  Martin Buchholz  <martin@xemacs.org>
4102
4103         Port to g++ 2.97.
4104         "not" cannot be used as a macro name as it is an operator in C++
4105         * config.h.in: Stop #defining `not'.
4106         * chartab.c (check_category_char): not ==> not_p
4107         * chartab.h: Likewise.
4108         * regex.c (re_match_2_internal): Likewise.
4109
4110 2001-02-02  Martin Buchholz  <martin@xemacs.org>
4111
4112         * lisp-disunion.h: Fix up comments.
4113
4114 2001-01-31  Martin Buchholz  <martin@xemacs.org>
4115
4116         * keymap.c (define_key_check_and_coerce_keysym):
4117         (syms_of_keymap):
4118         Support mouse-6 and mouse-7 bindings in the obvious way.
4119
4120 2001-02-01  Martin Buchholz  <martin@xemacs.org>
4121
4122         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
4123
4124 2001-01-30  Martin Buchholz  <martin@xemacs.org>
4125
4126         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
4127         Previous patch missed DEFVAR_INT_MAGIC.
4128         Make sure future DEFVAR_foo use correct types.
4129         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
4130         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
4131         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
4132         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
4133         * (DEFVAR_INT): Likewise.
4134         * redisplay.c (vertical_clip): Should be of type Fixnum.
4135         * redisplay.c (horizontal_clip): Likewise.
4136         * lisp.h (dump_add_opaque_int): New.
4137         (dump_add_opaque_fixnum): New.
4138
4139 2001-01-29  Andy Piper  <andy@xemacs.org>
4140
4141         * glyphs-widget.c (check_valid_int_or_function): allow symbols
4142         since they can be eval'ed
4143
4144 2001-01-29  Martin Buchholz  <martin@xemacs.org>
4145
4146         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
4147         Oops, XEmacs redefines `class'.  Use `typename' instead.
4148
4149 2001-01-28  Martin Buchholz  <martin@xemacs.org>
4150
4151         * dumper.c: Fix C++ compile errors.
4152
4153 2001-01-29  Martin Buchholz  <martin@xemacs.org>
4154
4155         * tparam.c: Use correct prototypes.
4156
4157 2001-01-28  Martin Buchholz  <martin@xemacs.org>
4158
4159         * sysproc.h: #include util.h for NetBSD's openpty.
4160
4161 2001-01-27  Martin Buchholz  <martin@xemacs.org>
4162
4163         More 64-bit correctness.
4164         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
4165         Use a typedef `fixnum' for the type used for DEFVAR_INT.
4166         Fix up comments.
4167         This finally finishes the 64-bit SGI port.
4168         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
4169         * symbols.c: Fix up comments and type casts.
4170         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
4171         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
4172         * symeval.h (Fixnum): New type.
4173         * symeval.h (symbol_value_type): Fix up comment.
4174
4175         * commands.h:
4176         * nt.c:
4177         * emacs.c:
4178         * data.c:
4179         * redisplay.c:
4180         * abbrev.c:
4181         * dired-msw.c:
4182         * event-Xt.c:
4183         * eldap.c:
4184         * window.c:
4185         * sound.c:
4186         * event-stream.c:
4187         * eval.c:
4188         * buffer.c:
4189         * mule-canna.c: A million DEFVAR_INTs here...
4190         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
4191         * extents.c:
4192         * cmdloop.c:
4193         * lisp.h:
4194         * select-x.c:
4195         * console-x.h:
4196         * event-msw.c:
4197         * mule-wnnfns.c:
4198         * hpplay.c:
4199         * ralloc.c:
4200         * alloc.c:
4201         * keymap.c:
4202         * profile.c:
4203         s/int/Fixnum/g in DEFVAR_INT declarations.
4204
4205 2001-01-26  Martin Buchholz  <martin@xemacs.org>
4206
4207         Port pdump to SGI alignment-sensitive environment.
4208         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
4209         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
4210         properly aligned.
4211         Define and use aligned reading and writing macros.
4212         Use buffered stdio instead of posix i/o for faster dumping.
4213         Eliminate kludgy 256 byte space for header.
4214         Read and write from dump file using structs for alignment safety.
4215         * dumper.c (pdump_align_stream): New.
4216         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
4217         * dumper.c (PDUMP_READ_ALIGNED): New.
4218         * dumper.c (PDUMP_WRITE_ALIGNED): New.
4219         * dumper.c (pdump_static_Lisp_Object): New struct.
4220         * dumper.c (pdump_static_pointer): New struct.
4221         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
4222         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
4223         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
4224         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
4225
4226         * dumper.c (pdump_backtrace):
4227         * dumper.c (pdump_get_indirect_count):
4228         * dumper.c (pdump_register_object):
4229         * dumper.c (pdump_register_struct):
4230         * dumper.c (pdump_reloc_one):
4231         * dumper.c (pdump_scan_by_alignment):
4232         * dumper.c (pdump_dump_from_root_struct_ptrs):
4233         * dumper.c (pdump_dump_opaques):
4234         * dumper.c (pdump_dump_rtables):
4235         * dumper.c (pdump_dump_from_root_objects):
4236         * dumper.c (pdump):
4237         * dumper.c (pdump_load_finish):
4238         Use aligned reading and writing.
4239
4240         * dumper.c (pdump_free): Make static.
4241         * dumper.c (pdump_hFile): Likewise.
4242         * dumper.c (pdump_hMap): Likewise.
4243
4244 2001-01-26  Martin Buchholz <martin@xemacs.org>
4245
4246         * XEmacs 21.2.43 "Terspichore" is released.
4247
4248 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4249
4250         Type fiddling for window_config.saved_windows_count
4251         * window.c (struct window_config): 
4252         Make saved_windows_count member unsigned.
4253         * window.c (sizeof_window_config_for_n_windows): 
4254         Make parameter unsigned.
4255         * window.c (mark_window_config):
4256         * window.c (window_config_equal):
4257         * window.c (free_window_configuration):
4258         * window.c (Fset_window_configuration):
4259         * window.c (count_windows):
4260         * window.c (Fcurrent_window_configuration):
4261         * window.c (reinit_vars_of_window):
4262         Update all callers and users.
4263
4264 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4265
4266         Alignment correctness for flexible arrays.
4267         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
4268         Make alignment-correct. Add interesting comments.
4269         * alloc.c (size_vector):
4270         * alloc.c (make_vector_internal):
4271         * alloc.c (make_bit_vector_internal):
4272         * alloc.c (sweep_bit_vectors_1):
4273         * fns.c (size_bit_vector):
4274         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
4275         * window.c (sizeof_window_config_for_n_windows): 
4276         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
4277
4278 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4279
4280         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
4281
4282 2001-01-23  Andy Piper  <andy@xemacs.org>
4283
4284         * select.c (Fown_selection_internal): pass owned_p
4285
4286         * select-msw.c (mswindows_own_selection): New Signature.
4287
4288         * console.h (struct console_methods): add owned_p to
4289         _own_selection.
4290
4291         * select-x.c (x_own_selection): pass owned_p
4292         (hack_motif_clipboard_selection): use owned_p
4293         (vars_of_select_x): new variable -
4294         x_selection_strict_motif_ownership.
4295
4296 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4297
4298         * specifier.h (specifier_data_offset): Remove pointless parens.
4299         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
4300
4301 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4302
4303         Make Lisp_Object sizeof methods be alignment-correct.
4304         pdump must restore objects to the same alignment as the C compiler
4305         assumes.  It really matters on SGIs.
4306         * lstream.c (aligned_sizeof_lstream): New.
4307         (sizeof_lstream): Use aligned_sizeof_lstream.
4308         (Lstream_new): Likewise.
4309         * opaque.c (aligned_sizeof_opaque): New.
4310         (sizeof_opaque): Use aligned_sizeof_opaque.
4311         (make_opaque): Likewise.
4312         * specifier.c (aligned_sizeof_specifier): New.
4313         (sizeof_specifier): Use aligned_sizeof_specifier.
4314         (make_specifier_internal): Likewise.
4315
4316 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4317
4318         * lstream.h (struct lstream): Use max_align_t for trailing data.
4319         * specifier.h (struct Lisp_Specifier): Likewise.
4320
4321 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4322
4323         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
4324         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
4325         (CCL_SUSPEND): Likewise.
4326         (CCL_INVALID_CMD): Likewise.
4327         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
4328         (ccl_driver): Likewise.
4329         (CCL_WRITE_CHAR): Macro hygiene.
4330         (CCL_WRITE_STRING): Macro hygiene.
4331
4332 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4333
4334         Port "portable" dumper to SunOS 4 and HP-UX.
4335         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
4336         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
4337         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
4338
4339 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4340
4341         * lisp.h (ALIGNOF): A better definition for C++.
4342
4343 2001-01-20  Martin Buchholz  <martin@xemacs.org>
4344
4345         Macro hygiene.
4346         Fix printf warnings: int format, long int arg.
4347         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
4348         (PUSH_FAILURE_POINT): Use correct printf formats.
4349         (POP_FAILURE_POINT): Use correct printf formats.  
4350         Use do {...} while (0)
4351
4352 2001-01-20  Martin Buchholz <martin@xemacs.org>
4353
4354         * XEmacs 21.2.42 "Poseidon" is released.
4355
4356 2001-01-20  Martin Buchholz  <martin@xemacs.org>
4357
4358         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
4359
4360 2001-01-19  Martin Buchholz  <martin@xemacs.org>
4361
4362         De-kludgify FIXED_TYPE free list frobbing.
4363         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
4364         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
4365         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
4366         * alloc.c (Lisp_Free): New pseudo lisp object definition.
4367         * alloc.c (LRECORD_FREE_P): New.
4368         * alloc.c (MARK_LRECORD_AS_FREE): New.
4369         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
4370         * alloc.c (STRUCT_FREE_P): Deleted.
4371         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
4372         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
4373         * alloc.c (STRING_CHARS_FREE_P): New.
4374         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
4375         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
4376         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
4377         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
4378         * alloc.c (resize_string): Use new definitions.
4379         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
4380         * alloc.c (verify_string_chars_integrity): Use new definitions.
4381         * alloc.c (compact_string_chars): Use new definitions.
4382         * alloc.c: Update monster comments.
4383         * lrecord.h (lrecord_type): Add some new lrecord types for
4384         alloc.c's use.
4385
4386 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4387
4388         Improve alignment hackery.
4389         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
4390         (max_align_t): Moved from opaque.h - general purpose.
4391         (ALIGN_PTR): Use size_t, not long.
4392         * opaque.h (max_align_t): Move to lisp.h.
4393
4394 2001-01-18  Norbert Koch  <nk@LF.net>
4395
4396         * gui.h: Fix and add prototypes to fix build problems.
4397
4398 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4399
4400         temacs is going away, so `dump-temacs' is now a bad name.
4401         * .dbxrc (dump-temacs): Rename to `dmp'.
4402         * .gdbinit (dump-temacs): Rename to `dmp'.
4403
4404 2001-01-17  Andy Piper  <andy@xemacs.org>
4405
4406         * glyphs.c (print_image_instance): comment to make martin happy.
4407
4408         * glyphs-x.c (x_redisplay_widget): update faces after a frame
4409         change.
4410
4411         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
4412         activation.
4413         (mswindows_tab_control_redisplay): warning suppression.
4414
4415         * glyphs-widget.c (widget_update): re-write to cope with updated
4416         items.
4417         (widget_instantiate): use new gui_item functions.
4418         (tab_control_update): deleted.
4419         (progress_gauge_update): deleted.
4420         (image_instantiator_progress_guage): take out update reference.
4421         (image_instantiator_tree_view): ditto.
4422         (image_instantiator_tab_control): ditto.
4423
4424         * gui.c (widget_gui_parse_item_keywords): new function. Do things
4425         Right the new way.
4426         (gui_item_add_keyval_pair): re-write to cope with descriptors and
4427         return whether anything was changed.
4428         (update_gui_item_keywords): as it sounds.
4429
4430         * gui.h: declare widget_gui_parse_item_keywords.
4431
4432         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
4433         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
4434
4435 2001-01-17  Martin Buchholz <martin@xemacs.org>
4436
4437         * XEmacs 21.2.41 "Polyhymnia" is released.
4438
4439 2001-01-16  Didier Verna  <didier@xemacs.org>
4440
4441         * glyphs.c (image_instantiate): don't use fallbacks when
4442         instantiating a face's background pixmap by inheritance.
4443
4444 2001-01-14  Mike Sperber <mike@xemacs.org>
4445
4446         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
4447         Conditionalize accordingly.
4448
4449 2001-01-16  Martin Buchholz  <martin@xemacs.org>
4450
4451         * dumper.c (pdump_file_get): Fix a compiler warning.
4452
4453 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4454
4455         Make Purify happy when pdumping.
4456         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
4457         iniitalizing all bits of new lisp object memory.
4458         * symbols.c (Fmake_local_variable): Likewise.
4459         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
4460         * symbols.c (Fdefvaralias): Likewise.
4461         * mule-charset.c (vars_of_mule_charset): Likewise.
4462
4463 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4464         Add the `-nd' flag when running pre-dump operations under the debugger.
4465         * .dbxrc (run-temacs): Add `-nd'.
4466         * .dbxrc (update-elc): Likewise.
4467         * .dbxrc (dump-temacs): Likewise.
4468         * .gdbinit (run-temacs): Likewise.
4469         * .gdbinit (check-temacs): Likewise.
4470         * .gdbinit (update-elc): Likewise.
4471         * .gdbinit (dump-temacs): Likewise.
4472
4473 2001-01-14  Martin Buchholz  <martin@xemacs.org>
4474
4475         Allow building 64-bit executables on AIX with GNU malloc, e.g.
4476         export OBJECT_MODE=64
4477         configure --pdump --use-union-type=no
4478         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
4479         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
4480
4481         * miscplay.c (sndcnv8U_2mono):
4482         Avoid two uses of `++' in the same expression.
4483         Suppresses a GCC warning.
4484
4485 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4486
4487         Make sure future compilers don't miscompile alloc.c.
4488         * alloc.c:
4489         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
4490         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
4491
4492 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4493
4494         * dumper.c: A little post-pdump-rename comment fixup.
4495
4496 2001-01-09  Jerry James  <james@eecs.ku.edu>
4497
4498         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
4499
4500 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4501
4502         * *.[ch]: Globally rename symbols using the following `pdump-rename'
4503         script:
4504         #!/bin/sh
4505         replace_symbol () {
4506           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
4507         }
4508
4509         replace_symbol pdump_wire_lists pdump_weak_object_chains
4510         replace_symbol pdump_wire_list dump_add_weak_object_chain
4511
4512         replace_symbol pdump_wires pdump_root_objects
4513         replace_symbol pdump_wire dump_add_root_object
4514
4515         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
4516         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
4517
4518         replace_symbol dumpstructinfos pdump_root_struct_ptrs
4519         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
4520         replace_symbol dumpstructinfo pdump_root_struct_ptr
4521         replace_symbol dumpstruct dump_add_root_struct_ptr
4522
4523         replace_symbol dumpopaque dump_add_opaque
4524         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
4525         replace_symbol dumpopaqueinfos pdump_opaques
4526         replace_symbol dumpopaqueinfo pdump_opaque
4527
4528         replace_symbol nb_structdump nb_root_struct_ptrs
4529         replace_symbol nb_opaquedump nb_opaques
4530
4531         replace_symbol align_table pdump_align_table
4532         replace_symbol dump_header pdump_header
4533
4534         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
4535         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
4536
4537
4538 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4539
4540         * s/aix4.h: Keep the C for AIX compiler from overaggressively
4541         optimizing bytecount_to_charcount().
4542
4543 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4544
4545         * config.h.in:
4546         (HAVE_DLFCN_H): Removed.
4547         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
4548
4549 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4550
4551         Portable dumper maintainability improvements.
4552         * alloc.c (staticpro):
4553         * alloc.c (staticpro_nodump):
4554         * alloc.c (garbage_collect_1):
4555         * alloc.c (reinit_alloc_once_early):
4556         * alloc.c (init_alloc_once_early):
4557         * alloc.c: Move dumper functions to alloc.c.
4558         * dumper.c (pdump_backtrace):
4559         * dumper.c (pdump_dump_structs):
4560         * dumper.c (pdump_dump_opaques):
4561         * dumper.c (pdump_dump_rtables):
4562         * dumper.c (pdump_dump_wired):
4563         * dumper.c (pdump):
4564         * dumper.c (pdump_load_check):
4565         * dumper.c (pdump_load_finish):
4566         * dumper.c (pdump_file_unmap):
4567         * dumper.c (pdump_file_get):
4568         * dumper.c (pdump_resource_free):
4569         * dumper.c (pdump_resource_get):
4570         * dumper.c (pdump_file_free):
4571         * dumper.c (pdump_file_try):
4572         * dumper.c (pdump_load):
4573         Remove fixed size limits on staticpro(), staticpro_nodump(),
4574         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
4575         Remove custom code for dumping lrecord_implementations_table - use
4576         dumpopaque instead.
4577         Remove (most of the) custom code for dumping staticpros - dump it
4578         like any other dynarr.
4579
4580         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
4581         * dumper.c: Moved functions from alloc.c.
4582         * alloc.c (dumpstruct): Moved to dumper.c.
4583         * alloc.c (dumpopaque): Likewise.
4584         * alloc.c (pdump_wire): Likewise.
4585         * alloc.c (pdump_wire_list): Likewise.
4586
4587         * lisp.h (Dynarr_sizeof): New.
4588         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
4589         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
4590         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
4591
4592         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
4593         * lisp.h (dumpopaque): ditto.
4594         * lisp.h (pdump_wire): ditto.
4595         * lisp.h (pdump_wire_list): ditto.
4596
4597 2001-01-09  Martin Buchholz  <martin@xemacs.org>
4598
4599         * make-src-depend (PrintPatternDeps):
4600         Use `sort' to make output independent of perl version.
4601
4602 2001-01-08  Martin Buchholz  <martin@xemacs.org>
4603
4604         Port to Netbsd 1.5.
4605         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
4606         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
4607
4608 2001-01-03  Didier Verna  <didier@xemacs.org>
4609
4610         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
4611         that `focus_frame' is alive before thinking of calling
4612         `redisplay_redraw_cursor' on it.
4613
4614 2001-01-08  Martin Buchholz <martin@xemacs.org>
4615
4616         * XEmacs 21.2.40 is released.
4617
4618 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4619
4620         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
4621
4622 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4623
4624         * alloc.c (dbg_valmask): Make const.
4625         * alloc.c (dbg_typemask): Make const.
4626         * alloc.c (dbg_USE_UNION_TYPE): Make const.
4627         * alloc.c (dbg_valbits): Make const.
4628         * alloc.c (dbg_gctypebits): Make const.
4629
4630 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
4631
4632         * redisplay-x.c (x_bevel_area):
4633         redisplay.h (struct rune):
4634         Typo fixes in comments.
4635
4636 2001-01-05  Andy Piper  <andy@xemacs.org>
4637
4638         * glyphs-x.c (x_redisplay_widget): use size changed for offset
4639         adjustment.
4640
4641         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
4642
4643 2001-01-05  Martin Buchholz  <martin@xemacs.org>
4644
4645         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
4646
4647         * mule-ccl.c (stack_idx_of_map_multiple):
4648         Non const global data must not be initialized!
4649         Found by MIYASHITA Hisashi.
4650
4651 2001-01-02  Andy Piper  <andy@xemacs.org>
4652
4653         * frame.c (change_frame_size): make sure frame size is always
4654         marked as changed.
4655
4656         * glyphs.c (image_instance_layout): minor code reuse.
4657
4658         * window.c (Fcurrent_window_configuration): revert previous
4659         change.
4660
4661 2001-01-02  Martin Buchholz  <martin@xemacs.org>
4662
4663         * glyphs.h:
4664         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
4665
4666 2000-12-31  Andy Piper  <andy@xemacs.org>
4667
4668         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
4669         when widget gets unmapped.
4670
4671         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
4672         function. Make sure widgets losing focus don't just drop it.
4673         (handle_focus_event_1): record the widget with focus.
4674
4675 2000-12-31  Andy Piper  <andy@xemacs.org>
4676
4677         * window.c (allocate_window): use
4678         make_image_instance_cache_hash_table.
4679         (make_dummy_parent): ditto.
4680         (Fset_window_configuration): ditto.
4681
4682         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
4683
4684         * glyphs.c (process_image_string_instantiator): use
4685         INSTANTIATOR_TYPE.
4686         (get_image_instantiator_governing_domain): ditto.
4687         (normalize_image_instantiator): ditto.
4688         (instantiate_image_instantiator): ditto.
4689         (make_image_instance_1): ditto.
4690         (image_instantiate): ditto. Key on glyph *and* instantiator type.
4691         (instantiator_eq_equal): new function for use with instance hash
4692         tables.
4693         (instantiator_eq_hash): ditto.
4694         (make_image_instance_cache_hash_table): create a suitable hash
4695         table for storing image instances.
4696
4697         * elhash.h (hash_table_weakness): new internal weakness type
4698         HASH_TABLE_KEY_CAR_VALUE_WEAK.
4699         declare new functions.
4700
4701         * elhash.c (finish_marking_weak_hash_tables): introduce yet
4702         another weakness type for glyphs.
4703         (make_standard_lisp_hash_table): new function split out from
4704         make_general_lisp_hash_table.
4705         (make_lisp_hash_table): call make_standard_lisp_hash_table.
4706         (hash_table_instantiate): ditto.
4707         (Fmake_hash_table): ditto.
4708
4709 2000-12-31  Martin Buchholz <martin@xemacs.org>
4710
4711         * XEmacs 21.2.39 is released.
4712
4713 2000-12-29  Andy Piper  <andy@xemacs.org>
4714
4715         * menubar.c (menubar_visible_p_changed): signal the frame changed.
4716
4717         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
4718         the frame has changed so that we pick up geometry changes such as
4719         menubar visibility.
4720
4721 2000-12-28  Andy Piper  <andy@xemacs.org>
4722
4723         * lastfile.c (my_ebss): make a char array so we can pad the
4724         bss. Fixes cygwin unexec.
4725
4726         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
4727
4728 2000-12-26  Andy Piper  <andy@xemacs.org>
4729
4730         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
4731         comments and try and be more precise about a non-/SIGIO world.
4732         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
4733         SIGIO.
4734
4735         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
4736         we don't normalize to zero width or height.
4737
4738 2000-12-24  Andy Piper  <andy@xemacs.org>
4739
4740         * Makefile.in.in (ldflags): add -mwindows when appropriate.
4741
4742 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
4743
4744         * s/sco5.h: SCO 5 has pty support.
4745
4746 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
4747
4748         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
4749         input-method-xlib.c contains whole contents of input-method-xfs.c,
4750         so we can use input-method-xlib.c's code for USE_XFONTSET
4751         using #ifdefs.
4752         * input-method-xfs.c: removed.
4753
4754 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
4755
4756         * file-coding.h (enum coding_category_type): reorder enumerators to
4757         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
4758         (now one greater than largest real coding_category_type enumerator).
4759         * file-coding.c (coding_category_symbol, coding_category_by_priority,
4760         coding_category_system, fcd_descriptihon_1, decode_coding_category,
4761         Fcoding_category_list, Fset_coding_priority_list,
4762         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
4763         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
4764
4765 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4766
4767         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
4768         * redisplay-output.c (redisplay_output_window): Clear top of window
4769         when face is changed.
4770         * redisplay-x.c (x_redraw_exposed_window): Call
4771         redisplay_clear_top_of_window.
4772         * redisplay.h: Publish redisplay_clear_top_of_window.
4773
4774 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4775
4776         * buffer.c (Fkill_buffer): Map over all devices.
4777         * window.c (window_loop): Remove UNSHOW_BUFFER code.
4778         (list_windows): New function.
4779         (list_all_windows): Ditto.
4780         (Freplace_buffer_in_windows): Use them.
4781
4782 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4783
4784         * database.c (berkdb_subtype): Recognize new subtype `queue'.
4785         (Fopen_database): Use `db_create' instead of `db_open'.
4786         (syms_of_database): Initialize Qqueue.
4787
4788 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4789
4790         * buffer.c (common_init_complex_vars_of_buffer): Initialize
4791         buffer_local_face_property.
4792         * buffer.h (struct buffer): New member buffer_local_face_property.
4793         * window.c (Fset_window_buffer):  Mark window's face as changed
4794         when buffer has buffer local face.
4795         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
4796         * objects.c (color_after_change): Set buffer_local_face_property
4797         when locale of face specifier is buffer.
4798         * objects.c (font_after_change): Ditto.
4799         * objects.c (face_boolean_after_change): Ditto.
4800         * glyphs.c (image_after_change): Ditto.
4801
4802 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4803
4804         * nt.c (mswindows_fstat): Report file permissions, volume serial
4805         number, etc. Code adapted from FSF Emacs 20.7.
4806
4807 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4808
4809         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
4810         of stat when we don't have symbolic links, to make sure
4811         mswindows_stat is called on mswindows.
4812
4813 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
4814
4815         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
4816
4817 2000-12-12  Martin Buchholz  <martin@xemacs.org>
4818
4819         * doprnt.c (emacs_doprnt_1): More printing fixes.
4820         Make printing of numbers compatible with libc and FSF Emacs.
4821         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
4822         Use the system printf to do most of the hard work of formatting,
4823         instead of doprnt_1().
4824         Calculate memory to allocate for format string.
4825         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
4826         (doprnt_1): Cleaner code and documentation.
4827
4828 2000-12-01  Jerry James  <james@eecs.ukans.edu>
4829
4830         * Makefile.in.in: Use the loop variable to install headers.
4831
4832 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4833
4834         * window.c (Fsplit_window): Don't invalidate face cache.
4835
4836 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4837
4838         * minibuf.c (Fall_completions): Undo the previous change
4839         which removed checking elements start with space.
4840
4841 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4842
4843         * mule-canna.c: Didier suppression.
4844
4845 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4846
4847         * mule-canna.c: rename static unsigned char buf[] to key_buffer
4848         (warning suppression).  Add English comment translations.
4849
4850 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4851
4852         * unexelfsgi.c (unexec): Better test for mmap failure.
4853
4854 2000-12-05  Martin Buchholz <martin@xemacs.org>
4855
4856         * XEmacs 21.2.38 is released.
4857
4858 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4859
4860         * redisplay.c (bar-cursor): Make a user variable.
4861
4862         * symsinit.h: Add init_postgresql_from_environment.
4863
4864 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4865
4866         * regex.c: Convert to clean C.
4867
4868 2000-12-05  Dan Holmsand  <dan@eyebee.com>
4869
4870         * realpath.c:
4871         Don't #include sysfile.h. Revert to duplicating PATH_MAX
4872         initialization.
4873         (sys_readlink): renamed to system_readlink to avoid conflict with
4874         the other sys_readlink.
4875
4876 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
4877
4878         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
4879
4880 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
4881
4882         * postgresql.c (init_postgresql_from_environment): new function.
4883         (vars_of_postgresql): Move code initializing Lisp variables out and
4884         into init_postgresql_from_environment.
4885         emacs.c (main_1): Call init_postgresql_from_environment if and only
4886         if running a dumped XEmacs.
4887
4888 2000-08-31  Dan Holmsand  <dan@eyebee.com>
4889
4890         * buffer.c: Make find-file-compare-truenames default to true on
4891         windows.
4892
4893         * realpath.c (win32_abs_start):
4894         (cygwin_readlink):
4895         (win32_readlink): New functions.
4896         (xrealpath): Return really real filenames on windows.
4897
4898         * fileio.c (Ffile_truename): Make file-truename work on windows.
4899
4900 2000-11-29  Didier Verna  <didier@xemacs.org>
4901
4902         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
4903         * faces.c (update_face_cachel_data): use it.
4904         * faces.c (add_face_cachel): use it. Complete background pixmap
4905         frobbing in face cache if `update_face_cachel_data' has not done so.
4906
4907 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
4908
4909         * search.c (string_match_1): Don't set last_thing_searched
4910         when search failed.
4911
4912 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
4913
4914         * buffer.c: Include casetab.h
4915         (common_init_complex_vars_of_buffer): Use new case-table object.
4916         * buffer.h: Include casetab.h
4917         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
4918         (DOWNCASE_TABLE_OF): Ditto.
4919         * bufslots.h: Remove char-tables and add case-table.
4920         * casetab.c: Include casetab.h
4921         (CASE_TABLE_P): Removed.
4922         (mark_case_table): New function.
4923         (allocate_case_table): New function.
4924         (Fcase_table_p): Use new case-table.
4925         (case_table_char): New function.
4926         (Fget_case_table): Ditto.
4927         (Fput_case_table): Ditto.
4928         (Fput_case_table_pair): Ditto.
4929         (Fcopy_case_table): Ditto.
4930         (Fcurrent_case_table): Return case-table.
4931         (Fstandard_case_table): Return case-table.
4932         (Fset_case_table): Fix doc-string.
4933         (set_case_table): Use case-table
4934         (syms_of_casetab): DEFSUBR new functions.
4935         (complex_vars_of_casetab): Set up standard case-table.
4936         * casetab.h: New file.
4937         * editfns.c: Include casetab.h
4938         (Fcompare_buffer_substrings): Use case-table.
4939         * inline.c: Include casetab.h
4940         * lisp.h: Remove bogus extern.
4941         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
4942         * search.c: Include casetab.h
4943         (TRANSLATE_ASCII): Removed.
4944         (TRANSLATE): Unconditionally translate character.
4945         (looking_at_1): Use case-table.
4946         (string_match_1): Ditto.
4947         (fast_string_match): Ditto.
4948         (search_command): Ditto.
4949         (search_buffer): Separate boyer_moore.  Check whether
4950         boyer_moore is possible.
4951         (simple_search): New function.
4952         (boyer_moore): Separated from search_buffer. Translate char.
4953
4954 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
4955
4956         * regex.c (RE_TR_ASCII): Removed.
4957         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
4958         (PATFETCH): Call PATFETCH_RAW.
4959         (PATFETCH_RAW): Fetch Emchar.
4960         (PATUNFETCH): Decrement charptr.
4961         (GET_BUFFER_SPACE): Rename b to buf_end.
4962         (BUF_PUSH): Ditto.
4963         (BUF_PUSH_2): Ditto.
4964         (BUF_PUSH_3): Ditto.
4965         (EXTEND_BUFFER): Ditto.
4966         (SET_LIST_BIT): Ditto.
4967         (regex_compile): Ditto.  Translate non ASCII char.
4968         (compile_range): Ditto.
4969         (re_search_2): Ditto.
4970         (re_match_2_internal): Compare Emchar.
4971         (bcmp_translate): Ditto.
4972
4973 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
4974
4975         * lisp.h (basic char/int typedefs):  comment improvement.
4976
4977 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
4978
4979         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
4980         unstomp inhibit_site_lisp.  Improve comments.
4981
4982 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
4983
4984         * mule-charset.c (Fcharset_property):  improve type checking, comments.
4985
4986 2000-11-28  Andy Piper  <andy@xemacs.org>
4987
4988         * redisplay-output.c (redisplay_output_subwindow): make sure we do
4989         clipped display for windows in the gutter also.
4990         (redisplay_display_boxes_in_window_p): change semantics of return
4991         codes to be more intuitive.
4992
4993         * gutter.h: declare display_boxes_in_gutter_p.
4994
4995         * gutter.c (display_boxes_in_gutter_p): new function for
4996         redisplay.
4997
4998 2000-11-22  Andy Piper  <andy@xemacs.org>
4999
5000         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
5001         autodetect domain.
5002
5003 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
5004
5005         * callproc.c (Fold_call_process_internal):
5006         * gpm.c (Freceive_gpm_event):
5007         (tty_get_foreign_selection): Might be just warning supression.
5008         * fileio.c (Fwrite_region_internal):
5009         (Fset_visited_file_modtime):
5010         * keymap.c (event_matches_key_specifier_p):
5011         Initialize GCPROed variable.
5012
5013         * menubar-x.c (command_builder_find_menu_accelerator):
5014         Initialize before use.
5015
5016 2000-11-23  Andy Piper  <andy@xemacs.org>
5017
5018         * unexcw.c (unexec): make the resulting executable executable.
5019
5020 2000-11-21  Martin Buchholz  <martin@xemacs.org>
5021
5022         * doc.c (get_doc_string):
5023         Use size_t, not int, for result of XSTRING_LENGTH.
5024
5025         * cmds.c (Fdelete_char):
5026         * cmds.c (Fpoint_at_eol):
5027         * cmds.c (Fself_insert_command):
5028         Use EMACS_INT, not int, for result of XINT.
5029         Someday, someone will want to insert more than 2**31 identical characters.
5030
5031         * cmds.c (Fdelete_char):
5032         * cmds.c (Fdelete_backward_char):
5033         * syntax.c (Fforward_word):
5034         * syntax.c (Fforward_comment):
5035         Make COUNT argument optional, for consistency with forward-char et al.
5036
5037 2000-11-22  Martin Buchholz  <martin@xemacs.org>
5038
5039         * lisp.h:
5040         * print.c (long_to_string):
5041         Return a useful value: the pointer at end of data written.
5042
5043         * doprnt.c:
5044         Use `static const char * const' for constant strings.
5045         (union printf_arg): Delete `i', `ui' members.
5046         (get_doprnt_args):
5047         (emacs_doprnt_1):
5048         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
5049         Do all printf-ing via the `l' specifier.
5050         Use EMACS_INT instead of int.
5051         Optimize.
5052
5053 2000-11-20  Didier Verna  <didier@xemacs.org>
5054
5055         * faces.c (update_face_cachel_data): don't frob the background
5056         pixmap when the window is being created. The face is needed but
5057         does not exist yet.
5058
5059 2000-11-20  Andy Piper  <andy@xemacs.org>
5060
5061         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
5062         messing with a debug environment.
5063
5064 2000-11-20  Martin Buchholz  <martin@xemacs.org>
5065
5066         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
5067
5068 2000-11-20  Martin Buchholz  <martin@xemacs.org>
5069
5070         * casetab.c (Fcase_table_p): Fix compile error and crash.
5071
5072 2000-11-18  Philip Aston  <philipa@mail.com>
5073
5074         * s/cygwin32.h: Cygwin has SVR4-like pty support.
5075
5076 2000-11-18  Martin Buchholz  <martin@xemacs.org>
5077
5078         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
5079         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
5080
5081 2000-11-17  Martin Buchholz  <martin@xemacs.org>
5082
5083         * config.h.in: Define HAVE_ELF_H if elf.h exists.
5084         * unexelf.c: Use HAVE_ELF_H.
5085         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
5086         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
5087         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
5088         Greg Harrington <greg_harrington@hotmail.com> provided a machine
5089         for testing.
5090         So this is an unexelfsgi.c from a different line of development.
5091
5092 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
5093
5094         * regex.c (RE_TR_ASCII): New function.
5095         (RE_TRANSLATE): Call it.
5096
5097 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
5098
5099         * buffer.h (TRT_TABLE_OF): Remove assert.
5100         (IN_TRT_TABLE_DOMAIN): Removed.
5101
5102 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5103
5104         * free-hook.c (log_gcpro):
5105         (show_gcprohist): Add support for GCPRO5.
5106
5107 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
5108
5109         * emacs.c (main_1): Improve -sd error message when --pdump=no.
5110
5111 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
5112
5113         * symeval.h: Declare flush_all_buffer_local_cache.
5114
5115         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
5116         (flush_buffer_local_cache): Added.
5117         (flush_all_buffer_local_cache): Added.
5118
5119         * lrecord.h: Remove unused XD_LO_RESET_NIL.
5120
5121         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
5122         (pdump_dump_data): Ditto.
5123         (pdump_reloc_one): Ditto.
5124         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
5125         before dumping.
5126
5127
5128 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
5129
5130         * buffer.c: Remove if 0'ed entry.
5131         * buffer.h: Rewrite TRT to use char-table.
5132         * bufslots.h: Remove mirror tables.
5133         * casetab.c: Remove mirror tables.
5134         (CASE_TABLE_P): New macro.
5135         (Fcase_table_p): Element of a case table is string or char-table.
5136         (make_mirror_trt_table): Removed.
5137         (set_case_table): Setup char-table from strings for backward
5138         compatibility.
5139         * dired.c (Fdirectory_files):
5140         * dired-msw.c: (mswindows_get_files):
5141         * lisp.h: Change prototype of re_pattern_buffer.
5142         * regex.c: (RE_TRANSLATE): New macro.
5143         (TRANSLATE_P): Ditto.
5144         Change translate to type RE_TRANSLATE_TYPE.
5145         * regex.h: Define RE_TRANSLATE_TYPE
5146         * search.c (TRANSLATE): New macro.
5147         (TRANSLATE_ASCII): New macro.
5148         Translate table is changed to Lisp_Object.
5149         (signal_failure): Inhibit return.
5150
5151 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
5152
5153         * device-msw.c:
5154         * eldap.c:
5155         * event-Xt.c:
5156         * event-stream.c:
5157         * print.c:
5158         Do UNGCPRO before return.
5159
5160 2000-11-14  Martin Buchholz <martin@xemacs.org>
5161
5162         * XEmacs 21.2.37 is released.
5163
5164 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
5165
5166         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
5167         Add comments about discarded return value.
5168
5169 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
5170
5171         * callint.c:
5172         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
5173
5174 2000-10-27  Andy Piper  <andy@xemacs.org>
5175
5176         * gutter.c (Fset_default_gutter_position): default left and right
5177         gutters to visible.
5178         (calculate_gutter_size): calculate resonable heuristic for left
5179         and right gutter sizes.
5180         (specifier_vars_of_gutter): change left and right gutter sizes to
5181         autodetect.
5182         (calculate_gutter_size_from_display_lines): new function.
5183         (output_gutter): check for resizing on left and right gutters.
5184         (clear_gutter): don't special case top and left gutters.
5185         (specifier_vars_of_gutter): use new signature for
5186         set_specifier_caching.
5187
5188         * glyphs-x.c (x_redisplay_widget): spelling fix.
5189         * glyphs.c (specifier_vars_of_glyphs):
5190         * menubar.c (specifier_vars_of_menubar):
5191         * redisplay.c (specifier_vars_of_redisplay):
5192         * toolbar.c (specifier_vars_of_toolbar):
5193         * window.c (specifier_vars_of_window):
5194         * scrollbar.c (specifier_vars_of_scrollbar):
5195         (complex_vars_of_scrollbar): use new signature for
5196         set_specifier_caching.
5197
5198         * specifier.c (set_specifier_caching): include recompute flag.
5199         (recompute_one_cached_specifier_in_window): always recompute if
5200         flag set.
5201         (recompute_one_cached_specifier_in_frame): ditto.
5202
5203         * specifier.h (struct specifier_caching): add recompute flag.
5204
5205 2000-10-24  Andy Piper  <andy@xemacs.org>
5206
5207         * unexcw.c (copy_executable_and_dump_data_section): add new
5208         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
5209         5.0 happy.
5210
5211 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5212
5213         * console-x.h (x_device): New member modifier_release_time.
5214         * event-Xt.c (x_handle_sticky_modifiers):
5215         Bound interval modifier keys are sticky.
5216         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
5217         * events.h: extern it.
5218
5219 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5220
5221         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
5222
5223 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5224
5225         * event-stream.c (execute_command_event): Preserve current_events
5226         and the like when event is misc-user-event.
5227         Inhibit quit during the call to maybe_echo_keys.
5228
5229 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5230
5231         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
5232         symlink when buffer is killed.
5233         (inhibit_clash_detection): New variable.
5234
5235 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5236
5237         * console.c (Fset_input_method): Trigger redisplay on tty.
5238
5239 2000-11-07  Martin Buchholz  <martin@xemacs.org>
5240
5241         * process.c (Fprocess_status): Revert to previous behavior:
5242         (process-status "nosuchprocess") ==> nil
5243
5244 2000-11-06  Martin Buchholz  <martin@xemacs.org>
5245
5246         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
5247         Work around another GCC 2.95.2 optimizer bug.
5248
5249 2000-11-02  Martin Buchholz  <martin@xemacs.org>
5250
5251         * process.c (Fget_process): Use LIST_LOOP_2.
5252         (kill_buffer_processes): Use LIST_LOOP_2.
5253
5254         * minibuf.c (Fall_completions):
5255         Delete old non-functional code for FSF fourth argument.
5256
5257         * frame.c (frame_matches_frame_spec):
5258         Renamed from `frame_matches_frametype'.  Update all callers.
5259         (device_matches_device_spec):
5260         Renamed from 'device_matches_console_spec'.  Update all callers.
5261
5262         * doc.c (Fsubstitute_command_keys):
5263         Remove buffer overflow crash.  Small code cleanups.
5264
5265         * casetab.c (check_case_table): Simpler code.
5266
5267         * window.c (Freplace_buffer_in_windows):
5268         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
5269         (and similar implementation) as Fdelete_windows_on.
5270         Update all callers.
5271
5272         * alloc.c (Fmake_list):
5273         * alloc.c (make_vector):
5274         * alloc.c (Fmake_vector):
5275         * alloc.c (make_bit_vector):
5276         * alloc.c (Fmake_bit_vector):
5277         * alloc.c (Fbit_vector):
5278         * alloc.c (Fmake_string):
5279         * alloc.c (Fpurecopy):
5280         * alloc.c (Fmemory_limit):
5281         * buffer.c:
5282         * buffer.c (Fget_buffer):
5283         * buffer.c (Fkill_buffer):
5284         * buffer.c (complex_vars_of_buffer):
5285         * bytecode.c (Fcompiled_function_stack_depth):
5286         * callint.c (Fprefix_numeric_value):
5287         * event-stream.c:
5288         * event-stream.c (Fread_key_sequence):
5289         * casetab.c:
5290         * casetab.c (Fcase_table_p):
5291         * casetab.c (check_case_table):
5292         * casetab.c (Fset_case_table):
5293         * casetab.c (Fset_standard_case_table):
5294         * chartab.c:
5295         * chartab.c (Fchar_table_type):
5296         * chartab.c (Freset_char_table):
5297         * chartab.c (Fget_char_table):
5298         * chartab.c (Fget_range_char_table):
5299         * chartab.c (Fput_char_table):
5300         * chartab.c (Fmap_char_table):
5301         * chartab.c (Fcategory_table_p):
5302         * chartab.c (Fcheck_category_at):
5303         * chartab.c (Fchar_in_category_p):
5304         * chartab.c (Fcategory_table):
5305         * chartab.c (Fcopy_category_table):
5306         * chartab.c (Fset_category_table):
5307         * chartab.c (Fcategory_designator_p):
5308         * chartab.c (Fcategory_table_value_p):
5309         * cmds.c (Fdelete_char):
5310         * cmds.c (Fdelete_backward_char):
5311         * cmds.c (Fself_insert_command):
5312         * cmds.c (Fself_insert_internal):
5313         * console.c (Fvalid_console_type_p):
5314         * console.c (Fcdfw_console):
5315         * console.c (Fconsole_type):
5316         * console.c (Fconsole_name):
5317         * console.c (Fconsole_device_list):
5318         * console.c (Fconsole_on_window_system_p):
5319         * data.c:
5320         * data.c (Feq):
5321         * data.c (Fold_eq):
5322         * data.c (Fsubr_interactive):
5323         * data.c (Fchar_to_int):
5324         * data.c (Fint_to_char):
5325         * data.c (Fsetcar):
5326         * data.c (Fsetcdr):
5327         * data.c (Fnumber_to_string):
5328         * data.c (Fstring_to_number):
5329         * data.c (Frem):
5330         * database.c (mark_database):
5331         * database.c (finalize_database):
5332         * database.c (Fdatabase_live_p):
5333         * database.c (Fdatabasep):
5334         * device-x.c (Fx_get_resource):
5335         * device.c (Fdfw_device):
5336         * dired.c:
5337         * dired.c (Ffile_name_completion):
5338         * dired.c (Ffile_name_all_completions):
5339         * dired.c (Fuser_name_completion):
5340         * dired.c (Fuser_name_completion_1):
5341         * dired.c (Fuser_name_all_completions):
5342         * doc.c (Fdocumentation):
5343         * doc.c (Fdocumentation_property):
5344         * doc.c (Fsubstitute_command_keys):
5345         * editfns.c:
5346         * editfns.c (Fchar_to_string):
5347         * editfns.c (Fstring_to_char):
5348         * editfns.c (Ftemp_directory):
5349         * editfns.c (Finsert_char):
5350         * editfns.c (Fbuffer_substring_no_properties):
5351         * editfns.c (Fnarrow_to_region):
5352         * editfns.c (Fchar_equal):
5353         * editfns.c (Fchar_Equal):
5354         * editfns.c (Ftranspose_regions):
5355         * emacs.c (Fdump_emacs):
5356         * eval.c (Fthrow):
5357         * eval.c (Fcommand_execute):
5358         * eval.c (Fautoload):
5359         * eval.c (Fbacktrace):
5360         * eval.c (Fbacktrace_frame):
5361         * events.c:
5362         * events.c (Fcopy_event):
5363         * events.c (Fcharacter_to_event):
5364         * events.c (Fevent_button):
5365         * events.c (Fevent_process):
5366         * extents.c:
5367         * extents.c (Fnext_extent_change):
5368         * extents.c (Fextent_property):
5369         * faces.c (Ffacep):
5370         * faces.c (Fmake_face):
5371         * file-coding.c:
5372         * file-coding.c (Fencode_shift_jis_char):
5373         * file-coding.c (Fencode_big5_char):
5374         * fileio.c (Ffile_name_directory):
5375         * fileio.c (Ffile_name_nondirectory):
5376         * fileio.c (Ffile_name_as_directory):
5377         * fileio.c (Fdirectory_file_name):
5378         * fileio.c (Ffile_truename):
5379         * fileio.c (Fsubstitute_in_file_name):
5380         * fileio.c (Ffile_modes):
5381         * fileio.c (Fset_file_modes):
5382         * fileio.c (Fset_default_file_modes):
5383         * fileio.c (Fverify_visited_file_modtime):
5384         * floatfns.c (Facos):
5385         * floatfns.c (Fasin):
5386         * floatfns.c (Fatan):
5387         * floatfns.c (Fcos):
5388         * floatfns.c (Fsin):
5389         * floatfns.c (Ftan):
5390         * floatfns.c (Fbessel_j0):
5391         * floatfns.c (Fbessel_j1):
5392         * floatfns.c (Fbessel_jn):
5393         * floatfns.c (Fbessel_y0):
5394         * floatfns.c (Fbessel_y1):
5395         * floatfns.c (Fbessel_yn):
5396         * floatfns.c (Ferf):
5397         * floatfns.c (Ferfc):
5398         * floatfns.c (Flog_gamma):
5399         * floatfns.c (Fexp):
5400         * floatfns.c (Fexpt):
5401         * floatfns.c (Flog):
5402         * floatfns.c (Flog10):
5403         * floatfns.c (Fsqrt):
5404         * floatfns.c (Fcube_root):
5405         * floatfns.c (Facosh):
5406         * floatfns.c (Fasinh):
5407         * floatfns.c (Fatanh):
5408         * floatfns.c (Fcosh):
5409         * floatfns.c (Fsinh):
5410         * floatfns.c (Ftanh):
5411         * floatfns.c (Fabs):
5412         * floatfns.c (Ffloat):
5413         * floatfns.c (Flogb):
5414         * floatfns.c (Fceiling):
5415         * floatfns.c (Ffloor):
5416         * floatfns.c (Fround):
5417         * floatfns.c (Ftruncate):
5418         * floatfns.c (Ffceiling):
5419         * floatfns.c (Fffloor):
5420         * floatfns.c (Ffround):
5421         * floatfns.c (Fftruncate):
5422         * fns.c (Fstring_equal):
5423         * fns.c (Fstring_lessp):
5424         * fns.c (concat2):
5425         * fns.c (concat3):
5426         * fns.c (vconcat2):
5427         * fns.c (vconcat3):
5428         * fns.c (Fsubstring):
5429         * fns.c (Fassoc):
5430         * fns.c (Fold_assoc):
5431         * fns.c (assoc_no_quit):
5432         * fns.c (Fassq):
5433         * fns.c (Fold_assq):
5434         * fns.c (assq_no_quit):
5435         * fns.c (Frassoc):
5436         * fns.c (Fold_rassoc):
5437         * fns.c (Frassq):
5438         * fns.c (Fold_rassq):
5439         * fns.c (rassq_no_quit):
5440         * fns.c (Fremassoc):
5441         * fns.c (remassoc_no_quit):
5442         * fns.c (Fremassq):
5443         * fns.c (remassq_no_quit):
5444         * fns.c (Fremrassoc):
5445         * fns.c (Fremrassq):
5446         * fns.c (remrassq_no_quit):
5447         * fns.c (Fsort):
5448         * fns.c (Fplist_get):
5449         * fns.c (Fplist_put):
5450         * fns.c (Fplist_remprop):
5451         * fns.c (Fplist_member):
5452         * fns.c (Flax_plist_get):
5453         * fns.c (Flax_plist_put):
5454         * fns.c (Flax_plist_remprop):
5455         * fns.c (Flax_plist_member):
5456         * fns.c (Fequal):
5457         * fns.c (Fold_equal):
5458         * fns.c (Frequire):
5459         * fns.c (Fbase64_encode_region):
5460         * fns.c (Fbase64_encode_string):
5461         * fns.c (Fbase64_decode_region):
5462         * frame.c:
5463         * frame.c (frame_matches_frame_spec):
5464         * frame.c (device_matches_device_spec):
5465         * frame.c (next_frame):
5466         * frame.c (previous_frame):
5467         * frame.c (Fnext_frame):
5468         * frame.c (Fprevious_frame):
5469         * frame.c (Fframe_property):
5470         * frame.c (Fset_frame_height):
5471         * frame.c (Fset_frame_size):
5472         * frame.h:
5473         * glyphs.c:
5474         * glyphs.c (if):
5475         * glyphs.c (decode_error_behavior_flag):
5476         * glyphs.c (Fmake_image_instance):
5477         * indent.c (Findent_to):
5478         * intl.c (Fignore_defer_gettext):
5479         * keymap.c (Fkeymapp):
5480         * keymap.c (Flookup_key):
5481         * lread.c:
5482         * lread.c (Fload_internal):
5483         * lread.c (Feval_buffer):
5484         * lread.c (Feval_region):
5485         * macros.c (Fexecute_kbd_macro):
5486         * marker.c (set_marker_internal):
5487         * marker.c (Fset_marker):
5488         * marker.c (set_marker_restricted):
5489         * marker.c (Fcopy_marker):
5490         * marker.c (noseeum_copy_marker):
5491         * menubar.c:
5492         * menubar.c (Fpopup_menu):
5493         * minibuf.c:
5494         * mule-charset.c (Fcharset_name):
5495         * mule-charset.c (Fchar_charset):
5496         * mule-charset.c (Fchar_octet):
5497         * mule-charset.c (Fsplit_char):
5498         * mule-wnnfns.c (Fwnn_open):
5499         * mule-wnnfns.c (Fwnn_dict_comment):
5500         * mule-wnnfns.c (Fwnn_quit_henkan):
5501         * mule-wnnfns.c (Fwnn_word_toroku):
5502         * mule-wnnfns.c (Fwnn_word_sakujo):
5503         * mule-wnnfns.c (Fwnn_word_use):
5504         * mule-wnnfns.c (Fwnn_hindo_set):
5505         * objects.c:
5506         * objects.c (Fmake_color_instance):
5507         * objects.c (Fmake_font_instance):
5508         * print.c (Fwrite_char):
5509         * process.c:
5510         * process.c (mark_process):
5511         * process.c (print_process):
5512         * process.c (get_process_from_usid):
5513         * process.c (Fprocessp):
5514         * process.c (Fprocess_live_p):
5515         * process.c (Fget_process):
5516         * process.c (Fget_buffer_process):
5517         * process.c (get_process):
5518         * process.c (Fprocess_id):
5519         * process.c (Fprocess_name):
5520         * process.c (Fprocess_command):
5521         * process.c (init_process_io_handles):
5522         * process.c (start_process_unwind):
5523         * process.c (Fstart_process_internal):
5524         * process.c (Fopen_multicast_group_internal):
5525         * process.c (Fset_process_window_size):
5526         * process.c (read_process_output):
5527         * process.c (send_process):
5528         * process.c (Fprocess_tty_name):
5529         * process.c (Fset_process_buffer):
5530         * process.c (Fprocess_buffer):
5531         * process.c (Fprocess_mark):
5532         * process.c (set_process_filter):
5533         * process.c (Fset_process_filter):
5534         * process.c (Fprocess_filter):
5535         * process.c (Fprocess_send_region):
5536         * process.c (Fprocess_send_string):
5537         * process.c (exec_sentinel):
5538         * process.c (Fset_process_sentinel):
5539         * process.c (Fprocess_sentinel):
5540         * process.c (status_notify):
5541         * process.c (Fprocess_status):
5542         * process.c (Fprocess_exit_status):
5543         * process.c (process_send_signal):
5544         * process.c (Fprocess_send_eof):
5545         * process.c (deactivate_process):
5546         * process.c (remove_process):
5547         * process.c (Fdelete_process):
5548         * process.c (kill_buffer_processes):
5549         * process.c (Fprocess_kill_without_query):
5550         * process.c (Fprocess_kill_without_query_p):
5551         * rangetab.c:
5552         * rangetab.c (Fget_range_table):
5553         * rangetab.c (Fput_range_table):
5554         * rangetab.c (Fremove_range_table):
5555         * rangetab.c (Fclear_range_table):
5556         * search.c:
5557         * search.c (Fskip_chars_forward):
5558         * search.c (Fskip_chars_backward):
5559         * search.c (Fskip_syntax_forward):
5560         * search.c (Fskip_syntax_backward):
5561         * search.c (search_command):
5562         * search.c (Freplace_match):
5563         * search.c (Fregexp_quote):
5564         * select.c (Fown_selection_internal):
5565         * select.c (Fselection_owner_p):
5566         * select.c (Fselection_exists_p):
5567         * select.c (Fget_selection_internal):
5568         * specifier.c:
5569         * symbols.c:
5570         * symbols.c (Fintern):
5571         * symbols.c (Fintern_soft):
5572         * symbols.c (Funintern):
5573         * symbols.c (Fapropos_internal):
5574         * symbols.c (Fset_default):
5575         * syntax.c:
5576         * syntax.c (Fsyntax_table_p):
5577         * syntax.c (Fcopy_syntax_table):
5578         * syntax.c (Fset_syntax_table):
5579         * syntax.c (Fchar_syntax):
5580         * syntax.c (syntax_match):
5581         * syntax.c (Fmatching_paren):
5582         * syntax.c (Fforward_word):
5583         * syntax.c (scan_lists):
5584         * syntax.c (Fscan_lists):
5585         * syntax.c (Fscan_sexps):
5586         * syntax.c (Fparse_partial_sexp):
5587         * toolbar.c (Fcheck_toolbar_button_syntax):
5588         * tooltalk.doc:
5589         * window.c:
5590         * window.c (Fwindowp):
5591         * window.c (Fwindow_live_p):
5592         * window.c (Fwindow_point):
5593         * window.c (Fdelete_window):
5594         * window.c (Fnext_window):
5595         * window.c (Fprevious_window):
5596         * window.c (Fother_window):
5597         * window.c (window_loop):
5598         * window.c (Fget_lru_window):
5599         * window.c (Fsplit_window):
5600         * window.c (Fenlarge_window):
5601         * window.c (Fenlarge_window_pixels):
5602         * window.c (Fshrink_window):
5603         * window.c (Fshrink_window_pixels):
5604         * window.c (change_window_height):
5605         * window.c (Fwindow_configuration_p):
5606         * window.c (Fcurrent_window_configuration):
5607         * window.h:
5608         * casefiddle.c (casify_object):
5609         * casefiddle.c (Fupcase):
5610         * casefiddle.c (Fdowncase):
5611         * casefiddle.c (Fcapitalize):
5612         * casefiddle.c (Fupcase_initials):
5613         * casefiddle.c (casify_region_internal):
5614         * casefiddle.c (casify_region):
5615         * casefiddle.c (Fupcase_region):
5616         * casefiddle.c (Fdowncase_region):
5617         * casefiddle.c (Fcapitalize_region):
5618         * casefiddle.c (Fupcase_initials_region):
5619         * casefiddle.c (Fupcase_word):
5620         * casefiddle.c (Fdowncase_word):
5621         * casefiddle.c (Fcapitalize_word):
5622         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
5623         Replace 0 with '\0' when working with bytes.
5624         Replace initial "(" with "\(" in docstrings.
5625
5626 2000-11-01  Martin Buchholz  <martin@xemacs.org>
5627
5628         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
5629
5630         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
5631
5632 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5633
5634         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
5635
5636 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5637
5638         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
5639         correctly.
5640
5641 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5642
5643         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
5644         (inhibit_auto_save_session): New variable.
5645         (vars_of_fileio): Declare and initialize them.
5646         * fileio.c (Fdo_auto_save): Don't create session file if
5647         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
5648
5649 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5650
5651         * sgiplay.c (play_internal): C++ compilability.
5652         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
5653         * callproc.c (Fold_call_process_internal):
5654         Remove unused vars `env', `first'.
5655         * scrollbar.c (update_scrollbar_instance):
5656         #### unused var `current_window'.
5657         * redisplay-tty.c: Put currently unused vars insert_mode_on,
5658         etc. within #ifdef NOT_YET.
5659         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
5660         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
5661         * specifier.c (specifier_instance):
5662         #### unused var `tag'.
5663         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
5664
5665 2000-10-27  Martin Buchholz  <martin@xemacs.org>
5666
5667         * fns.c (Fbutlast):
5668         * fns.c (list_sort):
5669         * fns.c (Ffillarray):
5670         * fns.c (bytecode_nconc2):
5671         * fns.c (Fnconc):
5672         * fns.c (mapcar1):
5673         * fns.c (Fmapconcat):
5674         Be pedantically 64-bit correct.  For the time when someone will
5675         want to have a list with length > 2**32.
5676
5677         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
5678         Work around MIPSpro compiler bug.
5679
5680         * process-unix.c (unix_kill_child_process): Add snarky comment.
5681         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
5682
5683         * config.h.in: Oops, _getpt ==> _getpty
5684
5685 2000-10-26  Martin Buchholz  <martin@xemacs.org>
5686
5687         * config.h.in:
5688         * regex.c:
5689         Use void*, not char*, as return type of alloca().
5690
5691         * alloc.c (free_marker): Side effect inside assert expression!
5692
5693 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
5694
5695         * mule-charset.c (Fset_charset_ccl_program): To check
5696         if the given ccl program is valid, use setup_ccl_program()
5697         instead of CHECK_VECTOR().
5698         (Fmake_charset): Likewise.
5699
5700 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
5701
5702         * faces.c (get_extent_fragment_face_cache_index):
5703         Fix cachel.merged_faces memory leak.
5704
5705 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
5706
5707         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
5708         Reset MSB of octets obtained by DECODE_SJIS
5709         because of the incompatibility with Emacs.
5710         (ccl_driver)<CCL_ENCODE_SJIS>:
5711         Set MSB of octets before passing them to
5712         ENCODE_SJIS because of the incompatibility
5713         with Emacs.
5714
5715 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
5716
5717         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
5718         (DECLARE_LRECORD): Undo the last change.
5719         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
5720
5721 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
5722
5723         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
5724         the implementation to lrecord_implementations_table.
5725
5726 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
5727
5728         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
5729         initial value of `lrecord_type_##c_name' and
5730         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
5731         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
5732         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
5733         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
5734         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
5735
5736 2000-10-17  Martin Buchholz  <martin@xemacs.org>
5737
5738         * miscplay.c (sndcnv8S_2mono):
5739         (sndcnv2monounsigned):
5740         (sndcnvULaw_2linear):
5741         (sndcnv16swap):
5742         Remove implementation-defined behavior.
5743
5744 2000-10-12  Martin Buchholz  <martin@xemacs.org>
5745
5746         * input-method-xlib.c: Warning suppression.
5747
5748 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
5749
5750         * mule-ccl.c: Sync up with Emacs 21.0.90.
5751         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
5752         Do nothing.
5753         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
5754         Likewise.
5755         (ccl_driver[WriteMultibyteChar2]): Bug fix.
5756         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
5757         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
5758         leading char belongs to official 2-dimensional charset.
5759         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
5760         write the given character as is.  Otherwise,
5761         if it is a multibyte char, convert it by
5762         non_ascii_set_charptr_emchar, then write it.
5763         (CCL_WRITE_STRING): Likewise.
5764         (ccl_get_compiled_code): New function.
5765         (setup_ccl_program): When ccl_prog is invalid,
5766         return -1.
5767         (Fregister_code_conversion_map): New function.
5768         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
5769
5770         * mule-ccl.h: Sync up with Emacs 21.0.90.
5771         (Fregister_ccl_program): export it.
5772
5773         * redisplay-msw.c (separate_textual_runs):
5774         If ccl program is not valid, don't do ccl conversion.
5775
5776         * redisplay-x.c (separate_textual_runs): Ditto.
5777
5778         * file-coding.c (Fmake_coding_system):
5779         When type is ccl and value is vector, register it
5780         with a proper symbol.  And checks whether the
5781         given ccl program is valid.
5782         (mule_decode): When calling ccl_driver, if src indicates
5783         NULL pointer, set an empty string instead.
5784         (mule_encode): Likewise.
5785
5786 2000-10-11  Martin Buchholz  <martin@xemacs.org>
5787
5788         The following large batch of changes gets us back to a state of
5789         C++ compilability.  Extbyte is now a char, which means that
5790         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
5791
5792         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
5793
5794         * sound.c (Fplay_sound): Type correctness.
5795
5796         * select-x.c (hack_motif_clipboard_selection): Type correctness.
5797         (x_get_window_property): Type correctness.
5798         (receive_incremental_selection): unsigned char ==> Extbyte
5799         (selection_data_to_lisp_data): unsigned char ==> Extbyte
5800         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
5801         (Fx_store_cutbuffer_internal): Type correctness.
5802
5803         * process-unix.c (try_to_initialize_subtty): Type correctness.
5804
5805         * objects-x.c (x_print_color_instance): Type correctness.
5806         (x_print_font_instance): Type correctness.
5807         (x_list_fonts): SExtbyte ==> Extbyte.
5808         (valid_x_font_name_p): SExtbyte ==> Extbyte.
5809         (x_find_charset_font): SExtbyte ==> Extbyte.
5810         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
5811         (truename_via_XListFonts): SExtbyte ==> Extbyte.
5812         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
5813         Use bufbyte_strcmp.
5814
5815         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
5816         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
5817         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
5818         (BYTE_C0_P): Use bit ops for char-signedness safety.
5819         (BYTE_C1_P): Use bit ops for char-signedness safety.
5820         (CHARSET_BY_LEADING_BYTE):
5821         (CHARSET_BY_ATTRIBUTES):
5822         Always use inline function.
5823         Use type_checking_assert.
5824         Hide chlook.
5825
5826         * mule-charset.c (non_ascii_charptr_copy_char):
5827         Modify to work with both ASCII and non-ASCII characters.
5828         Improve docs and variable names.
5829         Replace over-clever fall-through switch with a simple loop.
5830         (Lstream_get_emchar_1):
5831         Replace over-clever fall-through switch with a simple loop.
5832
5833         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5834         Warning suppression.
5835
5836         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
5837         the return value of Lstream_getc, which could be EOF as well.
5838
5839         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
5840
5841         * lisp.h: Make Extbyte a char, not unsigned char, so that external
5842         APIs can be used on Extbytes without casts.  Risky!
5843         (SExtbyte): Remove.
5844         (UExtbyte): Remove.
5845
5846         * input-method-xlib.c (XIM_init_device):
5847         Use Xlib.h instead of IntrinsicP.h.
5848         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
5849         which will break in X11R7.
5850         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
5851         to call XRegisterIMInstantiateCallback with correct types.
5852
5853         * gui-x.c (button_item_to_widget_value): Type correctness.
5854
5855         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
5856
5857         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
5858         (xbm_instantiate_1): Type correctness.
5859         (BUILD_GLYPH_INST):  Type correctness.
5860
5861         * fileio.c (Fsubstitute_in_file_name): Type correctness.
5862
5863         * file-coding.c:
5864         (decode_coding_sjis):
5865         (decode_coding_big5):
5866         (decode_coding_ucs4):
5867         (decode_coding_utf8):
5868         (decode_coding_iso2022):
5869         (decode_coding_no_conversion):
5870         Make all decoding functions take an Extbyte * arg.
5871         (encode_coding_sjis):
5872         (encode_coding_big5):
5873         (encode_coding_ucs4):
5874         (encode_coding_utf8):
5875         (encode_coding_iso2022):
5876         (encode_coding_no_conversion):
5877         Make all encoding functions take a Bufbyte * arg.
5878         Use size_t instead of unsigned int for memory sizes.
5879         Only cast to unsigned char whenever dereferencing Extbyte *.
5880
5881         * doc.c (unparesseuxify_doc_string): Type correctness.
5882
5883         * console-x.c (split_up_display_spec):
5884         Rewrite without using details of internal string representation.
5885         (x_semi_canonicalize_device_connection): Type correctness.
5886
5887         * config.h.in:
5888         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
5889         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
5890         (HAVE_XFREE386): Removed.
5891
5892         * buffer.h (DEC_CHARPTR): `const' correctness.
5893         (bufbyte_strcmp): New.
5894         (bufbyte_memcmp): New.
5895
5896         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
5897
5898         * buffer.h (XCHAR_OR_CHAR_INT):
5899         Always use inline function.
5900         Remove redundant type checking assert() - XINT will abort quite nicely.
5901
5902 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5903
5904         * search.c (Freplace_match): Set newtext to an empty string.
5905
5906 2000-10-10  Martin Buchholz  <martin@xemacs.org>
5907
5908         * s/decosf1-3.h: Remove #include of stropts.h
5909         * s/ptx.h: Remove #include of stropts.h
5910         * s/usg5-4.h: Remove #include of stropts.h
5911         * sysproc.h:
5912         * config.h.in:
5913         Use stropts.h, not sys/stropts.h.
5914         Use strtio.h, not sys/strtio.h.
5915
5916 2000-10-04  Martin Buchholz <martin@xemacs.org>
5917
5918         * XEmacs 21.2.36 is released.
5919
5920 2000-09-21  Andy Piper  <andy@xemacs.org>
5921
5922         * glyphs-x.c (x_redisplay_widget): make sure non-structural
5923         changes still involve copying the widget tree.
5924         (update_widget_face): make sure a change is register in the widget
5925         tree. Call update_tab_widget_face appropriately.
5926         (update_tab_widget_face): ditto.
5927         (x_tab_control_redisplay): make sure non-structural changes still
5928         involve copying the widget tree.
5929
5930 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
5931
5932         * lread.c (locate_file): Check the path element is non-nil.
5933
5934 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5935
5936         * lisp.h: Warning suppression for SCO compilers.
5937
5938         * redisplay-tty.c (reset_tty_modes): Fix crash.
5939         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
5940
5941 2000-09-27  Martin Buchholz  <martin@xemacs.org>
5942
5943         Big signal/process handling overhaul.  Bugs fixed:
5944         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
5945         M-x comint-kill-subjob should work for both values nil and t of
5946         process-connection-type. It was broken on most platforms.
5947         Testing on Irix and Cygwin still needed.  Other plaforms tested.
5948         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
5949         * process-unix.c: Signal/Process handling overhaul.
5950         (pty_name): make 64 bytes, as `expect' does, for paranoia.
5951         (allocate_pty): Use all available modern methods of allocating
5952         ptys, falling back to old style BSD allocation as a last resort.
5953         Use allegedly more secure Unix98 pty allocation by default.
5954         (allocate_pty_the_old_fashioned_way): New. the last resort.
5955         (unix_create_process): Push ptem, ldterm, ttcompat where
5956         available.  Autoconfiscate.
5957         (try_to_initialize_subtty): New.
5958         (unix_kill_child_process): Proper signal handling for ptys on most
5959         platforms, using special knowledge of AIX, BSD, etc...
5960         (unix_create_process): Always disconnect_controlling_terminal() for
5961         subprocesses, whether using ptys or not.
5962         * process.h: Remove old getpt-dependent PTY code.
5963         * process.c (Fprocess_send_signal): New, obvious generic function.
5964         (decode_signal): New.
5965         (Finterrupt_process):
5966         (Fkill_process):
5967         (Fquit_process):
5968         (Fstop_process):
5969         (Fcontinue_process):
5970         (Fsignal_process): Use decode_signal.
5971         (process_send_signal):
5972         Many docstring corrections.
5973         Allow any signal to be sent to a process object.
5974         * config.h.in: Add symbols for big signal/process overhaul.
5975         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
5976         * sysproc.h: Include process-related headers, where available:
5977         sys/stropts.h sys/strtio.h pty.h libutil.h
5978         * s/irix4-0.h:
5979         * s/irix5-0.h:
5980         * s/cygwin32.h:
5981         * s/gnu.h:
5982         * s/linux.h:
5983         * s/hpux.h:
5984         * s/aix3-1.h:
5985         Remove old S&M pty stuff.
5986         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
5987         * systty.h: Simplify cpp hackery, improve comments.
5988         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
5989
5990         * editfns.c (Fformat_time_string):
5991         Be a little more paranoid with the return value of ctime.
5992
5993         * fileio.c (check_executable):
5994         (check_writable):
5995         Use symbolic constants X_OK, W_OK.
5996
5997         * console-x.c (split_up_display_spec): Fix a warning.
5998
5999 2000-10-02  Martin Buchholz  <martin@xemacs.org>
6000
6001         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
6002         * ntproc.c (sys_spawnve): make_string ==> build_string
6003         Small clarity improvements.
6004
6005 2000-09-30  Martin Buchholz  <martin@xemacs.org>
6006
6007         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
6008
6009         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
6010
6011         * config.h.in (HAVE_STRCASECMP): Remove.
6012
6013 2000-09-29  Martin Buchholz  <martin@xemacs.org>
6014
6015         * redisplay-output.c (redisplay_output_pixmap):
6016         Cleaner and possibly more 64-bit correct code.
6017
6018 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
6019
6020         * dumper.c (pdump_load_finish): move restoration of
6021         `noninteractive1' to emacs.c (main_1).
6022         * emacs.c (main_1): protect LISP-visible command-line flags
6023         from pdump_load().
6024
6025 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
6026
6027         * Makefile.in.in (versionclean):  Use EXE_TARGET and
6028         DUMP_TARGET instead of literal program names.
6029
6030 2000-09-20  Martin Buchholz  <martin@xemacs.org>
6031
6032         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
6033
6034 2000-09-19  Martin Buchholz  <martin@xemacs.org>
6035
6036         * *: Spelling mega-patch
6037
6038 2000-09-19  Martin Buchholz  <martin@xemacs.org>
6039
6040         * fns.c (bad_bad_turtle):
6041         Delete "Eek!" comment, since we fixed the bug to which it refers.
6042
6043 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6044
6045         * alloca.c: Replace REGISTER with register.
6046
6047 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
6048
6049         * file-coding.c (ucs_to_char): Use countof.
6050
6051 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6052
6053         * file-coding.c: (ucs_to_char):
6054         (complex_vars_of_file_coding):
6055         Use countof instead of sizeof.
6056         Use CHECK_NATNUM instead of CHECK_INT.
6057
6058         * sysdep.c (strcasecmp): Remove.
6059         * device-x.c (ascii_strcasecmp): New.
6060         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
6061         Avoid using non-standard non-portable strcasecmp.
6062
6063 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6064
6065         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
6066         * font-lock.c: remove reference to emacsfns.h.
6067         * search.c: small doc improvement.
6068         * event-Xt.c: correct file names in comments.
6069         * console-x.h Correct file names in comments.
6070         * frame.c: Correct file names in comments.
6071         * event-stream.c: remove Energize from comments.
6072
6073 2000-09-15  Martin Buchholz  <martin@xemacs.org>
6074
6075         * symeval.h (DEFERROR_STANDARD):
6076         (DEFERROR):
6077         (DEFSYMBOL):
6078         (DEFSYMBOL_NO_DUMP):
6079         (DEFSYMBOL_MULTIWORD_PREDICATE):
6080         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
6081         (DEFKEYWORD):
6082         The construct &##name is not sensible C.
6083         Fixes compilation errors with Unixware native compiler.
6084
6085 2000-09-14  Martin Buchholz  <martin@xemacs.org>
6086
6087         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
6088         (next_frame_internal): Removed.  We now just have next_frame.
6089         (next_frame):
6090         Write a simpler and cleaner one-pass algorithm.
6091         Remove called_from_delete_device arg and #ifdefed-out code.
6092         (previous_frame):
6093         Renamed from prev_frame.  Update callers.
6094         Cleaned up to have an analogous implementation to next_frame.
6095         (other_visible_frames_internal): Remove the
6096         called_from_delete_device bogus arg, and hence, remove this
6097         function.  Just use other_visible_frames().
6098
6099         * window.c (Fnext_window):
6100         Prettify docstring.
6101         Since next_frame() is guaranteed to return a frame, remove check
6102         for nil inserted in previous patch.
6103         (Fprevious_window):
6104         Prettify docstring.
6105         Make code look more like Fnext_window.
6106         (window_loop):
6107         Respect the `console' arg when iterating through windows.
6108         Fixes bug: (get-buffer-window buffer t device) not respecting
6109         the `device' arg.
6110         This function needs more work, as others have pointed out.
6111
6112         * frame.h: Rename prev_frame to previous_frame.
6113         device_matches_console_spec no longer takes a `frame' arg.
6114
6115         * s/gnu.h:
6116         * s/linux.h:
6117         * s/hpux.h:
6118         Use EMACS_BLOCK_SIGNAL instead of sigblock.
6119         From "Golubev I. N." <gin@mo.msk.ru>.
6120
6121         * make-src-depend: Fix typo.
6122
6123 2000-09-13  Martin Buchholz  <martin@xemacs.org>
6124
6125         * window.c (Fnext_window):
6126         next_frame() might return nil, not a frame.
6127         Fixes this crash:
6128         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
6129
6130         * frame.c (next_frame_internal):
6131         We've passed a frame if we've passed its device.
6132         Fixes this crash:
6133         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
6134 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
6135
6136 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6137
6138         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6139         Allow option to suppress accelerators in menu/dialog items.
6140         (populate_or_checksum_helper): Pass dialog title through above.
6141
6142 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6143
6144         * event-msw.c (mswindows_key_to_emacs_keysym):
6145         Add "pause" key, fix "menu" key.
6146
6147 2000-09-09  Martin Buchholz  <martin@xemacs.org>
6148
6149         * eval.c (reinit_vars_of_eval):
6150         Increase max_lisp_eval_depth to 1000,
6151         required for thai-xtis.el to byte-compile under some circumstances.
6152
6153 2000-09-04  Martin Buchholz  <martin@xemacs.org>
6154
6155         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
6156         From Kenichi Handa.
6157
6158 2000-09-01  Martin Buchholz  <martin@xemacs.org>
6159
6160         * make-src-depend: Make the generated Makefiles smaller.
6161
6162         * s/hpux.h (SETUP_SLAVE_PTY):
6163         Provide a %d in the format string for the errno argument.
6164
6165         * editfns.c (Ftemp_directory):
6166         Warning fix.
6167         Avoid buffer overrun on very long file name.
6168
6169         * input-method-xlib.c (XIM_init_device):
6170         6th parameter of XRegisterIMInstantiateCallback has different
6171         pointer types on different OSes, so simply cast to (void *).
6172
6173         * unexhp9k800.c: Warning fixes.  Fiddly changes.
6174
6175         * sysdll.c (dll_open):
6176         shl_load will hang hard if passed a NULL filename.
6177         Simply return NULL for compatibility with dlopen.
6178         * sysdll.c: Conform to XEmacs coding standards.
6179
6180         * sysdep.c (get_pty_max_bytes):
6181         Support pty input lines longer than 512 bytes on HP-UX 10.20.
6182
6183 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6184
6185         * tooltalk.c: Add #include <syssignal.h>
6186
6187 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
6188
6189         * s/hpux.h: Don't use undefined function sigunblock().
6190
6191 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6192
6193         * config.h.in: Add HAVE_BALLOON_HELP.
6194         * emacs.c: Use HAVE_BALLOON_HELP.
6195         * Makefile.in.in (x_objs):
6196         Make Balloon Help conditional on finding shape.h.
6197
6198 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
6199
6200         * syntax.c (regex_emacs_buffer_p): New variable.
6201         * syntax.h (regex_emacs_buffer_p): extern.
6202         * search.c (looking_at_1):
6203         (string_match_1):
6204         (fast_string_match):
6205         (search_buffer): Set regex_emacs_buffer_p.
6206         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
6207         when before_dot, at_dot, after_dot.
6208
6209 2000-08-23  Andy Piper  <andy@xemacs.org>
6210
6211         * gui-x.c (popup_selection_callback): Only set action_occurred
6212         when we really have an image instance.
6213         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
6214
6215 2000-08-23  Andy Piper  <andy@xemacs.org>
6216
6217         * gui-msw.c (mswindows_handle_gui_wm_command): set
6218         action_occurred.
6219         * gui-x.c (popup_selection_callback): ditto.
6220
6221         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
6222         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
6223         (struct Lisp_Image_Instance): add action_occurred flag.
6224
6225         * glyphs.c (redisplay_subwindow): use action_occurred flag.
6226         (image_instance_changed): ditto.
6227         (reset_frame_subwindow_instance_cache): only unmap windows - do
6228         not remove them from the cache also.
6229
6230         * glyphs-widget.c (tab_control_update): better debug.
6231         (progress_gauge_update): ditto.
6232         (layout_update): ditto.
6233         (layout_instantiate): ditto.
6234         (tab_control_order_only_changed): cope with null pending items.
6235
6236         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
6237         debug. Force selection of an item when an action occurred. Cope
6238         with null pending_items.
6239         (mswindows_progress_gauge_redisplay): better debug.
6240         * glyphs-x.c (x_tab_control_redisplay): ditto.
6241
6242         * redisplay.c (redisplay_frame): reset the frame cache if the
6243         frame is garbaged.
6244
6245         * window.c (Fset_window_configuration): potentially re-enable
6246         frame cache reset.
6247         (window_unmap_subwindows): need to finalize instances here since
6248         it is only used in mark_window_as_deleted.
6249
6250 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
6251
6252         * nas.c (SndOpenDataForReading):
6253         nas.c (WaveOpenDataForReading):
6254         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
6255         Somehow escaped from the 2000-08-14 patch.
6256
6257 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6258
6259         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
6260         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
6261
6262 2000-08-21  Andy Piper  <andy@xemacs.org>
6263
6264         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
6265         window if it is not already displayed.
6266
6267         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
6268         it is not already displayed.
6269
6270         * window.c (Fset_window_configuration): don't reset the frame
6271         cache.
6272
6273         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
6274         instances from the frame cache if we are actually finalizing them.
6275         (reset_frame_subwindow_instance_cache): reset frame cache only
6276         after unmapping everything.
6277         (map_subwindow): set displayed flag after mapping.
6278
6279 2000-08-21  Martin Buchholz  <martin@xemacs.org>
6280
6281         * data.c (indirect_function):
6282         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
6283
6284         * eval.c (function_argcount):
6285         Use original function when signaling errors.
6286
6287 2000-08-18  Andy Piper  <andy@xemacs.org>
6288
6289         * frame.c (delete_frame_internal): use new
6290         free_frame_subwindow_instances name.
6291
6292         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
6293         (add_tab_item): make return type correct.
6294         (mswindows_tab_control_instantiate): assert index of tab.
6295         (mswindows_tab_control_redisplay): Re-code to use
6296         gui_item_equal_sans_selected and gui_item_list_find_selected.
6297
6298         * glyphs-widget.c (tab_control_update): Correct comment.
6299
6300         * window.c (window_unmap_subwindows): use new
6301         unmap_subwindow_instance_cache_mapper.
6302         (window_unmap_subwindows_cache_mapper): deleted.
6303         (Fset_window_configuration): comparisons should now be with
6304         EQ. Preserve the subwindow instance cache across configuration
6305         changes.
6306         (allocate_window): ditto.
6307         (make_dummy_parent): ditto.
6308
6309         * glyphs.c (free_frame_subwindow_instances): rename from
6310         free_frame_subwindow_instance_cache. finalize all instances rather
6311         than just those in the display cache.
6312         (finalize_all_subwindow_instances): walk windows unmapping and
6313         finalizing subwindows.
6314         (unmap_subwindow_instance_cache_mapper): moved from
6315         window.c. Allow finalization as well as unmapping.
6316
6317         * gui.c (gui_item_list_find_selected): new function.
6318
6319         * gui.h (gui_item_list_find_selected): declare.
6320
6321         * glyphs-x.c (x_tab_control_redisplay): pick tab
6322         explicitly. Re-code to use gui_item_equal_sans_selected and
6323         gui_item_list_find_selected.
6324
6325         * glyphs-x.h: add lwlib-utils.h
6326
6327         * buffer.c (Frecord_buffer): undo previous change.
6328
6329 2000-08-09  Vin Shelton  <acs@xemacs.org>
6330
6331         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
6332         possible.  Create temporary files more securely.  The patch was
6333         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
6334         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
6335         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
6336         for details.
6337
6338 2000-08-07  Ben Wing  <ben@xemacs.org>
6339
6340         * getloadavg.c: remove duplicate (and windows-breaking)
6341         includes of fcntl.h and sys/file.h.
6342
6343         * nt.c: remove duplicate getloadavg() definition.
6344
6345         * sysdll.h (Qdll_filename_encoding): add missing stand-in
6346         encodings.
6347
6348 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6349
6350         * eval.c (function_argcount): If function needs to be autoloaded
6351         actually use the loaded definition.
6352         GCPRO function.
6353
6354 2000-08-05  Ben Wing  <ben@xemacs.org>
6355
6356         * getloadavg.c: add prototype for getloadavg().  remove
6357         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
6358         of the code).  remove duplicate header includes.
6359
6360         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
6361
6362         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
6363         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
6364         useful load average.
6365
6366         * alloc.c (reinit_alloc_once_early): removed references to
6367         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
6368         the lisp vars are the only things referencing the malloc_sbrk_*
6369         vars, and they were already if 0'd out.  these vars only exist
6370         in the older malloc.c, which is basically unused, and they're
6371         only for informational purposes.
6372
6373         * m\*.h: removed useless VIRT_ADDR_VARIES.
6374
6375         * m\powerpc.h: removed stray NO_ARG_ARRAY.
6376
6377 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
6378
6379         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
6380         color if the image is a mono pixmap.
6381
6382 2000-07-30  Ben Wing  <ben@xemacs.org>
6383
6384         * Makefile.in.in (release):
6385         Remove stray @.
6386
6387         * buffer.c (directory_is_current_directory):
6388         * dired-msw.c (mswindows_get_files):
6389         * dired.c:
6390         * dired.c (Fdirectory_files):
6391         * dired.c (file_name_completion_stat):
6392         * dired.c (Ffile_attributes):
6393         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
6394         preprocessor tricks, to avoid problems on some machines
6395         (e.g. SCO).
6396
6397         * callproc.c (egetenv): GC docs.
6398
6399         * console-msw.h:
6400         * console-msw.h (struct mswindows_dialog_id):
6401         * lrecord.h (lrecord_type):
6402         New object for use with MSW dialogs.
6403
6404         * console.h (struct console_methods):
6405         New enable/disable frame methods, for proper modal dialogs.
6406
6407         * device-msw.c (msprinter_default_printer): Fix to follow
6408         proper Mule conventions.
6409
6410         * device-msw.c:
6411         * device-msw.c (signal_open_printer_error):
6412         * device-msw.c (msprinter_init_device):
6413         * device-msw.c (ensure_not_printing):
6414         * device-msw.c (plist_get_margin):
6415         * device-msw.c (Fmsprinter_select_settings):
6416         * device-msw.c (finalize_devmode):
6417         * device-msw.c (Fmsprinter_settings_despecialize):
6418         * device-msw.c (signal_enum_priner_error):
6419         * extents.c (decode_extent):
6420         * extents.c (decode_map_extents_flags):
6421         * extents.c (decode_extent_at_flag):
6422         * extents.c (Fextent_at):
6423         * extents.c (Fextents_at):
6424         * extents.c (symbol_to_glyph_layout):
6425         [[[[2]]]] Use structured errors.
6426
6427         * dialog-msw.c:
6428         * dialog-msw.c (mswindows_is_dialog_msg):
6429         * dialog-msw.c (mark_mswindows_dialog_id):
6430         * dialog-msw.c (dialog_proc):
6431         * dialog-msw.c (handle_question_dialog_box):
6432         * dialog-msw.c (syms_of_dialog_mswindows):
6433         Define new object to clean up marking; use it as a dialog identifier.
6434         Call new delete-dialog-box-hook.
6435
6436         * dialog-x.c (dbox_selection_callback):
6437         * dialog-x.c (dbox_descriptor_to_widget_value):
6438         * dialog-x.c (x_make_dialog_box_internal):
6439         Call new delete-dialog-box-hook.
6440         Return an id.
6441
6442         * dialog.c:
6443         * dialog.c (syms_of_dialog):
6444         * dialog.c (vars_of_dialog):
6445         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
6446
6447         * eval.c:
6448         * eval.c (signal_call_debugger):
6449         when noninteractive, output stack traces on the console instead
6450         of in a (never-seen) buffer.
6451
6452         * eval.c (signal_type_error):
6453         * eval.c (invalid_argument_2):
6454         * lisp.h:
6455         new funs for use w/structured errors.
6456
6457         * event-Xt.c:
6458         * event-Xt.c (x_to_emacs_keysym):
6459         * event-Xt.c (describe_event):
6460         * event-Xt.c (emacs_Xt_event_handler):
6461         * event-Xt.c (vars_of_event_Xt):
6462         * event-msw.c:
6463         * event-msw.c (mswindows_wnd_proc):
6464         * event-msw.c (vars_of_event_mswindows):
6465         rename {x,mswindows}-debug-events to debug-{}-events for
6466         consistency with other debug-foo variables.
6467
6468         * event-stream.c:
6469         document next-event more clearly.
6470
6471         * fileio.c (Ffile_name_directory):
6472         * fileio.c (Ffile_name_nondirectory):
6473         * fileio.c (Funhandled_file_name_directory):
6474         * fileio.c (file_name_as_directory):
6475         * fileio.c (Ffile_name_as_directory):
6476         * fileio.c (directory_file_name):
6477         * fileio.c (Fdirectory_file_name):
6478         * fileio.c (Fmake_temp_name):
6479         * fileio.c (Ffile_truename):
6480         * fileio.c (Fsubstitute_in_file_name):
6481         * fileio.c (expand_and_dir_to_file):
6482         * fileio.c (barf_or_query_if_file_exists):
6483         * fileio.c (check_executable):
6484         * fileio.c (Ffile_exists_p):
6485         * fileio.c (Ffile_writable_p):
6486         * fileio.c (Ffile_directory_p):
6487         * fileio.c (Ffile_regular_p):
6488         * fileio.c (Ffile_modes):
6489         * fileio.c (Ffile_newer_than_file_p):
6490         * fileio.c (Fverify_visited_file_modtime):
6491         * fileio.c (Fset_visited_file_modtime):
6492         * fileio.c (auto_save_1):
6493         (1). (2).
6494         fix up gcpro's.
6495
6496         * frame-msw.c:
6497         * frame-msw.c (mswindows_init_frame_1):
6498         * frame-msw.c (mswindows_enable_frame):
6499         * frame-msw.c (error_frame_unsizable):
6500         * frame-msw.c (msprinter_init_frame_1):
6501         * frame-msw.c (msprinter_init_frame_3):
6502         * frame-msw.c (console_type_create_frame_mswindows):
6503         (2).
6504         implement new enable/disable frame methods.
6505
6506         * frame-x.c:
6507         * frame-x.c (x_enable_frame):
6508         * frame-x.c (console_type_create_frame_x):
6509         implement new enable/disable frame methods.
6510
6511         * frame.c:
6512         * frame.c (Fdisable_frame):
6513         * frame.c (syms_of_frame):
6514         * frame.h (struct frame):
6515         implement new enable/disable frame methods/functions.
6516
6517         * general-slots.h:
6518         add initial-focus.
6519
6520         * glyphs-msw.c (mswindows_widget_instantiate):
6521         comment that initial-focus should be implemented.
6522
6523         * glyphs-widget.c:
6524         * glyphs-widget.c (check_valid_instantiator):
6525         * glyphs-widget.c (check_valid_orientation):
6526         * glyphs-widget.c (check_valid_tab_orientation):
6527         * glyphs-widget.c (check_valid_justification):
6528         * glyphs-widget.c (check_valid_border):
6529         * glyphs-widget.c (check_valid_callback):
6530         * glyphs-widget.c (check_valid_int_or_function):
6531         * glyphs-widget.c (check_valid_string_or_vector):
6532         * glyphs-widget.c (check_valid_item_list_1):
6533         * glyphs-widget.c (widget_validate):
6534         * glyphs-widget.c (combo_box_validate):
6535         * glyphs-widget.c (widget_instantiate):
6536         * glyphs-widget.c (syms_of_glyphs_widget):
6537         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
6538         * glyphs-widget.c (image_instantiator_combo_box):
6539         * glyphs-widget.c (image_instantiator_scrollbar):
6540         * glyphs-widget.c (image_instantiator_tab_control):
6541         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
6542         (2).
6543         support (unimplemented) keyword initial-focus.
6544         reindent long macros.
6545
6546         * glyphs-x.c (x_redisplay_widget):
6547         * glyphs-x.c (x_button_instantiate):
6548         * glyphs-x.c (x_button_redisplay):
6549         * glyphs-x.c (x_progress_gauge_instantiate):
6550         * glyphs-x.c (x_edit_field_instantiate):
6551         * glyphs-x.c (x_combo_box_instantiate):
6552         * glyphs-x.c (x_tab_control_instantiate):
6553         * glyphs-x.c (x_label_instantiate):
6554         * gui-x.c:
6555         * gui-x.c (button_item_to_widget_value):
6556         * gui-x.c (gui_items_to_widget_values_1):
6557         * gui-x.c (gui_item_children_to_widget_values):
6558         * gui-x.c (gui_items_to_widget_values):
6559         * gui-x.h:
6560         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6561         add new flag to gui-parsing routines to indicate whether
6562         accelerator specs should be supported.
6563
6564         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
6565
6566         * glyphs.h (struct Lisp_Image_Instance):
6567         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
6568         add initial-focus flag.
6569
6570         * gui.c:
6571         * gui.c (syms_of_gui):
6572         * gui.c (vars_of_gui):
6573         clean up menu-no-selection-hook.
6574
6575         * gui.h:
6576         support delete-dialog-box-hook.
6577
6578         * lread.c (Fload_internal):
6579         * lread.c (locate_file_in_directory_mapper):
6580         (1).
6581
6582         * lrecord.h:
6583         * lrecord.h (struct toolbar_button):
6584         * lrecord.h (syms_of_toolbar):
6585         document how to create a new object.
6586
6587         * menubar-msw.c (mswindows_char_is_accelerator):
6588         may be called on frames w/o menus.
6589
6590         * menubar.c (vars_of_menubar):
6591         clean up :filter docs.
6592
6593         * nt.c (readdir):
6594         * ntproc.c:
6595         (1).
6596
6597         * process-nt.c:
6598         * process-nt.c (validate_signal_number):
6599         * process-nt.c (signal_cannot_launch):
6600         * process-nt.c (nt_create_process):
6601         * process-nt.c (nt_send_process):
6602         * process-nt.c (nt_kill_child_process):
6603         * process-nt.c (nt_open_network_stream):
6604         * process-nt.c (syms_of_process_nt):
6605         (2).
6606         delete quote-handling.  call new lisp code that does it better.
6607
6608         * process-unix.c (connect_to_file_descriptor):
6609         * process-unix.c (allocate_pty):
6610         * process-unix.c (unix_send_process):
6611         * process-unix.c (unix_kill_child_process):
6612         * process-unix.c (unix_open_network_stream):
6613         * process-unix.c (unix_open_multicast_group):
6614         (1). (2).
6615
6616         * process.c:
6617         * process.c (Fstart_process_internal):
6618         (2).  need to canonicalize process path even if absolute.
6619
6620         * select-msw.c (symbol_to_ms_cf):
6621         * select-msw.c (ms_cf_to_symbol):
6622         * select-msw.c (cf_is_autofreed):
6623         * select-msw.c (mswindows_destroy_selection):
6624         * select.c:
6625         * select.c (syms_of_select):
6626         * select.h:
6627         support dibv5, fix bugs. (from Mike Alexander)
6628
6629         * select.c (Fget_selection_internal):
6630         * select.c (select_convert_out):
6631
6632         * sysdep.c:
6633         * sysdep.c (xemacs_stat):
6634         renamed.
6635
6636         * sysdep.c (mkdir):
6637         * sysdep.c (rmdir):
6638         but keep original stat() here because we provide encapsulation
6639         around these funs.
6640
6641         * sysfile.h:
6642         * sysfile.h (fstat):
6643         remove stat garbage.
6644
6645         * syswindows.h:
6646         fix X/MSW conflict.
6647         don't include tchar.h.  it's inappropriate because it makes
6648         compile-time distinctions when we want runtime distinctions.
6649         (we provide our own tchar replacements)
6650
6651         * toolbar.c:
6652         use default object printer for toolbar-button.
6653
6654         * unexcw.c:
6655         make sure we don't encapsulate.
6656
6657         * window.c (vars_of_window):
6658         emphasize that temp-buffer-show-hook is obsolete.
6659
6660 2000-08-05  Martin Buchholz  <martin@xemacs.org>
6661
6662         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
6663         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
6664
6665         * events.c (Fevent_timestamp_lessp):
6666         Not 64-bit clean.  Use EMACS_INT, not int.
6667
6668 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
6669
6670         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
6671         unsigned int and changed the last enum to
6672         lrecord_type_last_built_in_type.
6673         (lrecord_implementations_table): changed prototype to know how
6674         long the array is supposed to be.
6675         (lrecord_type_count): new unsigned int to keep track of the
6676         current number of lisp lrecord types.
6677         (DEFINE_EXTERNAL_LRECORD):
6678         (DECLARE_EXTERNAL_LRECORD): Added these two for external
6679         dynamic-modules to declare new lisp types. They are the same
6680         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
6681         int for each new type, and increment lrecord_type_count by 1.
6682
6683         * alloc.c (lrecord_implementations_table): Changed to reference
6684         lrecord_type_last_built_in_type for the size of the array.
6685         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
6686
6687 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
6688
6689         * glyphs.h (check_valid_item_list): Renamed from
6690         check_valid_item_list_1.
6691
6692 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
6693
6694         * select.c (Qselect_coerce): New.
6695         * select.c (Vselection_coercion_alist): New.
6696         * select.c (syms_of_select): Declare.
6697         * select.c (get-selection-internal): Use it.
6698         Use the new select-coerce functionality.
6699
6700         * select.c (select_coerce): New.
6701         * select.h (select_coerce): Declare.
6702         New function to coerce one type of data into another.
6703
6704 2000-08-03  Martin Buchholz  <martin@xemacs.org>
6705
6706         * callproc.c (Fcall_process_internal):
6707         (Fcall_process_internal):
6708         * process-unix.c (unix_create_process):
6709         Save and restore the value of errno, so that error messages are accurate.
6710
6711 2000-08-01  Martin Buchholz  <martin@xemacs.org>
6712
6713         * elhash.c (print_hash_table):
6714         Fix printing of hash tables to also use `key-and-value' instead of `t'.
6715         Prettify docstrings and indentation.
6716
6717 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
6718
6719         * window.c (Fwindow_pixel_edges): Subtract frame border and
6720         gutter size.
6721
6722 2000-07-31  Andy Piper  <andy@xemacs.org>
6723
6724         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
6725         will acknowledge the change.
6726
6727         * glyphs.h: declare tab_control_order_only_changed.
6728
6729         * glyphs-x.c (x_tab_control_redisplay): use
6730         tab_control_order_only_changed.
6731
6732         * glyphs-widget.c (tab_control_order_only_changed): new function.
6733
6734         * glyphs-msw.c (mswindows_tab_control_redisplay): use
6735         tab_control_order_only_changed.
6736
6737         * gui.c (gui_item_equal_sans_selected): new function.
6738         (gui_item_equal): use it.
6739
6740         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
6741         :properties in favor of :items..
6742
6743         * glyphs-widget.c (check_valid_item_list): rename from
6744         check_valid_item_list_1.
6745         (check_valid_item_list_1): renamed.
6746         (combo_box_validate): deprecate :properties in favor of :items.
6747         (widget_instantiate): ditto.
6748         (tab_control_update): ditto.
6749         (image_instantiator_combo_box): ditto.
6750         (image_instantiator_tree_view): ditto.
6751         (image_instantiator_tab_control): ditto.
6752         (layout_post_instantiate): remove dead code.
6753
6754         * print.c (debug_print_no_newline): only write to debugger if in
6755         WIN32_NATIVE.
6756
6757         * elhash.c (Fmake_hash_table): update doc string.
6758
6759         * event-msw.c (mswindows_wnd_proc): don't allow processing of
6760         messages whilst in GC. This at least stops XEmacs crashing but has
6761         the potential for wierd behaviour.
6762
6763 2000-07-31  Martin Buchholz  <martin@xemacs.org>
6764
6765         * config.h.in:
6766         Make existence of s&m files optional.
6767
6768         * s/bsd386.h: Remove HAVE_GETLOADAVG.
6769         * s/freebsd.h: Remove HAVE_GETLOADAVG.
6770         * s/gnu.h: Remove HAVE_GETLOADAVG.
6771         * s/netbsd.h: Remove HAVE_GETLOADAVG.
6772         * s/sol2.h: Remove HAVE_GETLOADAVG.
6773         * lisp.h: Remove getloadavg() declaration.
6774         * fns.c:
6775         Include <sys/loadavg.h> if available.
6776         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
6777         * config.h.in:  Group together getloadavg()-related macros.
6778         Use only configure-time tests to detect getloadavg().
6779
6780 2000-07-30  Martin Buchholz  <martin@xemacs.org>
6781
6782         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
6783
6784 2000-07-25  Andy Piper  <andy@xemacs.org>
6785
6786         * syswindows.h: add tchar.h for native builds.
6787
6788         * frame.c (syms_of_frame): remove set-glyph-image.
6789
6790         * general-slots.h: add Qset_glyph_image.
6791
6792         * glyphs-widget.c (layout_update): add domain arg to
6793         set-glyph-image.
6794         (syms_of_glyphs_widget): remove set-glyph-image.
6795
6796 2000-07-23  Ben Wing  <ben@xemacs.org>
6797
6798         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
6799         Vpopup_frame_list.
6800
6801 2000-07-22  Andy Piper  <andy@xemacs.org>
6802
6803         * symsinit.h: add syms_of_win32().
6804
6805         * gui-msw.c (syms_of_gui_mswindows): remove
6806         Fmswindows_shell_execute.
6807         (Fmswindows_shell_execute): moved to win32.c.
6808
6809         * emacs.c (main_1): add syms_of_win32 ().
6810
6811         * win32.c (init_potentially_nonexistent_functions): rewrite in
6812         compiler-friendly terms.
6813         (Fmswindows_shell_execute): move here from gui-msw.c.
6814         (syms_of_win32): new.
6815
6816         * device-msw.c (Fmswindows_printer_list): clean up args to
6817         EnumPrinters.
6818         Don't include tchar under cygwin or mingw.
6819         (msprinter_default_printer): make cygwin-friendly.
6820
6821 2000-07-21  Andy Piper  <andy@xemacs.org>
6822
6823         * glyphs-widget.c (image_instantiator_tree_view): use tab
6824         control's update function.
6825         (layout_property): new function. Retrieve items.
6826
6827         * glyphs-msw.c (mswindows_tree_view_redisplay): new
6828         function. Re-populate the tree view from the pending items.
6829
6830         * glyphs.c (instantiate_image_instantiator): Make sure the domain
6831         is designated the parent if the domain is an image instance. This
6832         is needed so that dirtiness can be cascade up the hierarchy and
6833         thus for layout children to be redisplayed correctly.
6834         (allocate_image_instance): rename glyph -> parent.
6835
6836         * redisplay.h: change redisplay_output_layout signature.
6837
6838         * redisplay-msw.c (mswindows_output_display_block): use domain
6839         arg.
6840
6841         * redisplay-x.c (x_output_display_block): use domain arg.
6842
6843 2000-07-10  Andy Piper  <andy@xemacs.org>
6844
6845         * window.c (Fset_window_configuration): add comment.
6846
6847         * redisplay-output.c (compare_runes):
6848         (redisplay_output_subwindow): redisplay rather than update subwindow.
6849         (redisplay_output_layout): ditto.
6850
6851         * redisplay-msw.c (mswindows_frame_output_end):
6852         (mswindows_frame_output_end): make defer window pos optional.
6853
6854         * lisp.h: add Flast.
6855
6856         * glyphs.h (struct image_instantiator_methods): add dest_mask top
6857         normalize method. Change update method to be for changed
6858         instantiators. Add redisplay method. Change signature of layout
6859         method.
6860         (struct Lisp_Image_Instance): add instantiator.
6861         (IMAGE_INSTANCE_INSTANTIATOR): new.
6862         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
6863         (XIMAGE_INSTANCE_INSTANTIATOR): new.
6864         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
6865
6866         * glyphs.c:
6867         (find_instantiator_differences): new function.
6868         (Fset_instantiator_property): new convenience function.
6869         (check_image_instance_structure): strictly check for vector
6870         instantiators.
6871         (normalize_image_instantiator): make non-static.
6872         (instantiate_image_instantiator): pass on dest_mask and use new
6873         signatures for image_instance_layout and friends.
6874         (mark_image_instance): mark the instantiator. Mark the subwindow
6875         face not the widget face.
6876         (image_instance_equal): add instantiator.
6877         (image_instance_hash): ditto.
6878         (allocate_image_instance): ditto.
6879         (Fset_image_instance_property): removed.
6880         (Fimage_instance_file_name): ditto.
6881         (Fcolorize_image_instance): ditto.
6882         (image_instance_layout): add offsets to be set.
6883         (update_image_instance): new function. update an image instance
6884         from its changed instantiator.
6885         (inherit_normalize): add dest_mask.
6886         (xbm_normalize): ditto.
6887         (xface_normalize): ditto.
6888         (xpm_normalize): ditto.
6889         (text_update): set_property -> update.
6890         (image_instantiate): use the glyph identity as a hash key, not the
6891         instantiator.
6892         (glyph_width): use new image_instance_layout signature.
6893         (glyph_ascent): ditto.
6894         (glyph_descent): ditto.
6895         (glyph_height): ditto.
6896         (glyph_query_geometry): ressurrect.
6897         (glyph_layout): ditto.
6898         (redisplay_subwindow): update -> redisplay.
6899         (syms_of_glyphs): add Fset_instantiator_property.
6900         (image_instantiator_format_create): set_property -> update.
6901
6902         * glyphs-x.c:
6903         (autodetect_normalize): add dest_maks to signature.
6904         (x_redisplay_subwindow): update -> redisplay.
6905         (x_redisplay_widget): ditto.
6906         (x_button_redisplay): ditto.
6907         (x_progress_gauge_redisplay): ditto.
6908         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
6909         stacking order.
6910         (console_type_create_glyphs_x): update -> redisplay.
6911         (image_instantiator_format_create_glyphs_x): ditto.
6912
6913         * glyphs-widget.c:
6914         (check_valid_instantiator): disallow glyphs in the instantiator,
6915         they must now be vectors.
6916         (check_valid_instantiator_list): ditto.
6917         (glyph_instantiator_to_glyph): use internal symbol rather than
6918         intern.
6919         (widget_update): renamed from widget_set_property. Call cascaded
6920         update methods.
6921         (redisplay_widget): renamed from update_widget.
6922         (widget_layout): image_instance_layout now takes position as well
6923         as size.
6924         (widget_normalize): ditto.
6925         (widget_instantiate): ditto.
6926         (tab_control_query_geometry) ditto.:
6927         (tab_control_update): renamed from tab_control_set_property.
6928         (progress_gauge_update): set_property -> update.
6929         (layout_normalize): rewrite so that child instantiators are
6930         normalized also.
6931         (layout_update): new function. Create glyphs from the normalized
6932         children and cope with any other layout keywords. We do not
6933         instantiate children here that will be take care of by
6934         redisplay_output_layout.
6935         (layout_instantiate): call layout_update and not much else.
6936         (layout_post_instantiate): not sure whether this is needed
6937         anymore.
6938         (layout_query_geometry): query glyph geometry rather than
6939         image_instance geometry.
6940         (layout_layout): set offsets from pass in parameters. Use glyph
6941         geometry and layout functions rather than image instance ones.
6942         (native_layout_layout): ditto.
6943         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
6944         (image_instantiator_widget): set_property -> update.
6945         (image_instantiator_buttons): ditto.
6946         (image_instantiator_progress_guage): ditto.
6947         (image_instantiator_tab_control): ditto.
6948         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
6949         (image_instantiator_layout): add update method.
6950
6951         * glyphs-msw.c (bmp_normalize):
6952         (mswindows_resource_normalize): add dest_mask so that it can be
6953         proprogated by layout_normalize.
6954         (begin_defer_window_pos): make optional because it may not be the
6955         right thing to do and it introduces differences with X.
6956         (mswindows_unmap_subwindow): ditto.
6957         (mswindows_map_subwindow): ditto.
6958         (mswindows_redisplay_subwindow): renamed from
6959         mswindows_update_subwindow.
6960         (mswindows_redisplay_widget): ditto.
6961         (mswindows_button_redisplay): renamed from
6962         mswindows_button_update. Update is now what the instantiation
6963         function does for a changed instantiator.
6964         (mswindows_progress_gauge_instantiate): set the progress value
6965         here if appropriate.
6966         (mswindows_tab_control_redisplay): cope with re-ordering of the
6967         members of the tab widget by simply selecting the new top
6968         widget. This makes things appear ok if you click on a tab.
6969         (mswindows_combo_box_instantiate): image_instance_layout now takes
6970         position as well as size.
6971         (mswindows_progress_gauge_redisplay): renamed from
6972         mswindows_progress_gauge_update.
6973         (console_type_create_glyphs_mswindows): fix update -> redisplay.
6974         (image_instantiator_format_create_glyphs_mswindows): ditto.
6975
6976         * glyphs-eimage.c (jpeg_normalize):
6977         (gif_normalize):
6978         (png_normalize):
6979         (tiff_normalize): add dest_mask so that it can be proprogated by
6980         layout_normalize.
6981
6982         * elhash.c:
6983         (print_hash_table):
6984         (hash_table_weakness_validate):
6985         (decode_hash_table_weakness):
6986         (Fhash_table_weakness):
6987         (Fhash_table_type):
6988         (syms_of_elhash): use Ben's naming scheme for hashtable types..
6989
6990         * console.h (struct console_methods): move update_* to
6991         redisplay_*.
6992
6993 2000-07-20  Ben Wing  <ben@xemacs.org>
6994
6995         * *.[ch] (XSETOBJ): remove unused middle argument.
6996         lisp-disunion.h: correct wrap_object() to one argument.
6997
6998 2000-07-15  Ben Wing  <ben@xemacs.org>
6999
7000         * s/cygwin32.h:
7001         * s/cygwin32.h (CYGWIN_CONV_PATH):
7002         Add missing logb prototype for v1.1.
7003         Use post-b20 names and alias to pre-b20 names when pre-b20.
7004
7005         * s/windowsnt.h: [5].
7006
7007 2000-07-15  Ben Wing  <ben@xemacs.org>
7008
7009         * Makefile.in.in (x_objs):
7010         * Makefile.in.in (sheap_objs):
7011         * Makefile.in.in (objs):
7012         added win32.o, cosmetic cleanups.
7013
7014         * alloc.c (Fmake_byte_code):
7015         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
7016         etc. macros which declare their own args now.
7017
7018         * alloc.c (syms_of_alloc):
7019         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
7020
7021         * buffer.c:
7022         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
7023
7024         * buffer.c (Fget_file_buffer):
7025         Fixed GCPRO problem.
7026
7027         * buffer.c (get_truename_buffer):
7028         Fixed comment about GC checking.
7029
7030         * buffer.c (syms_of_buffer):
7031         Undeclared those dedicated frame funs.
7032         [2].
7033
7034         * buffer.h:
7035         Define convenience macros for internal/external conversions.
7036         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
7037         and Qenvironment_variable_encoding for cleaner code.
7038
7039         * bufslots.h:
7040         Remove dedicated-frame; in lisp.
7041
7042         * bytecode.c (funcall_compiled_function):
7043         [1].
7044
7045         * bytecode.c (syms_of_bytecode):
7046         [2].
7047
7048         * console-msw.c:
7049         * console-msw.c (mswindows_show_console): Rewrote.
7050
7051         * console-msw.c (Fmswindows_debugging_output): New.
7052         Sends to OutputDebugString (special MSWin debugger interface).
7053
7054         * console-msw.c (Fmswindows_message_box):
7055         Fixed stupid bugs so it works when called from kill-emacs.
7056
7057         * console-msw.c (syms_of_console_mswindows):
7058         Declare Fmswindows_debugging_output.
7059
7060         * console-msw.h:
7061         New MSWin prototypes.
7062
7063         * console-msw.h (struct mswindows_frame):
7064         New entry last-click-mods for improved button-modifier support.
7065
7066         * console-msw.h (FRAME_MSWINDOWS_POPUP):
7067         New struct entry `popup' with corresponding accessor.
7068
7069         * console-x.c:
7070         * console-x.c (split_up_display_spec):
7071         * console-x.c (get_display_arg_connection):
7072         * console-x.c (x_semi_canonicalize_console_connection):
7073         * console-x.c (x_canonicalize_device_connection):
7074         [[[6]]]: Change char to more specific type.
7075         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
7076
7077         * console-x.c (x_semi_canonicalize_console_connection):
7078         * console-x.c (x_canonicalize_device_connection):
7079         [[[9]]]: Fix up error signalling to use new structured error system.
7080
7081         * console-x.h:
7082         [[[4]]]: Define codesys aliases:
7083         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
7084         Qx_color_name_encoding, Qx_display_name_encoding.
7085
7086         * console.h (struct console_methods):
7087         New method make_dialog_box_internal supersedes older
7088         popup_dialog_box method.
7089
7090         * data.c:
7091         Define many new errors, part of new structured errors.
7092
7093         * data.c (init_errors_once_early):
7094         * data.c (syms_of_data):
7095         [2].
7096
7097         * device-msw.c (mswindows_init_device):
7098         [[[5]]]: Cleanup to support NT 3.51.
7099
7100         * device-msw.c (decode_devmode): Cleanup.
7101
7102         * device-msw.c (mswindows_handle_print_setup_dialog_box):
7103         * device-msw.c (mswindows_handle_print_dialog_box):
7104         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7105         * device-msw.c (syms_of_device_mswindows):
7106         Delete the dialog box primitives recently introduced by Kirill and
7107         instead interface to general dialog box interface.
7108
7109         * device-x.c:
7110         * device-x.c (compute_x_app_name):
7111         * device-x.c (x_init_device):
7112         * device-x.c (Fx_valid_keysym_name_p):
7113         * device-x.c (Fx_set_font_path):
7114         [6].
7115         [7].
7116
7117         * device.h (wrap_device): New.
7118         First of its kind; meant to replace XSETDEVICE.
7119
7120         * dialog-msw.c: Many file-dialog symbols.
7121
7122         * dialog-msw.c (mswindows_register_popup_frame): New.
7123         * dialog-msw.c (mswindows_is_dialog_msg): New.
7124         For supporting kbd traversal in dialog boxes.
7125
7126         * dialog-msw.c (dialog_proc):
7127         Support hitting ESC in dialogs.
7128
7129         * dialog-msw.c (struct):
7130         Common dialog box errors.
7131
7132         * dialog-msw.c (handle_file_dialog_box): New.
7133         Add file dialog code.
7134
7135         * dialog-msw.c (handle_question_dialog_box):
7136         Redo existing code to support new question dialog syntax.
7137
7138         * dialog-msw.c (console_type_create_dialog_mswindows):
7139         We support new dialog console method.
7140
7141         * dialog-msw.c (syms_of_dialog_mswindows):
7142         * dialog-msw.c (vars_of_dialog_mswindows):
7143         New file dialog symbols, vars.
7144
7145         * dialog-x.c:
7146         * dialog-x.c (maybe_run_dbox_text_callback):
7147         * dialog-x.c (dbox_descriptor_to_widget_value):
7148         * dialog-x.c (x_make_dialog_box_internal):
7149         * dialog-x.c (console_type_create_dialog_x):
7150         Mule-ize entire file.
7151         Redo to support question dialog syntax.
7152         [6].
7153
7154         * dialog.c:
7155         * dialog.c (Fmake_dialog_box_internal):
7156         * dialog.c (syms_of_dialog):
7157         Kill old popup-dialog-box, replace with new primitive.
7158         Just call device method or signal error.
7159
7160         * eldap.c (Fldap_open):
7161         * eldap.c (Fldap_search_basic):
7162         * eldap.c (Fldap_add):
7163         * eldap.c (Fldap_modify):
7164         [1].
7165         [7].
7166
7167         * emacs.c:
7168         * emacs.c (make_arg_list_1):
7169         * emacs.c (make_arg_list):
7170         Mule-ize call to dll_init().
7171         [6].
7172         [8].
7173
7174         * emacs.c (make_argc_argv):
7175         * emacs.c (free_argc_argv):
7176         * emacs.c (init_cmdargs):
7177         * emacs.c (main_1):
7178         * emacs.c (Fkill_emacs):
7179         * emacs.c (Fdump_emacs):
7180         Update comments about what can be used in syms_* etc.
7181         Call init_win32() when necessary.
7182         Fix up MS Win dialog box in kill-buffer to actually work right.
7183         [7].
7184
7185         * eval.c:
7186         * eval.c (For):
7187         * eval.c (Fand):
7188         * eval.c (Fprogn):
7189         * eval.c (Fprog1):
7190         * eval.c (Fprog2):
7191         * eval.c (FletX):
7192         * eval.c (Flet):
7193         * eval.c (condition_case_3):
7194         * eval.c (Feval):
7195         * eval.c (function_argcount):
7196         * eval.c (funcall_lambda):
7197         [1].
7198
7199         * eval.c (type_error): New.
7200         * eval.c (maybe_type_error): New.
7201         * eval.c (continuable_type_error): New.
7202         * eval.c (maybe_continuable_type_error): New.
7203         * eval.c (type_error_with_frob): New.
7204         * eval.c (maybe_type_error_with_frob): New.
7205         * eval.c (continuable_type_error_with_frob): New.
7206         * eval.c (maybe_continuable_type_error_with_frob): New.
7207         New functions for use with structured errors.
7208
7209         * event-Xt.c:
7210         * event-Xt.c (x_event_to_emacs_event):
7211         Buttons are now modifiers too.
7212
7213         * event-Xt.c (emacs_Xt_current_event_timestamp):
7214         Implement new event method.
7215         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
7216
7217         * event-msw.c:
7218         * event-msw.c (ntpipe_shove_writer): [5].
7219         * event-msw.c (mswindows_enqueue_mouse_button_event):
7220         * event-msw.c (mswindows_drain_windows_queue):
7221         * event-msw.c (mswindows_wnd_proc): [7].
7222         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
7223         * event-msw.c (mswindows_modifier_state):
7224         Throughout: support new button modifiers.
7225
7226         * event-msw.c (emacs_mswindows_current_event_timestamp):
7227         Implement new event method.
7228         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
7229
7230         * event-stream.c:
7231         * event-stream.c (event_stream_current_event_timestamp): New.
7232         * event-stream.c (maybe_kbd_translate): New functionality.
7233         * event-stream.c (vars_of_event_stream):
7234         Document new kbd-translate-table functionality.
7235
7236         * event-stream.c (Fcurrent_event_timestamp): New.
7237         New primitive for use in fabricated events.
7238         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
7239
7240         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
7241
7242         * events.c:
7243         * events.c (Fmake_event):
7244         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
7245         [1].
7246         [9].
7247
7248         * events.c (format_event_object): fix gcc warnings.
7249
7250         * events.c (Fevent_timestamp): Document new primitives.
7251
7252         * events.c (TIMESTAMP_HALFSPACE): New.
7253
7254         * events.c (Fevent_timestamp_lessp): New.  New primitive for
7255         comparing timestamps correctly (half-space algorithm).
7256
7257         * events.c (Fevent_modifier_bits): Doc fix.
7258
7259         * events.c (Fevent_modifiers): Major doc addition.
7260         * events.c (event_x_y_pixel_internal): Typo fix.
7261         * events.c (syms_of_events): Declare new primitives.
7262
7263         * events.h:
7264         Update long comment for button modifiers, timestamps.
7265
7266         * events.h (struct event_stream):
7267         New current_event_timestamp method.
7268
7269         * extents.c:
7270         * extents.c (extent_in_region_p):
7271         * extents.c (decode_extent):
7272         * extents.c (Fset_extent_parent):
7273         * extents.c (decode_map_extents_flags):
7274         Fix gcc warnings.
7275         [9].
7276
7277         * extents.c (struct extent_at_arg):
7278         * extents.c (decode_extent_at_flag):
7279         * extents.c (extent_at_mapper):
7280         * extents.c (extent_at_bytind):
7281         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
7282         * extents.c (Fextents_at): New primitive. [9].
7283         * extents.c (symbol_to_glyph_layout): [9].
7284         Support new primitive `extents-at'.
7285
7286
7287         * extents.c (get_text_property_bytind):
7288         extent_at_bytind has another arg.
7289         [9].
7290
7291         * extents.c (syms_of_extents): New primitive.
7292
7293         * file-coding.c (Fmake_coding_system): [1].
7294         * file-coding.c (subsidiary_coding_system): fix gcc warning
7295         * file-coding.c (syms_of_file_coding): [2].
7296
7297         * fileio.c (Fexpand_file_name):
7298         * fileio.c (Fsysnetunam):
7299         * fileio.c (Ffile_exists_p):
7300         * fileio.c (Ffile_executable_p):
7301         * fileio.c (Fverify_visited_file_modtime):
7302         Clean up GCPROing.
7303
7304         * fileio.c (syms_of_fileio): [2].
7305
7306         * filelock.c (lock_file_1):
7307         * filelock.c (current_lock_owner):
7308         * filelock.c (lock_if_free):
7309         * filelock.c (lock_file):
7310         * filelock.c (unlock_file):
7311         Clean up GCPROing.
7312
7313         * fns.c (concat): Fix gcc warning.
7314
7315         * fns.c (Fmember):
7316         * fns.c (Fold_member):
7317         * fns.c (Fmemq):
7318         * fns.c (Fold_memq):
7319         * fns.c (memq_no_quit):
7320         * fns.c (Fassoc):
7321         * fns.c (Fold_assoc):
7322         * fns.c (Fassq):
7323         * fns.c (Fold_assq):
7324         * fns.c (assq_no_quit):
7325         * fns.c (Frassoc):
7326         * fns.c (Fold_rassoc):
7327         * fns.c (Frassq):
7328         * fns.c (Fold_rassq):
7329         * fns.c (rassq_no_quit):
7330         * fns.c (Fdelete):
7331         * fns.c (Fold_delete):
7332         * fns.c (Fdelq):
7333         * fns.c (Fold_delq):
7334         * fns.c (delq_no_quit):
7335         * fns.c (Fremassoc):
7336         * fns.c (Fremassq):
7337         * fns.c (remassq_no_quit):
7338         * fns.c (Fremrassoc):
7339         * fns.c (Fremrassq):
7340         * fns.c (remrassq_no_quit):
7341         * fns.c (Freverse):
7342         * fns.c (mapcar1):
7343         [1].
7344
7345         * frame-msw.c (mswindows_init_frame_1):
7346         * frame-msw.c (mswindows_delete_frame):
7347         Register popups with dialog code so keyboard traversing works.
7348
7349         * frame-tty.c (tty_raise_frame_no_select): [1].
7350
7351         * frame-x.c:
7352         * frame-x.c (x_set_frame_text_value):
7353         * frame-x.c (x_set_frame_properties):
7354         * frame-x.c (x_create_widgets):
7355         [7].
7356
7357         * frame.c:
7358         * frame.c (Fmouse_pixel_position): Minor doc fixes.
7359
7360         * frame.h (wrap_frame): New.
7361         Macro like wrap_device.
7362
7363         * general.c:
7364         * general.c (SYMBOL):
7365         * general.c (syms_of_general):
7366         Major reorg.  This is now just a wrapper and symbols themselves
7367         are listed in general-slots.h.
7368
7369         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
7370         * glyphs-msw.c (mswindows_resource_instantiate): [5].
7371
7372         * glyphs-msw.c (mswindows_native_layout_instantiate):
7373         Add DS_CONTROL so keyboard traversal will work.
7374
7375         * glyphs-widget.c:
7376         * glyphs-widget.c (syms_of_glyphs_widget):
7377         Move some symbols to general-slots.h.
7378
7379         * glyphs-x.c:
7380         * glyphs-x.c (xbm_instantiate_1):
7381         * glyphs-x.c (x_xbm_instantiate):
7382         * glyphs-x.c (x_xface_instantiate):
7383         * glyphs-x.c (autodetect_instantiate):
7384         * glyphs-x.c (cursor_font_instantiate):
7385         * glyphs-x.c (x_update_widget):
7386         * glyphs-x.c (x_widget_instantiate):
7387         * glyphs.c (bitmap_to_lisp_data):
7388         * glyphs.c (pixmap_to_lisp_data):
7389         [7].
7390
7391         * glyphs.c (syms_of_glyphs):
7392         [2].
7393
7394         * gui-x.c:
7395         * gui-x.c (print_widget_value):
7396         * gui-x.c (menu_separator_style_and_to_external):
7397         * gui-x.c (add_accel_and_to_external):
7398         * gui-x.c (button_item_to_widget_value):
7399         * gui-x.c (gui_items_to_widget_values_1):
7400         * gui-x.c (gui_items_to_widget_values):
7401         * gui-x.c (syms_of_gui_x):
7402         * gui-x.c (vars_of_gui_x):
7403         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
7404         [9].
7405
7406         * gui-x.h:
7407         Muleize, prototype changes matching gui-x.c.
7408
7409         * gui.c:
7410         * gui.c (separator_string_p):
7411         * gui.c (gui_item_add_keyval_pair):
7412         * gui.c (make_gui_item_from_keywords_internal):
7413         * gui.c (signal_too_long_error):
7414         * gui.c (parse_gui_item_tree_item):
7415         * gui.c (syms_of_gui):
7416         * gui.c (vars_of_gui):
7417         * gui.h:
7418         menu-no-selection-hook moved here (used by MSWin).
7419         Move some symbols to general-slots.h.
7420         [6].
7421         [9].
7422
7423         * insdel.c (get_buffer_pos_char):
7424         * insdel.c (get_buffer_range_char):
7425         Add GC comments.
7426
7427         * keymap.c (keymap_lookup_directly):
7428         * keymap.c (keymap_store):
7429         * keymap.c (ensure_meta_prefix_char_keymapp):
7430         * keymap.c (describe_map):
7431         * keymap.h:
7432         Support new button modifiers.
7433
7434         * lisp-disunion.h (wrap_object):
7435         * lisp-disunion.h (XSETOBJ):
7436         Rename make_obj to wrap_object.
7437
7438         * lisp-union.h:
7439         * lisp-union.h (make_int):
7440         * lisp-union.h (make_char):
7441         Support wrap_object.
7442
7443         * lisp.h:
7444         * lisp.h (LIST_LOOP):
7445         * lisp.h (EXTERNAL_LIST_LOOP):
7446         * lisp.h (LIST_LOOP_2):
7447         * lisp.h (EXTERNAL_LIST_LOOP_1):
7448         * lisp.h (EXTERNAL_LIST_LOOP_2):
7449         * lisp.h (EXTERNAL_LIST_LOOP_3):
7450         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
7451         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
7452         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
7453         * lisp.h (EXTERNAL_ALIST_LOOP_5):
7454         * lisp.h (EXTERNAL_ALIST_LOOP_6):
7455         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
7456         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
7457         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
7458         * lisp.h (struct Lisp_Symbol):
7459         * lisp.h (maybe_continuable_error_with_frob):
7460         Fix up section comments.
7461         Add new types for char to indicate usage.
7462         Delete symbols auto-generated from general-slots.h.
7463         Add prototypes for structured error functions.
7464         Add long comments describing looping macros and change interface
7465         so that lvalues are automatically declared.
7466         Add NO_DECLARE macro in case callers want to declare lvalues
7467         themselves.
7468
7469         * lread.c (read_syntax_error):
7470         * lread.c (continuable_read_syntax_error):
7471         * lread.c (read_structure):
7472         * lread.c (sequence_reader):
7473         * lread.c (read_list_conser):
7474         * lread.c (read_compiled_function):
7475         Rename syntax_error and continuable_syntax_error to avoid clash
7476         with same-named structured error functions.
7477
7478         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7479         * menubar-msw.c (populate_menu_add_item):
7480         * menubar-msw.c (populate_or_checksum_helper):
7481         [5].
7482         [9].
7483
7484         * menubar-x.c:
7485         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
7486         Mule-ize whole file.
7487
7488         * menubar.c (Fnormalize_menu_item_name): Add optimization.
7489
7490         * mule-charset.c (Fmake_charset):
7491         * mule-wnnfns.c (Fwnn_set_param):
7492         [1].
7493
7494         * ntproc.c (create_child):
7495         * ntproc.c (Fwin32_set_current_locale):
7496         Add comments portending doom.
7497
7498         * objects-msw.c:
7499         * objects-msw.c (old_font_enum_callback_2):
7500         * objects-msw.c (font_enum_callback_1):
7501         * objects-msw.c (mswindows_enumerate_fonts):
7502         [5].
7503
7504         * objects-x.c:
7505         * objects-x.c (allocate_nearest_color):
7506         * objects-x.c (x_parse_nearest_color):
7507         * objects-x.c (x_initialize_color_instance):
7508         * objects-x.c (x_print_color_instance):
7509         * objects-x.c (x_finalize_color_instance):
7510         * objects-x.c (x_valid_color_name_p):
7511         * objects-x.c (x_initialize_font_instance):
7512         * objects-x.c (x_print_font_instance):
7513         * objects-x.c (valid_x_font_name_p):
7514         * objects-x.c (truename_via_FONT_prop):
7515         * objects-x.c (truename_via_random_props):
7516         * objects-x.c (truename_via_XListFonts):
7517         * objects-x.c (x_font_truename):
7518         * objects-x.c (x_font_instance_truename):
7519         * objects-x.c (x_font_instance_properties):
7520         * objects-x.c (x_list_fonts):
7521         * objects-x.c (x_find_charset_font):
7522         Mule-ize entire file.
7523         [7].
7524
7525         * objects-x.h:
7526         Mule-verify.
7527
7528         * print.c:
7529         * print.c (std_handle_out_external):
7530         * print.c (debug_print_no_newline):
7531         * print.c (syms_of_print):
7532         Output to all debugger kinds in debug-print.
7533         Fix console-output code under MSWin to actually work.
7534
7535         * process-nt.c (send_signal):
7536         * process-nt.c (nt_create_process):
7537         Use newer Unicode macros.
7538
7539         * process-unix.c (unix_create_process):
7540         * process-unix.c (unix_canonicalize_host_name):
7541         * process-unix.c (unix_open_network_stream):
7542         [7].
7543
7544         * scrollbar-x.c:
7545         Mule-verify.
7546
7547         * search.c (syms_of_search):
7548         [2].
7549
7550         * select-msw.c (mswindows_destroy_selection):
7551         Use LIST_LOOP_2.
7552
7553         * select-x.c (symbol_to_x_atom):
7554         [7].
7555
7556         * select.c (syms_of_select):
7557         [2].
7558
7559         * sound.c (Fplay_sound_file):
7560         [7].
7561
7562         * specifier.c:
7563         * specifier.c (decode_specifier_type):
7564         * specifier.c (Fvalid_specifier_locale_type_p):
7565         * specifier.c (check_valid_locale_or_locale_type):
7566         * specifier.c (decode_locale):
7567         * specifier.c (decode_locale_type):
7568         * specifier.c (decode_locale_list):
7569         * specifier.c (check_valid_domain):
7570         * specifier.c (decode_specifier_tag_set):
7571         * specifier.c (Fcanonicalize_tag_set):
7572         * specifier.c (Fdefine_specifier_tag):
7573         * specifier.c (Fspecifier_tag_predicate):
7574         * specifier.c (check_valid_inst_list):
7575         * specifier.c (check_valid_spec_list):
7576         * specifier.c (decode_how_to_add_specification):
7577         * specifier.c (check_modifiable_specifier):
7578         * specifier.c (specifier_add_spec):
7579         * specifier.c (boolean_validate):
7580         * specifier.c (display_table_validate):
7581         [9].
7582
7583         * specifier.c (syms_of_specifier):
7584         Move some symbols to general-slots.h.
7585         [2].
7586
7587         * symbols.c:
7588         * symbols.c (Fmapatoms):
7589         * symbols.c (Fapropos_internal):
7590         Add GCPROs.
7591
7592         * symbols.c (set_default_buffer_slot_variable):
7593         * symbols.c (set_default_console_slot_variable):
7594         [1].
7595
7596         * symbols.c (defsymbol_massage_name_1):
7597         * symbols.c (defkeyword_massage_name):
7598         * symbols.c (deferror_1):
7599         * symbols.c (deferror):
7600         * symbols.c (deferror_massage_name_and_message):
7601         * symeval.h:
7602         * symeval.h (DEFSYMBOL):
7603         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
7604
7605         * symbols.c (syms_of_symbols):
7606         [2].
7607
7608         * symsinit.h:
7609         * symsinit.h (init_win32): New.
7610         Also new is syms_of_dialog_mswindows.
7611
7612         * syswindows.h:
7613         Add new Unicode macros, missing Cygwin wide-char functions,
7614         convenience conversion macros for Qmswindows_tstr, macros for
7615         encapsulating required MSWin <-> Cygwin filename conversions,
7616         prototype for dynamically-extracted (not in NT 3.51) functions.
7617
7618         * toolbar-x.c:
7619         Mule-verify.
7620
7621         * tooltalk.c (Fadd_tooltalk_message_arg):
7622         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
7623         * tooltalk.c (Fadd_tooltalk_pattern_arg):
7624         [7].
7625
7626         * tooltalk.c (syms_of_tooltalk):
7627         [2].
7628
7629         * unexnt.c:
7630         * unexnt.c (unexec):
7631         Fix up headers, declaration of unexec() to be more standard.
7632
7633 2000-07-20  Martin Buchholz  <martin@xemacs.org>
7634
7635         * offix.h: Revert change to guard macros - they're used in offix.c!
7636
7637 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7638
7639         * lisp.h: Defsubred Fdelete.
7640
7641         * console-msw.h:  (msprinter_default_printer): Added.
7642
7643         * console-msw.c (msprinter_canonicalize_console_connection):
7644         (msprinter_canonicalize_device_connection): Added.
7645
7646         * device-msw.c (msprinter_default_printer):
7647         (Fmswingows_get_default_printer):
7648         (signal_enum_priner_error):
7649         (Fmswingows_printer_list): Added.
7650
7651 2000-07-19  Martin Buchholz <martin@xemacs.org>
7652
7653         * XEmacs 21.2.35 is released.
7654
7655 2000-07-19  Martin Buchholz  <martin@xemacs.org>
7656
7657         * select-x.c (x_handle_selection_request):
7658         Text selected in xemacs and pasted into xterm failed to appear.
7659         Spelling fixes and cosmetic changes.
7660
7661 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7662
7663         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
7664         XEmacs frame (fix for doubling chars in dialog boxes).
7665
7666 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7667
7668         * select.c (select_convert_in, select_convert_out):
7669         Don't call intern() every time.
7670
7671         * select.c (Qselect_convert_in, Qselect_convert_out): New.
7672         * select.c (vars_of_select): Initialise them.
7673
7674 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7675
7676         * select.c (selection-coercible-types): New.
7677
7678         * select.c (own-selection-internal):
7679         * select.c (get-selection-internal):
7680         MULE bug fix - these should default to COMPOUND_TEXT and not
7681         STRING for MULE. I think.
7682
7683         * select.c (select_convert_out): Use selection-coercible-types
7684         to find types that we can attempt to perform coercions on.
7685
7686 2000-07-18  Martin Buchholz  <martin@xemacs.org>
7687
7688         * mule-wnnfns.c:
7689         * mule-canna.c:
7690         Add coding: cookie to identify encoding.
7691
7692         * mule-canna.c (CANNA_mode_keys): make static.
7693         Use proper prototypes, even for functions of no arguments.
7694         Remove external prototype for Fding().
7695
7696         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
7697
7698         * select.c (syms_of_select): Add missing DEFSUBR.
7699
7700 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7701
7702         * select.c (get_selection_internal, own_selection_internal):
7703         Make the type default to STRING, rather than placing a nil type
7704         into Vselection_alist.
7705
7706 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7707
7708         * gpmevent.c (tty_selection_exists_p):
7709         * gpmevent.c (tty_own_selection):
7710         Updated parameter lists.
7711
7712 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
7713
7714         * select.h (selection-alist): Removed declaration.
7715
7716         * select.h (get_local_selection):
7717         * select.c (get_local_selection):
7718         Made static.
7719
7720         * select.h (convert_selection): Removed declaration.
7721         * select.c (convert_selection): Removed.
7722         This function belongs in Lisp.
7723
7724         * select.h (select_convert_in): Declare.
7725         * select.h (select_convert_out): Declare.
7726         * select.c (select_convert_in): New.
7727         * select.c (select_convert_out): New.
7728         New conversion functions for other files to call.
7729
7730         * select.h (select_notify_buffer_kill): Declare.
7731         * select.c (select_notify_buffer_kill): New.
7732         New functions that get called from kill-buffer.
7733
7734         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
7735         X-specific lisp code.
7736
7737         * select.h: Declare some of the lisp-visible functions for
7738         external use.
7739
7740         * select.c (clean_local_selection_data): Removed. This was
7741         a disgusting function, and previously should have been in
7742         select-x.c in any case. The functionality is now provided
7743         in select-convert-from-integer (select.el).
7744
7745         * select.c (available-selection-types): Fixed stupidity where
7746         INTEGER and ATOM got added twice. Also add STRING when we see an
7747         extent.
7748
7749         * select.c (get-selection-internal): Removed symbol stripping. No
7750         longer causes conversion when data comes from the internal cache.
7751
7752         * select.c (syms_of_select): Added new functions.
7753
7754         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
7755         error checking - previously this called abort!
7756
7757         * select-x.c (x_own_selection): Changed comment.
7758
7759         * select-x.c (x_handle_selection_request): Use select_convert_out.
7760         Don't mess with selection-alist; it's an internal variable of select.c.
7761
7762         * select-x.c (x_get_foreign_selection): Use select_convert_in.
7763
7764         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
7765         rather than messing with selection-alist.
7766
7767         * select-msw.c (mswindows_get_foreign_selection):
7768         Use TO_INTERNAL_FORMAT rather than hacking.
7769
7770 2000-07-14  Martin Buchholz  <martin@xemacs.org>
7771
7772         * process-unix.c (unix_open_multicast_group):
7773         (unix_open_multicast_group): Remove useless casts.
7774
7775 2000-07-13  Martin Buchholz  <martin@xemacs.org>
7776
7777         * sound.c (Fplay_sound): Fix `unused variable' warning.
7778
7779         * emacs.c (main): Use correct type for _environ on SCO5.
7780
7781 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
7782
7783         * console.h (own_selection_method):
7784         * console.h (selection_exists_p_method):
7785         * console.h (available_selection_types_method): New.
7786         * console.h (register_selection_data_type_method): New.
7787         * console.h (selection_data_type_name): New.
7788
7789         * console-msw.h (mswindows_destroy_selection): Declare it.  New
7790         function & alist to track GlobalAlloc()'d handles that need
7791         releasing when the clipboard data gets replaced or emptied.
7792
7793         * event-msw.c (mswindows_wnd_proc): Call it.
7794
7795         * lisp.h, general.c (Qappend): New symbol representing a
7796         `how-to-add' mode.
7797
7798         * select.c (own-selection-internal):
7799         * select.c (selection-exists-p):
7800         * select.c (available-selection-types): New.
7801         * select.c (register-selection-data-type): New.
7802         * select.c (selection-data-type-name): New.  New functions to deal
7803         with device-specific selection data formats.
7804         * select.c (selection-converter-out-alist): Renamed.
7805         * select.c (selection-converter-in-alist): New.
7806         * select.c (selection-appender-alist): New.  Added new alists.
7807         * select.c (syms_of_select, vars_of_select): Added new symbols &
7808         variables.
7809         * select.c (get_local_selection): Split.
7810         * select.c: Removed spurious type checking - selections may now be
7811         of any type, not just strings.
7812         * select.c (own-selection-internal):
7813
7814         * select.h, select.c (convert_selection): New. Created
7815         convert_selection() function based on get_local_selection().
7816         * select.h, select.c (QCF_*): New symbols representing mswindows
7817         clipboard formats.
7818         * select.h, select.c (Qreplace_all, Qreplace_existing): New
7819         symbols representing `how-to-add' modes.
7820
7821         * select-msw.c (x_sym_p): New.
7822         * select-msw.c (symbol_to_ms_cf): New.
7823         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
7824         symbols & clipboard formats. Can also handle string names.
7825         * select-msw.c (mswindows_own_selection):
7826         * select-msw.c (mswindows_selection_exists_p):
7827         Added `data-type' parameter. Use it.
7828         * select-msw.c (mswindows_available_selection_types): New.
7829         * select-msw.c (mswindows_register_selection_data_type): New.
7830         * select-msw.c (mswindows_selection_data_type_name): New.
7831         * select-msw.c (mswindows_own_selection):
7832         * select-msw.c (mswindows_get_foreign_selection):
7833         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
7834         * select-msw.c (console_create_select_mswindows): Added new methods.
7835         * select-msw.c (mswindows_destroy_selection): New.
7836         * select-msw.c (Vhandle_alist): New list.
7837         * select-msw.c (mswindows_own_selection):
7838
7839         * select-x.c (x_own_selection):
7840         * select-x.c (x_selection_exists_p):
7841         * select-x.c: Added some comments about maybe using new
7842         functionality.
7843         * select-x.c (x_own_selection):
7844
7845         * specifier.c: Remove definition of Qappend (now in general.c)
7846         * specifier.c (syms_of_specifier): Remove Qappend.
7847
7848 2000-07-12  Martin Buchholz  <martin@xemacs.org>
7849
7850         * config.h.in: Add socklen_t.
7851
7852         * s/decosf4-0.h: No special compiler flags needed or desired.
7853         In particular, undefine _BSD for DEC OSF 4.0.
7854
7855 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7856
7857         * redisplay-msw.c (msprinter_frame_output_end): Added.
7858         (console_type_create_redisplay_mswindows): Referred the above.
7859
7860         * frame.c (setup_frame_without_minibuffer): Do not create a
7861         default minibuffer frame on a printer device.
7862
7863         * frame-msw.c (apply_dc_geometry): Added.
7864         (msprinter_start_page):
7865         (msprinter_init_frame_3):
7866         (msprinter_eject_page): Use it.
7867
7868         * console-msw.h (struct msprinter_frame): Added pix_left and top,
7869         and removed residual duplex and orientation properties.
7870
7871 2000-07-11  Martin Buchholz  <martin@xemacs.org>
7872
7873         * eval.c (function_argcount): Work around a DEC CC compiler bug.
7874
7875         * unexalpha.c: Remove system prototypes from C sources!
7876
7877 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
7878
7879         * eval.c: Remove references to M-x edit-options in DEFUNs for
7880         `defvar' and `defconst'.
7881
7882 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7883
7884         * config.h.in: Remove SMART_INCLUDE hackery.
7885
7886         PostgreSQL hacking:
7887         * config.h.in: Don't use SMART_INCLUDE.
7888
7889         * postgresql.h: Include libpq-fe.h here.  Fix typo.
7890         * inline.c: Simply #include "postgresql.h"
7891         * postgresql.c:
7892         - Don't use SMART_INCLUDE
7893         - Use simply "const".
7894         - Use standard doc string conventions.
7895         - Use correct type for result of PQstatus.
7896
7897 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7898
7899         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
7900
7901         C++ compilation changes.
7902         * config.h.in (EXTERN_C): Define.
7903         * config.h.in (not): This is also a C++ keyword.
7904         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
7905         * cm.c: Use EXTERN_C.
7906         * redisplay-tty.c: Use EXTERN_C.
7907         * sysdep.c: Use EXTERN_C.  Remove Gould support.
7908
7909 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7910
7911         * general.c: Remove duplicate definition for Qfunction.
7912
7913 2000-07-08  Ben Wing  <ben@xemacs.org>
7914
7915         * device-msw.c (msprinter_init_device):
7916         * device-msw.c (sync_printer_with_devmode):
7917         * device-msw.c (handle_devmode_changes):
7918         * device-msw.c (print_dialog_worker):
7919         * device-msw.c (Fmsprinter_apply_settings):
7920         * device-msw.c (hash_devmode):
7921         * device-msw.c (Fmsprinter_settings_despecialize):
7922         use Qmswindows_tstr, not Qctext.
7923
7924         * vm-limit.c (check_memory_limits):
7925         avoid infinite loop printing warning messages.
7926
7927 2000-07-05  Craig Lanning  <lanning@scra.org>
7928
7929         * Makefile.in.in: Add support for including the Windows resources
7930         when building with the cygwin and mingw targets.
7931
7932         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
7933         not set or not correct.
7934         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
7935         (init_initial_directory): Don't try to use $PWD on the
7936         WIN32_NATIVE target.
7937
7938         * s\cygwin32.h:
7939         [[Add -mwindows to eliminate console window.]] not required --ben
7940         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7941         (MAIL_USE_POP): removed; now handled by configure.
7942
7943         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
7944         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
7945         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7946         (MAIL_USE_POP): removed; now handled by configure.
7947         (ENCAPSULATE_STAT): from Dan Holmsand, added.
7948         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
7949         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
7950         constant string.
7951         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
7952         up from <winsock.h> via systime.h.
7953         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
7954         (getpagesize): from Dan Holmsand, added.
7955         Added #endif which was left dangling by Ben's mega patch; added
7956         comment to help prevent this in the future.
7957
7958         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
7959
7960 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7961
7962         * console-msw.h (struct mswindows_device): Removed unnecessary
7963         cached device geometry values.
7964         Added update_tick and an accessor macro.
7965         (Lisp_Devmode): Added lrecord declaration.
7966         (struct msprinter_device): Contain devmode as a Lisp object.
7967         Added mswindows_get_selected_frame_hwnd();
7968
7969         * console.h (struct console_methods): Indentation nitpicking.
7970
7971         * device-msw.c (mswindows_init_device): Do not initialize geometry
7972         cache. Initialize update tick.
7973         (mswindows_device_system_metrics): Ask the device for its geometry.
7974         (global_free_2_maybe):
7975         (devmode_to_hglobal):
7976         (handle_printer_changes):
7977         (ensure_not_printing):
7978         (print_dialog_worker):
7979         (Fmsprinter_print_setup_dialog):
7980         (Fmsprinter_print_dialog):
7981         (plist_get_margin):
7982         (plist_set_margin):
7983         (Fmsprinter_page_setup_dialog): Added functions.
7984         (sync_printer_with_devmode):
7985         (handle_devmode_changes):
7986         (Fmsprinter_get_settings):
7987         (Fmsprinter_select_settings):
7988         (Fmsprinter_apply_settings):
7989         (allocate_devmode):
7990         (Fmsprinter_settings_copy):
7991         (Fmsprinter_settings_despecialize):
7992         (print_devmode):
7993         (finalize_devmode):
7994         (equal_devmode):
7995         (hash_devmode): Added functions
7996         (syms_of_device_mswindows): Init devmode lrecord class.
7997
7998         * device.h: Added an exfun for find-device.
7999
8000         * event-msw.c (mswindows_wnd_proc): Do not update the cached
8001         geometry; although, recreate the device compatible DC.
8002
8003         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
8004         (msprinter_init_frame_3):
8005         (msprinter_frame_property):
8006         (msprinter_internal_frame_property_p):
8007         (msprinter_frame_properties):
8008         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
8009         print job properties (will move to device settings).
8010
8011         * lisp.h: Added symbols.
8012
8013         * general.c (syms_of_general): Declared them.
8014
8015         * hash.c (string_hash): Added.
8016
8017         * lrecord.h (lrecord_type): Added devmode lrecord type.
8018
8019 2000-07-02  Mike Sperber <mike@xemacs.org>
8020
8021         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
8022         FreeBSD 4.0.
8023
8024 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
8025
8026         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
8027         integer.
8028
8029 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
8030
8031         * data.c (Fstring_to_number): Don't recognize floating point if
8032         base is not 10.
8033
8034 2000-06-22  Martin Buchholz  <martin@xemacs.org>
8035
8036         * glyphs-widget.c (tab_control_query_geometry):
8037         (widget_query_geometry):
8038         (button_query_geometry):
8039         * glyphs.c (text_query_geometry):
8040         Enforce type correctness.
8041
8042 2000-06-18  Martin Buchholz  <martin@xemacs.org>
8043
8044         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
8045         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
8046
8047 2000-06-17  Martin Buchholz  <martin@xemacs.org>
8048
8049         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
8050         conflicts with gcc's fixincluded version of FOO.h.
8051
8052         * glyphs.h (image_instance_geometry): Remove trailing `,'
8053
8054 2000-06-08  Mike Alexander  <mta@arbortext.com>
8055
8056         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
8057         (shove_thread): Don't write the same output twice
8058         (make_ntpipe_output_stream): Increase priority of shove thread
8059         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
8060         chance to run
8061         (ntpipe_shove_closer): Don't delete the pipe until we're done with
8062         it.
8063
8064 2000-06-12  Ben Wing  <ben@xemacs.org>
8065
8066         * s\mingw32.h (sigset):
8067         * s\windowsnt.h (sigset):
8068         rename msw_ to mswindows_ for consistency with general convention.
8069
8070 2000-06-12  Ben Wing  <ben@xemacs.org>
8071
8072         * console-msw.c:
8073         * console-msw.c (mswindows_get_console_hwnd):
8074         * console-msw.c (mswindows_ensure_console_allocated):
8075         * console-msw.c (mswindows_hide_console):
8076         * console-msw.c (mswindows_show_console):
8077         * console-msw.c (mswindows_ensure_console_buffered):
8078         * console-msw.c (mswindows_output_console_string):
8079         * console-msw.c (mswindows_windows9x_p):
8080         * console-msw.h:
8081         * device-msw.c (mswindows_get_workspace_coords):
8082         * device-msw.c (mswindows_device_system_metrics):
8083         * dialog-msw.c (mswindows_popup_dialog_box):
8084         * event-msw.c (mswindows_wnd_proc):
8085         * frame-msw.c (mswindows_size_frame_internal):
8086         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8087         * menubar-msw.c (displayable_menu_item):
8088         * menubar-msw.c (mswindows_char_is_accelerator):
8089         * nt.c:
8090         * nt.c (mswindows_sigset):
8091         * nt.c (mswindows_sigrelse):
8092         * nt.c (mswindows_sigpause):
8093         * nt.c (mswindows_raise):
8094         * nt.c (timer_proc):
8095         * ntproc.c:
8096         * ntproc.c (find_child_console):
8097         * ntproc.c (sys_kill):
8098         * print.c:
8099         * print.c (std_handle_out_external):
8100         * process-nt.c (find_child_console):
8101         * process-nt.c (send_signal_the_95_way):
8102         * process-nt.c (ensure_console_window_exists):
8103         * process-nt.c (nt_create_process):
8104         * syssignal.h:
8105         rename msw_ to mswindows_ for consistency with general convention.
8106
8107         * emacs.c:
8108         * dumper.c:
8109         include nt.h, not syswindows.h.
8110
8111         * nt.c (mswindows_fstat):
8112         * nt.c (mswindows_stat):
8113         prefix mswindows_ instead of attempting to directly override the
8114         library functions.  fix declarations.
8115
8116         * nt.h:
8117         include syswindows.h.  move some sysdep.h stuff here.
8118
8119         * ntheap.h:
8120         include syswindows.h, not <windows.h>.
8121
8122         * ntplay.c:
8123         clean up headers.
8124
8125         * sysdep.c:
8126         clean up headers.
8127
8128         * sysdep.c (sys_fstat):
8129         * sysdep.c (sys_stat):
8130         call mswindows versions when appropriate.
8131
8132         * sysdep.h:
8133         move mswin decls to nt.h.
8134
8135         * syswindows.h:
8136         add long comment describing appropriate use of the various windows
8137         headers.
8138
8139 2000-06-11  Ben Wing  <ben@xemacs.org>
8140
8141         * device-x.c: Correct doc string for sixth arg of x-get-resource.
8142
8143 2000-06-10  Ben Wing  <ben@xemacs.org>
8144
8145         * Makefile.in.in (release):
8146         Correction to make sure xemacs.exe always dumped when correct.
8147
8148         * alloca.c:
8149         * balloon_help.c:
8150         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
8151
8152         * buffer.c (set_buffer_internal):
8153         [[[[2]]]]: Remove HAVE_FEP code.
8154
8155         * buffer.c (init_initial_directory):
8156         [3].
8157
8158         * bytecode.c:
8159         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
8160         individual files.
8161
8162         * callproc.c:
8163         * callproc.c (call_process_cleanup):
8164         * callproc.c (Fold_call_process_internal):
8165         * callproc.c (child_setup):
8166         * callproc.c (getenv_internal):
8167         * callproc.c (init_callproc):
8168         * callproc.c (vars_of_callproc):
8169         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
8170         __CYGWIN32__ -> CYGWIN.
8171         DOS_NT -> WIN32_NATIVE.
8172         Remove MSDOS support/references, converting to WIN32_NATIVE
8173           where correct.
8174         __MINGW32__ -> MINGW.
8175         Fix windows.h includes.
8176         Remove bogus HAVE_NTGUI.
8177
8178         * config.h.in:
8179         [2].
8180
8181         * console-msw.c:
8182         mswindows_message_outputted added for use in allowing startup
8183         errors on the console to be seen.
8184
8185         * console-msw.c (msw_ensure_console_allocated):
8186         * console-msw.c (msw_output_console_string):
8187         * console-msw.c (DHEADER):
8188         * console-msw.c (DOPAQUE_DATA):
8189         * console-msw.c (DEVENT):
8190         * console-msw.c (DCONS):
8191         * console-msw.c (DCONSCDR):
8192         * console-msw.c (DSTRING):
8193         * console-msw.c (DVECTOR):
8194         * console-msw.c (DSYMBOL):
8195         * console-msw.c (DSYMNAME):
8196         Fix warnings.
8197
8198         * console-stream.c (stream_init_console):
8199         Fix text/binary problems.
8200
8201         * device-msw.c:
8202         * device-msw.c (mswindows_finish_init_device):
8203         * device-msw.c (mswindows_delete_device):
8204         [1].
8205
8206         * device.c (handle_asynch_device_change):
8207         [3].
8208
8209         * dgif_lib.c:
8210         * dgif_lib.c (DGifOpenFileName):
8211         * dgif_lib.c (DGifOpenFileHandle):
8212         * dgif_lib.c (DGifGetLine):
8213         * dgif_lib.c (DGifGetPixel):
8214         Added config.h/lisp.h, fix up includes.
8215         [1].
8216
8217         * dired-msw.c:
8218         [4].
8219
8220         * dired.c:
8221         * dired.c (file_name_completion):
8222         * dired.c (Ffile_attributes):
8223         * dired.c (syms_of_dired):
8224         [1].
8225
8226         * dumper.c:
8227         * dumper.c (pdump_file_unmap):
8228         * dumper.c (pdump_load):
8229         [1].
8230
8231         * editfns.c:
8232         * editfns.c (Ftemp_directory):
8233         * editfns.c (user_login_name):
8234         * editfns.c (Fuser_real_login_name):
8235         * editfns.c (get_home_directory):
8236         [1].
8237
8238         * elhash.c (finish_marking_weak_hash_tables):
8239         [[[[5]]]]: Fix GCC warnings.
8240
8241         * emacs.c:
8242         * emacs.c (mswindows_handle_hardware_exceptions):
8243         * emacs.c (make_arg_list_1):
8244         * emacs.c (main_1):
8245         * emacs.c (Fkill_emacs):
8246         * emacs.c (Fdump_emacs):
8247         [1].
8248         Fix problems with nested crashes, add long comment.
8249
8250         * event-Xt.c (init_event_Xt_late):
8251         [1].
8252
8253         * event-msw.c:
8254         * event-msw.c (mswindows_dde_callback):
8255         * event-msw.c (mswindows_handle_sticky_modifiers):
8256         * event-msw.c (mswindows_wnd_proc):
8257         [1].
8258         [5].
8259
8260         * events.c (character_to_event):
8261         [1].
8262
8263         * fileio.c:
8264         * fileio.c (Ffile_name_directory):
8265         * fileio.c (Ffile_name_nondirectory):
8266         * fileio.c (directory_file_name):
8267         * fileio.c (Fexpand_file_name):
8268         * fileio.c (Fsubstitute_in_file_name):
8269         * fileio.c (Ffile_name_absolute_p):
8270         * fileio.c (check_executable):
8271         * fileio.c (Ffile_readable_p):
8272         * fileio.c (Ffile_accessible_directory_p):
8273         * fileio.c (Ffile_modes):
8274         * fileio.c (Funix_sync):
8275         * fileio.c (vars_of_fileio):
8276         [1]. [4].
8277
8278         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
8279
8280         Expand getdefdir defn.
8281         Fix bogus rename() comment.
8282
8283         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
8284         to use standard XEmacs include files, e.g. sysfile.h, rather
8285         than system-specific includes.
8286
8287         * fns.c:
8288         * fns.c (Fsubseq):
8289         [5]. [6].
8290
8291         * frame.c (vars_of_frame):
8292         [1].
8293
8294         * getloadavg.c:
8295         * getloadavg.c (getloadavg):
8296         [1]. [6].
8297         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
8298         (We don't use it elsewhere in the code; just add a comment.)
8299
8300         * gif_io.c:
8301         [6].
8302         Add config.h.
8303
8304         * glyphs-msw.c:
8305         * glyphs-msw.c (mswindows_resource_instantiate):
8306         [1].
8307
8308         * glyphs-x.c (x_native_layout_instantiate):
8309         [5].
8310
8311         * gui-msw.c (Fmswindows_shell_execute):
8312         [1].
8313
8314         * insdel.c:
8315         [4].
8316
8317         * lisp.h:
8318         [4]. [5].
8319
8320         * lread.c (locate_file_in_directory_mapper):
8321         [1].
8322
8323         * lstream.c:
8324         [4].
8325
8326         * mem-limits.h:
8327         * mem-limits.h (get_lim_data):
8328         [1].
8329
8330         * menubar-msw.c:
8331         [4].
8332
8333         * ndir.h:
8334         [1].
8335
8336         * nt.c:
8337         * nt.c (getwd):
8338         * nt.c (closedir):
8339         * nt.c (rva_to_section):
8340         * nt.c (mswindows_executable_type):
8341         [1]. [6].
8342         Fix closedir() defn.
8343
8344         * nt.h:
8345         [[[[8]]]]: *_OK defs moved to sysfile.h.
8346
8347         * ntproc.c:
8348         [6]. [7].
8349
8350         * objects-x.c:
8351         [4].
8352
8353         * print.c:
8354         * print.c (std_handle_out_external):
8355         [1]. [4].
8356
8357         * process-nt.c:
8358         * process-nt.c (nt_create_process):
8359         [6].
8360         try to fix process quoting somewhat.
8361
8362         * process-unix.c (unix_create_process):
8363         [1].
8364
8365         * process.c:
8366         * process.c (vars_of_process):
8367         Add Vnull_device.
8368
8369         * process.h:
8370         [1].
8371
8372         * realpath.c:
8373         * realpath.c (xrealpath):
8374         [1].
8375
8376         * redisplay-tty.c (init_tty_for_redisplay):
8377         [3].
8378
8379         * redisplay.c:
8380         [4]. [6].
8381
8382         * scrollbar-msw.c:
8383         [4].
8384
8385         * sheap.c:
8386         * sheap.c (more_static_core):
8387         * sheap.c (report_sheap_usage):
8388         [5]. [6].
8389
8390         * signal.c:
8391         * signal.c (alarm_signal):
8392         [1]. [6].
8393
8394         * sound.c:
8395         [6].
8396
8397         * strftime.c:
8398         * strftime.c (zone_name):
8399         [1]. [5].
8400
8401         * symsinit.h (init_sunpro):
8402         [1].
8403
8404         * syscommctrl.h:
8405         commctrl.h not in Cygwin b20.1.
8406
8407         * sysdep.c:
8408         * sysdep.c (endif):
8409         * sysdep.c (sys_subshell):
8410         * sysdep.c (init_baud_rate):
8411         * sysdep.c (emacs_get_tty):
8412         * sysdep.c (emacs_set_tty):
8413         * sysdep.c (tty_init_sys_modes_on_device):
8414         * sysdep.c (init_system_name):
8415         * sysdep.c (sys_open):
8416         * sysdep.c (interruptible_open):
8417         * sysdep.c (sys_fopen):
8418         * sysdep.c (sys_mkdir):
8419         * sysdep.c (sys_rename):
8420         * sysdep.c (get_process_times_1):
8421         [1]. [6].
8422
8423         * sysdep.h:
8424         [1].
8425
8426         * sysdir.h:
8427         * sysdir.h (DIRENTRY_NONEMPTY):
8428         [1]. [6].
8429
8430         * sysdll.c (dll_init):
8431         * sysdll.h:
8432         [1].
8433
8434         * sysfile.h:
8435         [1]. [6]. [8].
8436         added text/binary defs.
8437
8438         * sysfloat.h:
8439         [1].
8440
8441         * sysproc.h:
8442         * sysproc.h (EDESTADDRREQ):
8443         * sysproc.h (poll_fds_for_input):
8444         [1]. [6].
8445
8446         * syspwd.h:
8447         [6].
8448
8449         * syssignal.h:
8450         [1].
8451
8452         * systime.h:
8453         [1]. [6].
8454
8455         * systty.h:
8456         [1].
8457
8458         * syswindows.h:
8459         [1].
8460         Always define WIN32_LEAN_AND_MEAN.
8461
8462         * unexcw.c (unexec):
8463         [5].
8464
8465         * unexec.c:
8466         * unexec.c (copy_text_and_data):
8467         * unexec.c (adjust_lnnoptrs):
8468         [1].
8469
8470         * unexnt.c:
8471         * unexnt.c (_start):
8472         [1].
8473
8474 2000-06-07  Ben Wing  <ben@xemacs.org>
8475
8476         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
8477         was used only as a model.  We've long since extracted any useful
8478         logic or code out of this. (I just did an exhaustive search.)
8479
8480         * s\msdos.h: Removed.
8481
8482         * s\windows95.h: Removed.
8483
8484 2000-06-10  Ben Wing  <ben@xemacs.org>
8485
8486         * s\cygwin32.h:
8487         [1]. [5].
8488         Don't use extern with fun defs.
8489
8490         * s\mingw32.h:
8491         [1]. [7].
8492         Remove nt\inc include.
8493         Remove getdisk, getdefdir. (The former is unused, the latter
8494         expanded in fileio.h.)
8495
8496         * s\windowsnt.h:
8497         * s\windowsnt.h (WIN32_NATIVE):
8498         * s\windowsnt.h (HAVE_STRCASECMP):
8499         [1]. [7].
8500         Add long comment about preprocessor changes.
8501         Remove getdisk, getdefdir. (The former is unused, the latter
8502         expanded in fileio.h.)
8503
8504 2000-06-10  Ben Wing  <ben@xemacs.org>
8505
8506         * m\arm.h:
8507         * m\delta.h:
8508         * m\intel386.h:
8509         * m\sequent.h:
8510         * m\template.h:
8511         * m\windowsnt.h:
8512         [1].
8513         Remove bogus/unused NO_SOCK_SIGIO.
8514
8515 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
8516
8517         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
8518         not an Emchar.
8519
8520 2000-06-04  Mike Sperber <mike@xemacs.org>
8521
8522         * casetab.c (set_case_table): For `set-standard-case-table',
8523         actually deposit the new case tables where the rest of XEmacs can
8524         see them.
8525
8526 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
8527
8528         * data.c (Faset): Don't cast XCHAR() to unsigned char.
8529
8530 2000-06-05  Ben Wing  <ben@xemacs.org>
8531
8532         * callproc.c (child_setup): Don't do close_load_descs() under
8533         MS Windows.  Put in a comment explaining why.
8534
8535 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
8536
8537         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
8538         Toolkit shell" which breaks `kill-compilation' on Windows NT
8539         native, retaining STDERR handling improvements.
8540
8541 2000-06-01  Andreas Jaeger  <aj@suse.de>
8542
8543         * s/s390.h: Support for S390, based on a patch by Martin
8544         Schwidefsky <schwidefsky@de.ibm.com>.
8545
8546 2000-05-30  Andy Piper  <andy@xemacs.org>
8547
8548         * window.c (allocate_window):
8549         (make_dummy_parent):
8550         (Fset_window_configuration): use new hashtable type.
8551
8552         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
8553         (struct image_instantiator_methods):
8554         (struct Lisp_Image_Instance): make instance geometry signed.
8555
8556         * glyphs.c (instantiate_image_instantiator):
8557         (image_instance_query_geometry):
8558         (image_instance_layout):
8559         (image_instance_layout):
8560         (query_string_geometry):
8561         (text_query_geometry):
8562         (image_instantiate):
8563         (image_instantiate):
8564         (cache_subwindow_instance_in_frame_maybe):
8565         (subwindow_query_geometry): make instance geometry signed.
8566
8567         * glyphs-widget.c (widget_query_geometry):
8568         (widget_layout):
8569         (button_query_geometry):
8570         (tree_view_query_geometry):
8571         (tab_control_query_geometry):
8572         (layout_query_geometry):
8573         (layout_layout):
8574         (native_layout_layout): make instance geometry signed.
8575
8576 2000-05-29  Olivier Galibert  <galibert@pobox.com>
8577
8578         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
8579         constant.
8580
8581         * general.c (syms_of_general): Add Qfull_assoc symbol.
8582
8583         * data.c (finish_marking_weak_lists): Mark full-assoc lists
8584         correctly.
8585         (decode_weak_list_type): Decode full-assoc type.
8586         (encode_weak_list_type): Encode full-assoc type.
8587         (Fmake_weak_list): Update doc string.
8588
8589 2000-05-30  Andy Piper  <andy@xemacs.org>
8590
8591         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
8592
8593         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
8594         (decode_hash_table_weakness): ditto.
8595         (Fhash_table_weakness): ditto.
8596         (Fhash_table_type): ditto.
8597         (finish_marking_weak_hash_tables): ditto.
8598         (hash_table_weakness_validate): ditto.
8599         (syms_of_elhash): ditto.
8600
8601 2000-05-28  Martin Buchholz <martin@xemacs.org>
8602
8603         * XEmacs 21.2.34 is released.
8604
8605 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8606
8607         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
8608         start cache.
8609         (updating_line_start_cache): Gone.
8610         (regenerate_window): Replace resetting of VERTICAL_CLIP by
8611         generic code to force a minimum of 1 line laid out in the
8612         CMOTION_DISP case.
8613
8614 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8615
8616         * glyphs.c (instantiate_image_instantiator): Check for initialized
8617         height & width no longer special cases IMAGE_NOTHING.
8618         (nothing_instantiate): Set height and width of instance.
8619
8620 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8621
8622         * unexelf.c (unexec): Search for ".data" section.
8623         Initialize new_data2_offset from old_data_index.
8624         Remove redundant check for ElfW.
8625
8626 2000-05-23  Andy Piper  <andy@xemacs.org>
8627
8628         * glyphs.c (get_image_instantiator_governing_domain): allow more
8629         specific domains as the governing domain rather than expecting an
8630         exact match. This fixes problems with layouts.
8631
8632 2000-05-22  Andy Piper  <andy@xemacs.org>
8633
8634         * redisplay-output.c (compare_runes): check for non-images
8635
8636         * glyphs.c (set_glyph_dirty_p): ditto.
8637         (update_glyph_cachel_data): ditto.
8638
8639         * glyphs-widget.c (layout_post_instantiate): ditto.
8640         (layout_post_instantiate): ditto.
8641
8642         * event-msw.c (mswindows_wnd_proc): warning removal.
8643
8644 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
8645
8646         * s\mingw32.h: Added #undef for CLASH_DETECTION.
8647
8648         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
8649
8650         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
8651
8652         * nt.c (rva_to_section): mingw32 needs rva_to_section.
8653         (mswindows_executable_type): mingw32 now has enough headers for
8654         this to work.
8655
8656 2000-05-20  Andy Piper  <andy@xemacs.org>
8657
8658         * console-msw.c (mswindows_output_last_error): ; -> ,
8659
8660 2000-05-12  Andy Piper  <andy@xemacs.org>
8661
8662         * console-msw.c (FROB): compare ints with ints.
8663
8664 2000-05-11  Andy Piper  <andy@xemacs.org>
8665
8666         * glyphs-x.c (x_finalize_image_instance): make minimal build
8667         happy.
8668
8669 2000-05-20  Ben Wing  <ben@xemacs.org>
8670
8671         * event-Xt.c:
8672         * event-Xt.c (vars_of_event_Xt):
8673         move modifier-keys-are-sticky to event-stream.c.
8674
8675         * event-msw.c:
8676         * event-msw.c (mswindows_enqueue_mouse_button_event):
8677         * event-msw.c (key_needs_default_processing_p):
8678         * event-msw.c (XEMSW_LCONTROL):
8679         * event-msw.c (mswindows_handle_sticky_modifiers):
8680         * event-msw.c (FROB):
8681         * event-msw.c (clear_sticky_modifiers):
8682         * event-msw.c (output_modifier_keyboard_state):
8683         * event-msw.c (output_alt_keyboard_state):
8684         * event-msw.c (mswindows_wnd_proc):
8685         * event-msw.c (mswindows_modifier_state):
8686         * event-msw.c (emacs_mswindows_handle_magic_event):
8687         implement sticky modifiers.
8688
8689         * event-stream.c:
8690         * event-stream.c (vars_of_event_stream):
8691         move modifier-keys-are-sticky here.
8692
8693         * lisp.h:
8694         add CHECK_FUNCTION.
8695
8696         * rangetab.c:
8697         implement map-range-table.
8698
8699
8700 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
8701
8702         * redisplay-tty.c (reset_tty_modes):
8703         (tty_redisplay_shutdown): Adjust argument type to
8704         tty_frame_output_end.
8705
8706 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8707
8708         * eval.c (Fbacktrace): Don't output a line with only right
8709         parenthesis.
8710
8711 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
8712
8713         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
8714         (Fpq_reset_poll): Ditto.
8715
8716 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
8717
8718         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
8719
8720 2000-05-16  Ben Wing  <ben@xemacs.org>
8721
8722         * buffer.c:
8723         * buffer.c (dfc_convert_to/from_internal_format):
8724         * buffer.c (reinit_vars_of_buffer):
8725         Fix conversion functions to allow reentrancy.
8726
8727         * console-msw.c:
8728         * console-msw.c (mswindows_output_last_error):
8729         New fun, generally useful -- output a human-readable
8730         version of GetLastError() on the console.
8731
8732         * console-msw.h:
8733         * console-msw.h (struct mswindows_frame):
8734         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
8735
8736         * console-stream.c (stream_output_begin):
8737         * console-stream.c (stream_output_end):
8738         * console-stream.c (stream_output_vertical_divider):
8739         * console-stream.c (stream_clear_region):
8740         * console-stream.c (stream_flash):
8741         * console-stream.c (console_type_create_stream):
8742         Delete blank stream methods, not needed.
8743
8744         * console.h (struct console_methods):
8745         Split begin/end methods into window and frame.
8746
8747         * event-msw.c:
8748         * event-msw.c (mswindows_handle_paint):
8749         * event-msw.c (output_alt_keyboard_state):
8750         * event-msw.c (mswindows_wnd_proc):
8751         * event-msw.c (vars_of_event_mswindows):
8752         Comment about problems with ignored-expose.
8753         Define mswindows-debug-events; not really implemented.
8754
8755         * frame-msw.c (mswindows_init_frame_1):
8756         random cleanups.
8757
8758         * glyphs-msw.c:
8759         * glyphs-msw.c (begin_defer_window_pos):
8760         * glyphs-msw.c (mswindows_unmap_subwindow):
8761         * glyphs-msw.c (mswindows_map_subwindow):
8762         * glyphs-msw.c (mswindows_resize_subwindow):
8763         Use DeferWindowPos to reduce flashing when mapping/unmapping.
8764
8765         * glyphs.c (make_image_instance_1):
8766         Fix crash.
8767
8768         * gutter.c (Fredisplay_gutter_area):
8769         Use new begin/end methods.
8770
8771         * lisp.h (Dynarr_new2):
8772         New creation fun.
8773
8774         * redisplay-msw.c:
8775         * redisplay-msw.c (mswindows_frame_output_begin):
8776         * redisplay-msw.c (mswindows_frame_output_end):
8777         * redisplay-msw.c (console_type_create_redisplay_mswindows):
8778         New begin/end methods -- handle DeferWindowPos.
8779
8780         * redisplay-output.c (redisplay_move_cursor):
8781         * redisplay-output.c (redraw_cursor_in_window):
8782         * redisplay-output.c (redisplay_update_line):
8783         * redisplay-output.c (redisplay_output_window):
8784         New begin/end methods.
8785
8786         * redisplay-tty.c:
8787         * redisplay-tty.c (tty_frame_output_begin):
8788         * redisplay-tty.c (tty_frame_output_end):
8789         * redisplay-tty.c (console_type_create_redisplay_tty):
8790         New begin/end methods.
8791
8792         * redisplay-x.c:
8793         * redisplay-x.c (x_window_output_begin):
8794         * redisplay-x.c (x_window_output_end):
8795         * redisplay-x.c (console_type_create_redisplay_x):
8796         New begin/end methods.
8797
8798         * redisplay.c (redisplay_frame):
8799         * redisplay.c (Fredisplay_echo_area):
8800         New begin/end methods.
8801         use MAYBE_DEVMETH for clear_frame; it may not exist.
8802
8803         * window.h (WINDOW_XFRAME):
8804         WINDOW_XFOO macros -- get locale and decode struct pointer.
8805
8806
8807 2000-05-12  Ben Wing  <ben@xemacs.org>
8808
8809         * emacs.c:
8810         * emacs.c (ensure_no_quitting_from_now_on):
8811         * emacs.c (fatal_error_signal):
8812         * emacs.c (mswindows_handle_hardware_exceptions):
8813         * emacs.c (main):
8814         * emacs.c (Fkill_emacs):
8815         * emacs.c (shut_down_emacs):
8816         * emacs.c (assert_failed):
8817         various improvements in fatal error handling.
8818
8819         * eval.c:
8820         move preparing_for_armageddon to emacs.c.
8821
8822         * lisp.h:
8823         declare fatal_error_in_progress.
8824
8825         * print.c:
8826         * print.c (std_handle_out_external):
8827         * print.c (std_handle_out_va):
8828         * print.c (stderr_out):
8829         * print.c (stdout_out):
8830         use console under mswin when no standard output.
8831         don't do code conversion during fatal error.
8832
8833         * scrollbar.c (Fscrollbar_page_up):
8834         * scrollbar.c (Fscrollbar_page_down):
8835         fix missing else.  reindent.
8836
8837 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
8838
8839         Emergency fix.
8840
8841         * glyphs.h (GLYPH_CACHEL_DESCENT):
8842         (GLYPH_CACHEL_DESCENT):
8843         (GLYPH_CACHEL_DESCENT):
8844         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
8845         used in case these are inline functions.
8846         Use more absurd values to error check.
8847
8848         include window.h for error check functions.
8849
8850 2000-05-11  Ben Wing  <ben@xemacs.org>
8851
8852         * cmdloop.c (Freally_early_error_handler):
8853         Display message box under windows; otherwise, message will disappear
8854         before it can be viewed.
8855
8856         * console-msw.c:
8857         * console-msw.c (Fmswindows_message_box):
8858         * console-msw.c (FROB):
8859         * console-msw.c (syms_of_console_mswindows):
8860         Define new fun `mswindows-message-box'.
8861         #### I will merge this into `popup-dialog-box'; just give me
8862         a bit of time.
8863
8864         * general.c:
8865         * general.c (syms_of_general):
8866         Some new symbols used in `mswindows-message-box'.
8867
8868         * glyphs.c:
8869         * glyphs.c (Fset_image_instance_property):
8870         put warning in this fun.
8871
8872         * glyphs.h:
8873         * glyphs.h (GLYPH_CACHEL_WIDTH):
8874         * glyphs.h (GLYPH_CACHEL_ASCENT):
8875         * glyphs.h (GLYPH_CACHEL):
8876         * glyphs.h (GLYPH_CACHEL_GLYPH):
8877         define error-checking versions to try to catch a bug i've seen --
8878         redisplay gets in an infinite loop because the glyph width of the
8879         continuation glyph is 65535.
8880
8881         * lisp.h:
8882         Extern message-box stuff.
8883
8884         * window.c (allocate_window):
8885         * window.c (make_dummy_parent):
8886         * window.c (Fset_window_configuration):
8887         Use EQUAL not EQ for subwindow caches to make them work a bit
8888         better. (Something is still very broken.)
8889
8890
8891 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8892
8893         * glyphs.c (image_instantiate): Suppress gcc warnings.
8894         (Fmake_image_instance): Fix doc string.
8895         * specifier.c (Fmake_specifier): Ditto.
8896
8897 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
8898
8899         * paths.h.in (PATH_LOCK): Removed.
8900         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
8901         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
8902
8903 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8904
8905         * fns.c (Ffeaturep): Update e-mail address in doc-string.
8906         Document (featurep '(and xemacs 21.02)).
8907
8908 2000-05-09  Ben Wing  <ben@xemacs.org>
8909
8910         * buffer.c (complex_vars_of_buffer):
8911         update modeline-format doc.
8912
8913         * device.h:
8914         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
8915
8916         * emacs.c:
8917         timeline of all released versions of Emacs, for use in creating
8918         authorship comments and in synching up.
8919
8920         * glyphs-widget.c (image_instantiator_buttons):
8921         * glyphs-widget.c (image_instantiator_edit_fields):
8922         * glyphs-widget.c (image_instantiator_combo_box):
8923         * glyphs-widget.c (image_instantiator_scrollbar):
8924         * glyphs-widget.c (image_instantiator_progress_guage):
8925         * glyphs-widget.c (image_instantiator_tree_view):
8926         * glyphs-widget.c (image_instantiator_tab_control):
8927         * glyphs-widget.c (image_instantiator_labels):
8928         * glyphs-widget.c (image_instantiator_layout):
8929         * glyphs-widget.c (image_instantiator_native_layout):
8930         rename decode_domain method to governing_domain.
8931
8932         * glyphs.c:
8933         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
8934         * glyphs.c (add_entry_to_device_ii_format_list):
8935         make sure we don't put an entry more than once into the list.
8936         * glyphs.c (check_instance_cache_mapper):
8937         *************************************************************
8938         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8939         HAVE BEEN GETTING.
8940         *************************************************************
8941         * glyphs.c (get_image_instantiator_governing_domain):
8942         clean up, expand on new concept of governing domain.
8943         * glyphs.c (instantiate_image_instantiator):
8944         * glyphs.c (allocate_image_instance):
8945         use governing_domain instead of cache_domain in naming.
8946         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
8947         * glyphs.c (make_image_instance_1):
8948         * glyphs.c (Fmake_image_instance):
8949         allow for any domain (not just device), and process the
8950         governing domain correctly.  very big doc fix.
8951         * glyphs.c (Fimage_instance_domain):
8952         new primitive, to retrieve the governing domain of an image instance.
8953         * glyphs.c (image_instantiate):
8954         use new governing_domain stuff.  this fixes a crash you could get
8955         by instantiating certain widget glyphs in frame locales. (should
8956         signal an error instead of crashing.)
8957         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
8958         * glyphs.c (Fglyphp): clean up doc.
8959         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
8960         * glyphs.c (syms_of_glyphs):
8961         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
8962         * glyphs.c (image_instantiator_format_create): add some comments about
8963         bogus code.
8964         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
8965         for current-display-table. (Apparently Hrjove implemented in 1998 a
8966         design I wrote up in 1996, but didn't update the doc string.)
8967
8968         * glyphs.h: clean up a doc string.
8969         * glyphs.h (governing_domain):
8970         * glyphs.h (struct image_instantiator_methods):
8971         changes for governing_domain stuff.
8972
8973         * gutter.c:
8974         * gutter.c (Fgutter_specifier_p):
8975         * gutter.c (Fgutter_size_specifier_p):
8976         * gutter.c (Fgutter_visible_specifier_p):
8977         * objects.c:
8978         * objects.c (Fcolor_specifier_p):
8979         * objects.c (Ffont_specifier_p):
8980         * objects.c (Fface_boolean_specifier_p):
8981         doc strings moved to make-*-specifier.
8982
8983         * redisplay.c (add_disp_table_entry_runes_1):
8984         * redisplay.c (generate_fstring_runes):
8985         * redisplay.c (screen):
8986         add random comments and doc strings.
8987
8988         * specifier.c:
8989         * specifier.c (Fmake_specifier):
8990         major overhaul of this doc string.
8991
8992         * specifier.c (Fvalid_specifier_domain_p):
8993         comment about the bogosity of image instances being domains.
8994         * specifier.c (decode_domain):
8995         now non-static, used in glyphs.c.
8996         * specifier.c (specifier_instance):
8997         comment about the bogosity of image instances being domains.
8998         * specifier.c (Fgeneric_specifier_p):
8999         move doc string to make-generic-specifier.
9000         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
9001         rebackslashify.
9002
9003         * specifier.h:
9004         * specifier.h (DOMAIN_FRAME):
9005         * specifier.h (DOMAIN_LIVE_P):
9006         * specifier.h (DOMAIN_XDEVICE):
9007         rebackslashify.
9008         add comments about problems with these macros.
9009         prototype for decode_domain.
9010
9011         * toolbar.c:
9012         * toolbar.c (Ftoolbar_specifier_p):
9013         move doc string to `make-toolbar-specifier'.
9014
9015         * window.c (window_unmap_subwindows_cache_mapper):
9016         *************************************************************
9017         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
9018         HAVE BEEN GETTING.
9019         *************************************************************
9020
9021 2000-05-09  Andy Piper  <andy@xemacs.org>
9022
9023         * glyphs.h: declare reset_frame_subwindow_instance_cache.
9024
9025         * window.c (Fset_window_configuration): reset the frame subwindow
9026         cache and re-initialize the window subwindow caches.
9027
9028         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
9029
9030 2000-05-09  Ben Wing  <ben@xemacs.org>
9031
9032         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
9033         DWORD.
9034
9035 2000-04-26  Mike Woolley  <mike@bulsara.com>
9036
9037         * ntheap.c: Changed recreate_heap to limit the amount reserved
9038         for the heap to that which is actually available. Also now
9039         displays a message box (with some dignostics) in the event that
9040         it still can't start.
9041
9042 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
9043
9044         * callproc.c (Fold_call_process_internal): GCPRO path
9045
9046 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
9047
9048         Patch by Bill Perry.
9049
9050         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
9051         back data instead of #ifdef.
9052         (Fscrollbar_page_down): ditto.
9053
9054 2000-05-07  Ben Wing  <ben@xemacs.org>
9055
9056         * buffer.h:
9057         Kludge for defining Qmswindows_tstr.
9058
9059         * nt.c:
9060         * nt.c (open_input_file):
9061         * nt.c (open_output_file):
9062         * nt.c (rva_to_section):
9063         * nt.c (mswindows_executable_type):
9064         Move all memory-mapped-file routines here (some were in unexnt.c,
9065         which is bad because they are used by process-nt.c, and unexnt
9066         won't be around when portable dumping).  Synched the above routines
9067         with FSF 20.6.
9068
9069         * nt.h:
9070         Removed ifdef'd out bogus code.
9071         Fixed some prototypes.
9072
9073         * nt.h (file_data):
9074         * nt.h (OFFSET_TO_RVA):
9075         * nt.h (RVA_TO_OFFSET):
9076         * nt.h (RVA_TO_PTR):
9077         Moved the memory-mapped-file structures, macros and prototypes
9078         here, to parallel nt.c.  ntheap.h should really be removed
9079         entirely, and it's a non-portable-dumper specific file.
9080
9081         * ntheap.h (round_to_next):
9082         Moved the memory-mapped-file structures, macros and prototypes
9083         to nt.h.
9084
9085         * ntproc.c (compare_env):
9086         Moved rva_to_section and mswindows_executable_type to nt.c.
9087         Moved compare_env to process-nt.c.
9088         ntproc.c will die, one day.
9089
9090         * ntproc.c (sys_spawnve):
9091         Account for win32_ -> mswindows_.
9092
9093         * process-nt.c:
9094         * process-nt.c (struct nt_process_data):
9095         * process-nt.c (ensure_console_window_exists):
9096         * process-nt.c (compare_env):
9097         * process-nt.c (nt_create_process):
9098         * process-nt.c (nt_kill_process_by_pid):
9099         * process-nt.c (syms_of_process_nt):
9100         * process-nt.c (vars_of_process_nt):
9101         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
9102         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
9103         changes).  Eliminate our old `nt-quote-process-args' mechanism.
9104         Synch up nt_create_process with FSF 20.6 sys_spawnve.
9105         Move compare_env here from ntproc.c.
9106
9107         * process.c (Fprocess_send_region):
9108         Takes an optional fourth argument, BUFFER, which should fix some
9109         problems with call-process.
9110
9111         * syscommctrl.h:
9112         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
9113
9114         * syswindows.h:
9115         Move ICC_BAR_CLASSES to syscommctrl.h.
9116         Add preliminary macros for MSWindows/Mule.  More to come.
9117
9118         * unexnt.c:
9119         * unexnt.c (unexec):
9120         open_output_file moved to nt.c.
9121
9122
9123 2000-05-05  Andy Piper  <andy@xemacs.org>
9124
9125         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
9126         instance from the frame cache also since GC may catch up too late
9127         to make frame deletion sane.
9128
9129 2000-05-04  Andy Piper  <andy@xemacs.org>
9130
9131         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
9132         (x_finalize_image_instance): ungcpro on deletion.
9133
9134         * glyphs.c (image_instantiator_format_create): give pointers a
9135         query geometry method so that the geometry is at least set.
9136
9137         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
9138         initialize layouts if using widgets.
9139
9140 2000-05-03  Andy Piper  <andy@xemacs.org>
9141
9142         * nt.c: remove bogus reference to sysmmsystem.h
9143
9144         * gui-x.c (popup_selection_callback): fix no selection abort.
9145
9146 2000-05-02  Andy Piper  <andy@xemacs.org>
9147
9148         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
9149         (mswindows_widget_instantiate): ditto.
9150
9151         * glyphs-widget.c (initialize_widget_image_instance): initialize
9152         children correctly.
9153         (widget_instantiate): cope with children and items in the same
9154         instance.
9155
9156         * glyphs.c (mark_image_instance): cope with children as a first
9157         class member.
9158         (image_instance_equal): ditto.
9159         (image_instance_hash): ditto.
9160         (image_instance_changed): ditto.
9161
9162 2000-04-30  Andy Piper  <andy@xemacs.org>
9163
9164         * glyphs.c (subwindow_query_geometry): new function. Return some
9165         defaults.
9166         (subwindow_instantiate): don't assign dimensions if none have been
9167         given.
9168         (image_instantiator_format_create): add subwindow_query_geometry.
9169         (print_image_instance): cope with layouts as widgets.
9170
9171 2000-04-29  Andy Piper  <andy@xemacs.org>
9172
9173         * frame.c (delete_frame_internal): call
9174         free_frame_subwindow_instance_cache so that all subwindows are
9175         finalized before their parent.
9176         (mark_frame): remove subwindow_cachels.
9177         (Fmake_frame): remove subwindow_cachel manipulation.
9178         (allocate_frame_core): subwindow_instance_cache is a weak list.
9179         (delete_frame_internal): set subwindow_instance_cache to nil.
9180
9181         * glyphs-msw.c (mswindows_finalize_image_instance): make double
9182         finalization safe.
9183         (mswindows_finalize_image_instance): use the device
9184         not the domain as the domain may have died already.
9185
9186         * glyphs-x.c (x_finalize_image_instance): ditto.
9187         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
9188         HEIGHT.
9189
9190         * redisplay-output.c (redisplay_unmap_subwindows): update for
9191         subwindow instance cache as a weak list.
9192         (redisplay_unmap_subwindows_maybe): ditto.
9193         (redisplay_unmap_subwindows_except_us): ditto.
9194
9195         * glyphs.c (unmap_subwindow): error checking will check the domain
9196         so don't deal with it here. Don't use cachels anymore.
9197         (map_subwindow): ditto.
9198         (update_subwindow_cachel_data): remove old accessor names.
9199         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
9200         (Fresize_subwindow): don't update cachel.
9201         (mark_subwindow_cachels):
9202         (update_subwindow_cachel_data):
9203         (add_subwindow_cachel):
9204         (get_subwindow_cachel_index):
9205         (update_subwindow_cachel):
9206         (reset_subwindow_cachels):
9207         (mark_subwindow_cachels_as_not_updated): deleted.
9208         (cache_subwindow_instance_in_frame_maybe): new function. Add a
9209         subwindow instance to the frame cache.
9210         (find_matching_subwindow): update for subwindow instance cache as
9211         a weak list.
9212         (update_widget_instances): ditto.
9213         (image_instance_type_to_mask):inlined.
9214         (free_frame_subwindow_instance_cache): new function. finalize all
9215         subwindows that are instantiated.
9216
9217         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
9218         of cachel information.
9219         (IMAGE_INSTANCE_DISPLAY_X):
9220         (IMAGE_INSTANCE_DISPLAY_Y):
9221         (IMAGE_INSTANCE_DISPLAY_WIDTH):
9222         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
9223         (XIMAGE_INSTANCE_DISPLAY_X):
9224         (XIMAGE_INSTANCE_DISPLAY_Y):
9225         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
9226         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
9227         remove subwindow_cachel structure and function references.
9228         (image_instance_type_to_mask): inline from glyphs.c
9229
9230         * redisplay.c (redisplay_frame): remove subwindow_cachel
9231         references.
9232
9233         * frame.h (struct frame): remove subwindow_cachels.
9234         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
9235
9236         * frameslots.h: add subwindow_instance_cache.
9237
9238         * window.c (replace_window): check subwindow cache of replacement.
9239         (window_unmap_subwindows_cache_mapper):
9240         (window_unmap_subwindows): new functions. Unmap all subwindows
9241         cached on this window.
9242         (mark_window_as_deleted): unmap all subwindows.
9243
9244 2000-04-27  Andy Piper  <andy@xemacs.org>
9245
9246         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
9247
9248         * glyphs-widget.c (widget_layout): return something.
9249         (layout_layout): return something. Fail if not initialized.
9250         (layout_query_geometry): ditto.
9251         (image_instantiator_native_layout): new function. Initialized the
9252         native layout type.
9253         (widget_instantiate): don't do layout stuff here.
9254
9255         * glyphs.c (instantiate_image_instantiator): reorded calling or
9256         instantiate and post_instantiate with layout in between.
9257         (image_instance_layout): be more selective about deciding whether
9258         the layout has been done or not.
9259
9260         * glyphs.h (struct image_instantiator_methods): return a value
9261         from layout_method.
9262
9263 2000-04-26  Andy Piper  <andy@xemacs.org>
9264
9265         * glyphs.c (allocate_image_instance): make initial width and
9266         height unspecified. Set initialized to 0.
9267
9268         * syscommctrl.h new file. Encapsulates commctrl.h.
9269
9270         * syswindows.h new file. Encapsulates windows.h.
9271
9272         * ntplay.c: use new syswindows.h and syscommctrl.h header.
9273         * nt.c: ditto.
9274         * console-msw.h: ditto.
9275
9276         * redisplay-tty.c (tty_output_display_block): remove layout references.
9277
9278         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
9279         window handle rather than just the frame.
9280
9281         * glyphs.c (mark_image_instance): remove layout references.
9282         (print_image_instance): ditto.
9283         (image_instance_equal): ditto.
9284         (image_instance_hash): ditto.
9285         (decode_image_instance_type): ditto.
9286         (encode_image_instance_type): ditto.
9287         (image_instantiate): ditto.
9288         (allocate_glyph): ditto.
9289         (Fimage_instance_height): ditto.
9290         (Fimage_instance_width): ditto.
9291         (update_subwindow): ditto.
9292
9293         * redisplay-x.c (x_output_display_block): recode for layouts as
9294         widgets.
9295
9296         * redisplay-output.c (redisplay_output_layout): recode for layouts
9297         as widgets.
9298         (compare_runes): remove layout references.
9299
9300         * redisplay-msw.c (mswindows_output_display_block): recode for
9301         layouts as widgets.
9302
9303         * glyphs-widget.c (image_instantiator_layout): remove
9304         layout_possible_dest_types.
9305         (layout_possible_dest_types): deleted.
9306
9307         * glyphs.h (image_instance_type): remove layout references.
9308         (struct Lisp_Image_Instance): ditto. Add initialized flag.
9309         (IMAGE_INSTANCE_INITIALIZED): new accessor.
9310         (XIMAGE_INSTANCE_INITIALIZED): ditto.
9311
9312 2000-04-25  Andy Piper  <andy@xemacs.org>
9313
9314         * glyphs-widget.c (image_instantiator_buttons):
9315         (image_instantiator_edit_fields):
9316         (image_instantiator_combo_box):
9317         (image_instantiator_scrollbar):
9318         (image_instantiator_progress_guage):
9319         (image_instantiator_tree_view):
9320         (image_instantiator_tab_control):
9321         (image_instantiator_labels):
9322         (image_instantiator_layout): call default post_instantiate method.
9323         (widget_post_instantiate): new function. Simply lays out the
9324         widgets.
9325
9326         * glyphs.h (struct image_instantiator_methods): add
9327         post_instantiate method.
9328
9329         * glyphs.c (instantiate_image_instantiator): add post_instantiate
9330         method calls.
9331
9332 2000-04-23  Andy Piper  <andy@xemacs.org>
9333
9334         * glyphs.h (struct image_instantiator_methods): add
9335         decode_domain_method.
9336         (struct Lisp_Image_Instance): remove subwindow frame - it can be
9337         derived from the domain.
9338         (IMAGE_INSTANCE_FRAME): new accessor.
9339         (XIMAGE_INSTANCE_FRAME): ditto.
9340
9341         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
9342         instead of _SUBWINDOW_FRAME.
9343         (finalize_image_instance): ditto.
9344         (Fimage_instance_foreground): ditto.
9345         (Fimage_instance_background): ditto.
9346         (image_instantiate): ditto.
9347         (update_subwindow_cachel): ditto.
9348         (update_subwindow): ditto.
9349         (unmap_subwindow): ditto.
9350         (map_subwindow): ditto
9351         (subwindow_instantiate): ditto.
9352         * glyphs-msw.c (mswindows_update_widget): ditto.
9353         (mswindows_progress_gauge_instantiate): ditto.
9354         (mswindows_tab_control_update): ditto.
9355         * glyphs-x.c (x_update_widget): ditto.
9356         (x_widget_instantiate): ditto.
9357         (x_tab_control_instantiate): ditto.
9358         (x_tab_control_update): ditto.
9359         * event-msw.c (mswindows_wnd_proc): ditto
9360
9361         * glyphs-widget.c (image_instantiator_layout): use
9362         subwindow_decode_domain.
9363         (image_instantiator_buttons): ditto.
9364         (image_instantiator_edit_fields): ditto.
9365         (image_instantiator_combo_box): ditto.
9366         (image_instantiator_scrollbar): ditto.
9367         (image_instantiator_progress_guage): ditto.
9368         (image_instantiator_tree_view): ditto.
9369         (image_instantiator_tab_control): ditto.
9370         (image_instantiator_labels): ditto.
9371         (image_instantiator_layout): ditto.
9372
9373         * glyphs.c: add instance error checking to many functions.
9374         (instantiate_image_instantiator): decode device from cache_domain.
9375         (image_instantiate): partially rewrite by using
9376         decode_image_instantiator_domain to determine what domain the
9377         instance needs to be cached in.
9378         (decode_image_instantiator_domain): new function. Determine what
9379         domain the image needs to be cached in.
9380         (check_window_subwindow_cache): new error checking function.
9381         (check_instance_cache_mapper): ditto.
9382         (check_image_instance_structure): ditto.
9383         (subwindow_decode_domain): new function. Encodes a window as a
9384         subwindow's cache domain.
9385         (image_instantiator_format_create): use it for text and
9386         subwindows.
9387
9388 2000-04-21  Andy Piper  <andy@xemacs.org>
9389
9390         * glyphs.c (image_instance_device): new function.
9391         (image_instance_frame): new function.
9392         (image_instance_window): new function.
9393         (image_instance_live_p): new function.
9394
9395         * window.c (mark_window_as_deleted): reset the subwindow_instance_
9396         cache to nil.
9397
9398         * glyphs.h (struct Lisp_Image_Instance): device->domain.
9399         (IMAGE_INSTANCE_DOMAIN): new accessor.
9400         (XIMAGE_INSTANCE_DOMAIN): ditto.
9401
9402         * glyphs-x.c (x_finalize_image_instance): device->domain.
9403
9404         * glyphs-msw.c (init_image_instance_geometry): device->domain.
9405         (mswindows_finalize_image_instance): ditto.
9406
9407         * glyphs-eimage.c (jpeg_instantiate): device->domain.
9408         (gif_instantiate): ditto.
9409         (png_instantiate): ditto.
9410         (tiff_instantiate): ditto.
9411
9412         * glyphs.c (instantiate_image_instantiator): use domain rather
9413         than device.
9414         (mark_image_instance): device -> domain.
9415         (print_image_instance): ditto.
9416         (finalize_image_instance): ditto.
9417         (image_instance_equal): ditto.
9418         (allocate_image_instance): ditto.
9419         (Fcolorize_image_instance): ditto.
9420         (query_string_geometry): ditto.
9421         (image_instantiate): ditto
9422         (query_string_font): ditto.
9423         (image_instantiate): ditto.
9424         (update_subwindow): ditto.
9425         (unmap_subwindow): ditto.
9426         (map_subwindow): ditto.
9427         (subwindow_instantiate): ditto.
9428
9429         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
9430         (DOMAIN_FRAME): ditto.
9431         (DOMAIN_WINDOW): ditto.
9432         (DOMAIN_LIVE_P): ditto.
9433         (XDOMAIN_DEVICE): ditto.
9434         (XDOMAIN_FRAME): ditto.
9435         (XDOMAIN_WINDOW): ditto.
9436
9437         * specifier.c (Fvalid_specifier_domain_p): add image instances as
9438         a valid specifier domain.
9439
9440 2000-04-19  Andy Piper  <andy@xemacs.org>
9441
9442         * glyphs-widget.c (syms_of_glyphs_widget): remove
9443         widget-callback-current-channel.
9444         (vars_of_glyphs_widget): ditto.
9445         * glyphs.h: ditto
9446
9447         * gui.c (get_gui_callback): revert to previous behaviour.
9448
9449 2000-04-18  Andy Piper  <andy@xemacs.org>
9450
9451         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
9452         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
9453         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
9454
9455         * glyphs.c (image_instance_equal): add margin_width.
9456         (image_instance_hash): ditto.
9457
9458         * glyphs-widget.c (widget_instantiate): deal with margin-width.
9459         (layout_query_geometry): ditto.
9460         (layout_layout): ditto.
9461         (syms_of_glyphs_widget): add margin-width.
9462         (image_instantiator_layout): allow margin-width.
9463
9464         * glyphs.c (update_widget_instances): make a normal function.
9465         (syms_of_glyphs): remove Qupdate_widget_instances.
9466         * glyphs.h: ditto.
9467
9468         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
9469         so that we don't corrupt ideas about the last event or
9470         command. Remove widget-callback-current-channel fiddling.
9471         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9472
9473 2000-05-01  Martin Buchholz <martin@xemacs.org>
9474
9475         * XEmacs 21.2.33 is released.
9476
9477 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
9478
9479         * make-src-depend: Allow dots in header file name.
9480
9481 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
9482
9483         * mule-charset.h (struct charset_lookup): Add
9484         next_allocated_1_byte_leading_byte and
9485         next_allocated_2_byte_leading_byte.
9486         * mule-charset.c: Move above two variables so that those values
9487         will be dumped.
9488
9489 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
9490
9491         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
9492         when string length is zero.
9493         (find_charsets_in_emchar_string): Ditto.
9494
9495 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
9496
9497         * lisp.h: extern Qdialog and Qmenubar.
9498
9499         * gui-x.c: added events.h.
9500                 also fixed typo which made the file uncompilable.
9501
9502         * general.c: Added Qmenubar and Qdialog
9503
9504 2000-04-28  Ben Wing  <ben@xemacs.org>
9505
9506         * frame-msw.c (mswindows_init_frame_1):
9507         * frame-msw.c (mswindows_mark_frame):
9508         * event-msw.c (mswindows_enqueue_dispatch_event):
9509         * console-msw.h:
9510         * console-msw.h (struct mswindows_frame):
9511         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
9512         there are now three hash tables for callbacks.
9513         mswindows_enqueue_dispatch_event is no longer static.
9514
9515         * dialog-x.c (maybe_run_dbox_text_callback):
9516         * dialog-x.c (dbox_descriptor_to_widget_value):
9517         switch to new cons3 form for callbacks.
9518
9519         * glyphs-msw.c (mswindows_register_gui_item):
9520         * glyphs-msw.c (mswindows_widget_instantiate):
9521         * glyphs-msw.c (add_tree_item):
9522         * glyphs-msw.c (add_tab_item):
9523         new image instance parameter, so it can be passed to callback-ex.
9524         respect :callback-ex as well as :callback.
9525
9526         * glyphs-widget.c (VALID_GUI_KEYWORDS):
9527         add :callback-ex.
9528
9529         * glyphs.c (print_image_instance):
9530         prettify, e.g. now prints widget type.
9531
9532         * gui-x.h:
9533         certain funs have new image instance parameter.
9534
9535         * gui.c:
9536         * gui.c (get_gui_callback):
9537         * gui.c (gui_item_add_keyval_pair):
9538         * gui.c (gui_item_init):
9539         * gui.c (gui_add_item_keywords_to_plist):
9540         * gui.c (mark_gui_item):
9541         * gui.c (gui_item_hash):
9542         * gui.c (gui_item_equal):
9543         * gui.c (copy_gui_item):
9544         * gui.c (syms_of_gui):
9545         recognize callback-ex in a number of places.
9546         also, fix the annoying "can't get out of yes-no dialog" bug.
9547
9548         * gui.h:
9549         * gui.h (struct Lisp_Gui_Item):
9550         recognize callback-ex in a number of places.
9551
9552         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9553         new parameter in button_item_to_widget_value.
9554
9555         * glyphs-x.c (x_update_widget):
9556         * glyphs-x.c (x_button_instantiate):
9557         * glyphs-x.c (x_button_update):
9558         * glyphs-x.c (x_progress_gauge_instantiate):
9559         * glyphs-x.c (x_edit_field_instantiate):
9560         * glyphs-x.c (x_combo_box_instantiate):
9561         * glyphs-x.c (x_tab_control_instantiate):
9562         * glyphs-x.c (x_label_instantiate):
9563         new image instance parameter in various places.
9564
9565         * event-Xt.c:
9566         * event-Xt.c (enqueue_Xt_dispatch_event):
9567         this fun gets exported.
9568
9569         * gui-msw.c:
9570         * gui-msw.c (mswindows_handle_gui_wm_command):
9571         handle both :callback and :callback-ex, and generate our own
9572         event because it's one of the callback-ex arguments.
9573
9574         * gui-x.c:
9575         * gui-x.c (popup_selection_callback):
9576         handle both :callback and :callback-ex, and generate our own
9577         event because it's one of the callback-ex arguments.
9578         * gui-x.c (button_item_to_widget_value):
9579         * gui-x.c (gui_items_to_widget_values_1):
9580         * gui-x.c (gui_item_children_to_widget_values):
9581         * gui-x.c (gui_items_to_widget_values):
9582         new image instance parameter in various places.
9583
9584         * fns.c (Freplace_list):
9585         fix small typo in doc string.
9586
9587         * lisp.h:
9588         declare enqueue_Xt_dispatch_event.
9589
9590 2000-04-28  Ben Wing  <ben@xemacs.org>
9591
9592         * buffer.c:
9593         * buffer.c (Frecord_buffer):
9594         * buffer.c (syms_of_buffer):
9595         delete record-buffer-hook.
9596
9597         * fns.c:
9598         * fns.c (Freplace_list):
9599         * fns.c (syms_of_fns):
9600         new primitive replace-list.
9601
9602         * frameslots.h:
9603         slot for old buffer-alist.
9604
9605         * lisp.h:
9606         exfun replace-list.
9607
9608         * redisplay.c:
9609         * redisplay.c (redisplay_frame):
9610         * redisplay.c (syms_of_redisplay):
9611         * redisplay.c (vars_of_redisplay):
9612         new hook buffer-list-changed-hook.
9613         call it.
9614
9615 2000-04-27  Ben Wing  <ben@xemacs.org>
9616
9617         * extents.h: extern in_modeline_generation.
9618
9619         * redisplay.c (generate_formatted_string_db): set
9620         in_modeline_generation.
9621
9622         * extents.c (extent_changed_for_redisplay): don't mark redisplay
9623         flags if in modeline generation.  otherwise frame-modified-tick
9624         is ticked far too often.
9625         Declare in_modeline_generation.
9626
9627 2000-04-26  Ben Wing  <ben@xemacs.org>
9628
9629         * emacs.c (vars_of_emacs): document quick-build "error-checking"
9630         option.
9631         (vars_of_emacs): add quick-build as an error-checking option.
9632         A bit kludgy, but there doesn't seem much point in creating
9633         a real var for this.
9634
9635         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
9636
9637 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9638
9639         * redisplay.h (struct display_line): Add a new variable,
9640         line_continuation.
9641
9642         * redisplay.c (create_text_block): Set dl->line_continuation if
9643         the line continues.
9644         (create_string_text_block): Ditto.
9645         (regenerate_window_incrementally): Use line_continuation instead
9646         of searching continuation glyph.
9647         (add_margin_runes): Call add_glyph_rune.
9648         (add_glyph_rune): Handle margin glyph.
9649
9650 2000-04-20  Martin Buchholz  <martin@xemacs.org>
9651
9652         * filelock.c (fill_in_lock_file_name):
9653         ANSIfy.
9654         Check for IS_ANY_SEP instead of '/'.
9655         (lock_file_1):
9656         Avoid generating gratuitous garbage.  Call user_login_name() directly.
9657         Never check errno without first seeing that system call failed.
9658         (unlock_file): Add GCPRO.
9659         (Flock_buffer): Fix docstring.
9660         (Ffile_locked_p): Fix docstring.  Add GCPRO.
9661
9662 2000-04-19  Martin Buchholz  <martin@xemacs.org>
9663
9664         * sysdep.c (get_pty_max_bytes):
9665         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
9666         strings longer than 252 bytes.
9667
9668         * md5.c: Unconditionally include ANSI header <limits.h>
9669
9670         * glyphs-x.c (convert_EImage_to_XImage):
9671         * lisp-union.h (union Lisp_Object):
9672         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
9673
9674 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9675
9676         * filelock.c (current_lock_owner): Remove unused variable o, p.
9677
9678 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
9679
9680         * callint.c: Remove multiply defined symbol Qlet
9681         (syms_of_callint): ditto.
9682
9683 2000-04-14  Andy Piper  <andy@xemacs.org>
9684
9685         * general.c (syms_of_general): add last-command, this-command, let
9686         and funcall.
9687
9688         * lisp.h: declare various symbols.
9689
9690         * glyphs.h: declare Qwidget_callback_current_channel;
9691
9692         * glyphs-widget.c (syms_of_glyphs_widget): add
9693         Qgui_callback_current_channel.
9694         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
9695
9696         * gui-msw.c (mswindows_handle_gui_wm_command): bind
9697         widget-callback-current-channel when invoking the interactive
9698         arg. Also bind last-command and next-command when invoking the
9699         widget updates.
9700         * gui-x.c (popup_selection_callback): ditto.
9701
9702         * gui.c (get_gui_callback): massage args so that we are always
9703         calling eval. This allows us to add our own variable bindings
9704         outside.
9705
9706         * glyphs-x.c (x_button_instantiate): use
9707         gui_items_to_widget_values since this is GC safe.
9708         (x_progress_gauge_instantiate): ditto.
9709         (x_edit_field_instantiate): ditto.
9710         (x_label_instantiate): ditto.
9711
9712         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
9713         (emacs_Xt_event_widget_focus_out): new function
9714         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
9715         focus.
9716         (emacs_Xt_event_add_widget_actions): new function. add focus
9717         functions as actions.
9718         (init_event_Xt_late): use it.
9719
9720 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
9721
9722         * event-stream.c (Fdispatch_event): Doc fix.
9723
9724 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
9725
9726         * postgresql.c: Remove all references to PQsetenv*.
9727
9728         * postgresql.h: Remove references to PGsetenvHandler object.
9729         * lrecord.h (lrecord_type): Ditto.
9730
9731 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9732
9733         * glyphs-msw.h (struct mswindows_image_instance_data): Added
9734         real_heigh and real_width members, and accessor macros for these.
9735
9736         * glyphs-msw.c (init_image_instance_geometry): New function.
9737         (init_image_instance_from_dibitmap): Use it.
9738         (mswindows_resource_instantiate): Use it.
9739         (init_image_instance_from_xbm_inline): Use it.
9740         (mswindows_initialize_image_instance_mask): Use real bitmap
9741         geometry.
9742         (mswindows_create_resized_bitmap): Ditto.
9743         (mswindows_create_resized_mask): Ditto.
9744
9745         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
9746         and bitmap to their surface size.
9747
9748 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
9749
9750         * process-unix.c (unix_send_process): Guard against process MIA
9751         after Faccept_process_output.
9752
9753 2000-04-11  Ben Wing  <ben@xemacs.org>
9754
9755         * eval.c (unbind_to_hairy): fix brokenness introduced by
9756         nanosecond speed improvements.
9757
9758 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
9759
9760         * sunplay.c (init_device): To play sounds correctly, the device
9761         apparently needs to be initialized at least once by XEmacs.  Make
9762         it so.
9763
9764 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9765
9766         * redisplay.c (add_margin_runes): Add text image glyph
9767           handling.
9768
9769 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9770
9771         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
9772         gcc is newer than 2.5.
9773
9774 2000-04-06  Colin Rafferty  <colin@xemacs.org>
9775
9776         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
9777
9778         * fns.c (size_bit_vector):
9779         * alloc.c (size_vector):
9780         (make_vector_internal):
9781         (make_bit_vector_internal):
9782         (sweep_bit_vectors_1):
9783         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
9784
9785 2000-04-06  Andy Piper  <andy@xemacs.org>
9786
9787         * gmalloc.c (malloc): undo previous change.
9788         (malloc): ditto.
9789         (free): ditto.
9790         (realloc): ditto.
9791
9792 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
9793
9794         * line-number.c (buffer_line_number): Revert to former version.
9795
9796 2000-04-06  Andy Piper  <andy@xemacs.org>
9797
9798         * gmalloc.c (malloc): add error checking.
9799         (malloc): ditto.
9800         (free): ditto.
9801         (realloc): ditto.
9802
9803         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
9804         button_item_to_widget_value arg.
9805
9806         * glyphs-x.c (x_button_instantiate): add extra
9807         button_item_to_widget_value arg.
9808         (x_progress_gauge_instantiate): ditto.
9809         (x_edit_field_instantiate): ditto.
9810         (x_label_instantiate): ditto.
9811
9812         * gui-x.c (gui_items_to_widget_values_1): add extra
9813         button_item_to_widget_value arg.
9814         (button_item_to_widget_value): add extra menu_item_p arg.
9815
9816         * gui-x.h: change signature of button_item_to_widget_value.
9817
9818         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
9819         button_item_to_widget_value arg.
9820
9821 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9822
9823         * buffer.h (struct buffer): auto_save_modified should be long.
9824
9825 2000-04-05  Andy Piper  <andy@xemacs.org>
9826
9827         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
9828         type.
9829         (button_query_geometry): give a little more room so that athena
9830         buttons fit.
9831
9832 2000-04-05  Andy Piper  <andy@xemacs.org>
9833
9834         * faces.c (complex_vars_of_faces): The widget face should inherit
9835         the font of the gui-element face.
9836
9837 2000-04-04  Andy Piper  <andy@xemacs.org>
9838
9839         * glyphs-x.c (x_button_update): new function. unconditionally
9840         update a button's state when the instance is dirty.
9841         (image_instantiator_format_create_glyphs_x): add x_button_update.
9842         (x_widget_instantiate): remove old resize cruft.
9843
9844 2000-04-02  Andy Piper  <andy@xemacs.org>
9845
9846         * frame.c (change_frame_size_1): The introduction of gutters means
9847         that we need to allow 0 as a potential frame dimension.
9848
9849 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9850
9851         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
9852         image glyph if allow_cursor.
9853         (add_hscroll_rune): Don't allow cursor to border glyph.
9854         (create_text_block): Ditto.
9855
9856         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
9857         text not in buffer.
9858         (redisplay_output_layout): Call ensure_face_cachel_complete for
9859         text image glyph.
9860
9861
9862 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9863
9864         * redisplay.c (add_glyph_rune): Adding text image as text runes.
9865
9866         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
9867         not in buffer
9868
9869         * redisplay-tty.c (tty_output_display_block): Delete the routine
9870         for text image glyph
9871         * redisplay-x.c (x_output_display_block): ditto
9872         * redisplay-msw.c (mswindows_output_display_block): ditto
9873
9874 2000-02-02  Mike Alexander  <mta@arbortext.com>
9875
9876         Note: Some of these were committed by accident as part of other
9877         patches.
9878
9879         * regex.c (regex_compile): Avoid compiler warnings.
9880
9881         * ntproc.c (sys_spawnve): Avoid compiler warnings.
9882
9883         * nt.h: Declare term_ntproc correctly.
9884
9885         * nt.c: Remove incorrect declaration of get_home_directory which
9886         is declared correctly in lisp.h.
9887
9888         * keymap.c (get_keyelt): Avoid compiler warnings.
9889         (raw_lookup_key_mapper): Avoid compiler warnings.
9890
9891         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
9892
9893         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
9894
9895         * filemode.c (mode_string): Avoid compiler warnings.
9896
9897         * file-coding.c (Fcoding_system_aliasee): Add return statement to
9898         avoid warning.
9899
9900         * events-mod.h: Undef some things that winuser.h defines differently.
9901
9902         * data.c (Faset): Avoid compiler warnings.
9903
9904         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
9905
9906 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9907
9908         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
9909         Fall through to simple beep on error.
9910         Replace "extern" by real header file.
9911
9912         * linuxplay.c: Use nativesound.h
9913         (play_sound_data): Return error code. Be less verbose on error.
9914
9915         * sunplay.c: Use nativesound.h
9916         (play_sound_data): Return error code. Be less verbose on error.
9917
9918         * ntplay.c: Use nativesound.h
9919         (play_sound_data): Return fake error code
9920
9921         * sgiplay.c: Use nativesound.h
9922         (play_sound_data): Return error code
9923
9924         * hpplay.c: Use nativesound.h, partially implement
9925         new error code. Break compilation until finished.
9926         (play_sound_data): error code.
9927
9928         * nativesound.h (play_sound_file):
9929           (play_sound_data): Prototype in new header.
9930
9931 2000-03-31  Andy Piper  <andy@xemacs.org>
9932
9933         * glyphs-widget.c: (button_query_geometry): new function. Adjust
9934         for toggle and radio buttons.
9935         (image_instantiator_buttons): use it.
9936
9937 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9938
9939         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
9940         (x_update_horizontal_scrollbar_callback): Return if no mirror was
9941         found. Scrollbar event probably belonged to some old config.
9942
9943 2000-03-31  Andy Piper  <andy@xemacs.org>
9944
9945         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
9946         than 1.
9947         (initialize_widget_image_instance): default layout to
9948         LAYOUT_HORIZONTAL rather than 0.
9949         (widget_instantiate): reverse the item list at the end rather than
9950         every iteration.
9951         (layout_layout): re-code for the border text at the front of the
9952         item list rather than at the end.
9953         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
9954         provided by the user.
9955         (widget_query_geometry): comment.
9956
9957 2000-03-30  Andy Piper  <andy@xemacs.org>
9958
9959         * glyphs-widget.c (image_instantiator_layout): allow standard
9960         widget keywords in layouts.
9961
9962         * gutter.c (output_gutter): cope with nil gutter contents.
9963
9964         * frame.c (Fset_frame_properties): add gutter docs.
9965
9966 2000-03-29  Andy Piper  <andy@xemacs.org>
9967
9968         * toolbar-msw.c (TBSTYLE_FLAT): add.
9969         (mswindows_output_toolbar): minor fiddling.
9970
9971 2000-03-29  Andy Piper  <andy@xemacs.org>
9972
9973         * gutter.c (output_gutter): force gutter size recalculation if
9974         what we are trying to display won't fit.
9975         (update_gutter_geometry): new function. A per-gutter version of
9976         update_frame_gutter_geometry.
9977         (update_frame_gutter_geometry): use it.
9978         (redraw_exposed_gutter): add extra debugging output.
9979
9980 2000-03-28  Mike Alexander  <mta@arbortext.com>
9981
9982         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
9983         (pdump_file_unmap): Implement it on Windows
9984         (pdump_file_get): Save alocated handles for pdump_file_unmap
9985
9986 2000-03-28  Andy Piper  <andy@xemacs.org>
9987
9988         * gui.c (get_gui_callback): treat Quit specially.
9989
9990 2000-03-27  Andy Piper  <andy@xemacs.org>
9991
9992         * glyphs.c (image_instantiate): be careful to check in the same
9993         way we assigned.
9994
9995 2000-03-27  Didier Verna  <didier@xemacs.org>
9996
9997         * config.h.in: define the proper SMART_INCLUDE macro.
9998         handle renaming of `foo_h_path' to `foo_h_file'.
9999
10000         * database.c: ditto.
10001
10002         * emacs.c: ditto.
10003
10004         * linuxplay.c: ditto.
10005
10006         * terminfo.c: ditto.
10007
10008         * tooltalk.h: ditto.
10009
10010 2000-03-27  Andy Piper  <andy@xemacs.org>
10011
10012         * glyphs-msw.c (mswindows_update_widget): make sure the widget
10013         gets updated whenever the face might have changed.
10014
10015 2000-03-26  Mike Alexander  <mta@arbortext.com>
10016
10017         * dumper.c (pdump_resource_free): Fix the comment.
10018
10019 2000-03-21  Olivier Galibert  <galibert@pobox.com>
10020
10021         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
10022
10023 2000-03-22  Mike Alexander  <mta@arbortext.com>
10024
10025         * dumper.c: Include Windows headers on Windows
10026         (pdump_resource_free): Add a body to the function
10027         (pdump_load): exe_name -> exe_path and add some comments.
10028
10029 2000-03-25  Mike Alexander  <mta@arbortext.com>
10030
10031         * gui.c (copy_gui_item_tree): Return a value in all cases
10032
10033 2000-03-21  Didier Verna  <didier@xemacs.org>
10034
10035         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
10036         lwlib/config.h.in.
10037         (SMART_INCLUDE): new macro.
10038         (POSTGRES_INCLUDE): new macro to include postgresql headers from
10039         the proper location.
10040
10041         * postgresql.c: use it.
10042
10043         * inline.c: ditto.
10044
10045 2000-03-24  Andy Piper  <andy@xemacs.org>
10046
10047         * gutter.c (redraw_exposed_gutters): must be "in display" when we
10048         do this.
10049
10050 2000-03-24  Andy Piper  <andy@xemacs.org>
10051
10052         * redisplay-output.c (compare_runes): use image_instance_changed
10053         to detect changes. Do not depend on glyphs_changed, only depend on
10054         dirtiness.
10055          (redisplay_output_layout): add debug messages.
10056         (compare_runes): ditto.
10057
10058         * glyphs.h: declare new functions.
10059         (struct Lisp_Image_Instance): remove percent and associated
10060         accessors.
10061
10062         * gui.h: declare new copying functions.
10063
10064         * gui.c (copy_gui_item_tree): new function.
10065         (copy_gui_item): new function.
10066         (gui_item_id_hash): revert to standard hash.
10067         (gui_item_hash): ditto.
10068         (gui_item_hash_internal): deleted.
10069         (mark_gui_item): mark value.
10070         (gui_item_add_keyval_pair): add value.
10071         (gui_item_init): ditto.
10072         (gui_add_item_keywords_to_plist): ditto.
10073         (gui_item_equal): ditto.
10074         (syms_of_gui): add Q_value.
10075
10076         * glyphs-x.c (x_progress_gauge_update): use pending items and
10077         value for setting the state.
10078         (x_update_widget): don't set items from pending here.
10079
10080         * glyphs-widget.c (update_widget): update items here.
10081         (progress_gauge_set_property): use items for storing value. Put
10082         new value in pending items.
10083
10084         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
10085         items for new value. Convert percent -> value.
10086         (mswindows_tab_control_update): don't update items here.
10087
10088         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
10089         (update_subwindow): ditto.
10090         (image_instance_changed): new function. Compare hash values and
10091         past and present widget items.
10092         (image_instantiate): We more careful about where we instantiate
10093         things.
10094         (image_instantiate): add error checking.
10095
10096         * gutter.c (syms_of_gutter): use -hook.
10097
10098 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
10099
10100         * console-tty.c (Fset_console_tty_input_coding_system): Use
10101         Qkeyboard.
10102         (Fset_console_tty_output_coding_system): Use Qterminal.
10103         (tty_init_console): Use Qkeyboard and Qterminal.
10104
10105 2000-03-21  Ben Wing  <ben@xemacs.org>
10106
10107         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
10108         From Mike Alexander <mta@arbortext.com>.
10109
10110 2000-03-21  Ben Wing  <ben@xemacs.org>
10111
10112         * event-msw.c (mswindows_need_event): Horrible kludge to fix
10113         process brokenness.  Proper implementation to come.
10114         * callproc.c:
10115         Rename call-process-internal to old-call-process-internal.
10116         New impl. in process.el.
10117
10118 2000-03-21  Martin Buchholz  <martin@xemacs.org>
10119
10120         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
10121
10122 2000-03-20  Andy Piper  <andy@xemacs.org>
10123
10124         * glyphs.c (full_list_hash): make hashes of the same elements in
10125         different orders return different values.
10126
10127 2000-03-20  Martin Buchholz <martin@xemacs.org>
10128
10129         * XEmacs 21.2.32 is released.
10130
10131 2000-03-20  Martin Buchholz  <martin@xemacs.org>
10132
10133         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
10134         (DFC_MALLOC_USE_CONVERTED_DATA):
10135         Add aliasing-safe casts to allow use with char* or unsigned char*
10136         lvalues.
10137
10138         * eldap.c (Fldap_open):
10139         (Fldap_search_basic):
10140         (Fldap_add):
10141         (Fldap_modify):
10142         Make C++-compilable.
10143         Make sure GCPRO'ed variables are initialized.
10144         Use temp variables to avoid repeated calls to Flength.
10145
10146 2000-03-16  Martin Buchholz  <martin@xemacs.org>
10147
10148         * sysfile.h:
10149         Make sure PATH_MAX is always defined.
10150         Include limits.h for PATH_MAX.
10151         Deprecate use of MAXPATHLEN.
10152
10153 2000-03-10  Martin Buchholz  <martin@xemacs.org>
10154
10155         * emacs.c: Add reinit_vars_of_fileio.
10156         * symsinit.h: Add reinit_vars_of_fileio.
10157         * fileio.c (reinit_vars_of_fileio): New.
10158         * fileio.c (Fmake_temp_name):
10159         Initialize temp_name random number from microseconds to make
10160         collisions even less likely.  Initialize always at process startup
10161         time.  (make-temp-name) used to return the same file name twice in
10162         a row when PDUMP.
10163         Random stylistic fiddling.
10164         Comment fixes.
10165
10166 2000-03-20  Andy Piper  <andy@xemacs.org>
10167
10168         * glyphs.c (image_instantiate): allow text glyphs to be
10169         instantiated in the minibuffer window.
10170
10171 2000-03-19  Andy Piper  <andy@xemacs.org>
10172
10173         * glyphs.c (image_instance_hash): be careful about which items we
10174         hash on.
10175
10176         * glyphs-widget.c (tab_control_set_property): record into pending
10177         items rather than the actual items.
10178
10179         * glyphs-x.c (x_update_widget): use pending items to update with.
10180
10181         * glyphs-msw.c (mswindows_tab_control_update): use pending items
10182         to update with.
10183
10184         * glyphs.c (mark_image_instance): mark pending items.
10185
10186         * window.c (Fset_window_configuration): record the buffer.
10187         (Fselect_window): totally revert previous change which breaks many
10188         things.
10189
10190 2000-03-18  Andy Piper  <andy@xemacs.org>
10191
10192         * glyphs-msw.c (mswindows_tab_control_update): force selected
10193         item.
10194
10195         * glyphs.c (image_instantiate): don't allow the minibuffer as a
10196         window domain cache, otherwise we get inconsistencies at
10197         startup. There is something fishy at startup which can lead to the
10198         minibuffer being the selected window when the gutter content is
10199         instantiated.
10200
10201         * gui.c (parse_gui_item_tree_list): add probably unnecessary
10202         gcpros.
10203         (parse_gui_item_tree_children): ditto.
10204         (parse_gui_item_tree_item): ditto.
10205
10206         * glyphs.c (Fupdate_widget_instances): return something.
10207
10208 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
10209
10210         * window.c (Fselect_window): Undo 2000-03-17 change.
10211
10212 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
10213
10214         * postgresql.c (Fpq_setenv): Remove this turkey when linking
10215         against v7.0 libraries.  Insta-coredump city until the postgres
10216         folks fix it.
10217
10218 2000-03-17  Andy Piper  <andy@xemacs.org>
10219
10220         * faces.c (complex_vars_of_faces): don't give the widget face an
10221         inherited background pixmap.
10222
10223         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
10224         selected item.
10225
10226         * event-stream.c (Fdispatch_non_command_events): return something.
10227
10228         * gutter.c (output_gutter): use widget face.
10229         (clear_gutter): ditto.
10230
10231         * NEWS: adjust again.
10232
10233         * window.c (Fselect_window): make sure this runs to completion to
10234         avoid oddities with Fset_window_configuration.
10235         (Fcurrent_window_configuration): in general do not save the
10236         minibuffer as the selected window.
10237
10238         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
10239
10240 2000-03-16  Olivier Galibert  <galibert@pobox.com>
10241
10242         * emacs.c (Frunning_temacs_p): Revert previous patch.
10243         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
10244
10245 2000-03-16  Andy Piper  <andy@xemacs.org>
10246
10247         * glyphs-x.c (x_tab_control_update): if no widget values then
10248         return.
10249
10250         * NEWS: update for new features.
10251
10252         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
10253         synthetic event to the native system.
10254         (reinit_vars_of_event_Xt): set force_event_pending to
10255         emacs_Xt_force_event_pending.
10256
10257         * events.h (struct event_stream): add force_event_pending.
10258
10259         * specifier.c (recompute_one_cached_specifier_in_window): add
10260         comment.
10261
10262         * redisplay.c (redisplay_frame): don't call
10263         update_frame_subwindows. Reset subwindow cachels when
10264         subwindows_changed, removing this was an optimization too far.
10265
10266         * redisplay-output.c (compare_runes): reorganize so that we catch
10267         glyph changes when we want them. Set optimize_output when this
10268         would help layouts.
10269         (redisplay_output_layout): remove frame_really_changed, use
10270         optimize_output instead.
10271
10272         * redisplay-msw.c (mswindows_output_display_block): reset
10273         optimize_output after outputting a glyph.
10274         * redisplay-x.c (x_output_display_block): ditto.
10275         * redisplay-tty.c (tty_output_display_block): ditto.
10276
10277         * gutter.c: (specifier_vars_of_gutter): use new spec changed
10278         functions.
10279         (gutter_specs_changed): do specific gutter positions.
10280         (top_gutter_specs_changed): new function. Only update the
10281         specified gutter specs.
10282         (bottom_gutter_specs_changed): ditto.
10283         (left_gutter_specs_changed): ditto.
10284         (right_gutter_specs_changed): ditto.
10285
10286         * gui.c (gui_item_hash_internal): new function, does a real hash.
10287         (gui_item_id_hash): use it.
10288         (gui_item_hash): hash the eval'ed gui_item.
10289
10290         * gui-x.c (popup_selection_callback): send an eval event to call
10291         Fupdate_widget_instances.
10292
10293         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
10294         to call Fupdate_widget_instances.
10295
10296         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
10297         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
10298
10299         * glyphs.c: (update_frame_subwindows): deleted.
10300         (Fupdate_widget_instances): new function for updating the dirty
10301         state of widgets that might have changed.
10302         (syms_of_glyphs): add Qupdate_widget_instances.
10303         (full_list_hash): hash a list completely.
10304         (image_instance_hash): use it for items and properties.
10305
10306         * frame-msw.c (mswindows_size_frame_internal): remove unused
10307         variable.
10308
10309         * faces.h (struct face_cachel): fix comment.
10310
10311         * event-stream.c (Fdispatch_non_command_events): new
10312         function. Process non-command events, forcing an event cycle
10313         beforehand.
10314         (syms_of_event_stream): declare.
10315         (event_stream_force_event_pending): new function. Force an event
10316         on the native event queue so that an event cycle will occur next
10317         time we check.
10318
10319         * event-msw.c:
10320         (struct ntpipe_shove_stream):
10321         (mswindows_enqueue_dispatch_event):
10322         (mswindows_dequeue_dispatch_event):
10323         (mswindows_cancel_dispatch_event):
10324         (mswindows_pump_outstanding_events):
10325         (mswindows_drain_windows_queue):
10326         (mswindows_handle_paint):
10327         (mswindows_wnd_proc):
10328         (mswindows_key_to_emacs_keysym):
10329         (get_process_input_waitable):
10330         (emacs_mswindows_delete_stream_pair): re-indent file.
10331         (mswindows_need_event): do not process further fds if the windows
10332         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
10333         fixes the 100% cpu problem.
10334         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
10335
10336 2000-03-15  Olivier Galibert  <galibert@pobox.com>
10337
10338         * alloc.h: New.
10339         * dumper.h: New.
10340         * dumper.c: New.
10341
10342         * emacs.c: Moved dump file searching to dumper.c.
10343         (Frunning_temacs_p): Fixed.
10344
10345         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
10346         last_lrecord_type_index_assigned.
10347
10348 2000-02-20  Olivier Galibert  <galibert@pobox.com>
10349
10350         * symsinit.h: Added reinit parameter to init_console_stream
10351         declaration.
10352
10353         * lisp.h: Added file parameter to pdump_load declaration.
10354
10355         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
10356         support.  Added dump file searching.
10357
10358         * config.h.in: Added EMACS_PROGNAME.
10359
10360         * console-stream.c (init_console_stream): Fix reinitialisation
10361         when running from temacs.
10362
10363         * alloc.c (pdump): Add id support.
10364         (pdump_load): Add file parameter and signature/id support.
10365
10366         * Makefile.in.in: Add full pdump support.
10367
10368 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
10369
10370         * postgresql.c: Update documentation to reflect latest code
10371         status.
10372         (print_result): Show tuple counts in printed representation when
10373         appropriate.
10374         (Fpq_put_nbytes): MULE-ize.
10375         (Fpq_get_line_async): Ditto.
10376
10377 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10378
10379         * postgresql.c (Fpq_lo_import): Fix return value.
10380         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
10381
10382 2000-03-13  Ben Wing  <ben@xemacs.org>
10383
10384         * alloc.c (pdump_load):
10385         Fix compile warning under mswin.
10386
10387 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10388
10389         * postgresql.c: Mule-ization, bug fixes.
10390         Use PG_CODING to encapsulate coding system name changes.
10391         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
10392         (pg-coding-system): Create.
10393
10394         (Fpq_conn_defaults): Mule-ize.
10395         (Fpq_connectdb): Mule-ize & bug fix.
10396         (Fpq_connect_start): Mule-ize.
10397         (Fpq_set_client_encoding): Mule-ize.
10398         (Fpq_finish): Document `DEAD' connection status.
10399         (Fpq_clear): Ditto.
10400         (Fpq_pgconn): Mule-ize.
10401         (Fpq_exec): Mule-ize & bug fix.
10402         (Fpq_send_query): Ditto.
10403         (Fpq_get_result): Ditto.
10404         (Fpq_res_status): Mule-ize.
10405         (Fpq_result_error_message): Mule-ize.
10406         (Fpq_ntuples): fix comments.
10407         (Fpq_fname): Mule-ize.
10408         (Fpq_fnumber): Mule-ize.
10409         (Fpq_ftype): fix comments.
10410         (Fpq_get_value): Mule-ize.
10411         (Fpq_cmd_status): Ditto.
10412         (Fpq_cmd_tuples): Ditto.
10413         (Fpq_oid_value): Ditto.
10414         (Fpq_notifies): Ditto.
10415         (Fpq_lo_import): Ditto.
10416         (Fpq_lo_export): Ditto.
10417         (Fpq_get_line): Ditto.
10418         (Fpq_put_line): Mule-ize and bug fix.
10419         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
10420
10421 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10422
10423         * postgresql.c (vars_of_postgresql): Mule-ize.
10424         (Fpq_conn_defaults): Ditto.
10425
10426 2000-03-12  Ben Wing  <ben@xemacs.org>
10427
10428         * alloc.c (Fmake_byte_code):
10429         * alloc.c (debug_string_purity_print):
10430         * alloc.c (pdump_backtrace):
10431         * alloc.c (pdump_get_indirect_count):
10432         * alloc.c (pdump_register_sub):
10433         * alloc.c (pdump_register_object):
10434         * alloc.c (pdump_register_struct):
10435         * alloc.c (pdump_dump_data):
10436         * alloc.c (pdump_reloc_one):
10437         Minor cleanups.
10438
10439         * console-msw.c:
10440         * console-msw.c (GetConsoleHwnd):
10441         * console-msw.c (msw_hide_console):
10442         * console-msw.c (msw_show_console):
10443         * console-msw.c (msw_ensure_console_buffered):
10444         * console-msw.c (msw_output_console_string):
10445         * console-msw.c (console_type_create_mswindows):
10446
10447         a) Added functions to manipulate the console window for use with
10448         shell support.
10449
10450         b) Added support for writing text to the console, which is now
10451         used under Windows when xemacs is not being run non-interactively,
10452         to write text that would otherwise be destined for stdout because
10453         under these circumstances, text written to stdout tends to
10454         disappear and not be seen.
10455
10456         * console-msw.h:
10457         * event-Xt.c:
10458         * event-Xt.c (x_event_to_emacs_event):
10459         * event-Xt.c (describe_event_window):
10460         * events-mod.h (XEMACS_MOD_CONTROL):
10461         * events.c:
10462         * events.c (Fmake_event):
10463         * events.c (character_to_event):
10464         * events.c (event_to_character):
10465         * events.c (format_event_object):
10466         * events.c (Fevent_modifiers):
10467         * events.h:
10468         * events.h (struct key_data):
10469         * events.h (struct button_data):
10470         * events.h (struct misc_user_data):
10471         * frame-x.c (Fcde_start_drag_internal):
10472         * frame-x.c (Foffix_start_drag_internal):
10473         * gpmevent.c (Freceive_gpm_event):
10474         * keymap.c:
10475         * keymap.c (bucky_sym_to_bucky_bit):
10476         * keymap.c (control_meta_superify):
10477         * keymap.c (make_key_description):
10478         * keymap.c (keymap_lookup_directly):
10479         * keymap.c (create_bucky_submap):
10480         * keymap.c (keymap_store):
10481         * keymap.c (define_key_check_and_coerce_keysym):
10482         * keymap.c (define_key_parser):
10483         * keymap.c (define_key_alternate_name):
10484         * keymap.c (Fdefine_key):
10485         * keymap.c (raw_lookup_key_mapper):
10486         * keymap.c (struct map_keymap_unsorted_closure):
10487         * keymap.c (map_keymap_unsorted_mapper):
10488         * keymap.c (map_keymap_sort_predicate):
10489         * keymap.c (map_keymap_sorted):
10490         * keymap.c (accessible_keymaps_mapper_1):
10491         * keymap.c (where_is_recursive_mapper):
10492         * keymap.c (describe_map_mapper):
10493         * keymap.c (describe_map_sort_predicate):
10494         * keymap.c (describe_map):
10495         * keymap.c (complex_vars_of_keymap):
10496         And a number of other files, the key modifier preprocessor
10497         constants that xemacs uses have names that conflict with constants
10498         defined under MS Windows for other purposes, so they were renamed
10499         to begin with the prefix XEMACS_. The variables that hold such
10500         modifiers were changed to consistently be of type int to fix
10501         various compile warnings.
10502
10503         * console.c (complex_vars_of_console):
10504         * device.c:
10505         * device-msw.c:
10506         * device-msw.c (mswindows_finish_init_device):
10507         * device-msw.c (msw_get_workspace_coords):
10508         * device-msw.c (mswindows_device_system_metrics):
10509         and various other files, added support for a new
10510         device property called offset-workspace which returns the position
10511         of the upper left corner of the workspace area and goes along with
10512         the existing size-workspace property.
10513
10514         * dialog-msw.c:
10515         * dialog-msw.c (push_bufbyte_string_as_unicode):
10516         * dialog-msw.c (mswindows_popup_dialog_box):
10517         Added support for XEmacs-style accelerator specifications in
10518         button text.  Note: I didn't add support for this under X Windows,
10519         and somebody needs to do this.
10520
10521         * dialog.c:
10522         * dialog.c (Fpopup_dialog_box):
10523         Documented the support for accelerators that was just mentioned.
10524
10525         editfns.c (get_home_directory): Changed behavior under Windows
10526         when HOME not defined; former behavior was irretrievably broken.
10527
10528         * emacs.c:
10529         * emacs.c (main_1):
10530         * emacs.c (main):
10531         * minibuf.c (clear_echo_area_internal):
10532         * minibuf.c (echo_area_append):
10533         * print.c:
10534         * print.c (std_handle_out_external):
10535         * print.c (std_handle_out_va):
10536         * print.c (fatal):
10537         * print.c (write_string_to_stdio_stream):
10538         * print.c (output_string):
10539         * print.c (debug_print):
10540         * print.c (debug_backtrace):
10541         * print.c (debug_short_backtrace):
10542         Cleaned up the code that prints text to stdout so that this can be
10543         changed to output into a console window instead under MS Windows,
10544         as described above.
10545
10546         * eval.c:
10547         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
10548         * eval.c (internal_catch):
10549         * eval.c (unwind_to_catch):
10550         * eval.c (throw_or_bomb_out):
10551         * eval.c (condition_case_1):
10552         * eval.c (signal_1):
10553         * eval.c (check_error_state_sanity):
10554         * eval.c (call_with_suspended_errors_1):
10555         * eval.c (call_with_suspended_errors):
10556         * eval.c (reinit_vars_of_eval):
10557         Added code to catch throw loops and check for a pesky bug that may
10558         be gone now.
10559
10560         * event-msw.c:
10561         * event-msw.c (key_needs_default_processing_p):
10562         * event-msw.c (mswindows_wnd_proc):
10563         * event-msw.c (mswindows_modifier_state):
10564         * event-msw.c (emacs_mswindows_quit_p):
10565         * event-msw.c (vars_of_event_mswindows):
10566         a) Added support for using the alt key to select menu items as is
10567         standard under MS Windows.  This is controlled using the variable
10568         menu-accelerator-enabled, just like under X Windows.  There is an
10569         option on the options menu to turn this support on.  I really
10570         think that it should be on by default under Windows, but I'm not
10571         going to make this change yet.
10572
10573         b)  Added support for dynamic display size changes under Windows.
10574
10575         * event-stream.c:
10576         * event-stream.c (maybe_echo_keys):
10577         * event-stream.c (Fnext_event):
10578         * event-stream.c (command_builder_find_leaf):
10579         * event-stream.c (lookup_command_event):
10580         * event-stream.c (execute_command_event):
10581         * event-stream.c (pre_command_hook):
10582         * event-stream.c (post_command_hook):
10583         * event-stream.c (syms_of_event_stream):
10584         * event-stream.c (vars_of_event_stream):
10585         * event-stream.c (complex_vars_of_event_stream):
10586         * events.h (struct command_builder):
10587
10588         a) Tried to clean up a little bit the horribly written x-specific
10589         accelerator code that crept into this file.  I moved this code
10590         into menubar-x.c where it belongs. I also needed to move the
10591         command builder structure into the file events.h because it is
10592         accessed directly by this accelerator code.  What I didn't do, but
10593         which should be done at some point, is to properly abstract this
10594         code using device methods instead of the kludgy way that it
10595         currently hooks into the event code.
10596
10597         b) Added the lisp variables this-command-properties and
10598         last-command- properties, which should be used to synchronize two
10599         adjacent commands in preference to playing games with the variable
10600         this-command, which is typically what happens.
10601
10602         c) Added some slightly nasty code to hook into the lisp support
10603         for shifted- motion-key selection.  This is actually necessary for
10604         somewhat complicated reasons, which are described in
10605         simple.el. (NB: I think the proper thing would be to have the code
10606         that calls the pre and post command hooks also call out to generic
10607         lisp functions in simple.el, where all built-in stuff could be
10608         added.  I will think about this more.)
10609
10610         * event-unixoid.c (poll_fds_for_input):
10611         * lread.c (readchar):
10612         * redisplay-tty.c (tty_clear_frame):
10613         * redisplay-x.c (x_get_gc):
10614         * signal.c (interrupt_signal):
10615         And a whole bunch of other files: fixed up places that printed
10616         directly to stderr to instead call the function stderr_out so that
10617         the changes I made under Windows work correctly.
10618
10619         * filemode.c (mode_string):
10620         Warning fixes.
10621
10622         * frame-msw.c:
10623         * frame-msw.c (mswindows_size_frame_internal):
10624         Fixed the computation of frame size and position to keep the frame
10625         within the workspace area, rather than within the physical
10626         dimensions of the screen, so that the frame doesn't overlap window
10627         manager decorations, such as the start menu and toolbar, typically
10628         at the bottom of the screen.
10629
10630         * frame.c (vars_of_frame):
10631         Changed the default frame title format under MS Windows to consist
10632         of buffername-XEmacs, which is standard under MS Windows.  I think
10633         it might be a good idea to change this everywhere because I think
10634         it is superior to the current frame title format, but this is the
10635         kind of change that is likely to cause some people to get annoyed,
10636         so I'm not making it.
10637
10638         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
10639
10640         * gui-msw.c (mswindows_handle_gui_wm_command):
10641         Fixed compile warnings.
10642
10643         * gui-x.c:
10644         * gui-x.c (strdup_and_add_accel):
10645         * gui-x.c (button_item_to_widget_value):
10646         * gui-x.h:
10647         Added code to automatically put an accelerator onto the beginning
10648         of menu items that don't have one as is now the standard, and is
10649         described more later.  Also fixed things so that the menu item
10650         name can be an evaluated expression, again a new standard.
10651
10652         * gui.c:
10653         * gui.c (gui_item_add_keyval_pair):
10654         * gui.c (make_gui_item_from_keywords_internal):
10655         * gui.c (gui_add_item_keywords_to_plist):
10656         * gui.c (gui_item_accelerator):
10657         * gui.c (gui_name_accelerator):
10658         * gui.c (gui_item_included_p):
10659         * gui.c (gui_item_display_flush_left):
10660         * gui.c (gui_item_display_flush_right):
10661         * gui.c (parse_gui_item_tree_item):
10662         * gui.c (parse_gui_item_tree_children):
10663         * gui.c (parse_gui_item_tree_list):
10664         Mule-ized.  Cleanup.  GCPRO addition.
10665
10666         * line-number.c (buffer_line_number):
10667         * lisp.h:
10668         * lisp.h (EMACS_INT_MAX):
10669         Added the manifest constant EMACS_INT_MIN corresponding to the
10670         existing constant EMACS_INT_MAX.  This is partially to fix compile
10671         warnings under Windows, and partly for cleanliness.
10672
10673         * menubar-msw.c:
10674         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
10675         * menubar-msw.c (msw_translate_menu_or_dialog_item):
10676         * menubar-msw.c (displayable_menu_item):
10677         * menubar-msw.c (populate_menu_add_item):
10678         * menubar-msw.c (populate_or_checksum_helper):
10679         * menubar-msw.c (populate_menu):
10680         * menubar-msw.c (update_frame_menubar_maybe):
10681         * menubar-msw.c (prune_menubar):
10682         * menubar-msw.c (msw_char_is_accelerator):
10683         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
10684         * menubar-msw.c (mswindows_handle_wm_command):
10685         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
10686         * menubar-msw.c (mswindows_handle_wm_initmenu):
10687         * menubar-msw.c (mswindows_update_frame_menubars):
10688         * menubar-msw.c (mswindows_free_frame_menubars):
10689         * menubar-msw.c (mswindows_popup_menu):
10690         Fixed a bug in handling accelerators where an extra character
10691         would be displayed in the menu item.  Also generalized the
10692         function displayable_menu_item because it is now used by the
10693         dialog box code as well.  And finally, added code in the functions
10694         that create the menubar to extract a list of accelerators for the
10695         top level menubar, which is used in the event code to determine
10696         whether a particular alt-key combination should be used to invoke
10697         a menu item, or should be passed through to access the standard
10698         XEmacs keymap binding for this key combination.
10699
10700         Much needed GCPROing.
10701
10702         * menubar-x.c:
10703         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10704         * menubar-x.c (menu_item_descriptor_to_widget_value):
10705         * menubar-x.c (restore_in_menu_callback):
10706         * menubar-x.c (x_popup_menu):
10707         * menubar-x.c (menu_move_up):
10708         * menubar-x.c (menu_move_down):
10709         * menubar-x.c (menu_move_left):
10710         * menubar-x.c (menu_move_right):
10711         * menubar-x.c (menu_select_item):
10712         * menubar-x.c (command_builder_operate_menu_accelerator):
10713         * menubar-x.c (menu_accelerator_junk_on_error):
10714         * menubar-x.c (command_builder_find_menu_accelerator):
10715         * menubar-x.c (Faccelerate_menu):
10716         * menubar.h:
10717         Moved a whole bunch of code here that was previously in
10718         event-stream.c as described above.  There is also code connected
10719         to the new standard of adding an accelerator to the beginning of
10720         menu items that don't have one as described above and below.
10721
10722         * menubar.c:
10723         * menubar.c (menu_parse_submenu_keywords):
10724         * menubar.c (Fmenu_find_real_submenu):
10725         * menubar.c (Fnormalize_menu_item_name):
10726         * menubar.c (syms_of_menubar):
10727         * menubar.c (vars_of_menubar):
10728         * menubar.c (complex_vars_of_menubar):
10729
10730         a) Cleaned up a bunch of documentation and improved it.
10731
10732         b) XEmacs now automatically adds an accelerator onto the beginning
10733         of any menu items that don't have one.  I did this because there
10734         will inevitably be some menu items on the main menubar that don't
10735         have accelerators on them because the package that adds that
10736         particular menu item hasn't yet been fixed up to have accelerators
10737         in them and it looked rather strange to have some items with and
10738         some items without accelerators, especially since even in items
10739         without accelerators, you can, at least under windows, still
10740         access the item through an accelerator corresponding to the first
10741         character in the item's name.  If people don't like this behavior,
10742         I can add a variable to turn it off optionally, but I'm not sure
10743         this is a good idea because we really do need to have accelerators
10744         on all of the menu items, and if a package doesn't like the
10745         accelerators being put on the first character, then it should put
10746         the accelerators where they belong.
10747
10748         c) I made a behavior change, which is that the descriptor that
10749         specifies the text of the menu item, which formerly was just a
10750         string, can now also be an evaluated expression.  This makes this
10751         descriptor parallel with all of the others, which could also be
10752         evaluated expressions.  This also obviates the need for the
10753         keyword :label, which was previously listed in the documentation
10754         as unimplemented, and which was for the same purpose.
10755
10756         d) GCPROing.
10757
10758         * ntproc.c:
10759         * ntproc.c (new_child):
10760         * ntproc.c (sys_spawnve):
10761         * ntproc.c (find_child_console):
10762         * ntproc.c (sys_kill):
10763         Fixed compile warnings.  By the way, this file should really go
10764         away entirely, and this will happen as soon as Kirill makes his
10765         final round of process cleanups, which affect the function
10766         call-process.
10767
10768         * process-nt.c:
10769         * process-nt.c (struct nt_process_data):
10770         * process-nt.c (find_process_from_pid):
10771         * process-nt.c (send_signal_the_nt_way):
10772         * process-nt.c (enable_child_signals):
10773         * process-nt.c (find_child_console):
10774         * process-nt.c (send_signal_the_95_way):
10775         * process-nt.c (nt_finalize_process_data):
10776         * process-nt.c (ensure_console_window_exists):
10777         * process-nt.c (nt_create_process):
10778         * process-nt.c (nt_kill_child_process):
10779         * process-nt.c (nt_kill_process_by_pid):
10780         * process-nt.c (nt_open_network_stream):
10781         * process-nt.c (vars_of_process_nt):
10782         Copied over code from Emacs 20.5 to correctly send signals to sub-
10783         processes under Windows 95.  Also added code to automatically
10784         create and hide console window when a sub-process is created under
10785         Windows 95, which obviates the need for the separate runemacs.exe
10786         executable, and finally implemented some variables that were
10787         implemented in Emacs 20.5, but previously not in XEmacs.  These
10788         include mswindows- start-process-share-console and
10789         mswindows-start-process-inherit-error-mode. (Both of these only
10790         apply to Windows 95.)
10791
10792         * regex.c (regex_compile): Fixed a compile warning.
10793
10794         * select-msw.c:
10795         * select-msw.c (mswindows_own_selection):
10796         * select-msw.c (mswindows_get_foreign_selection):
10797         * select-msw.c (mswindows_disown_selection):
10798         * select-msw.c (console_type_create_select_mswindows):
10799         * select-msw.c (syms_of_select_mswindows):
10800         Cleaned up the file and implemented the device method
10801         selection_exists_p, which had accidentally been left out.  Also
10802         removed four lisp functions that were remnants from before the
10803         time when the selection code was properly device abstracted.
10804         These functions are no longer needed because there are generic
10805         equivalents, and because they were added recently and don't exist
10806         in FSF Emacs, I don't think there's any problem with just deleting
10807         them.
10808
10809         * sysdep.c:
10810         * sysdep.c (sys_subshell):
10811         Fixed a compile warning, although in this case there's probably
10812         something wrong with this code, and it ought to be looked into
10813         more thoroughly by somebody who understands it.
10814
10815         * window.c:
10816         * window.c (Fwindow_text_area_height):
10817         * window.c (Fwindow_width):
10818         * window.c (Fwindow_full_width):
10819         * window.c (Fwindow_pixel_width):
10820         * window.c (debug_print_window):
10821         * window.c (syms_of_window):
10822         Added functions window-text-area-height and window-full-width,
10823         which are functions for returning various width and height
10824         characteristics of a window. (One of these functions is necessary
10825         for making the file dialog box work correctly, and the other one
10826         was added for completeness.)  Also added a table to the
10827         documentation for window-height which describes the entire scheme
10828         for accessing width and height characteristics of a window.
10829
10830 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10831
10832         * nt.c (fstat): Added a comment for another problem with
10833         non-encapsulated [f]stat(), reported by Adrian Aichner
10834         <aichner@ecf.teradyne.com>.
10835
10836 2000-03-11  Andy Piper  <andy@xemacs.org>
10837
10838         * window.c (make_dummy_parent): initialize subwindow instance
10839         cache.
10840         (Fset_window_configuration): zero extent_modiff.
10841
10842 2000-03-10  Andy Piper  <andy@xemacs.org>
10843
10844         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
10845         more changes can be triggered.
10846         (Fredisplay_frame): ditto.
10847         (Fredraw_device): ditto.
10848         (Fredisplay_device): ditto.
10849         (redisplay_frame): make non-static.
10850         (redisplay_frame): call update_frame_gutter_geometry outside of
10851         display proper.
10852
10853         * gutter.h: declare update_frame_gutter_geometry.
10854
10855         * redisplay.h: declare redisplay_frame.
10856
10857         * gutter.c (update_frame_gutter_geometry): move geometry changes
10858         in update_frame_gutters here. Geometry changes can only occur
10859         outside of redisplay.
10860         (update_frame_gutters): remove geometry change code.
10861         (Fredisplay_gutter_area): make sure that we are in display when we
10862         update and that we have flushed any size changes.
10863
10864 2000-03-11  Andy Piper  <andy@xemacs.org>
10865
10866         * alloc.c (pdump_dump_data): remove i & count shadows.
10867
10868 2000-02-27  Mike Alexander  <mta@arbortext.com>
10869
10870         * sysdep.h: Declare pdump_read_file
10871
10872         * sysdep.c (pdump_read_file): New function
10873
10874         * alloc.c (pdump_load): Call pdump_read_file to get the portable
10875         dump data
10876
10877 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10878
10879         * lrecord.h: add `lrecord_type_pgsetenv'.
10880
10881 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
10882
10883         * symsinit.h: declare (vars|syms)_of* functions.
10884         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
10885
10886 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
10887
10888         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
10889
10890         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
10891         GCCs.
10892
10893         * emacs.c (main_1): Call postgres initialization code.
10894
10895         * postgresql.h: New file.  PostgreSQL RDBMS support.
10896         * postgresql.c: New file.
10897
10898 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10899
10900         * redisplay-output.c (redisplay_output_display_block): Disable
10901         redundant code.
10902
10903 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10904
10905         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
10906         (Fcanna_henkan_next): Ditto.
10907         (Fcanna_bunsetu_henkou): Ditto.
10908         (Fcanna_henkan_kakutei): Ditto.
10909         (Fcanna_henkan_end): Ditto.
10910         (Fcanna_henkan_quit): Ditto.
10911         (Fcanna_henkan_next): Set retun value correctly.
10912         (c2mu): Use unsigned char instead of signed char.
10913
10914 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10915
10916         * emacs.c (main_1): Always call syms_of_gui.
10917         * inline.c: include gui.h
10918
10919 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10920
10921         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
10922         converted to Lisp_Object.
10923         (Qtop_bottom): New variable.
10924         (syms_of_redisplay): Initialize it.
10925         * redisplay.h (Vvisible_bell): Ditto.
10926         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
10927         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
10928         only flash top and bottom.
10929
10930 2000-03-08  Andy Piper  <andy@xemacs.org>
10931
10932         * buffer.c (Frename_buffer): record new buffer name the right way.
10933
10934 2000-03-08  Andy Piper  <andy@xemacs.org>
10935
10936         * glyphs.c (update_subwindow): increase hash depth so that widget
10937         items get picked up properly.
10938
10939         * redisplay-output.c (compare_runes): increase hash depth so that
10940         widget items get picked up properly.
10941
10942 2000-03-08  Andy Piper  <andy@xemacs.org>
10943
10944         * gutter.c (output_gutter): add some debug.
10945
10946         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
10947         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
10948         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
10949
10950         * redisplay-output.c (compare_runes): use display_hash to
10951         determine if glyphs really are not the same.
10952
10953         * glyphs.c (update_subwindow): check display_hash to see if
10954         anything really needs to be updated. If not then do
10955         nothing. Record the display_hash after updating.
10956         (image_instance_equal): compare the image_instance face also.
10957
10958 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
10959
10960         * redisplay.h: Fix comment style.
10961
10962 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10963
10964         * consle-msw.h (struct mswindows_frame):
10965         Added new member paint_pending to indicate whether a WM_PAINT
10966         magic event has been queued for this frame.
10967
10968         * event-msw.c (mswindows_drain_windows_queue):
10969         Don't queue a WM_PAINT magic event if one is already queued.
10970         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
10971
10972         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
10973
10974 2000-03-07  Didier Verna  <didier@xemacs.org>
10975
10976         * dired.c: #include `regex.h' after `sysfile.h'.
10977
10978 2000-03-06  Martin Buchholz  <martin@xemacs.org>
10979
10980         * sound.c (init_nas_sound): Fix compiler warning.
10981
10982         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
10983         (FREE_STRUCT_P):
10984         (MARK_STRUCT_AS_FREE):
10985         (MARK_STRUCT_AS_NOT_FREE):
10986         Make `gcc -fstrict-aliasing' work properly.
10987
10988 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10989
10990         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
10991         (mswindows_delete_device): Call CoUnnitialize().
10992
10993         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
10994
10995 2000-02-25    <CraigL@DyCon.com>
10996
10997         * process-nt.c: MinGW now has <shellapi.h>, but still needs
10998         <errno.h>.
10999
11000         * sysdep.c: This extern declaration for environ prevents MinGW
11001         from finding the variable in CRTDLL.DLL.
11002
11003         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
11004         windows headers.
11005         (SHGFI_EXETYPE): ..
11006         (WM_MOUSEWHEEL): ..
11007         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
11008         definitions.
11009         (MMRESULT): Removed, now defined in cygwin's windows headers.
11010         (TIMECAPS): ..
11011         (uid_t,gid_t,pid_t,ssize_t): ..
11012         (_timeb): Removed, MinGW defines both _timeb and timeb.
11013         (HAVE_H_ERRNO): Added.
11014         (HAVE_TZNAME): Added, configure is not detecting this.
11015
11016 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
11017
11018         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
11019         * syntax.c (syntax_match): Use it.
11020
11021         * cmds.c: Import auto-fill-chars from FSF Emacs.
11022         (Vauto_fill_chars): New variables.
11023         (internal_self_insert): Check Vauto_fill_chars.
11024         (vars_of_cmds):
11025         Declare auto-fill-chars as a Lisp variable and initialize it.
11026
11027 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11028
11029         * fileio.c (Fmake_symbolic_link):
11030         (Ffile_symlink_p):
11031         Run handlers even if local machine doesn't have symlinks.
11032
11033 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11034
11035         * event-msw.c (mswindows_drain_windows_queue):
11036         Don't generate paint magic events for non-XEmacs frames.
11037
11038 2000-03-05  Andy Piper  <andy@xemacs.org>
11039
11040         * redisplay.c (redisplay_frame): generate_displayable_area and
11041         friends assumes that we are not in GC, we therefore have to make
11042         sure that this doesn't happen.
11043
11044         * gutter.c (calculate_gutter_size): generate_displayable_area
11045         assumes that we are not in GC, we therefore have to make sure that
11046         this doesn't happen.
11047
11048 2000-03-05  Martin Buchholz  <martin@xemacs.org>
11049
11050         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
11051
11052 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
11053
11054         * redisplay.c (regenerate_window): Make sure we set a sane value
11055         for end_pos even if we jump out of the loop.
11056         (regenerate_window): Answer Ben's question :-).
11057         (start_end_of_last_line): Add may_error argument.
11058         (start_of_last_line):
11059         (end_of_last_line): Pass may_error = 0.
11060         (end_of_last_line_may_error): New function.
11061         (pixel_to_glyph_translation): Use it, so we don't crash in
11062         event_to_glyph.
11063
11064 2000-03-04  Andy Piper  <andy@xemacs.org>
11065
11066         * window.h (struct window): add gutter_extent_modiff.
11067
11068         * window.c (allocate_window): zero out gutter_extent_modiff.
11069
11070         * redisplay.h: declare sync_display_line_structs.
11071
11072         * redisplay.c (add_glyph_rune): add a better comment.
11073
11074         * redisplay-output.c (sync_display_line_structs): made non-static.
11075         (compare_runes): remove unneccesary glyph cachel access.
11076
11077         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
11078
11079         * gutter.c (output_gutter): don't output the gutter if extent
11080         changes only involve extents in buffers. use 4 sets of display
11081         lines.
11082         (gutter_extent_signal_changed_region_maybe): new function. Mark
11083         extents in gutters as changed.
11084         (update_frame_gutters): use 4 sets of display lines.
11085         (reset_gutter_display_lines): ditto.
11086         (free_frame_gutters): ditto.
11087         (redraw_exposed_gutter): force output of gutters.
11088
11089         * frame.h (struct frame): add 4 sets of gutter display lines.
11090
11091         * extents.c: (extent_changed_for_redisplay): signal changes to
11092         extents in strings in the gutter as well as extents in buffers.
11093
11094 2000-03-02  Andy Piper  <andy@xemacs.org>
11095
11096         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
11097
11098         * frame.c (Fmake_frame): make sure the gutters get initialized
11099         after the frame is visible.
11100         (set_frame_selected_window): re-arrange compilation macros a
11101         little.
11102         (change_frame_size_1): mark gutters changed.
11103
11104         * device.c (Fset_device_class): mark gutters changed.
11105
11106 2000-03-01  Andy Piper  <andy@xemacs.org>
11107
11108         * window.c (window_top_frame_gutter_height): deleted.
11109         (window_bottom_frame_gutter_height): ditto.
11110         (window_left_frame_gutter_height): ditto.
11111         (window_right_frame_gutter_height): ditto.
11112         (window_top_gutter_height): don't use them.
11113         (window_bottom_gutter_height): ditto.
11114         (window_left_gutter_width): ditto.
11115         (window_right_gutter_width): ditto.
11116         (Fsplit_window): ditto.
11117         (Fwindow_pixel_edges): don't use border dimensions here.
11118
11119         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
11120         (update_scrollbar_instance): ditto.
11121
11122         * redisplay.c (generate_modeline): don't take gutters into account.
11123         (generate_modeline): ditto.
11124         (redisplay_frame): small gutter display optimization.
11125
11126         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
11127
11128         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
11129         gutters into account.
11130
11131         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
11132         for window position and type.
11133
11134         * gutter.c (get_gutter_coords): fix for frame gutters.
11135         (update_frame_gutters): update frame geometry if the gutters have
11136         changed.
11137         (init_frame_gutters): record current gutter geometries.
11138
11139         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
11140         var.
11141         (mswindows_widget_instantiate): ditto.
11142
11143         * frame.h (struct frame): add current_gutter_bounds.
11144
11145         * frame.c (change_frame_size_1): position window and minibuffer
11146         appropriately taking into account the frame gutters.
11147
11148         * frame-x.c: (x_initialize_frame_size): take into account the
11149         frame gutters.
11150
11151 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
11152
11153         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
11154
11155 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
11156
11157         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
11158
11159 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11160
11161         * file-coding.c (reset_decoding_stream): Clear previous
11162         detection state when autodetect.
11163
11164 2000-02-29  Didier Verna  <didier@xemacs.org>
11165
11166         * extents.c (set_extent_glyph_1): don't require extents to be
11167         attached.
11168
11169 2000-02-27  Andy Piper  <andy@xemacs.org>
11170
11171         * gutter.c (Fset_default_gutter_position): don't default left and
11172         right gutter visibility to t.
11173         (Fset_default_gutter_position): run
11174         default-gutter-position-changed-hook.
11175         (syms_of_gutter): add default-gutter-position-changed-hook.
11176
11177 2000-02-26  Andy Piper  <andy@xemacs.org>
11178
11179         * specifier.c (Fmake_specifier): add gutter references.
11180
11181         * gutter.h (RAW_WINDOW_GUTTER): new macro.
11182
11183         * lisp.h: declare Fvalid_plist_p.
11184
11185         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
11186         as changed.
11187         (default_gutter_visible_p_changed_in_window): invalidate gutter as
11188         well as its visibility so that it gets reconstructed.
11189         (construct_window_gutter_spec): new function. Construct a string
11190         to be displayed in the gutter from a plist of strings. Take care
11191         to only use elements that are declared as visible.
11192         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
11193         WINDOW_GUTTER.
11194         (gutter_validate): allow plists of strings in the specifier.
11195         (gutter_specs_changed): construct the real_gutter from the gutter
11196         specs using construct_window_gutter_spec.
11197         (gutter_visible_validate): gutter-visible is a new specifier type.
11198         (Fgutter_visible_specifier_p): new function for the new specifier.
11199         (syms_of_gutter): declare gutter-visible and
11200         Fgutter_visible_specifier_p.
11201         (specifier_type_create_gutter): intitalize new gutter-visible
11202         specifier.
11203         (reinit_specifier_type_create_gutter): ditto.
11204         (specifier_vars_of_gutter): use new specifier type for gutter
11205         visibility.
11206         (init_frame_gutters): construct real_gutter correctly.
11207         (Fgutter_specifier_p): beef up documentation.
11208         (Fgutter_size_specifier_p): ditto.
11209
11210         * winslots.h: add real_gutter slots.
11211
11212 2000-02-25  Andy Piper  <andy@xemacs.org>
11213
11214         * device-msw.c: Be kind to older cygwin versions. From Raymond
11215         Toy <toy@rtp.ericsson.se>.
11216
11217         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
11218         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
11219
11220 2000-02-25  Martin Buchholz  <martin@xemacs.org>
11221
11222         * elhash.c (MARK_OBJ): Practice macro hygiene.
11223
11224 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11225
11226         * miscplay.c: s/__inline__/inline/g;
11227         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
11228         (get_device_compdc): INLINE ==> static inline
11229         * *.[ch]: Change INLINE to INLINE_HEADER globally.
11230         find -name '*.h' | \
11231         xargs global-replace \
11232         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
11233
11234 2000-02-25  Andy Piper  <andy@xemacs.org>
11235
11236         * window.c (window_top_frame_gutter_height): new function.
11237         (window_top_window_gutter_height): ditto.
11238         (window_top_gutter_height): use them.
11239         (window_bottom_frame_gutter_height): new function.
11240         (window_bottom_window_gutter_height): ditto.
11241         (window_bottom_gutter_height): use them.
11242         (window_left_window_gutter_width): new function.
11243         (window_left_frame_gutter_width): ditto.
11244         (window_left_gutter_width): use them.
11245         (window_right_window_gutter_width): new function.
11246         (window_right_frame_gutter_width): ditto.
11247         (window_right_gutter_width): use them.
11248         (window_pixel_height): new function. calulate window pixel height
11249         with frame gutter involvement.
11250         (Fsplit_window): calculate new sizes taking frame gutters into
11251         account.
11252         (window_char_height_to_pixel_height): don't include frame gutters.
11253         (window_char_height): use window_pixel_height.
11254         (window_pixheight): rename from window_pixel_height.
11255         (change_window_height): use it.
11256         (window_pixel_height_to_char_height): don't include frame gutters.
11257         (window_char_width_to_pixel_width): ditto.
11258
11259 2000-02-25  Andy Piper  <andy@xemacs.org>
11260
11261         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
11262         if it is.
11263
11264 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11265
11266         * alloc.c (staticpro):
11267         (staticpro_nodump):
11268         (dumpstruct):
11269         (dumpopaque):
11270         (pdump_wire):
11271         (pdump_wire_list):
11272         (compact_string_chars):
11273         (pdump_dump_wired):
11274         Convert:  if (foo) abort();  ==>  assert (! foo);
11275
11276         * eldap.c (Fldap_search_basic):
11277         (Fldap_add):
11278         (Fldap_modify):
11279         (Fldap_delete):
11280         Fix compiler warnings, and possible crashes if (random) return
11281         value were to be used.
11282
11283 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11284
11285         * device-msw.c: Workaround ResetDC failure.
11286
11287         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
11288         applying a devmode.
11289
11290         * redisplay-msw.c (get_frame_dc): Added start_page_p.
11291         (mswindows_text_width): Do not start printer page.
11292
11293         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
11294
11295         * glyphs-msw.c: Added image methods to msprinter console and
11296         msprinter-specific image instantiation.
11297
11298 2000-02-20  Mike Alexander  <mta@arbortext.com>
11299
11300         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
11301         to avoid crashes when selection-sets-clipboard is on
11302         (mswindows_own_selection): ditto
11303
11304 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11305
11306         * glyphs-msw.c:
11307         * redisplay-msw.c (get_frame_dc):
11308         (get_frame_compdc):
11309         * console-msw.h:
11310         * device-msw.c (mswindows_init_device):
11311         (mswindows_delete_device):
11312         (msprinter_init_device):
11313         (msprinter_delete_device):
11314         * frame-msw.c (mswindows_init_frame_1):
11315         (mswindows_delete_frame):
11316         (msprinter_init_frame_3):
11317         (msprinter_delete_frame): Move compatible DC to device object from
11318         frame object, for both mswindows and msprinter. Only one at a time
11319         is needed, it is a real waste to have one per frame!
11320
11321 2000-02-23  Andy Piper  <andy@xemacs.org>
11322
11323         * glyphs.c: add dynamic width and height elements.
11324         (image_instance_equal): ditto.
11325
11326         * glyphs-widget.c (widget_query_geometry): calculate width and
11327         height dynamically if required.
11328         (initialize_widget_image_instance): initialize dynamic dimensions.
11329         (widget_instantiate): pick-up dynamic dimensions.
11330
11331         * glyphs.h (struct Lisp_Image_Instance): add width and height for
11332         dynamic determination. Add appropriate macros.
11333
11334         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
11335         dimensions safe.
11336         (WINDOW_GUTTER_SIZE): ditto.
11337         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
11338
11339         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
11340         inline.
11341         (get_frame_dc): ditto.
11342
11343         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
11344         here.
11345
11346 2000-02-23  Martin Buchholz <martin@xemacs.org>
11347
11348         * XEmacs 21.2.31 is released.
11349
11350 2000-02-22  Ben Wing <ben@xemacs.org>
11351
11352         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
11353
11354 2000-02-22  Andy Piper  <andy@xemacs.org>
11355
11356         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
11357
11358 2000-02-21  Mike Sperber <mike@xemacs.org>
11359
11360         * .dbxrc:
11361         * .gdbinit:
11362         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
11363         variables.
11364
11365 2000-02-21  Mike Sperber <mike@xemacs.org>
11366
11367         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
11368
11369 2000-02-21  Martin Buchholz <martin@xemacs.org>
11370
11371         * XEmacs 21.2.30 is released.
11372
11373 2000-02-20  Martin Buchholz  <martin@xemacs.org>
11374
11375         Performance hacking.
11376         * *.c (syms_of_*):
11377         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
11378         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
11379         * emacs.c (main_1):
11380         * lisp.h (DEFUN):
11381         * console.c (DEFVAR_CONSOLE_LOCAL_1):
11382         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
11383         * symeval.h (DEFVAR_SYMVAL_FWD):
11384         * symbols.c (guts_of_unbound_marker):
11385         Make all c_readonly objects also lisp_readonly and marked for life.
11386         * lrecord.h (struct lrecord_implementation):
11387         Document flags better.
11388         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
11389         * lrecord.h (DECLARE_LRECORD):
11390         * lrecord.h (XSETRECORD):
11391         * lrecord.h (RECORDP):
11392         * lrecord.h (RECORD_TYPEP):
11393         * lrecord.h (RECORD_MARKER): New.
11394         * lrecord.h (error_check_*):
11395         * lrecord.h (CONCHECK_NONRECORD):
11396         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
11397         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
11398         * lrecord.h (set_lheader_implementation):
11399         * lrecord.h (enum lrecord_type): New.
11400         * symeval.h (SYMBOL_VALUE_MAGIC_P):
11401         * alloc.c (disksave_object_finalization_1):
11402         * alloc.c (mark_object):
11403         * alloc.c (lrecord_type_index):
11404         * alloc.c (tick_lcrecord_stats):
11405         * alloc.c (Fgarbage_collect):
11406         * alloc.c (init_alloc_once_early):
11407         * alloc.c (pdump_load):
11408         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
11409         * alloc.c (lrecord_type_index): Delete.
11410         Make lisp object type indexes be constant.
11411           Makes (byte-compile) 5% faster.
11412         Put all marker functions into their own array.
11413           Makes (garbage-collect) 5% faster.
11414         Optimize SYMBOL_VALUE_MAGIC_P.
11415           Makes (byte-compile) 2-3% faster.
11416         * config.h.in (gc_checking_assert): New.
11417         * alloc.c: Use gc_checking_assert().
11418         * .dbxrc: Make compatible with new object type implementation.
11419         * .gdbinit: Make compatible with new object type implementation.
11420         * alloc.c: Delete all symbols defined only for debugging, such as
11421         Lisp_Type_Vector and lrecord_charset.
11422
11423 2000-02-21  Andy Piper  <andy@xemacs.org>
11424
11425         * gui-msw.c (Fmswindows_shell_execute): fix file location
11426         problems.
11427
11428         * buffer.c (Fkill_buffer): remove buffer from alist buffer
11429         unshowing so that set_window_buffer doesn't undo
11430         kill_buffer_hook's hard work.
11431
11432         * glyphs-widget.c (tab_control_query_geometry): don't count the
11433         first item when calculating geometry.
11434
11435         * glyphs.c (map_subwindow): remove redundant code.
11436         (update_frame_subwindows): be more circumspect about when to
11437         update subwindows.
11438
11439         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
11440         when items haven't changed. Update faces if faces have changed as
11441         well as just the widget face.
11442         (x_tab_control_update): Update faces if faces have changed as well
11443         as just the widget face.
11444
11445 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11446
11447         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
11448         registration.
11449         (build_syscolor_string): Use mswindows_color_to_string to try to
11450         get a named color.
11451         (mswindows_device_system_metrics): Reverse the foreground and
11452         background colors so that they match the documentation.
11453
11454         * objects-msw.c: (mswindows_X_color_map): tweak some values so
11455         they match the default Windows palette.
11456         (mswindows_color_to_string): New function.
11457
11458 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11459
11460         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
11461
11462 2000-02-18  Olivier Galibert  <galibert@pobox.com>
11463
11464         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
11465         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
11466
11467         * symbols.c (init_symbols_once_early): Removed obsolete
11468         DATA_SEG_BITS related kludge.
11469         (defvar_magic): Ditto.
11470
11471         * malloc.c: Removed obsolete DATA_SEG_BITS
11472         * ralloc.c: Ditto.
11473         * mem-limits.h: Ditto.
11474
11475         * Makefile.in.in: Removed obsolete HAVE_SHM
11476         * emacs.c: Ditto.
11477
11478 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11479
11480         *  device-msw.c (mswindows_delete_device): Free DDE string
11481         handles.
11482
11483 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11484
11485         * keymap.c (get_keyelt):
11486         * unexnt.c (unexec):
11487         * vm-limit.c (memory_warnings):
11488         * ntheap.c (recreate_heap):
11489         * ntheap.h (UNINIT_PTR):
11490         * select-msw.c (Fmswindows_get_clipboard):
11491         (Fmswindows_set_clipboard):
11492         * objects-msw.h (MSWINDOWS_BAD_HFONT):
11493         * objects-msw.c:
11494         * menubar-msw.c (displayable_menu_item):
11495         * glyphs-msw.c:
11496         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
11497         * sysdep.c (sys_subshell):
11498         * process-nt.c (nt_create_process):
11499         * nt.c (normalize_filename):
11500         (dostounix_filename):
11501         (unixtodos_filename):
11502         * ntproc.c (win32_executable_type):
11503         * ntplay.c (play_sound_data_1):
11504         (play_sound_file):
11505         * editfns.c (get_home_directory):
11506         * event-msw.c (struct winsock_stream):
11507         (mswindows_dde_callback):
11508         * device-msw.c (msprinter_init_device):
11509         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
11510
11511         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
11512         mswindows_clear_toolbar were swapped!
11513
11514         * objects-msw.c:(colormap_t):
11515         (fontmap_t):
11516         * emacs.c (struct standard_args): Fixed const jumble.
11517
11518         * glyphs-widget.c (update_widget): Fixed comparison notation.
11519
11520         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
11521
11522         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
11523         __declspec(noreturn) syntax.
11524
11525 2000-02-19  Martin Buchholz  <martin@xemacs.org>
11526
11527         * eldap.c (Fldap_open):
11528         (Fldap_search_basic):
11529         (Fldap_add):
11530         (Fldap_modify):
11531         Use new coding system conversion macros.
11532
11533 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11534
11535         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
11536
11537 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
11538
11539         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
11540         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11541
11542         * eldap.c (Qadd, Qreplace): New constant symbols
11543         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
11544         interruptions by XEmacs signals
11545         Remove unnecessary calls to slow_down_interrupts and
11546         speed_up_interrupts
11547         (Fldap_search_basic): Renamed from Fldap_search_internal
11548         Added new optional parameter VERBOSE that triggers the
11549         display of progress messages
11550         Remove unnecessary calls to slow_down_interrupts and
11551         speed_up_interrupts
11552         LDAP result code analysis rewritten
11553         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11554         (syms_of_eldap): Define the new symbols and functions
11555
11556
11557 2000-02-17  Martin Buchholz  <martin@xemacs.org>
11558
11559         * realpath.c: Determine PATH_MAX maximally portably.
11560
11561         * insdel.c (bytecount_to_charcount): Optimize.
11562         The function used to be optimized for entirely ASCII sequences.
11563         Now it is optimized for successive characters from the same
11564         charset.  This also wins big for _mostly_ ASCII sequences.
11565
11566         * fileio.c (Ffile_truename): convert return from realpath() using
11567         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
11568         - Rewrite GCPROing slightly.
11569
11570         * sysdep.c (sys_open): Do filename conversion, like all other
11571         sys_* functions.  Fixes bug:
11572         (let ((file-name-coding-system 'iso-8859-2))
11573            (write-region x y latin2-name))
11574         ==> writes filename using internal encoding.
11575
11576 2000-02-18  Martin Buchholz  <martin@xemacs.org>
11577
11578         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
11579         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
11580         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
11581         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
11582         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
11583         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
11584         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
11585         (CONST_IF_NOT_DEBUG): Delete.
11586         * alloc.c (this_one_is_unmarkable): Delete.
11587         (mark_object): Don't check for this_one_is_unmarkable. Use the
11588         c_readonly flag instead.
11589         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
11590
11591 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11592
11593         * event-msw.c (mswindows_drain_windows_queue):
11594         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
11595         away redundant repaint events.
11596
11597 2000-02-17  Andy Piper  <andy@xemacs.org>
11598
11599         * redisplay.h: declare mark_redisplay_structs.
11600
11601         * redisplay.c (redisplay_window):
11602         (redisplay_frame): don't check subwindows_state_changed.
11603         (mark_redisplay): mark gutters here.
11604
11605         * glyphs.c: (instantiate_image_instantiator): always layout if we
11606         haven't done so already.
11607         (allocate_image_instance): don't mark as dirty.
11608         (update_subwindow): bind inhibit_quit.
11609
11610         * gutter.c (mark_gutters): new function.
11611
11612         * glyphs-x.c (x_update_widget): Always resize to get round a
11613         widget bug.
11614
11615         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
11616         breaking absolutely everything.
11617
11618         * gutter.h: declare mark_gutters.
11619
11620 2000-02-16  Martin Buchholz <martin@xemacs.org>
11621
11622         * XEmacs 21.2.29 is released.
11623
11624 2000-02-15  Olivier Galibert  <galibert@pobox.com>
11625
11626         * fns.c (size_bit_vector): Fix computation of the size.
11627
11628 2000-02-15  Martin Buchholz  <martin@xemacs.org>
11629
11630         * *.[ch]: Change CONST to const globally.
11631         find -name '*.[ch]' | \
11632         xargs global-replace \
11633         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
11634         - Remove vestigial references to CONST_IS_LOSING
11635
11636 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11637
11638         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
11639         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
11640         events instead of dispatching them directly.
11641         (mswindows_handle_paint): New function to do repainting.
11642         (mswindows_wnd_proc):
11643         (emacs_mswindows_handle_magic_event): Call above function.
11644
11645 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11646
11647         * objects-msw.c (mswindows_create_font_variant): Return the new
11648         font handle.
11649         (initialize_font_instance): Get font metrics from the underlined
11650         variant of the font to cope with the case where the underlined
11651         font has a bigger descent.
11652
11653 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11654
11655         * gui.c (gui_item_accelerator): Return the first underlined
11656         character in item name.
11657
11658 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11659
11660         * lisp.h: Added Qprinter.
11661
11662         * general.c (syms_of_general): Initialized it.
11663
11664         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
11665         (get_frame_dc):
11666         (get_frame_compdc): Made inline.
11667
11668         * console.h (struct console_methods): Added eject_page method.
11669
11670         * frame.h: Added FRAME_DISPLAY_P and friends.
11671         Aligned backslahes in many macros in more readable fashion.
11672         Added page_number to struct frame, and an accessor macro
11673         for it.
11674
11675         * defice.h: Added DEVICE_DISPLAY_P and friends.
11676
11677         * device.c (Fdevice_printer_p): Used these.
11678
11679         * frame.c (allocate_frame_core): Initialize page number.
11680         (Fprint_job_page_number):
11681         (Fprint_job_eject_page): Implemented.
11682
11683         * frame-msw.c (msprinter_eject_page): Added method.
11684         (msprinter_start_page): Added.
11685
11686         * window.c (Fwindow_truncated_p): Fixed docstring.
11687         (Fwindow_last_line_visible_height): Implemented.
11688
11689 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11690
11691         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
11692
11693 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11694
11695         * syntax.c (scan_words): Always advance at least one character.
11696
11697 2000-02-13  Andy Piper  <andy@xemacs.org>
11698
11699         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
11700         to make sure the glyph is in the cachels.
11701
11702         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
11703         global image instance flag.
11704         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
11705         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
11706
11707         * glyphs.c (allocate_image_instance): set dirty bits correctly.
11708         (Fset_image_instance_property): mark layout as changed.
11709         (invalidate_glyph_geometry_maybe): mark layout as changed.
11710         (glyph_width): use new NEEDS_LAYOUT macro.
11711         (glyph_ascent): ditto.
11712         (glyph_descent): ditto.
11713         (glyph_height): ditto.
11714         (image_instance_layout): mark layout as clean after laying out.
11715         (update_subwindow): don't mark layout as clean here.
11716
11717         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
11718         should no longer be needed.
11719
11720         * glyphs-x.c (x_update_widget): sanitize asserts.
11721         (x_finalize_image_instance): sanitize assignment to widgets.
11722
11723         * glyphs-widget.c (widget_instantiate): don't need to clear the
11724         layout flag here.
11725
11726 2000-02-13  Martin Buchholz  <martin@xemacs.org>
11727
11728         * sysdep.c (getcwd): Use standard prototype.
11729         * sysdep.h (getcwd): Use standard prototype.
11730
11731         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
11732         (sequence, start, end).
11733         Remove redundant type checking.
11734         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
11735         view of `caller-protects') to avoid a crash where the real fix was
11736         found elsewhere.
11737
11738 2000-02-12  Martin Buchholz  <martin@xemacs.org>
11739
11740         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
11741
11742         * s/sol2.h: Remove feature macro initialization.
11743
11744         * alloc.c (alloc_lcrecord): Add more type checking assertions.
11745         (vector_hash): New.  Code from internal_hash.
11746         * lrecord.h:
11747         Fix up allocation subsystem comments.
11748
11749         * config.h.in: Add __EXTENSIONS__ for Solaris.
11750
11751         * systime.h (EMACS_GETTIMEOFDAY): New.
11752         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
11753         Remove Solaris-specific code.
11754         Use void* for the (ignored) second arg for gettimeofday().
11755
11756         * elhash.c (hash_table_hash): Implement it, finally.
11757         * elhash.c:  Use hashcode_t.
11758
11759         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
11760         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
11761
11762         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
11763         * fns.c (size_bit_vector):
11764         * alloc.c (size_vector):
11765         (make_vector_internal):
11766         (make_bit_vector_internal):
11767         (sweep_bit_vectors_1):
11768         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
11769
11770 2000-02-10  Martin Buchholz  <martin@xemacs.org>
11771
11772         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
11773         Include strings.h to avoid warnings for bzero and strcasecmp.
11774
11775 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11776
11777         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
11778         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
11779
11780         * fns.c (size_bit_vector): New.  Declare bit vectors as a
11781         sequence.
11782
11783 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11784
11785         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
11786         use a value field instead.
11787         (symbol_value_forward_forward): Use value field.
11788         (DEFVAR_SYMVAL_FWD): Use value field.
11789         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
11790         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
11791         (DEFVAR_CONST_INT): Ditto.
11792         (DEFVAR_BOOL): Ditto.
11793         (DEFVAR_CONST_BOOL): Ditto.
11794         (DEFVAR_INT_MAGIC): Ditto.
11795         (DEFVAR_BOOL_MAGIC): Ditto.
11796
11797         * symbols.c (guts_of_unbound_marker): Use value field.
11798         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
11799         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
11800
11801         * lisp.h: Declare dumpopaque and noninteractive1.
11802
11803         * alloc.c (dumpopaque): Added.
11804         (pdump_dump_opaquevec): Added.
11805         (pdump): Call pdump_dump_opaquevec to dump opaque data.
11806         (pdump_load): Reload opaque data.  Sync noninteractive1 with
11807         noninteractive.
11808
11809 2000-02-10  Andy Piper  <andy@xemacs.org>
11810
11811         * glyphs.c (image_instance_layout): if the size changes, mark it
11812         as such.
11813
11814         * redisplay-output.c (redisplay_output_layout): Update the
11815         subwindow here.
11816         (redisplay_output_subwindow): ditto.
11817
11818         * glyphs.c (update_subwindow): make sure we reset flags for
11819         layouts as well as everything else.
11820
11821         * glyphs-widget.c (layout_layout): don't need to set the instances
11822         dimensions here.
11823
11824 2000-02-09  Martin Buchholz  <martin@xemacs.org>
11825
11826         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
11827         not HAVE_DLOPEN, which is a lower-level thing.
11828
11829         * .cvsignore: Ignore gmon.out
11830
11831 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
11832
11833         * .cvsignore: Ignore portable dumper xemacs.dmp file
11834
11835 2000-02-09  Andy Piper  <andy@xemacs.org>
11836
11837         * redisplay-output.c (redisplay_output_layout): be more clever
11838         about when we output based on the changed flags.
11839
11840         * glyphs.h (struct image_instantiator_methods): add update_method.
11841         (struct Lisp_Image_Instance): add changed flags. Declare new
11842         macros for manipulating them.
11843
11844         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
11845         (image_instance_parent_glyph): find an image_instance's parent
11846         glyph or image_instance.
11847         (image_instance_layout): mark the size as changed.
11848         (set_image_instance_dirty_p): new function. mark an image
11849         instance, plus all of its parents, as dirty.
11850         (Fset_image_instance_property): use it.
11851         (Fglyph_animated_timeout_handler): use it.
11852         (update_subwindow): call update_widget and device methods for
11853         update_subwindow. Mark all changed flags as clean.
11854         (Fresize_subwindow): mark size as changed.
11855
11856         * glyphs-x.c (x_finalize_image_instance): try and detect gc
11857         failures.
11858         (x_update_subwindow): only resize subwindows here.
11859         (x_update_widget): new function. Update all changed properties of
11860         a widget.
11861         (x_resize_subwindow): deleted.
11862         (x_widget_set_property): deleted.
11863         (x_progress_gauge_set_property): deleted.
11864         (x_progress_gauge_update): new function. Implement recorded
11865         changes.
11866         (x_tab_control_update): ditto.
11867         (x_tab_control_set_property): deleted.
11868         (console_type_create_glyphs_x): declare new functions.
11869         (image_instantiator_format_create_glyphs_x): ditto.
11870
11871         * glyphs-widget.c (widget_set_property): mark text changed.
11872         (update_widget): new function. Update properties of a widget.
11873         (widget_instantiate): for layouts make sure we set their
11874         children's parent correctly.
11875         (tab_control_set_property): new function. Record changes that will
11876         take place under redisplay's control.
11877         (progress_gauge_set_property): ditto.
11878         (image_instantiator_progress_guage): declare new functions.
11879         (image_instantiator_tab_control): ditto.
11880
11881         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
11882         now.
11883         (mswindows_update_widget): new function. Update all properties on
11884         a widget that have changed.
11885         (mswindows_button_update): new function. Update a button's set
11886         state.
11887         (mswindows_tab_control_update): new function. Update the items in
11888         a tab.
11889         (mswindows_tab_control_set_property): deleted.
11890         (mswindows_progress_gauge_update): new function. Update the
11891         progress gauge's progress.
11892         (mswindows_widget_set_property): deleted. This is all done
11893         asynchronously now.
11894         (mswindows_progress_gauge_set_property): ditto.
11895         (console_type_create_glyphs_mswindows): declare new methods.
11896         (image_instantiator_format_create_glyphs_mswindows): ditto.
11897
11898         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
11899         (msprinter_set_frame_properties): ditto.
11900
11901         * console.h (struct console_methods): Add update_widget_method.
11902
11903 2000-02-09  Andy Piper  <andy@xemacs.org>
11904
11905         * gui-msw.c (Fmswindows_shell_execute): Make
11906         mswindows-shell-execute industrial strength.
11907
11908 2000-02-08  Martin Buchholz  <martin@xemacs.org>
11909
11910         * lrecord.h: Make macro argument `props' match member function `plist'.
11911         * fns.c (Fget):
11912         * fns.c (Fput):
11913         * fns.c (Fremprop):
11914         * fns.c (Fobject_plist):
11915         * alloc.c:
11916         * symbols.c:
11917         Object property list frobbing cleanup.
11918         - Allow any lisp object (compared with `eq'), not just symbols, as
11919           keys in object plists.
11920         - Move symbol plist frobbing into symbols.c, where it belongs.
11921         - Move string plist frobbing into alloc.c, where it belongs.
11922         - Everything's an lrecord now, so no need to test for symbolp, etc.
11923         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
11924
11925         * extents.c: Reorder code to remove declarations.
11926
11927         * frame.h (store_in_alist): Remove useless declaration.
11928
11929 2000-02-07  Martin Buchholz  <martin@xemacs.org>
11930
11931         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
11932         * config.h.in: Add HAVE_XCONVERTCASE.
11933
11934 2000-02-07  Andy Piper  <andy@xemacs.org>
11935
11936         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
11937         it breaks many things.
11938
11939 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11940
11941         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
11942         actually can start a common comment type.
11943         * src/syntax.h (SYNTAX_END_P): ditto for end.
11944
11945 2000-02-07  Martin Buchholz <martin@xemacs.org>
11946
11947         * XEmacs 21.2.28 is released.
11948
11949 2000-02-06  Martin Buchholz  <martin@xemacs.org>
11950
11951         * event-Xt.c (x_keysym_to_character): New.
11952         (maybe_define_x_key_as_self_inserting_character): New.
11953         (x_has_keysym): New.
11954         Auto-define all keys on the keyboard as self-insert-key.
11955
11956 2000-02-02  Martin Buchholz  <martin@xemacs.org>
11957
11958         * menubar.c (vars_of_menubar): A small code simplification.
11959
11960         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
11961
11962         * ExternalShell.c:
11963         * ExternalClient.c:
11964         * EmacsShell-sub.c:
11965         * EmacsManager.c:
11966         * EmacsFrame.c:
11967         Use consistent style for specifying X resources.
11968
11969         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
11970         This makes (dontusethis-set-symbol-value-handler) actually usable.
11971
11972         * lrecord.h (lrecord_decription_type):
11973         * alloc.c (pdump_register_sub):
11974         (pdump_dump_data):
11975         (pdump_reloc_one):
11976         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
11977         Comply with XEmacs coding style.
11978         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
11979         args, and XD_LISP_OBJECT_ARRAY with 3 args.
11980
11981         * keymap.c (Faccessible_keymaps):
11982         Make (accessible-keymaps map "\C-h") do the Right Thing.
11983         Make (accessible-keymaps map []) do the Right Thing.
11984         Make (accessible-keymaps map "") do the Right Thing.
11985         (check_keymap_definition_loop): New function.
11986         (keymap_store_internal): Keep luser from shooting self in foot,
11987           via (define-key ctl-x-4-map "p" global-map).
11988         Remove fullness slot from struct Lisp_Keymap, since hash tables
11989         are now reliable.
11990         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
11991
11992 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11993
11994         * redisplay.c (init_redisplay): Fix small memory leak.
11995         * elhash.h:
11996         * elhash.c (pdump_reorganize_hash_table):
11997         Rename from reorganize_hash_table. Change prototype.
11998         Reuse the original memory for hentries.  Save 100k.
11999         * alloc.c (PDUMP_READ): new macro.
12000         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
12001         * alloc.c: No need to #ifndef before #undef.
12002
12003         * print.c: Allow debug_print() to print readably by modifying
12004         debug_print_readably.  Use consistent variable names.
12005
12006         * .dbxrc: Try to get things to work even if stopped in a function
12007         without source available by explicitly specifying source files.
12008 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12009
12010         * unexnt.c (_start): Removed bogus code which caused loading heap
12011         from differrent executable file.
12012         Removed bogus assignment to _fmode, which caused inconsistencies.
12013
12014 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12015
12016         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
12017         Have spawnve encapsulation regard DONT_ENCAPSULATE.
12018         Do not preliminary `#define signal sigset'.
12019
12020         * systime.h: Do not prototype environ on windows nt and cygwin,
12021         this conflicts with system header.
12022
12023         * syssignal.h: Use correct define for WINDOWSNT
12024
12025         * sysdep.h: Do not prototype environ on windows nt, this conflicts
12026         with system header.
12027
12028         * sysdep.c (near start of file): Fixed commentary and rearranged
12029         ifdefs in readable order.
12030         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
12031         (start_of_text):
12032         (end_of_text):
12033         (end_of_data): Do not compile in if using PDUMP.
12034
12035         * symsinit.h: Prototyped vars_of_nt().
12036
12037         * ntproc.c (windows9x_p): Added, instead of os_subtype.
12038         (find_child_console): Use it.
12039         (sys_kill): Use it.
12040
12041         * ntheap.h: Do not extern os_subtype.
12042
12043         * ntheap.c (cache_system_info): Do not cache unneeded:
12044         nt_major_version, nt_minor_version and os_subtype.
12045         (recreate_heap): Do not compile in when PDUMPing.
12046
12047         * nt.c (geteuid and friends): Use the new varibale
12048         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
12049         (init_user_info): Removed the above mentioned hackery.
12050         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
12051         stat has been fixed in the C runtime.
12052         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
12053
12054         * file-coding.c (struct file_coding_dump): Do not define
12055         ucs_to_mule_table in the struct if not MULE.
12056         (struct struct lrecord_description fcd_description_1): Do not dump
12057         the above.
12058
12059         * emacs.c (main_1): Call vars_of_nt().
12060         (right before Fdump_emacs_data): Don't need lastfile if using both
12061         portabe dumper and system malloc.
12062
12063         * alloc.c (Fmemory_limit): Conditionalized out.
12064         (pdump): Use OPEN_BINARY for the portable dump file.
12065         (pdump_load): Ditto.
12066
12067 2000-02-02  Mike Alexander  <mta@arbortext.com>
12068
12069         * nt.c (convert_time): Set tm_isdst before calling mktime and
12070         avoid calling it at all if the compiler supports 64 bit integers.
12071         Also initialize utc_base_ft before using it.
12072
12073 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
12074
12075         * frame.c (change_frame_size_1): Take f->internal_border_width
12076         into consideration when calculating the width of the frame.
12077
12078 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12079
12080         * window.c (frame_min_height):
12081         (frame_size_valid_p):
12082         (frame_pixsize_valid_p): Added.
12083         (check_frame_size): Generalized.
12084
12085         * window.h: Prototyped the above.
12086
12087         * lisp.h:
12088         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
12089         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
12090         Deleted Vwin32_* and Vbinary_process_* unused variables.
12091
12092         * device-msw.c (msprinter_init_device): Do not get printer font
12093         list; Added DEVMODE functions.
12094
12095         * frame-msw.c: Added lots of printer code.
12096
12097         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
12098         general.c.
12099
12100         * console-msw.h: Added more msprinter device private slots.
12101
12102 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12103
12104         * event-msw.c (key_needs_default_processing_p): Added.
12105         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
12106
12107 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12108
12109         * glyphs.c (image_instance_layout): Mark image instance as clean
12110         after layout.
12111         (glyph_dirty_p): Removed redundant function.
12112         (invalidate_glyph_geometry_maybe): Added.
12113         (update_glyph_cachel_data): Call it.
12114
12115         * glyphs.h: Prototyped it.
12116
12117         * redisplay.c (add_glyph_rune): Call it.
12118         (redisplay_window): Reset glyphs cachels when frame faces have
12119         changed, thus forcing recomputation of built-in border glyphs.
12120
12121 2000-01-30  Martin Buchholz  <martin@xemacs.org>
12122
12123         * Makefile.in.in: Make portable dumper and purify play well together.
12124         Add imperfect, but better than nothing, support for pdump.
12125         Remove xemacs.dmp when temacs is re-generated.
12126         Don't ignore errors when dumping xemacs.
12127
12128         * symbols.c (maybe_call_magic_handler): Remove one magic number.
12129
12130 2000-01-28  Andy Piper  <andy@xemacs.org>
12131
12132         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
12133         (setup_normal_frame): ditto.
12134         (setup_frame_without_minibuffer): ditto.
12135         (setup_minibuffer_frame): ditto.
12136         (delete_frame_internal): ditto.
12137         (Fmake_frame_invisible): ditto.
12138         (Ficonify_frame): ditto.
12139
12140         * window.h: change Fset_window_buffer signature.
12141
12142         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
12143         (Fset_window_buffer): allow recording of buffer if the window is
12144         the selected window.
12145         (window_loop): Use new Fset_window signature.
12146
12147 2000-01-23  Daniel Pittman  <daniel@danann.net>
12148
12149         * config.h.in: Added template for `HAVE_ATHENA_3D'
12150
12151 2000-01-29  Andy Piper  <andy@xemacs.org>
12152
12153         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
12154
12155         * gutter.c (output_gutter): Don't output if the window isn't live.
12156
12157 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12158
12159         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
12160         of 01/12/00: Moved SetFocus back here where it belongs.
12161
12162 2000-01-23  Andy Piper  <andy@xemacs.org>
12163
12164         * s/cygwin32.h: declare printer things.
12165
12166 2000-01-26  Andy Piper  <andy@xemacs.org>
12167
12168         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
12169         Alexander.
12170
12171 2000-01-24  Andy Piper  <andy@xemacs.org>
12172
12173         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
12174         (mswindows_button_instantiate): Make sure glyph is a pixmap.
12175
12176         * glyphs-widget.c (widget_instantiate): Avoid shadows.
12177
12178         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
12179
12180         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
12181
12182         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
12183         (mswindows_output_display_block): Avoid local shadows.
12184
12185         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
12186         (mswindows_enqueue_mouse_button_event): ditto.
12187         (mswindows_handle_gui_wm_command): remove declaration.
12188
12189         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
12190         warnings.
12191
12192         * console-msw.h: Avoid shadows.
12193         (mswindows_get_toolbar_button_text):
12194         (emacs_mswindows_create_stream_pair):
12195         (emacs_mswindows_delete_stream_pair):
12196         (mswindows_handle_toolbar_wm_command): declare.
12197
12198         * device-msw.c (build_syscolor_string): Avoid shadows.
12199
12200 2000-01-23  Andy Piper  <andy@xemacs.org>
12201
12202         * glyphs-widget.c (widget_instantiate): reverse the items for
12203         layouts so that children are in the expected order.
12204
12205 2000-01-28  Martin Buchholz  <martin@xemacs.org>
12206
12207         * ralloc.c: safe_bcopy ==> memmove
12208         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
12209         * s/msdos.h: Remove BCOPY macros.
12210         * insdel.c (gap_right): Remove BCOPY conditional code.
12211         * insdel.c (gap_left): Remove BCOPY conditional code.
12212         XEmacs demands a working ANSI C compiler - hence memmove.
12213
12214         * regex.c (regex_compile): Remove accidental use of trigraphs.
12215
12216 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12217
12218         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
12219         event timestamp.
12220
12221 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12222
12223         * event-msw.c (mswindows_drain_windows_queue): Added the
12224         parameter.
12225         (mswindows_need_event): Commented the call to
12226         mswindows_drain_windows_queue().
12227         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
12228         only.
12229
12230         * console-msw.h: Moved a few function prototypes here from
12231         event-msw.c.
12232
12233         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
12234         parameter from unsigned short to unsigned long.
12235         (Fmswindows_shell_execute): Added return value.
12236
12237 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12238
12239         * sysdep.c (init_system_name):
12240           process-unix.c (unix_canonicalized_host_name):
12241         Don't call freeaddrinfo() if getaddrinfo() fails.
12242
12243         * process-unix.c (unix_open_unix_network_stream):
12244         Moved the code to get a port # into address loop.
12245
12246 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12247
12248         * buffer.c (reinit_vars_of_buffer):
12249         The right place to initialize conversion_in_dynarr and
12250         conversion_out_dynarr.
12251
12252         * alloc.c (pdump): Use the real open() till sys_open() is functional.
12253
12254         * process-unix.c (unix_canonicalize_host_name): Muleize.
12255         (unix_open_network_stream): Muleize.
12256
12257         * buffer.h: Fix up prototypes for ralloc.c functions.
12258
12259 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12260         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
12261         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
12262                 instead of gethostbyname()
12263         * process-unix.c: In unix_canonicalize_host_name() and
12264                 unix_open_network_stream(), add code to use getaddrinfo()
12265                 instead of gethostbyname().
12266
12267 2000-01-27  Daniel Pittman <daniel@danann.net>
12268
12269         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
12270         libs when built with flat Athena.
12271
12272 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12273
12274         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
12275         Use coding standards for function prototypes.
12276
12277 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12278
12279         * dialog-msw.c (push_lisp_string_as_unicode):
12280         * doc.c (unparesseuxify_doc_string):
12281         * dired.c (Fuser_name_completion_1):
12282         * dired.c (Fuser_name_all_completions):
12283         * dired.c (free_user_cache):
12284         * dired.c (user_name_completion):
12285         * console-x.c (get_display_arg_connection):
12286         * minibuf.c (clear_echo_area_internal):
12287         * minibuf.c (echo_area_append):
12288         * eldap.c (Fldap_open):
12289         * eldap.c (Fldap_search_internal):
12290         * frame-x.c (x_set_frame_text_value):
12291         * frame-x.c (x_set_frame_properties):
12292         * frame-x.c (x_create_widgets):
12293         * redisplay-tty.c (term_get_fkeys_1):
12294         * objects-x.c (x_parse_nearest_color):
12295         * objects-x.c (x_valid_color_name_p):
12296         * objects-x.c (x_initialize_font_instance):
12297         * objects-x.c (x_list_fonts):
12298         * objects-x.c (x_find_charset_font):
12299         * tooltalk.c (Fadd_tooltalk_message_arg):
12300         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12301         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12302         * process-unix.c (unix_create_process):
12303         * ntproc.c (sys_spawnve):
12304         * sound.c (Fplay_sound_file):
12305         * sound.c (Fplay_sound):
12306         * buffer.c (init_initial_directory):
12307         * buffer.c (init_buffer):
12308         * editfns.c (init_editfns):
12309         * editfns.c (Ftemp_directory):
12310         * editfns.c (Fuser_full_name):
12311         * editfns.c (uncache_home_directory):
12312         * editfns.c (get_home_directory):
12313         * editfns.c (Fuser_home_directory):
12314         * editfns.c (Fformat_time_string):
12315         * editfns.c (Fcurrent_time_string):
12316         * gui-x.c (button_item_to_widget_value):
12317         * database.c (Fopen_database):
12318         * event-Xt.c (x_to_emacs_keysym):
12319         * event-Xt.c (x_event_to_emacs_event):
12320         * event-Xt.c (describe_event_window):
12321         * event-msw.c (mswindows_wnd_proc):
12322         * glyphs-eimage.c (jpeg_instantiate):
12323         * glyphs-eimage.c (gif_instantiate):
12324         * glyphs-eimage.c (png_instantiate):
12325         * glyphs-eimage.c (tiff_instantiate):
12326         * glyphs-x.c (xbm_instantiate_1):
12327         * glyphs-x.c (x_xbm_instantiate):
12328         * glyphs-x.c (x_xface_instantiate):
12329         * glyphs-x.c (autodetect_instantiate):
12330         * glyphs-x.c (cursor_font_instantiate):
12331         * glyphs-x.c (x_widget_instantiate):
12332         * glyphs-x.c (x_widget_set_property):
12333         * glyphs-x.c (x_widget_property):
12334         * glyphs-x.c (BUILD_GLYPH_INST):
12335         * print.c (write_string_to_stdio_stream):
12336         * print.c (output_string):
12337         * print.c (Falternate_debugging_output):
12338         * print.c (Fexternal_debugging_output):
12339         * glyphs-msw.c (extract_xpm_color_names):
12340         * glyphs-msw.c (mswindows_xpm_instantiate):
12341         * glyphs-msw.c (bmp_instantiate):
12342         * glyphs-msw.c (resource_name_to_resource):
12343         * glyphs-msw.c (mswindows_resource_instantiate):
12344         * glyphs-msw.c (xbm_instantiate_1):
12345         * glyphs-msw.c (mswindows_xbm_instantiate):
12346         * glyphs-msw.c (mswindows_xface_instantiate):
12347         * glyphs-msw.c (mswindows_widget_instantiate):
12348         * glyphs-msw.c (add_tree_item):
12349         * glyphs-msw.c (add_tab_item):
12350         * glyphs-msw.c (mswindows_combo_box_instantiate):
12351         * glyphs-msw.c (mswindows_widget_property):
12352         * glyphs-msw.c (mswindows_combo_box_property):
12353         * glyphs-msw.c (mswindows_widget_set_property):
12354         * console.c (stuff_buffered_input):
12355         * objects-msw.c (mswindows_initialize_color_instance):
12356         * objects-msw.c (mswindows_valid_color_name_p):
12357         * objects-msw.c (mswindows_list_fonts):
12358         * objects-msw.c (mswindows_font_instance_truename):
12359         * bytecode.c (optimize_compiled_function):
12360         * select-x.c (symbol_to_x_atom):
12361         * select-x.c (x_atom_to_symbol):
12362         * select-x.c (hack_motif_clipboard_selection):
12363         * select-x.c (selection_data_to_lisp_data):
12364         * select-x.c (lisp_data_to_selection_data):
12365         * select-x.c (Fx_get_cutbuffer_internal):
12366         * select-x.c (Fx_store_cutbuffer_internal):
12367         * buffer.h (TO_EXTERNAL_FORMAT): New function.
12368         * buffer.h (TO_INTERNAL_FORMAT): New function.
12369         * emacs.c (make_arg_list_1):
12370         * emacs.c (make_argc_argv):
12371         * emacs.c (main_1):
12372         * emacs.c (Fdump_emacs):
12373         * emacs.c (split_string_by_emchar_1):
12374         * file-coding.h:
12375         * lisp.h:
12376         * lstream.h:
12377         * symsinit.h:
12378         * device-x.c (x_init_device):
12379         * device-x.c (Fx_valid_keysym_name_p):
12380         * device-x.c (Fx_get_font_path):
12381         * device-x.c (Fx_set_font_path):
12382         * glyphs.c (bitmap_to_lisp_data):
12383         * glyphs.c (pixmap_to_lisp_data):
12384         * alloc.c (make_ext_string): Use coding system arguments.  Update
12385         all callers.
12386         * alloc.c (build_string):
12387         * callproc.c (child_setup):
12388         * callproc.c (init_callproc):
12389         * fileio.c (lisp_strerror):
12390         * fileio.c (directory_file_name):
12391         * fileio.c (Fexpand_file_name):
12392         * fileio.c (Ffile_truename):
12393         * fileio.c (Fsysnetunam):
12394         * fileio.c (Fdo_auto_save):
12395         * sysdep.c (sys_readdir):
12396         * tests.c: New file.  Allow adding C tests.
12397         Replace GET_* macros with a more comprehensible and flexible
12398         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
12399         Modify all calls.
12400         Any coding system can be used to do format conversion.
12401         Eliminate enum external_data_format.
12402         Eliminate convert_to_external_format.
12403         Eliminate convert_to_internal_format.
12404         Make sure file-name, keyboard, terminal, and ctext are always
12405         defined as coding systems or aliases.  Make
12406         file-name-coding-system, terminal-coding-system, and
12407         keyboard-coding-system magical variables that are equivalent to
12408         defining the corresponding coding system aliases.
12409
12410         * file-coding.c (Fcoding_system_canonical_name_p): New function.
12411         * file-coding.c (Fcoding_system_alias_p): New function.
12412         * file-coding.c (Fcoding_system_aliasee): New function.
12413         * file-coding.c (append_suffix_to_symbol): New function.
12414         * file-coding.c (dangling_coding_system_alias_p): New function.
12415         * file-coding.c (Ffind_coding_system):
12416         * file-coding.c (Fcopy_coding_system):
12417         * file-coding.c (encode_coding_no_conversion):
12418         * file-coding.c (syms_of_file_coding):
12419         * file-coding.c (vars_of_file_coding):
12420         Rewrite coding system alias code.
12421         Allow nested aliases, like symbolic links.
12422         Allow redefinition of coding system aliases.
12423         Prevent existence of dangling coding system aliases.
12424
12425         * dired.c (Fuser_name_completion_1):
12426         * dired.c (Fuser_name_all_completions):
12427         A crash would happen if user did QUIT in the middle of building
12428         user_name_cache.  Remove redundant code in mainline and unwind_protect.
12429
12430         * lisp.h:
12431         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
12432
12433         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
12434         an unsigned char *.  Update all callers.
12435
12436 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12437
12438         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
12439
12440 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12441
12442         * elhash.c (hentry_description): Use more portable definition.
12443         (resize_hash_table): Initialize new hentries using
12444         xnew_array_and_zero, thereby simplifying the code.
12445
12446         * mule-charset.c (make_charset): Make sure entire object is
12447         initialized, to avoid Purify warnings.
12448
12449         * alloc.c (resize_string): Fix unlikely crash with big strings.
12450
12451 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12452
12453         * realpath.c (xrealpath):
12454         Don't call getwd().
12455
12456 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12457
12458         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
12459
12460 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
12461
12462         * unexelfsgi.c (unexec): Change the way we decide which segment
12463         should be extended.
12464
12465         Assumption that .bss section should be outside the PT_LOADable
12466         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
12467         it's present) is inside the 'data' segment. This would fail the
12468         test which was used to find a segment to grow and cover new
12469         heap. Instead of this assumption, I created another one - on IRIX
12470         the segment to grow should start below .bss and it's address
12471         should extent above the end of .bss. Once this segment is
12472         identified, it's grown to accommodate the new heap and new
12473         zero-length .bss section is added at the end of .data2.
12474
12475 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12476
12477         * eval.c (Feval): Wrong number of arguments should use original
12478         function, not the indirect_function version of it.
12479
12480 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
12481
12482         * glyphs-x.c (x_button_instantiate): Don't add image if
12483         it is not a pixmap.
12484         (x_locate_pixmap_file): Call Fexpand_file_name when file name
12485         is relative.
12486
12487 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
12488
12489         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
12490         declaration.
12491         (DEFVAR_INT_MAGIC): Ditto.
12492         (DEFVAR_BOOL_MAGIC): Ditto.
12493         * glyphs.h: Reindent backslash.
12494
12495 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12496
12497         * glyphs-widget.c (layout_query_geometry):
12498         (layout_layout): Use correct types for gheight, gwidth.
12499
12500 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12501
12502         * EmacsManager.c (QueryGeometry): Purified.
12503
12504 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12505
12506         * alloc.c (make_float): Make sure entire object is initialized, to
12507         avoid Purify warnings.
12508         (pdump_register_sub): Remove useless assignment.
12509         (pdump): Use xmalloc, not malloc.
12510         (pdump_load): Use xmalloc, not malloc.
12511
12512 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12513
12514         * callproc.c:
12515         * dired-msw.c:
12516         * fileio.c:
12517         * process-nt.c:
12518         * redisplay-msw.c:
12519         * sysdep.c: Removed redundant #include <windows.h>
12520
12521 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12522
12523         * frame.c (delete_frame_internal): Do not delete device when its
12524         implementation so declares.
12525         (delete_frame_internal): Set device selected frame to nil when
12526         last frame goes away.
12527
12528         * device-msw.c (msprinter_device_system_metrics): Implemented.
12529         (mswindows_device_system_metrics): Added 'device-dpi property.
12530
12531         * device.c: (Fdevice_printer_p): Added.
12532         Added 'offset-workspace device metric.
12533
12534         * console.h (device_metrics): Declared DM_offset_workspace.
12535
12536 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12537
12538         * fileio.c (Ffile_truename): Remove pointless and confusing
12539         initialization of elen.
12540
12541         * glyphs-widget.c: Compiler warning fixes.
12542
12543 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
12544
12545         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
12546         instead of a Lisp_Object as argument to make it consistent with
12547         the other LIVE_P macros.
12548         (CHECK_LIVE_PROCESS): New macro.
12549
12550         * process.c: Declare Qprocess_live_p.
12551         (Fprocess_live_p): New function.
12552         (create_process): Use PROCESS_LIVE_P.
12553         (read_process_output): Ditto.
12554         (set_process_filter): Ditto.
12555         (Fdelete_process): Ditto.
12556         (kill_buffer_processes): Ditto
12557         (process_send_signal): Use CHECK_LIVE_PROCESS.
12558         (Fprocess_input_coding_system): Check whether process is still
12559         alive (fix PR#1061).
12560         (Fprocess_output_coding_system): Ditto.
12561         (Fprocess_coding_system): Ditto.
12562         (Fset_process_input_coding_system): Ditto.
12563         (Fset_process_output_coding_system): Ditto.
12564
12565 2000-01-23  Andy Piper  <andy@xemacs.org>
12566
12567         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
12568         layout and widget.
12569
12570         * glyphs.c (mark_image_instance): take into account changed
12571         image_instance format.
12572         (image_instance_equal): ditto.
12573         (image_instance_hash): ditto.
12574
12575         * glyphs-widget.c (widget_instantiate): Incorporate layout
12576         instantiation here. Delay layout of the layout until later.
12577         (layout_instantiate): deleted.
12578         (layout_query_geometry): new function. get the geometry of a
12579         layout.
12580         (layout_layout): layout a layout dynamically.
12581         (image_instantiator_widget): New function - splitting up
12582         image_instantiator_format_create_glyphs_widget for netwinder
12583         compilation.
12584         (image_instantiator_buttons):
12585         (image_instantiator_edit_fields):
12586         (image_instantiator_combo_box):
12587         (image_instantiator_scrollbar):
12588         (image_instantiator_progress_guage):
12589         (image_instantiator_tree_view):
12590         (image_instantiator_tab_control):
12591         (image_instantiator_labels):
12592         (image_instantiator_layout): ditto.
12593         (image_instantiator_format_create_glyphs_widget): Call preceding
12594         functions.
12595
12596 2000-01-22  Martin Buchholz  <martin@xemacs.org>
12597
12598         * process.c (Fset_process_coding_system):
12599         * device-x.c (Fx_keysym_hash_table):
12600         Docstring fixes.
12601
12602         * lstream.c (Lstream_write): Return documented value, not 0.
12603
12604         * fileio.c (directory_file_name):
12605         (Fsubstitute_in_file_name):
12606         (Fsubstitute_insert_file_contents_internal):
12607         (Fwrite_region_internal):
12608         * emacs.c:
12609         * sysdep.c:
12610         * getloadavg.c:
12611         * systty.h:
12612         Remove vestigial APOLLO-conditional code.
12613
12614 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12615
12616         * getpagesize.h: Add guard macros.
12617         * libsst.h: Add guard macros.
12618         * libst.h: Add guard macros.
12619         * line-number.h: Add guard macros.
12620         * ndir.h: Add guard macros.
12621         * sysfloat.h: Add guard macros.
12622         * sysfile.h: Add guard macros.
12623         * sysproc.h: Add guard macros.
12624         * syswait.h: Add guard macros.
12625         * xintrinsic.h: Add guard macros.
12626         * xintrinsicp.h: Add guard macros.
12627         * xmmanager.h: Add guard macros.
12628         * xmmanagerp.h: Add guard macros.
12629         * xmprimitive.h: Add guard macros.
12630         * xmu.h: Add guard macros.
12631         * gpmevent.h: Add copyright statement. Add guard macros.
12632         * miscplay.h: Add guard macros.
12633         * *.h: Use consistent C-standards-approved guard macro names.
12634
12635         * opaque.c (make_opaque): Switch parameter order.
12636         * opaque.h (make_opaque): Switch parameter order.
12637         Update all callers.
12638         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
12639
12640         * config.h.in (type_checking_assert): Added.
12641         (bufpos_checking_assert): Added.
12642
12643 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12644
12645         * alloc.c: Harmless pdump changes.
12646         - Use countof().
12647         - spell alignment correctly.
12648         * sysdep.c: Use countof()
12649
12650 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12651
12652         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
12653         initially_selected_for_input() console method, default to 0.
12654         (semi_canonicalize_console_connection): Try to delegate to
12655         canonicalize_console_connection if no such console method.
12656         (canonicalize_console_connection): Vice versa.
12657         (print_console): Do not print nil connection.
12658
12659         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
12660         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
12661         (XDEVIMPF_FRAMELESS_OK): Added.
12662         (CONSOLE_INHERITS_METHOD): Added.
12663
12664         * console-msw.c (mswindows_canonicalize_console_connection):
12665         Added.
12666         (mswindows_canonicalize_device_connection): Added.
12667
12668         * console-msw.h (struct msprinter_device): Added this struct and
12669         accessor macros.
12670         (mswindows_device): Made fontlist a lisp object.
12671
12672         * device.c (semi_canonicalize_device_connection):  Try to delegate
12673         to canonicalize_device_connection if no such console method.
12674         (canonicalize_device_connection): Vice versa.
12675         (print_device): Do not print nil connection.
12676
12677         * device-msw.c (mswindows_init_device): Call InitCommonControls
12678         when have widgets.
12679         (mswindows_delete_device): Removed fontlist deallocation.
12680         (mswindows_mark_device): Added.
12681
12682         * events.c (event_equal): Added abort() at unreached code.
12683         (event_hash): Ditto.
12684
12685         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
12686         fallback tags of Windows devices.
12687
12688         * general.c (syms_of_general): Initialized Qmsprinter.
12689
12690         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
12691         of fallback tags of Windows devices.
12692
12693         * lisp.h: Declared Qmsprinter.
12694
12695         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
12696         of strings.
12697         (mswindows_list_fonts): Ditto.
12698         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
12699         that it can be used by both mswindows and msprinter devices.
12700         (initialize_font_instance): Added.
12701         (mswindows_initialize_font_instance): Use it.
12702         (msprinter_initialize_font_instance): Added.
12703
12704         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
12705         and implementation flags check.
12706         (redisplay_without_hooks): Changed the call to the above.
12707         (Fredraw_device): Ditto.
12708         (Fredisplay_device): Ditto.
12709
12710         * redisplay-msw.c (get_frame_dc): Implemented.
12711         (get_frame_compdc): Implemented.
12712         (many functions): Use the two functions above to get device
12713         contexts, ether for a window or a printer.
12714
12715 2000-01-21  Olivier Galibert  <galibert@pobox.com>
12716
12717         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
12718         initialization here.
12719         (init_symbols_once_early): Call it.
12720         * emacs.c (main_1): Call it.
12721         * symsinit.h: Declare it.
12722
12723 2000-01-19  Olivier Galibert  <galibert@pobox.com>
12724
12725         * alloc.c: Use a lrecord_header * in the backtrace instead of a
12726         Lisp_Object.
12727         (pdump_backtrace): Ditto.
12728         (pdump_register_object): Ditto.  Cleanup use of the pointers.
12729         (pdump_get_entry): Abort if trying to register a null pointer.
12730         (pdump_dump_data): Cleanup types when relocating.
12731         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
12732         (pdump_dump_rtables): Remove bad casts.
12733         (pdump_load): Cleanup relocation w.r.t union type.  Use a
12734         Lisp_Object instead of a EMACS_INT for the hashtable
12735         reorganization.
12736
12737 2000-01-20  Martin Buchholz  <martin@xemacs.org>
12738
12739         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
12740
12741         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
12742
12743         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
12744
12745         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
12746
12747 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12748
12749         * faces.h (FACE_STRIKETHRU_P): Added.
12750
12751         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
12752         of font variants.
12753
12754         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
12755         (mswindows_set_dc_font): New function, aware of font variants,
12756         separated from mswindows_update_dc.
12757
12758         * objects-msw.h (struct mswindows_font_instance_data): Added
12759         definition.
12760
12761         * objects-msw.c (mswindows_finalize_font_instance): Delete all
12762         cached fonts and the data structure.
12763         (mswindows_initialize_font_instance): Added creation of font data
12764         structure.
12765         (mswindows_print_font_instance): Print at least something.
12766         (mswindows_create_font_variant): Implemented.
12767         (mswindows_get_hfont): Implemented.
12768
12769 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
12770
12771         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
12772         prototyping problem with msvc.
12773
12774         * emacs.c (main_1): added syms_of_gui_mswindows() call
12775
12776         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
12777         syms_of_gui_mswindows() function
12778
12779         * symsinit.h: added the prototype for syms_of_gui_mswindows()
12780
12781 2000-01-18  Martin Buchholz <martin@xemacs.org>
12782
12783         * XEmacs 21.2.27 is released.
12784
12785 2000-01-18  Martin Buchholz  <martin@xemacs.org>
12786
12787         * glyphs-eimage.c (struct tiff_error_struct):
12788         (tiff_error_func):
12789         (tiff_warning_func):
12790         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
12791
12792         * unexmips.c:
12793         * unexhp9k3.c:
12794         * unexfreebsd.c:
12795         * unexec.c: Remove vestigial Lucid C code.
12796         * unexalpha.c:
12797         * unexaix.c:
12798         * termcap.c:
12799         * libsst.c: Ansify.
12800         Remove declarations of errno and strerror().
12801
12802         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
12803
12804         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
12805
12806 2000-01-16  Martin Buchholz  <martin@xemacs.org>
12807
12808         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
12809         Optimize.
12810
12811 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12812
12813         * md5.c:
12814         * file-coding.c:
12815         * file-coding.h:
12816         Change enum eol_type to eol_type_t.
12817
12818 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12819
12820         * gui.c (get_gui_callback): Check cons before accessing car.
12821
12822 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12823
12824         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
12825         (XSETSPECIFIER_TYPE): Ditto.
12826
12827 2000-01-17  Didier Verna  <didier@xemacs.org>
12828
12829         * redisplay.c (generate_fstring_runes): compute string size in
12830         characters, not bytes.
12831
12832 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12833
12834         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
12835
12836 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
12837
12838         * print.c (print_error_message): Call print_prepare().
12839
12840 2000-01-14  Martin Buchholz  <martin@xemacs.org>
12841
12842         * .dbxrc: Renamed from dbxrc.
12843
12844         * events.c (event_to_character):
12845         Use `assert (foo)' instead of `if (!foo) abort()'
12846
12847         * .gdbinit (xtype): Add documentation.
12848         * .gdbinit (check-temacs): New function.
12849         * .gdbinit (check-xemacs): New function.
12850         * dbxrc (check-xemacs): New function.
12851         * dbxrc (check-xemacs): New function.
12852
12853 2000-01-14  Andy Piper  <andy@xemacs.org>
12854
12855         * glyphs-widget.c (widget_query_geometry): Make sure that we
12856         calculate default dimensions correctly.
12857
12858 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12859
12860         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
12861
12862         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
12863         pdump_wire'd variable.
12864
12865         * emacs.c: (main_1): Conditionalized calls to
12866         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
12867
12868 2000-01-13  Martin Buchholz  <martin@xemacs.org>
12869
12870         * window.c (Fset_window_configuration):
12871         * sysdep.c (_start):
12872         * input-method-motif.c (res):
12873         * event-Xt.c (Xt_process_to_emacs_event):
12874         Simple compiler warning fixes.
12875
12876         * bytecode.c (funcall_compiled_function): Use the original
12877         function symbol on the backtrace list in preference to the
12878         compiled_function object in error messages.
12879
12880 2000-01-13  Andy Piper  <andy@xemacs.org>
12881
12882         * glyphs-x.c (update_widget_face): Make sure we update the widget
12883         background as well as foreground.
12884
12885 2000-01-13  Andy Piper  <andy@xemacs.org>
12886
12887         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
12888         fields to subwindow.
12889         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
12890         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
12891         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12892         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12893
12894         * glyphs-widget.c (check_valid_tab_orientation): new function.
12895         (initialize_widget_image_instance): zero orientation and
12896         justification.
12897         (widget_instantiate): pick up orientation.
12898         (tab_control_query_geometry): return appropriate values for
12899         vertical tabs.
12900
12901         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
12902         appropriate creation flags for left, right and bottom tabs.
12903
12904         * s/cygwin32.h: add tab definitions.
12905
12906 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12907
12908         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
12909         frame upon hiding a subwindow.
12910         (mswindows_button_instantiate): Changed the push button style to
12911         BS_PUSHBUTTON.
12912         (mswindows_button_instantiate): Removed button BS_NOTIFY
12913         style.
12914         (mswindows_button_instantiate): Removed redundant check for
12915         a disabled gui item.
12916         (mswindows_button_instantiate): Made use of WS_TABSTOP
12917         consistent: "operable" controls (edit, button, tree, scroll) have
12918         this style, "display-only" ones (static, progress gauge) do
12919         not. This style is currently ignored by XEmacs though. Also,
12920         removed the WS_EX_CONTROLPARENT style - it is not for children,
12921         it is for their parents!
12922         (mswindows_edit_field_instantiate): Ditto.
12923         (mswindows_progress_gauge_instantiate): Ditto.
12924         (mswindows_tree_view_instantiate): Ditto.
12925         (mswindows_tab_control_instantiate): Ditto.
12926         (mswindows_scrollbar_instantiate): Ditto.
12927         (mswindows_combo_box_instantiate): Ditto.
12928         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
12929         style to the "clip" window.
12930         (mswindows_button_instantiate): Removed compilation warning by
12931         equally typing terms of the ?: operator.
12932
12933 2000-01-12  Didier Verna  <didier@xemacs.org>
12934
12935         * redisplay.c (generate_fstring_runes): new parameter holding the
12936         last modeline-format extent.
12937         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
12938         extent, fill the glyph block with it.
12939         (generate_fstring_runes): handle these parameters.
12940         (generate_formatted_string_db): ditto.
12941
12942         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
12943         glyphs'extents in the modeline.
12944
12945 1999-01-11  Mike Woolley  <mike@bulsara.com>
12946
12947         * ntheap.c: Reduced the reserved heap space from 1Gb down to
12948         256Mb, as a workaround for the non-starting problem many people
12949         have experienced.
12950
12951 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12952
12953         * console-tty.c (Fset_console_tty_output_coding_system):
12954         Force redrawing tty frame.
12955
12956 2000-01-10  Didier Verna  <didier@xemacs.org>
12957
12958         * redisplay.c (generate_fstring_runes): fix size computation bug.
12959
12960 2000-01-09  William M. Perry <wmperry@aventail.com>
12961
12962         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
12963
12964 2000-01-09  Andy Piper  <andy@xemacs.org>
12965
12966         * glyphs-msw.c: index -> i to avoid shadows.
12967         (xbm_create_bitmap_from_data): make static.
12968         (check_valid_string_or_int): deleted.
12969         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
12970
12971         * glyphs-x.c (x_update_subwindow): remove unused args.
12972
12973         * glyphs.c (glyph_image_instance): return the thing. Don't set the
12974         back pointer - this is done in allocate_image_instance.
12975         (query_string_font): return Qnil to make the compiler happy.
12976         (unmap_subwindow): set to ~0 to make the compiler happy.
12977         (glyph_query_geometry): comment out until used.
12978         (glyph_layout): ditto.
12979
12980 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12981
12982         * insdel.c (signal_after_change): Remove extraneous unbind_to().