Sync up with r21-4-11-chise-0_20-=jis-x0208-1990.
[chise/xemacs-chise.git] / src / ChangeLog
1 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
4         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
5         don't define it when UTF2000 is not defined.
6         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
7         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
8         when UTF2000 is not defined.
9         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
10         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
11
12 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
13
14         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
15
16         * mule-charset.c (Vcharset_ucs_gb): Deleted.
17         (Qucs_gb): Deleted.
18         (syms_of_mule_charset): Delete `ucs-gb'.
19         (complex_vars_of_mule_charset): Likewise.
20
21 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
22
23         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
24
25         * mule-charset.c (Vcharset_ucs_cns): Deleted.
26         (Qucs_cns): Deleted.
27         (syms_of_mule_charset): Delete `ucs-cns'.
28         (complex_vars_of_mule_charset): Likewise.
29
30 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
31
32         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
33
34         * mule-charset.c (Vcharset_ucs_jis): Deleted.
35         (Qucs_jis): Deleted.
36         (syms_of_mule_charset): Delete `ucs-jis'.
37         (complex_vars_of_mule_charset): Likewise.
38
39 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
40
41         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
42
43         * mule-charset.c (Vcharset_ucs_ks): Deleted.
44         (Qucs_ks): Deleted.
45         (syms_of_mule_charset): Delete `ucs-ks'.
46         (complex_vars_of_mule_charset): Likewise.
47
48 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
49
50         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
51         (Qideograph_daikanwa_2): Deleted.
52         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
53         (complex_vars_of_mule_charset): Likewise.
54
55         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
56         (LEADING_BYTE_DAIKANWA_1): Deleted.
57         (LEADING_BYTE_DAIKANWA_2): Deleted.
58         (MIN_CHAR_DAIKANWA): Deleted.
59         (MAX_CHAR_DAIKANWA): Deleted.
60
61 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
62
63         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
64         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
65         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
66
67         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
68         (Vcharset_ideograph_daikanwa): Deleted.
69         (Qideograph_hanziku_{1..12}): Deleted.
70         (Qideograph_daikanwa): Deleted.
71         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
72         Vcharset_ideograph_daikanwa.
73         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
74         `ideograph-hanziku-{1..12}'.
75         (complex_vars_of_mule_charset): Likewise.
76
77 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
78
79         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
80
81         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
82         (Qideograph_gt_pj_{1..11}): Deleted.
83         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
84         (complex_vars_of_mule_charset): Likewise.
85
86 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
87
88         * mule-charset.c (Vcharset_ucs_big5): Deleted.
89         (Vcharset_ideograph_gt): Deleted.
90         (Qucs_big5): Deleted.
91         (Qideograph_gt): Deleted.
92         (syms_of_mule_charset): Delete symbol `ucs-big5' and
93         `ideograph-gt'.
94         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
95         and `ideograph-gt'.
96
97         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
98         (LEADING_BYTE_GT): Deleted.
99         (GC_CHARSETP): Deleted.
100         (MIN_CHAR_GT): Deleted.
101         (MAX_CHAR_GT): Deleted.
102
103 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
104
105         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
106
107 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
108
109         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
110         (Qideograph_cbeta): Deleted.
111         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
112         (complex_vars_of_mule_charset): Likewise.
113
114         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
115         (MIN_CHAR_CBETA): Comment out.
116         (MAX_CHAR_CBETA): Likewise.
117
118 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
119
120         * mule-charset.c (charset_lookup_description_1): Use
121         `NUM_LEADING_BYTES' in UTF-2000.
122
123 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
124
125         * mule-charset.c (Vcharset_china3_jef): Deleted.
126         (Qchina3_jef): Deleted.
127         (syms_of_mule_charset): Don't define `china3-jef'.
128         (complex_vars_of_mule_charset): Likewise.
129
130         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
131         (MIN_CHAR_CHINA3_JEF): Comment out.
132         (MAX_CHAR_CHINA3_JEF): Comment out.
133
134 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
135
136         * mule-charset.c (Vcharset_ucs_gb): New variable.
137         (Qucs_gb): New variable.
138         (syms_of_mule_charset): Add new symbol `ucs-gb'.
139         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
140
141         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
142
143 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
144
145         * mule-charset.c (charset_code_point): if a coded-charset has a
146         final-byte, don't inherit the builtin range of the mother CCS.
147
148 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
149
150         * mule-charset.c (charset_code_point): Fix problem about
151         inheritance.
152
153 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
154
155         * mule-charset.c (decode_builtin_char): Reorganized.
156
157 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
158
159         * text-coding.c (char_encode_shift_jis): Modify for
160         `charset_code_point'.
161         (char_encode_big5): Likewise.
162         (char_encode_utf8): Likewise.
163         (char_encode_iso2022): Likewise.
164
165         * mule-charset.c (charset_code_point): Add new argument
166         `defined_only'.
167         (Fencode_char): Add new optional argument `defined_only'.
168
169         * chartab.c (put_char_table): Modify for `charset_code_point'.
170         (map_char_table): Likewise.
171
172         * char-ucs.h (charset_code_point): Add new argument
173         `defined_only'.
174         (encode_char_1): Modify for `charset_code_point'.
175
176 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
177
178         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
179         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
180
181 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
182
183         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
184         (Qjis_x0208): Likewise.
185         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
186         XCHARSET_FINAL(charset).
187         (charset_code_point): Modify condition for final-byte based
188         builtin-chars.
189         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
190         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
191         in UTF-2000; specify `=jis-x0208' as the mother of
192         `japanese-jisx0208-1978', `japanese-jisx0208' and
193         `japanese-jisx0208-1990' in UTF-2000.
194
195 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
196
197         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
198
199 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
200
201         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
202         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
203         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
204         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
205         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
206         CONVERSION_96x96x96x96 are introduced.
207         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
208         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
209         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
210
211         * char-ucs.h (CONVERSION_94): New macro.
212         (CONVERSION_96): New macro.
213         (CONVERSION_94x94): New macro.
214         (CONVERSION_96x96): New macro.
215         (CONVERSION_94x94x94): New macro.
216         (CONVERSION_96x96x96): New macro.
217         (CONVERSION_94x94x94x60): New macro.
218         (CONVERSION_94x94x94x94): New macro.
219         (CONVERSION_96x96x96x96): New macro.
220
221 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
222
223         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
224
225         * fns.c (Qideographic_structure): New variable.
226         (Qkeyword_char): New variable.
227         (ids_format_unit): New function.
228         (Fideographic_structure_to_ids): New function.
229         (syms_of_fns): Add new symbols `ideographic-structure' and
230         `:char'; add new builtin function `ideographic-structure-to-ids'.
231
232         * data.c (Fchar_ref_p): New function.
233         (syms_of_data): Add new builtin function `char-ref-p'.
234
235         * chartab.h: Add an EXFUN for `Ffind_char'.
236
237 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
238
239         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
240         and `COMPOSE_ADD_CHAR'.
241         (decode_coding_iso2022): Use `decode_flush_er_chars'.
242
243 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
244
245         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
246         instead of `DECODE_ADD_UCS_CHAR'.
247         (COMPOSE_ADD_CHAR): Likewise.
248
249 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
250
251         * text-coding.c (decode_flush_er_chars): New inline function.
252         (decode_add_er_char): New function.
253         (decode_coding_utf8): Use `decode_flush_er_chars' and
254         `decode_add_er_char'.
255
256 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
257
258         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
259         done before `decode_output_utf8_partial_char'.
260
261         * mule-charset.c (complex_vars_of_mule_charset): Specify
262         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
263         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
264
265 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
266
267         * mule-charset.c (decode_defined_char): New function; search
268         mother.
269         (decode_builtin_char): Don't search mother if
270         XCHARSET_MAX_CODE(charset) == 0.
271         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
272         == 0 even if code >= XCHARSET_MAX_CODE(charset).
273         (Fdecode_char): Use `decode_defined_char' instead of
274         `DECODE_DEFINED_CHAR'.
275         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
276         mother of `Vcharset_ucs_jis'.
277
278         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
279         instead of `DECODE_DEFINED_CHAR'.
280
281         * char-ucs.h (decode_defined_char): Renamed from
282         `DECODE_DEFINED_CHAR'; changed to normal function.
283         (DECODE_CHAR): Use `decode_defined_char' instead of
284         `DECODE_DEFINED_CHAR'.
285
286         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
287
288 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
289
290         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
291
292         * text-coding.c (Vcoded_charset_entity_reference_alist): New
293         variable.
294         (Quse_entity_reference): New variable.
295         (Qd): New variable.
296         (Qx): New variable.
297         (QX): New variable.
298         (coding_system_description): Add description for
299         `ccs_priority_list'.
300         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
301         (allocate_coding_system): Initialize `ccs_priority_list' in
302         UTF-2000.
303         (Fmake_coding_system): Add description about
304         'use-entity-reference; setup
305         CODING_SYSTEM_USE_ENTITY_REFERENCE(codesys).
306         (Fcoding_system_property): Accept `disable-composition' and
307         `use-entity-reference' in UTF-2000.
308         (struct decoding_stream): Add new member `er_counter' and `er_buf'
309         in UTF-2000.
310         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
311         (decode_coding_utf8): Decode entity-reference if
312         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
313         (char_encode_utf8): Encode non-Unicode characters as
314         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
315         (str->codesys).
316         (syms_of_file_coding): Add new symbols `use-entity-reference',
317         `d', `x', `X'.
318         (vars_of_file_coding): Add new variable
319         `coded-charset-entity-reference-alist'.
320         (complex_vars_of_file_coding): Declare `disable-composition' and
321         `use-entity-reference' to be coding-system-properties in UTF-2000.
322
323         * file-coding.h (struct Lisp_Coding_System): Add new member
324         `use_entity_reference' and `ccs_priority_list'.
325         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
326         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
327         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
328
329 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
330
331         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
332
333 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
334
335         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
336         `XCHARSET_GRAPHIC(ccs)'.
337
338 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
339
340         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
341         for decoding-table.
342
343 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
344
345         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
346         instead of `XCHARSET_CHARS'.
347
348 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
349
350         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
351         (XCHARSET_BYTE_SIZE): Likewise.
352
353         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
354         mule-charset.c].
355         (XCHARSET_BYTE_SIZE): Likewise.
356
357 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
358
359         * char-ucs.h (decoding_table_check_elements): Delete prototype.
360         (get_ccs_octet_table): New inline function.
361         (put_ccs_octet_table): Likewise.
362         (decoding_table_put_char): Use `get_ccs_octet_table' and
363         `put_ccs_octet_table'.
364         (decoding_table_remove_char): Use `decoding_table_put_char'.
365         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
366
367         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
368         into encoding_table.
369         (make_charset): Use Qunbound instead Qnil as initial value of
370         decoding_table.
371
372 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
373
374         * mule-charset.c (put_char_ccs_code_point): Modify for
375         `decoding_table_remove_char' and `decoding_table_put_char'.
376         (remove_char_ccs): Modify for `decoding_table_remove_char'.
377
378         * char-ucs.h (decoding_table_remove_char): Change arguments to
379         hide decoding_table vector.
380         (decoding_table_put_char): Likewise.
381
382 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
383
384         * mule-charset.c (decoding_table_remove_char): Moved to
385         char-ucs.h.
386         (decoding_table_put_char): Likewise.
387
388         * char-ucs.h (decoding_table_check_elements): New prototype [moved
389         from mule-charset.c].
390         (decoding_table_remove_char): New inline function [moved from
391         mule-charset.c].
392         (decoding_table_put_char): Likewise.
393
394 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
395
396         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
397         instead of `DECODE_CHAR' for mother; don't use special code for
398         chinese-big5 to use code space of chinese-big5-1 and
399         chinese-big5-2.
400         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
401         `MAX_CHAR_BIG5_CDP' for chinese-big5.
402
403         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
404         (MAX_CHAR_BIG5_CDP): Revival.
405
406 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
407
408         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
409         the XLFD registry-encoding name of `chinese-big5'.
410
411 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
412
413         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
414         (Qchinese_big5_cdp): Deleted.
415         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
416         (complex_vars_of_mule_charset): Delete coded-charset
417         `chinese-big5-cdp'.
418
419         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
420         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
421         `CHARSET_ID_OFFSET - n' for private CCS.
422         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
423         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
424         of `MIN_LEADING_BYTE'.
425         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
426         `(CHARSET_ID_OFFSET - 97)'.
427         (MIN_CHAR_BIG5_CDP): Deleted.
428         (MAX_CHAR_BIG5_CDP): Deleted.
429
430 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
431
432         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
433         extension.
434
435 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
436
437         * mule-charset.c (decode_builtin_char): Support mother charsets.
438
439 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
440
441         * mule-charset.c (Q94x94x60): New variable.
442         (charset_code_point): Support conversion `94x94x60'.
443         (Fmake_charset): Likewise.
444         (syms_of_mule_charset): Add new symbol `94x94x60'.
445
446         * char-ucs.h (CONVERSION_94x94x60): New macro.
447
448 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
449
450         * mule-charset.c (charset_code_point): Unify code about
451         `code-offset'.
452
453 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
454
455         * mule-charset.c (charset_code_point): Merge code about builtin
456         characters into code about mother charsets; don't use
457         `range_charset_code_point'.
458         (range_charset_code_point): Deleted.
459
460 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
461
462         * mule-charset.c (Qcode_offset): New variable.
463         (Fmake_charset): Use `XUINT' to get value of `min-code' and
464         `max-code'; accept new property `code-offset'.
465         (syms_of_mule_charset): Add new symbol `code-offset'.
466
467 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
468
469         * mule-charset.c (range_charset_code_point): Fixed.
470
471 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
472
473         * mule-charset.c (decode_builtin_char): Change semantics of
474         code-offset of coded-charset.
475         (charset_code_point): Likewise.
476         (range_charset_code_point): Likewise.
477         (complex_vars_of_mule_charset): Modify for the change.
478
479 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
480
481         * mule-charset.c (Fencode_char): Reverse arguments.
482
483         * mule-charset.c (charset_code_point): Fixed.
484
485 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
486
487         * mule-charset.c (Vcharset_mojikyo): Deleted.
488         (Vcharset_mojikyo_2022_1): Deleted.
489         (Vcharset_mojikyo_pj_{1..21}): Deleted.
490         (Qmin_code): New variable in UTF-2000.
491         (Qmax_code): Likewise.
492         (Qmother): Likewise.
493         (Qconversion): Likewise.
494         (Q94x60): Likewise.
495         (Qmojikyo): Deleted.
496         (Qmojikyo_2022_1): Deleted.
497         (Qmojikyo_pj_{1..22}): Deleted.
498         (mark_charset): Mark `cs->mother'.
499         (charset_description): Add description for `mother'.
500         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
501         new arguments `mother' and `conversion'; use
502         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
503         (charset_code_point): Moved from char-ucs.h; support `mother'
504         charset feature.
505         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
506         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
507         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
508         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
509         allow 2 as the value of `graphic' in UTF-2000; add new properties
510         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
511         require `final' in UTF-2000; modify for `make_charset'.
512         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
513         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
514         (Fcharset_property): Support `mother', `min-code' and `max-code'.
515         (Fencode_char): New function.
516         (syms_of_mule_charset): Add new builtin function `encode-char' in
517         UTF-2000; add new symbols `min-code', `max-code', `mother',
518         `conversion' and `94x60'; delete symbols `mojikyo',
519         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
520         (complex_vars_of_mule_charset): Modify for `make_charset' change;
521         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
522         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
523
524         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
525         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
526
527         * char-ucs.h (Vcharset_mojikyo): Deleted.
528         (Vcharset_mojikyo_2022_1): Deleted.
529         (LEADING_BYTE_MOJIKYO): Deleted.
530         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
531         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
532         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
533         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
534         add new member `mother'; add new member `conversion'.
535         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
536         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
537         (CHARSET_MOTHER): New macro.
538         (CHARSET_CONVERSION): New macro.
539         (CONVERSION_IDENTICAL): New macro.
540         (CONVERSION_94x60): New macro.
541         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
542         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
543         (XCHARSET_MOTHER): New macro.
544         (XCHARSET_CONVERSION): New macro.
545         (MIN_CHAR_MOJIKYO): Deleted.
546         (MAX_CHAR_MOJIKYO): Deleted.
547         (DECODE_MOJIKYO_2022): Deleted.
548         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
549         (charset_code_point): Changed to non-inline function.
550         (encode_char_1): Use `charset_code_point'.
551         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
552
553 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
554
555         * lread.c (read_compiled_function): Fix prototype.
556         (read_vector): Likewise.
557
558 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
559
560         * lrecord.h (struct lrecord_header): Delete `older'.
561         (set_lheader_implementation): Delete code for `older'.
562         (set_lheader_older_implementation): Deleted.
563         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
564         (OLDER_RECORD_P): Deleted.
565         (OLDER_RECORD_HEADER_P): Deleted.
566         (alloc_older_lcrecord): Deleted.
567         (alloc_older_lcrecord_type): Deleted.
568
569         * alloc.c (all_older_lcrecords): Deleted.
570         (alloc_older_lcrecord): Deleted.
571         (disksave_object_finalization_1): Delete code for older objects.
572         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
573         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
574
575 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
576
577         * mule-charset.c (decoding_table_put_char): Use `make_vector'
578         instead of `make_older_vector'.
579         (put_char_ccs_code_point): Likewise.
580         (mark_charset): Mark `cs->decoding_table'.
581         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
582
583         * lisp.h (make_older_vector): Deleted.
584         (make_vector_newer): Deleted.
585
586         * config.h.in (HAVE_GGC): Deleted.
587
588         * alloc.c (make_older_vector): Deleted.
589         (make_vector_newer_1): Deleted.
590         (make_vector_newer): Deleted.
591
592 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
593
594         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
595         (Qideograph_daikanwa_2): New variable.
596         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
597         (complex_vars_of_mule_charset): Add new coded-charset
598         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
599         `LEADING_BYTE_DAIKANWA'.
600
601         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
602         (LEADING_BYTE_DAIKANWA_1): New macro.
603         (LEADING_BYTE_DAIKANWA_2): New macro.
604         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
605
606 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
607
608         * mule-charset.c (complex_vars_of_mule_charset): Change
609         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
610         the second revised version.
611
612 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
613
614         * mule-charset.c (Vcharset_ucs_smp): New variable.
615         (Vcharset_ucs_sip): New variable.
616         (Qucs_smp): New variable.
617         (Qucs_sip): New variable.
618         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
619         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
620         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
621         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
622         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
623         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
624
625         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
626         (LEADING_BYTE_UCS_SIP): New macro.
627         (MIN_CHAR_SMP): New macro.
628         (MAX_CHAR_SMP): New macro.
629         (MIN_CHAR_SIP): New macro.
630         (MAX_CHAR_SIP): New macro.
631
632 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
633
634         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
635         utf-2000.
636
637 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
638
639         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
640         value; don't store value into `encoding_table' of `Lisp_Charset'.
641         (mark_charset): `encoding_table' was deleted.
642         (charset_description): Likewise.
643         (make_charset): Likewise.
644         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
645         `put_char_ccs_code_point'.
646
647         * chartab.h (Fput_char_attribute): New EXFUN.
648
649         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
650         is unified with normal symbol space.
651         (Fget_char_attribute): Likewise.
652         (Fput_char_attribute): Likewise; behavior of
653         `put_char_ccs_code_point' is changed.
654
655         * char-ucs.h: Include "elhash.h".
656         (Vchar_attribute_hash_table): New external variable.
657         (struct Lisp_Charset): Delete `encoding_table'.
658         (CHARSET_ENCODING_TABLE): New implementation; refer
659         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
660         `Lisp_Charset'.
661
662 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
663
664         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
665         (cs) == 0.
666
667 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
668
669         * text-coding.c (char_encode_big5): Prefer charset-g1 than
670         `chinese-big5'.
671
672 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
673
674         * chartab.c (uint8_byte_table_description): New constant.
675         (uint8-byte-table): Use `uint8_byte_table_description'.
676         (uint16_byte_table_description): New constant.
677         (uint16-byte-table): Use `uint16_byte_table_description'.
678
679 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
680
681         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
682         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
683
684 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
685
686         * mule-charset.c (Vcharset_ucs_ks): New variable.
687         (Qucs_ks): New variable.
688         (syms_of_mule_charset): Add new symbol `ucs-ks'.
689         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
690
691         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
692
693 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
694
695         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
696         (Fdecode_char): Likewise.
697
698         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
699         chartab.h.
700         (Fdefine_char): Modify for Fdecode_char.
701         (Ffind_char): Likewise.
702
703         * mule-charset.c (Fdecode_char): Add new optional argument
704         `defined-only'.
705         (Fdecode_builtin_char): Modify for `Fdecode_char'.
706
707 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
708
709         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
710         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
711         (allocate_coding_system): Initialize initial-charsets of
712         CODESYS_BIG5 in XEmacs UTF-2000.
713         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
714         CODESYS_BIG5 in XEmacs UTF-2000.
715         (decode_coding_big5): Use initial-charset-g0 and -g1 of
716         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
717
718         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
719         variables.
720         (Qideograph_hanziku_{1 .. 12}): Likewise.
721         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
722         .. 12}'.
723         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
724         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
725         `ideograph-hanziku-{1 .. 12}'.
726
727         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
728         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
729         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
730         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
731         (DECODE_DEFINED_CHAR): New inline function.
732         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
733
734 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
735
736         * mule-charset.c (Vcharset_china3_jef): Renamed from
737         `Vcharset_japanese_jef_china3'.
738         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
739         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
740         `{MIN|MAX}_CHAR_JEF_CHINA3'..
741         (syms_of_mule_charset): Rename `china3-jef' from
742         `japanese-jef-china3'.
743         (complex_vars_of_mule_charset): Likewise; rename
744         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
745
746         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
747         `LEADING_BYTE_JEF_CHINA3'.
748         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
749         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
750
751 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
752
753         * mule-charset.c (encode_builtin_char_1): Comment out special code
754         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
755
756         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
757         (MAX_CHAR_MOJIKYO_0): Comment out.
758         (MIN_CHAR_CBETA): Changed to 0x00E20000.
759         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
760         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
761         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
762
763 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
764
765         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
766         (Qideograph_cbeta): New variable.
767         (encode_builtin_char_1): Comment out special code for
768         coded-charset `mojikyo' and `japanese-jef-china3'.
769         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
770         (complex_vars_of_mule_charset): Add new coded-charset
771         `ideograph-cbeta'.
772
773         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
774         (MIN_CHAR_CBETA): New macro.
775         (MAX_CHAR_CBETA): New macro.
776
777 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
778
779         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
780         (LEADING_BYTE_JEF_CHINA3): New macro.
781         (MIN_CHAR_JEF_CHINA3): New macro.
782         (MAX_CHAR_JEF_CHINA3): Likewise.
783         (DECODE_CHAR): Fixed.
784
785 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
786
787         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
788         (Qjapanese_jef_china3): New variable.
789         (encode_builtin_char_1): Support `japanese-jef-china3'.
790         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
791         (complex_vars_of_mule_charset): Add new coded-charset
792         `japanese-jef-china3'.
793
794 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
795
796         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
797         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
798         94^4, 96^3, 96^4, 128^n and 256^n set.
799         (put_char_table): Use `XCHARSET_CELL_RANGE'.
800         (map_char_table): Likewise.
801
802 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
803
804         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
805         UTF-2000.
806
807 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
808
809         * chartab.h (get_char_id_table): New inline function.
810
811         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
812         function.
813
814 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
815
816         * chartab.h (decode_char_table_range): New prototype in XEmacs
817         UTF-2000.
818         (put_char_id_table): New inline function in XEmacs UTF-2000.
819
820         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
821         function.
822         (decode_char_table_range): Delete static declaration in XEmacs
823         UTF-2000.
824
825 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
826
827         * chartab.c (put_char_id_table): Use `put_char_table'.
828
829 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
830
831         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
832         (map_over_uint16_byte_table): Likewise.
833         (map_over_byte_table): Likewise.
834         (map_char_table): Modify for `map_over_uint8_byte_table',
835         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
836         UTF-2000.
837
838 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
839
840         * chartab.c (struct map_char_table_for_charset_arg): New
841         structure.
842         (map_char_table_for_charset_fun): New function.
843         (map_char_table): Use `map_char_table' for encoding_table of
844         `range->charset'.
845
846 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
847
848         * chartab.c (map_char_table): Check a character is found in
849         range->charset instead of non default value is defined in
850         char-table when range is CHARTAB_RANGE_ROW.
851
852 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
853
854         * chartab.c (map_char_id_table): Deleted.
855         (Fmap_char_attribute): Use `map_char_table' instead of
856         `map_char_id_table'.
857
858 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
859
860         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
861         UTF-2000.
862         (update_syntax_table): Deleted in XEmacs UTF-2000.
863
864         * syntax.c (find_defun_start): Use `syntax_table' instead of
865         `mirror_syntax_table' in XEmacs UTF-2000.
866         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
867         UTF-2000.
868         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
869         XEmacs UTF-2000.
870         (Fmatching_paren): Likewise.
871         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
872         in XEmacs UTF-2000.
873         (find_start_of_comment): Likewise.
874         (find_end_of_comment): Likewise.
875         (Fforward_comment): Likewise.
876         (scan_lists): Likewise.
877         (char_quoted): Likewise.
878         (Fbackward_prefix_chars): Likewise.
879         (scan_sexps_forward): Likewise.
880         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
881         (update_syntax_table): Likewise.
882
883         * search.c (skip_chars): Use `syntax_table' instead of
884         `mirror_syntax_table' in XEmacs UTF-2000.
885         (wordify): Likewise.
886         (Freplace_match): Likewise.
887
888         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
889         `mirror_syntax_table' in XEmacs UTF-2000.
890         (WORDCHAR_P_UNSAFE): Likewise.
891         (re_match_2_internal): Likewise.
892
893         * font-lock.c (find_context): Use `buf->syntax_table' instead of
894         `buf->mirror_syntax_table' in XEmacs UTF-2000.
895
896         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
897         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
898
899         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
900         XEmacs UTF-2000.
901
902         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
903         UTF-2000.
904         (print_char_table): Print `default_value' in XEmacs UTF-2000.
905         (char_table_description): Delete `mirror_table' in XEmacs
906         UTF-2000.
907         (fill_char_table): Don't call `update_syntax_table' in XEmacs
908         UTF-2000.
909         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
910         (Fcopy_char_table): Likewise.
911         (put_char_table): Don't call `update_syntax_table' in XEmacs
912         UTF-2000.
913
914         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
915         `buf->mirror_syntax_table' in XEmacs UTF-2000.
916         (casify_region_internal): Likewise.
917
918         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
919
920         * buffer.c (common_init_complex_vars_of_buffer): Don't use
921         `mirror_syntax_table' in XEmacs UTF-2000.
922
923         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
924         `buf->mirror_syntax_table' in XEmacs UTF-2000.
925         (Fexpand_abbrev): Likewise.
926
927 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
928
929         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
930
931 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
932
933         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
934         (map_over_uint16_byte_table): Likewise.
935         (map_over_byte_table): Likewise.
936         (get_char_id_table): Refer `cit->default_value'.
937         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
938         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
939         of character-id ranges.
940         (mark_char_table): Mark `ct->default_value'.
941         (char_table_description): Add `default_value'.
942         (fill_char_table): Use `default_value'.
943         (decode_char_table_range): Decode `nil' as
944         `CHARTAB_RANGE_DEFAULT'.
945         (get_char_id_table): Refer `cit->default_value'.
946         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
947         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
948         temporary hack; check value of char-table is bound or not.
949         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
950
951         * chartab.h (struct Lisp_Char_Table): Add new member
952         `default_value' in XEmacs UTF-2000.
953         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
954         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
955         UTF-2000.
956
957 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
958
959         * chartab.h (Lisp_Char_ID_Table): Deleted.
960
961         * chartab.c (char_table_description): Fix typo.
962         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
963         `Lisp_Char_ID_Table'.
964
965 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
966
967         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
968         `CHAR_ID_TABLE_P'.
969
970         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
971         `CHAR_ID_TABLE_P'.
972
973         * chartab.h (XCHAR_ID_TABLE): Deleted.
974         (XSETCHAR_ID_TABLE): Deleted.
975         (CHAR_ID_TABLE_P): Deleted.
976
977         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
978         `CHAR_ID_TABLE_P'.
979         (Fget_composite_char): Likewise.
980         (put_char_table): Likewise.
981         (add_char_attribute_alist_mapper): Fixed.
982         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
983         `CHAR_ID_TABLE_P'.
984         (Fget_char_attribute): Likewise.
985         (Fget_char_attribute): Likewise.
986         (Fmap_char_attribute): Likewise.
987
988         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
989         `CHAR_ID_TABLE_P'.
990         (encode_char_1): Likewise.
991
992 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
993
994         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
995         `XCHAR_ID_TABLE'.
996
997         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
998         instead of `XCHAR_ID_TABLE'.
999         (remove_char_ccs): Likewise.
1000
1001         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
1002         `XCHAR_ID_TABLE'.
1003         (Fget_composite_char): Likewise.
1004         (Fchar_variants): Likewise.
1005         (put_char_table): Likewise.
1006         (add_char_attribute_alist_mapper): Likewise.
1007         (Fchar_attribute_alist): Likewise.
1008         (Fget_char_attribute): Likewise.
1009         (Fput_char_attribute): Likewise.
1010         (Fmap_char_attribute): Likewise.
1011         (Fmap_char_attribute): Likewise.
1012
1013         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
1014         `XCHAR_ID_TABLE'.
1015         (encode_char_1): Likewise.
1016
1017 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1018
1019         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
1020         `Lisp_Char_ID_Table'.
1021         (mark_char_id_table): Deleted.
1022         (print_char_id_table): Likewise.
1023         (char_id_table_equal): Likewise.
1024         (char_id_table_hash): Likewise.
1025         (char_id_table_description): Likewise.
1026         (char_id_table): Likewise.
1027         (make_char_id_table): Use `Fmake_char_table' and
1028         `fill_char_table'.
1029         (get_char_id_table): Use `Lisp_Char_Table' instead of
1030         `Lisp_Char_ID_Table'.
1031         (put_char_id_table): Likewise.
1032         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
1033         `XCHAR_ID_TABLE'.
1034         (Fremove_char_attribute): Likewise.
1035         (syms_of_chartab): Don't define type `char-id-table'.
1036
1037         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
1038         (char_id_table): Likewise.
1039         (GC_CHAR_ID_TABLE_P): Likewise.
1040         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
1041         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
1042         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
1043         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
1044         (get_char_id_table): Use `Lisp_Char_Table' instead of
1045         `Lisp_Char_ID_Table'.
1046         (put_char_id_table_0): Likewise.
1047         (put_char_id_table): Likewise.
1048
1049 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1050
1051         * chartab.h: Lisp_Byte_Table related codes are moved from
1052         chartab.h.
1053
1054         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
1055
1056 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1057
1058         * chartab.h: Don't include "chartab.h".
1059         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
1060         (Lisp_Char_ID_Table): Likewise.
1061         (char_id_table): Likewise.
1062         (XCHAR_ID_TABLE): Likewise.
1063         (XSETCHAR_ID_TABLE): Likewise.
1064         (CHAR_ID_TABLE_P): Likewise.
1065         (GC_CHAR_ID_TABLE_P): Likewise.
1066         (get_char_id_table): Likewise.
1067
1068         * char-ucs.h: Include "chartab.h".
1069         (struct Lisp_Char_ID_Table): Moved to chartab.h.
1070         (Lisp_Char_ID_Table): Likewise.
1071         (char_id_table): Likewise.
1072         (XCHAR_ID_TABLE): Likewise.
1073         (XSETCHAR_ID_TABLE): Likewise.
1074         (CHAR_ID_TABLE_P): Likewise.
1075         (GC_CHAR_ID_TABLE_P): Likewise.
1076         (get_char_id_table): Likewise.
1077
1078 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1079
1080         * chartab.c (copy_uint8_byte_table): New function.
1081         (copy_uint16_byte_table): New function.
1082         (copy_byte_table): New function.
1083         (map_over_uint8_byte_table): Modify to avoid huge numbers of
1084         characters to call.
1085         (map_over_uint16_byte_table): Likewise.
1086         (map_over_byte_table): Likewise.
1087         (get_byte_table): Move prototype to chartab.h.
1088         (put_byte_table): Likewise.
1089         (put_char_id_table_0): Moved to chartab.h.
1090         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
1091         (char_table_entry_equal): Likewise.
1092         (char_table_entry_hash): Likewise.
1093         (char_table_entry_description): Likewise.
1094         (char_table_entry): Likewise.
1095         (make_char_table_entry): Likewise.
1096         (copy_char_table_entry): Likewise.
1097         (get_non_ascii_char_table_value): Likewise.
1098         (map_over_charset_ascii): Likewise.
1099         (map_over_charset_control_1): Likewise.
1100         (map_over_charset_row): Likewise.
1101         (map_over_other_charset): Likewise.
1102         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
1103         (print_char_table): Likewise.
1104         (char_table_equal): Likewise.
1105         (char_table_hash): Likewise.
1106         (char_table_description): Likewise.
1107         (fill_char_table): Likewise.
1108         (Fcopy_char_table): Likewise.
1109         (get_char_table): Likewise.
1110         (Fget_range_char_table): Likewise.
1111         (put_char_table): Likewise.
1112         (map_char_table): Likewise.
1113         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
1114         UTF-2000.
1115
1116 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1117
1118         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
1119         `Vauto_fill_chars' in XEmacs UTF-2000.
1120
1121         * chartab.h (get_byte_table): New prototype [moved from
1122         chartab.c].
1123         (put_byte_table): Likewise [moved from chartab.c].
1124         (put_char_id_table_0): New inline function [moved from chartab.c].
1125         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
1126         (Lisp_Char_Table_Entry): Likewise.
1127         (char_table_entry): Likewise.
1128         (XCHAR_TABLE_ENTRY): Likewise.
1129         (XSETCHAR_TABLE_ENTRY): Likewise.
1130         (CHAR_TABLE_ENTRYP): Likewise.
1131         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1132         (NUM_ASCII_CHARS): Likewise.
1133         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1134         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1135
1136 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1137
1138         * chartab.c (get_char_id_table): Change interface.
1139         (put_char_id_table_0): New function.
1140         (put_char_id_table): Change interface; new implementation.
1141         (Fget_composite_char): Modify for interface change of
1142         `get_char_id_table'.
1143         (Fchar_variants): Likewise.
1144         (add_char_attribute_alist_mapper): Likewise.
1145         (Fchar_attribute_alist): Likewise.
1146         (Fget_char_attribute): Likewise.
1147         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1148         as same as character as the first argument like `put-char-table';
1149         modify for interface change of `put_char_id_table'.
1150         (Fremove_char_attribute): Modify for interface change of
1151         `put_char_id_table'.
1152
1153 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1154
1155         * text-coding.c: Sync up with XEmacs 21.2.41.
1156         (COMPOSE_ADD_CHAR): Modify for interface change of
1157         `get_char_id_table'.
1158
1159         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1160         change of `put_char_id_table'.
1161         (remove_char_ccs): Likewise.
1162
1163         * chartab.h (put_char_id_table): Change interface.
1164
1165         * char-ucs.h (get_char_id_table): Change interface.
1166         (charset_code_point): Modify for interface change of
1167         `get_char_id_table'.
1168         (encode_char_1): Likewise.
1169
1170 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1171
1172         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1173         argument `ccs'.
1174         (map_over_uint16_byte_table): Likewise.
1175         (map_over_byte_table): Likewise.
1176         (map_char_id_table): Add new argument `range' like
1177         `map_char_table'.
1178         (Fmap_char_attribute): Add new argument `range' like
1179         `Fmap_char_table'.
1180
1181 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1182
1183         * chartab.c (map_over_uint8_byte_table): Change interface of
1184         mapping function to use struct chartab_range instead of Emchar.
1185         (map_over_uint16_byte_table): Likewise.
1186         (map_over_byte_table): Likewise.
1187         (map_char_id_table): Likewise.
1188         (struct slow_map_char_id_table_arg): Deleted.
1189         (slow_map_char_id_table_fun): Deleted.
1190         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1191         function `slow_map_char_table_fun' instead of struct
1192         `slow_map_char_id_table_arg' and function
1193         `slow_map_char_id_table_fun'.
1194
1195 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1196
1197         * mule-charset.c: Move char-it-table related codes to chartab.c.
1198         (Vutf_2000_version): Moved to chartab.c.
1199         (Fdefine_char): Likewise.
1200         (Ffind_char): Likewise.
1201         (syms_of_mule_charset): Move types `uint8-byte-table',
1202         `uint16-byte-table', `byte-table' and `char-id-table' to
1203         chartab.c; move functions `char_attribute_list,
1204         `find_char_attribute_table, `char_attribute_alist,
1205         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1206         `map_char_attribute, `define_char, `find_char, `char_variants and
1207         `get_composite_char to chartab.c; move symbols `=>ucs',
1208         `->decomposition', `compat', `isolated', `initial', `medial',
1209         `final', `vertical', `noBreak', `fraction', `super', `sub',
1210         `circle', `square', `wide', `narrow', `small' and `font' to
1211         chartab.c.
1212         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1213         setting codes for `Vcharacter_composition_table' and
1214         `Vcharacter_variant_table' to chartab.c.
1215         (complex_vars_of_mule_charset): Move setting code for
1216         `Vchar_attribute_hash_table' to chartab.c.
1217
1218         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1219         (make_char_id_table): New prototype.
1220         (put_char_id_table): Likewise.
1221         (Fget_char_attribute): Likewise.
1222
1223         * chartab.c: Move char-id-table related code from mule-charset.c.
1224         (Vutf_2000_version): Moved from mule-charset.c.
1225
1226         * char-ucs.h (Qucs): New external variable.
1227         (put_char_ccs_code_point): New prototype.
1228         (remove_char_ccs): Likewise.
1229
1230 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1231
1232         * mule-charset.c (Vcharset_ucs_jis): New variable.
1233         (Qucs_jis): Likewise.
1234         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1235         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1236
1237         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1238
1239 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1240
1241         * mule-charset.c (map_over_uint8_byte_table): New function.
1242         (map_over_uint16_byte_table): Likewise.
1243         (map_over_byte_table): Likewise.
1244         (map_char_id_table): Likewise.
1245         (slow_map_char_id_table_fun): Likewise.
1246         (Fmap_char_attribute): Likewise.
1247         (syms_of_mule_charset): Add new function `map-char-attribute'.
1248
1249 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1250
1251         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1252         (syms_of_mule_charset): Add new function `find-char'.
1253
1254 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1255
1256         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1257         XEmacs UTF-2000.
1258         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1259         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1260         XEmacs UTF-2000.
1261         (complex_vars_of_mule_charset): Add new coded-charset
1262         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1263         `ideograph-gt-pj-*'.
1264
1265         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1266
1267 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1268
1269         * mule-charset.c (encode_builtin_char_1): Purge codes about
1270         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1271         {MIN|MAX}_CHAR_HEBREW.
1272         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1273         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1274
1275         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1276         (MAX_CHAR_GREEK): Purged.
1277         (MIN_CHAR_CYRILLIC): Purged.
1278         (MAX_CHAR_CYRILLIC): Purged.
1279         (MIN_CHAR_HEBREW): Commented out.
1280         (MAX_CHAR_HEBREW): Likewise.
1281
1282 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1283
1284         * mule-charset.c (Qto_ucs): New variable.
1285         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1286         (Fdefine_char): Likewise.
1287         (syms_of_mule_charset): Add new symbol `=>ucs'.
1288
1289 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1290
1291         * mule-charset.c (Fdecode_char): Fixed.
1292
1293 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1294
1295         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1296         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1297         "tcvn5712-1".
1298
1299 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1300
1301         * mule-charset.c (Vcharset_ucs_big5): New variable.
1302         (Qucs_big5): Likewise.
1303         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1304         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1305
1306         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1307
1308 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1309
1310         * mule-charset.c (decode_builtin_char): Check Big5 code range
1311         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1312
1313 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1314
1315         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1316         (Qchinese_gb12345): Likewise.
1317         (Fdecode_builtin_char): Fixed.
1318         (syms_of_mule_charset): Add `chinese-gb12345'.
1319         (complex_vars_of_mule_charset): Add coded-charset
1320         `chinese-gb12345'.
1321
1322         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1323         (LEADING_BYTE_CHINESE_GB12345): New macro.
1324
1325 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1326
1327         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1328         and `latin-viscii-upper' for `latin-viscii'.
1329
1330 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1331
1332         * mule-charset.c (Fdecode_builtin_char): Comment out
1333         regularization code for ISO-IR GR representation.
1334
1335 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1336
1337         * mule-charset.c (decode_builtin_char): New function; renamed from
1338         `make_builtin_char'; return -1 instead of signal.
1339         (Fdecode_builtin_char): Use `decode_builtin_char'.
1340
1341         * char-ucs.h (decode_builtin_char): New prototype; renamed from
1342         `make_builtin_char'.
1343         (DECODE_CHAR): Use `decode_builtin_char' instead of
1344         `make_builtin_char'; use mapping table of `chinese-big5' for
1345         `chinese-big5-{1,2}'.
1346
1347 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1348
1349         * text-coding.c (char_encode_big5): New function.
1350         (char_finish_big5): Likewise.
1351         (reset_encoding_stream): Use `char_encode_big5' and
1352         `char_finish_big5' for CODESYS_BIG5.
1353         (mule_encode): Don't use `encode_coding_big5'.
1354         (encode_coding_big5): Deleted.
1355
1356 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1357
1358         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
1359         0x81- in XEmacs UTF-2000.
1360         (detect_coding_big5): Likewise.
1361
1362 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1363
1364         * mule-charset.c (Fdefine_char): Don't use a CCS property to
1365         generate character-id if the CCS property does not have
1366         corresponding predefined character.
1367         (make_builtin_char): Return -1 if corresponding predefined
1368         character is not found.
1369         (Fdecode_char): Return nil if corresponding character is not
1370         found.
1371         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
1372         don't map to builtin ucs space.
1373
1374 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1375
1376         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
1377         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
1378
1379 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1380
1381         * mule-charset.c (Vcharset_ideograph_gt): New variable.
1382         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
1383         (Qideograph_gt): Likewise.
1384         (Qideograph_gt_pj_{1..11}): Likewise.
1385         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
1386         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
1387         `ideograph-gt-pj-11'.
1388         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
1389         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
1390         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
1391
1392         * char-ucs.h (LEADING_BYTE_GT): New macro.
1393         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
1394         (MIN_CHAR_GT): Likewise.
1395         (MAX_CHAR_GT): Likewise.
1396
1397 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1398
1399         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
1400         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
1401
1402         * doprnt.c (unsigned_int_converters): Add `c'.
1403         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
1404
1405         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
1406         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
1407         `MIN_CHAR_MOJIKYO'.
1408         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
1409         (MAX_CHAR_MOJIKYO_0): New macro.
1410         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
1411
1412 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1413
1414         * mule-charset.c (Fdefine_char): Delete cemented out code.
1415         (encode_builtin_char_1): Modify for new allocation of builtin
1416         Mojikyo characters.
1417
1418         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
1419
1420 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1421
1422         * mule-charset.c (Vcharset_ucs_cns): New variable.
1423         (Qucs_cns): New variable.
1424         (syms_of_mule_charset): Add new symbol `ucs-cns'.
1425         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
1426
1427 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1428
1429         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
1430
1431 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1432
1433         * search.c (search_buffer): Make `charset_base_code' as
1434         character-id >> 6 to eliminate the corresponding last byte in
1435         UTF-8 representation [I'm not sure it is right thing].
1436         (boyer_moore): Likewise.
1437
1438 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1439
1440         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
1441         representation in MULE.
1442
1443 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1444
1445         * text-coding.c (Fmake_coding_system): Use
1446         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
1447         `EXTERNAL_PROPERTY_LIST_LOOP'.
1448
1449 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1450
1451         * text-coding.c (decode_output_utf8_partial_char): New function.
1452         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
1453
1454 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1455
1456         * text-coding.c (decode_coding_utf8): Output original byte
1457         sequence if it is broken; change order of conditions.
1458
1459         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
1460         of conditions.
1461
1462         * mb-multibyte.h (BYTE_ASCII_P):
1463         Use bit ops for char-signedness safety.
1464         (BYTE_C0_P): Use bit ops for char-signedness safety.
1465         (BYTE_C1_P): Use bit ops for char-signedness safety.
1466
1467         * character.h: (XCHAR_OR_CHAR_INT):
1468         Always use inline function.
1469         Remove redundant type checking assert() - XINT will abort quite
1470         nicely.
1471
1472 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1473
1474         * text-coding.c: (Fencode_shift_jis_char):
1475         (Fencode_big5_char):
1476         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1477         Replace 0 with '\0' when working with bytes.
1478         Replace initial "(" with "\(" in docstrings.
1479
1480         (Fmake_coding_system):
1481         When type is ccl and value is vector, register it with a proper
1482         symbol.  And checks whether the given ccl program is valid.
1483         (mule_decode): When calling ccl_driver, if src indicates
1484         NULL pointer, set an empty string instead.
1485         (mule_encode): Likewise.
1486
1487         (detect_eol_type):
1488         (detect_coding_sjis):
1489         (decode_coding_sjis):
1490         (detect_coding_big5):
1491         (decode_coding_big5):
1492         (detect_coding_ucs4):
1493         (decode_coding_ucs4):
1494         (detect_coding_utf8):
1495         (decode_coding_utf8):
1496         (detect_coding_iso2022):
1497         (decode_coding_iso2022):
1498         (decode_coding_no_conversion):
1499         (mule_decode):
1500         Make all detecting and decoding functions take an Extbyte * arg.
1501         (text_encode_generic):
1502         (encode_coding_big5):
1503         (encode_coding_no_conversion):
1504         (mule_encode):
1505         Make all encoding functions take a Bufbyte * arg.
1506         Use size_t instead of unsigned int for memory sizes.
1507         Only cast to unsigned char whenever dereferencing Extbyte *.
1508
1509         (struct lrecord_description fcd_description_1): Use countof.
1510         (complex_vars_of_file_coding):
1511         Use countof instead of sizeof.
1512         Use CHECK_NATNUM instead of CHECK_INT.
1513
1514 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1515
1516         * mule-charset.c (Fget_char_attribute): Add new optional argument
1517         `default-value'.
1518         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1519         (remove_char_ccs): Likewise.
1520
1521 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1522
1523         * text-coding.c (char_encode_shift_jis): New implementation in
1524         UTF-2000.
1525         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1526         ...)'.
1527
1528         * mule-charset.c (Vcharset_chinese_big5): New variable in
1529         UTF-2000.
1530         (Qchinese_big5): New variable in UTF-2000.
1531         (BIG5_SAME_ROW): New macro in UTF-2000.
1532         (make_builtin_char): Use builtin characters of
1533         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1534         characters of `Vcharset_chinese_big5'.
1535         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1536         (complex_vars_of_mule_charset): Add new coded-charset
1537         `chinese-big5' in UTF-2000.
1538
1539         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1540         (Vcharset_chinese_big5): New external variable declaration.
1541         (Vcharset_japanese_jisx0208_1990): Likewise.
1542
1543 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1544
1545         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1546         function.
1547         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1548
1549 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1550
1551         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1552         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1553         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1554         `mojikyo-pj-*'.
1555
1556 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1557
1558         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1559
1560 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1561
1562         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1563         to 0.17.
1564
1565 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1566
1567         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1568         for `CHARSET_BY_ATTRIBUTES'.
1569         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1570         `CHARSET_BY_ATTRIBUTES'.
1571
1572         * text-coding.c (struct decoding_stream): Rename member `CH' to
1573         `CPOS'.
1574         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1575         (decode_coding_sjis): Likewise.
1576         (decode_coding_big5): Likewise.
1577         (decode_coding_ucs4): Likewise.
1578         (decode_coding_utf8): Likewise.
1579         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1580         `CHARSET_BY_ATTRIBUTES'.
1581         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1582         `str->counter'; decode 3, 4 bytes sets.
1583         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1584         sets.
1585         (decode_coding_no_conversion): Use `str->cpos' instead of
1586         `str->ch'.
1587
1588         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1589         (Qmojikyo_2022_1): New variable.
1590         (make_charset): Don't use `CHARSET_TYPE_*'.
1591         (range_charset_code_point): Support coded-charset
1592         `mojikyo-2022-1'.
1593         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1594         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1595         `CHARSET_BY_ATTRIBUTES'.
1596         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1597         `CHARSET_BY_ATTRIBUTES'.
1598         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1599         (complex_vars_of_mule_charset): Add new coded-charset
1600         `mojikyo-2022-1'.
1601
1602         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1603         interface; changed to inline function.
1604
1605         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1606         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1607         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1608         (CHARSET_TYPE_94): Deleted.
1609         (CHARSET_TYPE_94X94): Deleted.
1610         (CHARSET_TYPE_96): Deleted.
1611         (CHARSET_TYPE_96X96): Deleted.
1612         (CHARSET_TYPE_128): Deleted.
1613         (CHARSET_TYPE_128X128): Deleted.
1614         (CHARSET_TYPE_256): Deleted.
1615         (CHARSET_TYPE_256X256): Deleted.
1616         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1617         to inline function.
1618         (DECODE_MOJIKYO_2022): New inline function.
1619         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1620         `Vcharset_mojikyo_2022_1'.
1621
1622 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1623
1624         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1625         instead of `EQ'.
1626         (put_byte_table): Likewise.
1627         (char_id_table_equal): Use `get_byte_table' [new implementation].
1628
1629 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1630
1631         * mule-charset.c: Include <limits.h> in UTF-2000.
1632         (BT_UINT8_MIN): New macro in UTF-2000.
1633         (BT_UINT8_MAX): New macro in UTF-2000.
1634         (BT_UINT8_t): New macro in UTF-2000.
1635         (BT_UINT8_nil): New macro in UTF-2000.
1636         (BT_UINT8_unbound): New macro in UTF-2000.
1637         (INT_UINT8_P): New inline function in UTF-2000.
1638         (UINT8_VALUE_P): New inline function in UTF-2000.
1639         (UINT8_ENCODE): New inline function in UTF-2000.
1640         (UINT8_DECODE): New inline function in UTF-2000.
1641         (mark_uint8_byte_table): New function in UTF-2000.
1642         (print_uint8_byte_table): New function in UTF-2000.
1643         (uint8_byte_table_equal): New function in UTF-2000.
1644         (uint8_byte_table_hash): New function in UTF-2000.
1645         (make_uint8_byte_table): New function in UTF-2000.
1646         (uint8_byte_table_same_value_p): New function in UTF-2000.
1647         (BT_UINT16_MIN): New macro in UTF-2000.
1648         (BT_UINT16_MAX): New macro in UTF-2000.
1649         (BT_UINT16_t): New macro in UTF-2000.
1650         (BT_UINT16_nil): New macro in UTF-2000.
1651         (BT_UINT16_unbound): New macro in UTF-2000.
1652         (INT_UINT16_P): New inline function in UTF-2000.
1653         (UINT16_VALUE_P): New inline function in UTF-2000.
1654         (UINT16_ENCODE): New inline function in UTF-2000.
1655         (UINT16_DECODE): New inline function in UTF-2000.
1656         (UINT8_TO_UINT16): New inline function in UTF-2000.
1657         (mark_uint16_byte_table): New function in UTF-2000.
1658         (print_uint16_byte_table): New function in UTF-2000.
1659         (uint16_byte_table_equal): New function in UTF-2000.
1660         (uint16_byte_table_hash): New function in UTF-2000.
1661         (make_uint16_byte_table): New function in UTF-2000.
1662         (uint16_byte_table_same_value_p): New function in UTF-2000.
1663         (print_byte_table): New function in UTF-2000.
1664         (byte-table): Use `print_byte_table' as printer.
1665         (make_byte_table): Delete second argument `older'.
1666         (byte_table_same_value_p): New function in UTF-2000.
1667         (copy_byte_table): Deleted.
1668         (get_byte_table): New function in UTF-2000.
1669         (put_byte_table): New function in UTF-2000.
1670         (print_char_id_table): New function in UTF-2000.
1671         (char-id-table): Use `print_char_id_table' as printer.
1672         (make_char_id_table): Delete second argument `older'.
1673         (get_char_id_table): Use `get_byte_table [new implementation].
1674         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1675         implementation].
1676         (Ffind_char_attribute_table): New function in UTF-2000.
1677         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1678         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1679         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1680         (syms_of_mule_charset): Add new function
1681         `find-char-attribute-table' in UTF-2000.
1682
1683         * lrecord.h (enum lrecord_type): Add
1684         `lrecord_type_uint16_byte_table' and
1685         `lrecord_type_uint8_byte_table'.
1686
1687         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1688         (Lisp_Uint8_Byte_Table): New type.
1689         (XUINT8_BYTE_TABLE): New macro.
1690         (XSETUINT8_BYTE_TABLE): New macro.
1691         (UINT8_BYTE_TABLE_P): New macro.
1692         (GC_UINT8_BYTE_TABLE_P): New macro.
1693         (struct Lisp_Uint16_Byte_Table): New structure.
1694         (Lisp_Uint16_Byte_Table): New type.
1695         (XUINT16_BYTE_TABLE): New macro.
1696         (XSETUINT16_BYTE_TABLE): New macro.
1697         (UINT16_BYTE_TABLE_P): New macro.
1698         (GC_UINT16_BYTE_TABLE_P): New macro.
1699
1700 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1701
1702         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1703         (Vcharacter_ideographic_strokes_table): Deleted.
1704         (Vcharacter_total_strokes_table): Deleted.
1705         (Vcharacter_morohashi_daikanwa_table): Deleted.
1706         (Vcharacter_decomposition_table): Deleted.
1707         (Qname): Deleted because it is duplicated.
1708         (Qideographic_radical): Deleted.
1709         (Qideographic_strokes): Deleted.
1710         (Qtotal_strokes): Deleted.
1711         (Qmorohashi_daikanwa): Deleted.
1712         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1713         `ideographic-radical', `ideographic-strokes', `total-strokes',
1714         `morohashi-daikanwa' and `->decomposition'.
1715         (Fget_char_attribute): Likewise.
1716         (Fput_char_attribute): Likewise; use `make-vector' instead of
1717         `make_older_vector' for `->decomposition' value.
1718         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1719         `ideograph-daikanwa'.
1720         (syms_of_mule_charset): Delete builtin symbols `name',
1721         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1722         `morohashi-daikanwa'.
1723         (vars_of_mule_charset): Don't setup
1724         `Vcharacter_ideographic_radical_table',
1725         `Vcharacter_ideographic_strokes_table',
1726         `Vcharacter_total_strokes_table',
1727         `Vcharacter_morohashi_daikanwa_table' and
1728         `Vcharacter_decomposition_table'.
1729
1730 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1731
1732         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1733         `make_older_vector', `make_vector_newer_1' and
1734         `make_vector_newer'.
1735
1736         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1737         `make_older_vector' and `make_vector_newer'.
1738
1739         * config.h.in (HAVE_GGC): New macro.
1740
1741 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1742
1743         * mule-charset.c (struct char_attribute_list_closure): New
1744         structure in UTF-2000.
1745         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1746         (Fchar_attribute_list): Likewise.
1747         (Fset_charset_mapping_table): Use `make_vector_newer'.
1748         (Fdecode_builtin_char): New function in UTF-2000.
1749         (syms_of_mule_charset): Add new function `char-attribute-list' and
1750         `decode-builtin-char' in UTF-2000.
1751
1752         * lisp.h (make_vector_newer): New prototype.
1753
1754         * alloc.c (make_vector_newer_1): New function.
1755         (make_vector_newer): New function.
1756
1757 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1758
1759         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1760         50100)'.
1761
1762 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1763
1764         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1765         (Vcharacter_attribute_table): Deleted.
1766         (Vcharacter_name_table): Deleted.
1767         (put_char_attribute): Deleted.
1768         (remove_char_attribute): Deleted.
1769         (struct char_attribute_alist_closure): New structure.
1770         (add_char_attribute_alist_mapper): New function.
1771         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1772         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1773         (Fget_char_attribute): Likewise.
1774         (Fput_char_attribute): Likewise.
1775         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1776         of `remove_char_attribute'.
1777         (Fdefine_char): Return character.
1778         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1779         and `Vcharacter_name_table'.
1780         (complex_vars_of_mule_charset): Likewise
1781         `Vchar_attribute_hash_table'.
1782
1783 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1784
1785         * character.h (CHARC_CHARSET): New macro.
1786         (CHARC_CHARSET_ID): New macro.
1787         (CHARC_CODE_POINT): New macro.
1788         (CHARC_COLUMNS): New macro.
1789         (CHARC_TO_CHAR): New inline function.
1790         (CHARC_EQ): New inline function.
1791         (CHARC_ASCII_EQ): New inline function.
1792         (CHARC_IS_SPACE): New inline function.
1793         (ASCII_TO_CHARC): New inline function.
1794
1795         * char-ucs.h (encode_char_2): Deleted.
1796         (ENCODE_CHAR): Use `encode_char_1' again.
1797         (breakup_char_1): Likewise.
1798         (CHAR_TO_CHARC): New inline function.
1799
1800         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1801
1802 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1803
1804         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1805         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1806         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1807         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1808         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1809         `CHARC_IS_SPACE'.
1810         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1811
1812         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1813         `CHARC_CODE_POINT'.
1814         (x_output_display_block): Use `CHARC_CHARSET' and
1815         `CHARC_ASCII_EQ'.
1816
1817         * redisplay-tty.c (tty_output_display_block): Use
1818         `CHARC_ASCII_EQ'.
1819         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1820
1821         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1822
1823         * insdel.c (find_charsets_in_charc_string): Use
1824         `CHARC_CHARSET_ID'.
1825         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1826         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1827         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1828         (convert_charc_string_into_malloced_string): Likewise.
1829
1830 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1831
1832         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1833         instead of <Emchar_dynarr *> for buf; use
1834         `convert_bufbyte_string_into_charc_dynarr' instead of
1835         `convert_bufbyte_string_into_emchar_dynarr'; use
1836         `find_charsets_in_charc_string' instead of
1837         `find_charsets_in_emchar_string'.
1838
1839         * redisplay.h:
1840         - Include "character.h".
1841         (struct rune): New member `cglyph'; delete member `chr'.
1842
1843         * redisplay.c (redisplay_text_width_charc_string): New function;
1844         delete `redisplay_text_width_emchar_string'.
1845         (rtw_charc_dynarr): New variable; renamed from
1846         `rtw_emchar_dynarr'.
1847         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1848         `rtw_emchar_dynarr'; use
1849         `convert_bufbyte_string_into_charc_dynarr' instead of
1850         `convert_bufbyte_string_into_emchar_dynarr'; use
1851         `redisplay_text_width_charc_string' instead of
1852         `redisplay_text_width_emchar_string'.
1853         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1854         instead of `rtw_emchar_dynarr'; use
1855         `convert_bufbyte_string_into_charc_dynarr' instead of
1856         `convert_bufbyte_string_into_emchar_dynarr'.
1857         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1858         `redisplay_text_width_charc_string' instead of
1859         `redisplay_text_width_emchar_string'.
1860         (create_text_block): Modify for <struct rune> change.
1861         (generate_formatted_string_db): Likewise.
1862         (create_string_text_block): Likewise.
1863         (pixel_to_glyph_translation): Likewise.
1864
1865         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1866         instead of <const Emchar *>.
1867         (x_text_width): Likewise.
1868         (x_output_display_block): Use <Charc_dynarr *> instead
1869         <Emchar_dynarr *>; modify for <structure rune> change.
1870         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1871         *>.
1872
1873         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1874         <const Emchar *>; use `charc_string_displayed_columns' instead of
1875         `emchar_string_displayed_columns'.
1876         (tty_output_display_block): Use <Charc_dynarr *> instead of
1877         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1878         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1879         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1880         `tty_output_emchar_dynarr_dynarr'.
1881         (tty_output_charc_dynarr): New function; delete
1882         `tty_output_charc_dynarr'.
1883
1884         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1885         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1886         <Emchar_dynarr *> for buf; use
1887         `convert_bufbyte_string_into_charc_dynarr' instead of
1888         `convert_bufbyte_string_into_emchar_dynarr'.
1889
1890         * frame.c (title_string_charc_dynarr): New variable; renamed from
1891         `title_string_emchar_dynarr'.
1892         (generate_title_string): Use `title_string_charc_dynarr' instead
1893         of `title_string_emchar_dynarr'; use
1894         `convert_charc_string_into_malloced_string' instead of
1895         `convert_emchar_string_into_malloced_string'.
1896         (init_frame): Use `title_string_charc_dynarr' instead of
1897         `title_string_emchar_dynarr'.
1898
1899         * console.h:
1900         - Include "character.h".
1901         (struct console_methods): Use <const Charc *> instead of <const
1902         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1903         <Emchar_dynarr *> in output_string_method.
1904
1905         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1906         <Emchar_dynarr *>.
1907
1908         * console-stream.c (stream_text_width): Use <const Charc *>
1909         instead of <const Emchar *>.
1910
1911         * character.h (Charc_dynarr): New type.
1912
1913         * char-ucs.h (structure Charc): New structure; define new type
1914         `Charc'.
1915
1916         * char-lb.h (DECODE_CHAR): New inline function.
1917         (encode_char_1): New inline function.
1918         (ENCODE_CHAR): New macro.
1919         (structure Charc): New structure; define new type `Charc'.
1920
1921         * char-1byte.h (Vcharset_control_1): New macro.
1922         (Vcharset_latin_iso8859_1): New macro.
1923         (DECODE_CHAR): New inline function.
1924         (encode_char_1): New inline function.
1925         (ENCODE_CHAR): New macro.
1926         (structure Charc): New structure; define new type `Charc'.
1927
1928         * insdel.c (find_charsets_in_charc_string): New function; delete
1929         `find_charsets_in_emchar_string'.
1930         (charc_string_displayed_columns): New function; delete
1931         `emchar_string_displayed_columns'.
1932         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1933         `convert_bufbyte_string_into_emchar_dynarr'.
1934         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1935         `convert_charc_string_into_bufbyte_dynarr'.
1936         (convert_charc_string_into_malloced_string): New function; delete
1937         `convert_charc_string_into_malloced_string'.
1938
1939         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1940         `find_charsets_in_emchar_string'.
1941         (charc_string_displayed_columns): New prototype; delete
1942         `emchar_string_displayed_columns'.
1943         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1944         `convert_charc_string_into_bufbyte_dynarr'.
1945         (convert_charc_string_into_malloced_string): New prototype; delete
1946         `convert_charc_string_into_malloced_string'.
1947
1948 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1949
1950         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1951
1952 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1953
1954         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1955
1956         * char-ucs.h: Use <short> for <Charset_ID>.
1957
1958         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1959         <Charset_ID>.
1960
1961 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1962
1963         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1964         to 0.16.
1965
1966 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1967
1968         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1969         variable.
1970         (Qmorohashi_daikanwa): New variable.
1971         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1972         for `morohashi-daikanwa' attribute.
1973         (Fget_char_attribute): Likewise.
1974         (Fput_char_attribute): Likewise.
1975         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1976         has the same value of `ideograph-daikanwa'.
1977         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1978         (vars_of_mule_charset): Setup
1979         `Vcharacter_morohashi_daikanwa_table'.
1980
1981 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1982
1983         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1984         attributes.
1985         (add_charset_to_list_mapper): Add `key' instead of
1986         `XCHARSET_NAME (value)' to return aliases.
1987
1988 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1989
1990         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1991         variable.
1992         (Vcharacter_ideographic_strokes_table): New variable.
1993         (Qideographic_radical): New variable.
1994         (Qideographic_strokes): New variable.
1995         (Fchar_attribute_alist): Use
1996         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1997         attribute; use `Vcharacter_ideographic_strokes_table' for
1998         `ideographic-strokes' attribute.
1999         (Fget_char_attribute): Likewise.
2000         (Fput_char_attribute): Likewise.
2001         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
2002         `ideographic-strokes'.
2003         (vars_of_mule_charset): Setup
2004         `Vcharacter_ideographic_radical_table' and
2005         `Vcharacter_ideographic_strokes_table'.
2006
2007 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2008
2009         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
2010         (Qtotal_strokes): New variable.
2011         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
2012         `total-strokes' attribute.
2013         (Fget_char_attribute): Likewise.
2014         (Fput_char_attribute): Likewise.
2015         (syms_of_mule_charset): Add new symbol `total-strokes'.
2016         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
2017
2018 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2019
2020         * mule-charset.c (Vcharacter_decomposition_table): New variable.
2021         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
2022         are found.
2023         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
2024         `->decomposition' attribute.
2025         (Fput_char_attribute): Likewise.
2026         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
2027
2028 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2029
2030         * mule-charset.c (decoding_table_check_elements): New function.
2031         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
2032
2033 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2034
2035         * mule-charset.c (Fset_charset_mapping_table): Use
2036         `put_char_ccs_code_point'.
2037
2038 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2039
2040         * mule-charset.c (decoding_table_put_char): New inline function.
2041         (put_char_ccs_code_point): Use `decoding_table_put_char'.
2042
2043 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2044
2045         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
2046         (XCHARSET_BYTE_SIZE): New macro.
2047         (decoding_table_remove_char): New inline function.
2048         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
2049         `decoding_table_remove_char'.
2050         (remove_char_ccs): Use `decoding_table_remove_char'.
2051         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
2052
2053 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2054
2055         * mule-charset.c (Vcharacter_name_table): New variable.
2056         (Qname): New variable.
2057         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
2058         attribute.
2059         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
2060         `Vcharacter_name_table' for `name' attribute.
2061         (Fremove_char_attribute): Use function `remove_char_ccs'.
2062         (put_char_ccs_code_point): New function.
2063         (remove_char_ccs): New function.
2064         (syms_of_mule_charset): Add new symbol `name'.
2065         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
2066
2067 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2068
2069         * mule-charset.c (make_byte_table): Add new argument `older'.
2070         (make_char_id_table): Likewise.
2071         (copy_char_id_table): Comment out because it is not used.
2072         (put_char_id_table): Modify for `make_byte_table'.
2073         (Fput_char_attribute): Make encoding_table as older object;
2074         inherit older bit of `Vcharacter_composition_table'.
2075         (mark_charset): Don't mark `cs->encoding_table'.
2076         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
2077         normal object; make `Vcharacter_composition_table' as an older
2078         object; delete staticpro for `Vcharacter_composition_table'; make
2079         `Vcharacter_variant_table' as a normal object.
2080
2081         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
2082         (mark_object): Don't check older object in UTF-2000.
2083
2084         * lrecord.h (struct lrecord_header): Add new member `older' in
2085         UTF-2000.
2086         (set_lheader_implementation): Setup `SLI_header->older' in
2087         UTF-2000.
2088         (set_lheader_older_implementation): New macro in UTF-2000.
2089         (OLDER_RECORD_P): New macro in UTF-2000.
2090         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
2091         (alloc_older_lcrecord): New prototype in UTF-2000.
2092         (alloc_older_lcrecord_type): New macro in UTF-2000.
2093
2094 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2095
2096         * mule-charset.c (byte_table_description): Use
2097         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
2098         (char_id_table_description): Delete bogus `, 1'.
2099         (Fget_char_attribute): Refer encoding_table of each coded-charset
2100         to get value of coded-charset attribute of a character.
2101         (Fput_char_attribute): Use `make_older_vector' instead of
2102         `make_vector'; use encoding_table of each coded-charset to store
2103         value of coded-charset attribute of a character.
2104         (Fremove_char_attribute): Use encoding_table of each coded-charset
2105         to store value of coded-charset attribute of a character.
2106         (mark_charset): Mark `cs->encoding_table'; don't mark
2107         `cs->decoding_table'.
2108         (charset_description): Add description of new member
2109         `encoding_table'.
2110         (make_charset): Initialize `encoding_table'.
2111
2112         * char-ucs.h (struct Lisp_Charset): Add new member
2113         `encoding_table'.
2114         (CHARSET_ENCODING_TABLE): New macro.
2115         (XCHARSET_ENCODING_TABLE): New macro.
2116         (charset_code_point): New implementation.
2117         (encode_char_1): Likewise.
2118
2119         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
2120         (disksave_object_finalization_1): Call finalizers of
2121         `all_older_lcrecords' in UTF-2000.
2122         (make_older_vector): New function in UTF-2000.
2123         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
2124         UTF-2000.
2125
2126         * lisp.h (make_older_vector): New prototype in UTF-2000.
2127
2128 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2129
2130         * lrecord.h (enum lrecord_type): Rename
2131         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2132
2133         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2134         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2135         `get_char_code_table'.
2136
2137         * mule-charset.c (mark_char_id_table): Renamed from
2138         `mark_char_code_table'.
2139         (char_id_table_equal): Renamed from `char_code_table_equal'.
2140         (char_id_table_hash): Renamed from `char_code_table_hash'.
2141         (make_char_id_table): Renamed from `make_char_code_table'.
2142         (copy_char_id_table): Renamed from `copy_char_code_table'.
2143         (get_char_id_table): Renamed from `get_char_code_table'.
2144         (put_char_id_table): Renamed from `put_char_code_table'.
2145         (to_char_id): Renamed from `to_char_code'.
2146
2147         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2148         `Lisp_Char_Code_Table'.
2149         (char_id_table): Renamed from `char_code_table'.
2150         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2151         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2152         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2153         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2154         (get_char_id_table): Renamed from `get_char_code_table'.
2155
2156 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2157
2158         * lrecord.h (enum lrecord_type): Rename
2159         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2160
2161         * mule-charset.c (mark_byte_table): Renamed from
2162         `mark_char_byte_table'.
2163         (byte_table_equal): Renamed from `char_byte_table_equal'.
2164         (byte_table_hash): Renamed from `byte_table_hash'.
2165         (make_byte_table): Renamed from `make_byte_table'.
2166         (copy_byte_table): Renamed from `copy_char_byte_table'.
2167
2168         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2169         `Lisp_Char_Byte_Table'.
2170         (byte_table): Renamed from `char_byte_table'.
2171         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2172         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2173         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2174         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2175
2176 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2177
2178         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2179         (dfc_convert_to_internal_format): Likewise.
2180         
2181         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2182         * text-coding.c (Fcoding_system_alias_p): New function.
2183         * text-coding.c (Fcoding_system_aliasee): New function.
2184         * text-coding.c (append_suffix_to_symbol): New function.
2185         * text-coding.c (dangling_coding_system_alias_p): New function.
2186         * text-coding.c (Ffind_coding_system):
2187         * text-coding.c (Fcopy_coding_system):
2188         * text-coding.c (encode_coding_no_conversion):
2189         * text-coding.c (syms_of_file_coding):
2190         * text-coding.c (vars_of_file_coding):
2191         Rewrite coding system alias code.
2192         Allow nested aliases, like symbolic links.
2193         Allow redefinition of coding system aliases.
2194         Prevent existence of dangling coding system aliases.
2195         Eliminate convert_to_external_format.
2196         Eliminate convert_to_internal_format.
2197         
2198         * text-coding.c: Change enum eol_type to eol_type_t.
2199
2200 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2201
2202         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2203         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2204
2205         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2206         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2207
2208 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2209
2210         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2211         `ideograph-daikanwa'.
2212
2213         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2214         (Vcharset_ucs_bmp): Likewise.
2215         (Vcharset_mojikyo): Add new extern variable definition.
2216         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2217         (Vcharset_latin_iso8859_3): Likewise.
2218         (Vcharset_latin_iso8859_4): Likewise.
2219         (Vcharset_latin_iso8859_9): Likewise.
2220         (Vcharset_latin_viscii_lower): Likewise.
2221         (Vcharset_latin_viscii_upper): Likewise.
2222         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2223         `mojikyo' code-point is used to decode.
2224         (encode_char_2): New function [to convert `mojikyo' code-point to
2225         Mojikyo font encoding].
2226         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2227         (breakup_char_1): Likewise.
2228         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2229
2230 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2231
2232         * text-coding.c (Fmake_coding_system): Add document about
2233         `disable-composition' property.
2234
2235 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2236
2237         * text-coding.c (Qdisable_composition): New variable; delete
2238         `Qcomposite'.
2239         (Fmake_coding_system): Add new property `disable-composite';
2240         delete property `composite'.
2241         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2242         instead of `!CODING_SYSTEM_COMPOSITE'.
2243         (syms_of_file_coding): Add new symbol `disable-composition';
2244         delete symbol `composite'.
2245
2246         * file-coding.h (struct Lisp_Coding_System): Add
2247         `disable_composition'; delete `enable_composition'.
2248         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2249         `CODING_SYSTEM_COMPOSITE'.
2250         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2251         `XCODING_SYSTEM_COMPOSITE'.
2252
2253 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2254
2255         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2256         to 0.15.
2257
2258 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2259
2260         * text-coding.c (Qcomposite): New variable.
2261         (Fmake_coding_system): Add new property `composite'.
2262         (struct decoding_stream): Add `combined_char_count',
2263         `combined_chars' and `combining_table' in UTF-2000.
2264         (COMPOSE_FLUSH_CHARS): New macro.
2265         (COMPOSE_ADD_CHAR): New macro.
2266         (reset_decoding_stream): Reset `str->combined_char_count' and
2267         `str->combining_table' in UTF-2000.
2268         (decode_coding_iso2022): Modify for character-decomposition.
2269         (syms_of_file_coding): Add new symbol `composite'.
2270
2271 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2272
2273         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2274         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2275         of `Vcharacter_composition_table' if `->decomposition' property
2276         has only 1 element.
2277         (Qlatin_tcvn5712): New variable.
2278         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2279         (complex_vars_of_mule_charset): Add new coded-charset
2280         `latin-tcvn5712'.
2281
2282         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2283
2284 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2285
2286         * file-coding.h (struct Lisp_Coding_System): Add
2287         `enable_composition'.
2288         (CODING_SYSTEM_COMPOSITE): New macro.
2289         (XCODING_SYSTEM_COMPOSITE): New macro.
2290
2291 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2292
2293         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2294
2295 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2296
2297         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2298         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2299
2300 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2301
2302         * mule-charset.c (Vcharset_mojikyo): New variable.
2303         (Fdefine_char): Don't use coded-charset which does not have
2304         non-builtin character range to allocate character-id.
2305         (Qmojikyo): New variable.
2306         (syms_of_mule_charset): Add new symbol `mojikyo'.
2307         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2308
2309         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2310         (LEADING_BYTE_MOJIKYO): New macro.
2311         (MIN_CHAR_MOJIKYO): New macro.
2312         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2313         (MAX_CHAR_MOJIKYO): New macro.
2314
2315 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2316
2317         * mule-charset.c (remove_char_attribute): Fixed.
2318
2319 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2320
2321         * mule-charset.c (remove_char_attribute): New function.
2322         (Fremove_char_attribute): New function.
2323         (encode_builtin_char_1): Comment out builtin-support for
2324         greek-iso8859-7 and cyrillic-iso8859-5.
2325         (Fdecode_char): Check `code' is an integer.
2326         (syms_of_mule_charset): Add `remove-char-attribute'.
2327         (MIN_CHAR_GREEK): Deleted.
2328         (MAX_CHAR_GREEK): Likewise.
2329         (MIN_CHAR_CYRILLIC): Likewise.
2330         (MAX_CHAR_CYRILLIC): Likewise.
2331         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2332         MAX_CHAR_GREEK for `greek-iso8859-7'.
2333
2334         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
2335         (MAX_CHAR_GREEK): Likewise.
2336         (MIN_CHAR_CYRILLIC): Likewise.
2337         (MAX_CHAR_CYRILLIC): Likewise.
2338
2339 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
2340
2341         * mule-charset.c (Fdefine_char): Fix problem when new code-point
2342         format is used without `ucs' property.
2343         (Fdecode_char): Fix problem with GR representation.
2344         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
2345         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
2346
2347 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2348
2349         * mule-charset.c (make_builtin_char): New function.
2350         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
2351         (Fset_charset_mapping_table): Modify for new representation of
2352         code-point.
2353         (Fdecode_char): New function.
2354         (syms_of_mule_charset): Add new builtin function `decode-char' in
2355         UTF-2000.
2356
2357         * char-ucs.h (make_builtin_char): New prototype.
2358         (DECODE_CHAR): New inline function.
2359         (MAKE_CHAR): Use `DECODE_CHAR'.
2360
2361 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
2362
2363         * text-coding.c (parse_charset_conversion_specs): Use
2364         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
2365         `XCHARSET_TYPE'.
2366         (iso2022_designate): Likewise.
2367
2368         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
2369         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
2370
2371         * mule-charset.c (Vcharset_ucs): New variable.
2372         (print_charset): Change design; use `CHARSET_CHARS' and
2373         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
2374         (make_charset): Change signature to specify `chars' and
2375         `dimension' instead of `type'.
2376         (range_charset_code_point): Modify for 256^n-set.
2377         (encode_builtin_char_1): Encode as `ucs' in default.
2378         (Fmake_charset): Modify for `make_charset'.
2379         (Fmake_reverse_direction_charset): Likewise.
2380         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
2381         UTF-2000.
2382         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
2383         for `make_charset'.
2384
2385         * char-ucs.h (Vcharset_ucs): New variable.
2386         (LEADING_BYTE_UCS): New macro.
2387         (struct Lisp_Charset): Delete `type'; change type of `dimension'
2388         and `chars' to `unsigned short' from `unsigned int'.
2389         (CHARSET_TYPE): Deleted.
2390         (XCHARSET_TYPE): Deleted.
2391
2392 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
2393
2394         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
2395
2396         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
2397         (ENCODE_CHAR): New macro.
2398
2399 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2400
2401         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2402         to 0.14 (Kawachi-Katakami).
2403
2404 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2405
2406         * text-coding.c (char_encode_shift_jis): Modify for
2407         `charset_code_point'.
2408         (char_encode_iso2022): Likewise.
2409
2410         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
2411         (integer) instead of list of <Lisp_Object>s (integers) as the
2412         format of code-point of a coded-charset.
2413         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2414         (encode_builtin_char_1): New function; delete
2415         `split_builtin_char'.
2416         (charset_code_point): Return <int> instead of <Lisp_Object>.
2417         (Fsplit_char): Don't use `SPLIT_CHAR'.
2418
2419         * char-ucs.h (encode_builtin_char_1): New prototype; delete
2420         prototype for `split_builtin_char'.
2421         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2422         (charset_code_point): Likewise.
2423         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
2424         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
2425
2426 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
2427
2428         * mule-charset.c (complex_vars_of_mule_charset): Don't define
2429         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
2430
2431 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2432
2433         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
2434
2435         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
2436         (MAX_CHAR_OBS_94x94): Deleted.
2437
2438 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2439
2440         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
2441
2442         * char-ucs.h (MAX_CHAR_BMP): New macro.
2443
2444 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2445
2446         * text-coding.c: Sync with r21-2-24.
2447
2448 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2449
2450         * file-coding.c: Modify for UTF-2000.
2451
2452 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2453
2454         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2455         to 0.13 (Takaida).
2456
2457 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2458
2459         * mule-charset.c (split_builtin_char): Delete builtin support for
2460         `katakana-jisx0201'.
2461         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
2462         BMP area in builtin representation.
2463
2464         * char-ucs.h (MAKE_CHAR): Delete builtin support for
2465         `Vcharset_katakana_jisx0201'.
2466
2467 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
2468
2469         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2470         (Qisolated): New variable.
2471         (Qinitial): New variable.
2472         (Qmedial): New variable.
2473         (Qfinal): New variable.
2474         (Qvertical): New variable.
2475         (Qsmall): New variable.
2476         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2477         `Qvertical' and `Qsmall'.
2478         (Qmojikyo_pj_[1 .. 21]): New variable.
2479         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2480         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2481         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2482         .. 21]'.
2483
2484 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2485
2486         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2487         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2488         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2489
2490 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2491
2492         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2493         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2494         BMP.
2495         (Qjapanese_jisx0208_1990): New variable.
2496         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2497         (complex_vars_of_mule_charset): Add new coded-charset
2498         `japanese-jisx0208-1990'.
2499
2500         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2501         (MIN_CHAR_JIS_X0208_1990): New macro.
2502         (MAX_CHAR_JIS_X0208_1990): New macro.
2503
2504 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2505
2506         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2507         coded-charset is not found.
2508
2509 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2510
2511         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2512         (Fdefine_char): Use `Fmake_char'.
2513
2514 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2515
2516         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2517         (Vcharset_hiragana_jisx0208): Deleted.
2518         (Vcharset_katakana_jisx0208): Deleted.
2519         (Qideograph_daikanwa): New variable.
2520         (Qhiragana_jisx0208): Deleted.
2521         (Qkatakana_jisx0208): Deleted.
2522         (split_builtin_char): Split `ideograph-daikanwa'.
2523         (Fsplit_char): New implementation for UTF-2000.
2524         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2525         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2526         (complex_vars_of_mule_charset): Add new coded-charset
2527         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2528         `katakana-jisx0208'.
2529
2530         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2531         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2532         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2533         (MIN_CHAR_DAIKANWA): New macro.
2534         (MAX_CHAR_DAIKANWA): New macro.
2535
2536 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2537
2538         * data.c (Fstring_to_number): Don't recognize floating point if
2539         base is not 10.
2540
2541 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2542
2543         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2544
2545 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2546
2547         * mule-charset.c (Qsquare): New variable.
2548         (to_char_code): Add `Qsquare'.
2549         (syms_of_mule_charset): Add new symbol `square'.
2550
2551 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2552
2553         * mule-charset.c (Qcircle): New variable.
2554         (to_char_code): Add `Qcircle'.
2555         (syms_of_mule_charset): Add new symbol `circle'.
2556
2557 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2558
2559         * mule-charset.c (Qfont): New variable.
2560         (to_char_code): Add `Qfont'.
2561         (syms_of_mule_charset): Add new symbol `font'.
2562
2563 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2564
2565         * mule-charset.c (Qsub): New variable.
2566         (to_char_code): Add `Qsub'.
2567         (syms_of_mule_charset): Add new symbol `sub'.
2568
2569 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2570
2571         * mule-charset.c (Fput_char_attribute): Convert each element of
2572         VALUE to GL position if ATTRIBUTE is a GR-set,
2573
2574 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2575
2576         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2577         coded-charset is a GR-set.
2578
2579 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2580
2581         * mule-charset.c (Fput_char_attribute): Check each element of
2582         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2583
2584 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2585
2586         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2587         UTF-2000.
2588         (Qethiopic_ucs): New variable in UTF-2000.
2589         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2590         (complex_vars_of_mule_charset): Add new coded-charset
2591         `ethiopic-ucs' in UTF-2000.
2592
2593         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2594         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2595         9)'.
2596         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2597         10)'.
2598         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2599
2600 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2601
2602         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2603         `ascii'.
2604
2605 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2606
2607         * mule-charset.c (Vcharacter_variant_table): New variable.
2608         (Q_ucs): New variable.
2609         (Fchar_variants): New function.
2610         (Fput_char_attribute): Register `->ucs' value to
2611         `Vcharacter_variant_table'.
2612         (syms_of_mule_charset): Add new function `char-variants' and new
2613         symbol `->ucs'.
2614         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2615
2616 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2617
2618         * mule-charset.c (get_char_code_table): Allow negative character
2619         code.
2620         (put_char_code_table): Likewise.
2621         (Vcharacter_composition_table): New variable.
2622         (Q_decomposition): New variable.
2623         (Qwide): New variable.
2624         (Qnarrow): New variable.
2625         (Qcompat): New variable.
2626         (QnoBreak): New variable.
2627         (Qsuper): New variable.
2628         (Qfraction): New variable.
2629         (to_char_code): New function.
2630         (Fget_composite_char): New function.
2631         (Fput_char_attribute): Register `->decomposition' value to
2632         `Vcharacter_composition_table'.
2633         (syms_of_mule_charset): Add new function `get-composite-char', new
2634         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2635         `super' and `fraction'.
2636         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2637
2638 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2639
2640         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2641         character; copy the return value.
2642
2643 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2644
2645         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2646
2647         * mule-charset.c (range_charset_code_point): Must use make_int.
2648         (split_builtin_char): New function.
2649
2650 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2651
2652         * mule-charset.c (char_byte_table): Change name from
2653         "char-code-table" to "char-byte-table".
2654         (mark_char_code_table): New function.
2655         (char_code_table_equal): New function.
2656         (char_code_table_hash): New function.
2657         (char_code_table_description): New constant.
2658         (char_code_table): New type.
2659         (make_char_code_table): New function.
2660         (copy_char_code_table): New function.
2661         (get_char_code_table): Modify for `char_code_table' type.
2662         (put_char_code_table): Likewise.
2663         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2664         (Kashiwara).
2665
2666         * char-ucs.h (char_code_table): New type.
2667         (XCHAR_CODE_TABLE): New macro.
2668         (XSETCHAR_CODE_TABLE): New macro.
2669         (CHAR_CODE_TABLE_P): New macro.
2670         (GC_CHAR_CODE_TABLE_P): New macro.
2671         (struct Lisp_Char_Code_Table): New structure.
2672
2673 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2674
2675         * mule-charset.c (Fmake_charset): Setup byte_offset for
2676         {94|96}^n-set.
2677
2678 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2679
2680         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2681         character.
2682
2683 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2684
2685         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2686         is found.
2687
2688 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2689
2690         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2691         charset, it is regarded as a charset.
2692         (put_char_attribute): New function in UTF-2000.
2693         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2694         charset, mapping-table of the charset is modified.
2695         (Fdefine_char): New function in UTF-2000.
2696         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2697         `Fput_char_attribute'.
2698         (syms_of_mule_charset): Add new function `define-char' and new
2699         symbol `ucs' in UTF-2000.
2700         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2701
2702 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2703
2704         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2705         non-UTF-2000 configuration.
2706
2707 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2708
2709         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2710         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2711
2712         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2713         deleted.
2714         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2715         (Fset_charset_mapping_table): Likewise.
2716
2717         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2718         (CHARSET_ENCODING_TABLE): Delete.
2719         (XCHARSET_ENCODING_TABLE): Delete.
2720         (charset_code_point): New interface.
2721
2722 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2723
2724         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2725         instead of `charset_get_byte1' and `charset_get_byte2'.
2726
2727         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2728         (charset_get_byte2): Deleted.
2729
2730 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2731
2732         * char-ucs.h (SPLIT_CHAR): New inline function.
2733         (breakup_char_1): Use `SPLIT_CHAR'.
2734
2735         * mule-charset.c (range_charset_code_point): New function.
2736         (charset_code_point): New function.
2737
2738         * char-ucs.h (range_charset_code_point): New interface.
2739         (breakup_char_1): Use `range_charset_code_point'.
2740
2741 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2742
2743         * mule-charset.c (Fmake_charset): Delete unused local variable
2744         `code_offset'.
2745
2746         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2747         (breakup_char_1): Find a charset and code-point in
2748         `Vcharacter_attribute_table'.
2749
2750 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2751
2752         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2753         to 0.10 (Yao).
2754
2755 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2756
2757         * mule-charset.c (Vcharacter_attribute_table): New variable.
2758         (Fchar_attribute_alist): New function.
2759         (Fget_char_attribute): New function.
2760         (Fput_char_attribute): New function.
2761         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2762         too.
2763         (syms_of_mule_charset): Add new function `char-attribute-alist',
2764         `get-char-attribute' and `put-char-attribute'.
2765         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2766
2767 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2768
2769         * mule-charset.c (Fmake_charset): Just use
2770         `get_unallocated_leading_byte'.
2771
2772         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2773         sets; don't use final-byte based number for private sets.
2774
2775 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2776
2777         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2778         integer.
2779
2780 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2781
2782         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2783         to 0.9.
2784
2785 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2786
2787         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2788         of `CHAR_LEADING_BYTE' in UTF-2000.
2789
2790         * insdel.c (find_charsets_in_bufbyte_string): Use
2791         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2792         (find_charsets_in_emchar_string): Likewise.
2793
2794         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2795         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2796
2797         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2798         (CHAR_CHARSET_ID): New macro.
2799
2800 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2801
2802         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2803         charset-id - MIN_LEADING_BYTE.
2804         (put_char_table): Likewise.
2805
2806 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2807
2808         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2809         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2810         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2811         (CHARSET_ID_OFFSET): New macro.
2812         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2813         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2814         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2815         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2816         4).
2817         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2818         5).
2819         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2820         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2821         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2822         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2823         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2824
2825 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2826
2827         * mule-charset.c (next_allocated_leading_byte): New variable in
2828         UTF-2000.
2829         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2830         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2831         (get_unallocated_leading_byte): Simply use
2832         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2833         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2834         UTF-2000.
2835
2836         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2837         (MAX_LEADING_BYTE_PRIVATE): New macro.
2838         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2839         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2840
2841 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2842
2843         * mule-charset.c (Fmake_charset): Allocate final-byte based
2844         charset-id for 94-set, 96-set and 94x94-set.
2845
2846 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2847
2848         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2849         ambiguous `else'.
2850         (Fmake_charset): Likewise.
2851         (complex_vars_of_mule_charset): Modify the font registry of
2852         `ucs-bmp' not to match `Ethiopic-Unicode'.
2853
2854 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2855
2856         * mule-charset.c (complex_vars_of_mule_charset): Add font
2857         registory of `ucs-bmp'.
2858
2859 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2860
2861         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2862         coded-charsets in `default-coded-charset-priority-list' when
2863         breaking up a character.
2864
2865         * mule-charset.c (Vcharset_latin_viscii): New variable.
2866         (Qlatin_viscii): New variable.
2867         (make_charset): Don't use `decoding_table'.
2868         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2869         byte_offset.
2870         (Fset_charset_mapping_table): New implementation.
2871         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2872         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2873         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2874         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2875         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2876         charset `latin_viscii'.
2877
2878         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2879         (CHARSET_TYPE_94X94): Change to 1 from 2.
2880         (CHARSET_TYPE_96): Change to 2 from 1.
2881         (CHARSET_TYPE_128): New macro.
2882         (CHARSET_TYPE_128X128): Change to 5 from 4.
2883         (CHARSET_TYPE_256): New macro.
2884         (CHARSET_TYPE_256X256): Change to 7 from 5.
2885         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2886
2887 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2888
2889         * text-coding.c (char_encode_shift_jis): Refer
2890         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2891         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2892
2893         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2894         (char_byte_table_equal): New function in UTF-2000.
2895         (char_byte_table_hash): New function in UTF-2000.
2896         (char_byte_table_description): New constant in UTF-2000.
2897         (char_byte_table): New type in UTF-2000.
2898         (make_char_byte_table): New function in UTF-2000.
2899         (copy_char_byte_table): New function in UTF-2000.
2900         (make_char_code_table): New macro in UTF-2000.
2901         (get_char_code_table): New function in UTF-2000.
2902         (put_char_code_table): New function in UTF-2000.
2903         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2904         (charset_description): Add setting in UTF-2000.
2905         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2906         `CHARSET_TO_BYTE1_TABLE(cs)'.
2907         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2908         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2909         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2910         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2911         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2912         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2913         `CHARSET_TO_BYTE2_TABLE(cs)'.
2914
2915         * char-ucs.h (char_byte_table): New type.
2916         (XCHAR_BYTE_TABLE): New macro.
2917         (XSETCHAR_BYTE_TABLE): New macro.
2918         (CHAR_BYTE_TABLE_P): New macro.
2919         (GC_CHAR_BYTE_TABLE_P): New macro.
2920         (struct Lisp_Char_Byte_Table): New structure.
2921         (get_char_code_table): New interface.
2922         (Emchar_to_byte_table): Deleted.
2923         (get_byte_from_character_table): Deleted.
2924         (struct Lisp_Charset): Add `encoding_table'; delete
2925         `to_byte1_table' and `to_byte2_table'.
2926         (CHARSET_ENCODING_TABLE): New macro.
2927         (CHARSET_TO_BYTE1_TABLE): Deleted.
2928         (CHARSET_TO_BYTE2_TABLE): Deleted.
2929         (XCHARSET_ENCODING_TABLE): New macro.
2930         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2931         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2932
2933 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2934
2935         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2936         `vietnamese-viscii-*'.
2937
2938 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2939
2940         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2941         (Qvietnamese_viscii_upper): New variable.
2942         (Fdefine_charset_alias): New function.
2943         (syms_of_mule_charset): Add new function `define-charset-alias'.
2944         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2945         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2946         `latin-viscii-*'.
2947
2948 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2949
2950         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2951         (MAX_CHAR_OBS_94x94): New macro.
2952         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2953         for 94x94 sets.
2954
2955         * mule-charset.c (put_byte_from_character_table): Change unit size
2956         from 128 to 256.
2957         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2958         not defined.
2959         (Fmake_reverse_direction_charset): Modify dummy argument of
2960         `make_charset' for non-UTF-2000 environment.
2961
2962 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2963
2964         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2965
2966         * mule-charset.c (destroy_byte_from_character_table): New macro.
2967         (latin_jisx0201_to_ucs): Deleted.
2968         (latin_iso8859_2_to_ucs): Deleted.
2969         (latin_iso8859_3_to_ucs): Deleted.
2970         (latin_iso8859_4_to_ucs): Deleted.
2971         (latin_iso8859_9_to_ucs): Deleted.
2972         (latin_viscii_lower_to_ucs): Deleted.
2973         (latin_viscii_upper_to_ucs): Deleted.
2974         (mark_charset): Mark `cs->decoding_table'.
2975         (Fcharset_mapping_table): Fix DOC-string.
2976         (Fset_charset_mapping_table): New function.
2977         (syms_of_mule_charset): Add nwe function
2978         `set-charset-mapping-table'.
2979         (complex_vars_of_mule_charset): Don't setup and use
2980         `latin_*_to_ucs'.
2981
2982 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2983
2984         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2985         charset.
2986
2987 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2988
2989         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2990         (Vcharset_katakana_jisx0208): New variable.
2991         (Qhiragana_jisx0208): New variable.
2992         (Qkatakana_jisx0208): New variable.
2993         (make_charset): Add new argument `byte_offset'.
2994         (charset_get_byte1): Modify for new coded-charset definition; use
2995         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2996         `XCHARSET_BYTE_OFFSET'.
2997         (Fmake_charset): Modify for `make_charset'.
2998         (Fmake_reverse_direction_charset): Likewise.
2999         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
3000         `katakana-jisx0208'.
3001         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
3002         `.'  in font registry of charset `katakana-jisx0201',
3003         `latin-jisx0201', `vietnamese-viscii-lower' and
3004         `vietnamese-viscii-upper'; modify DOC-string of charset
3005         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
3006         registry of charset `japanese-jisx0208' not to use font for JIS
3007         X0208:1990; add new charset `hiragana-jisx0208' and
3008         `katakana-jisx0208'.
3009
3010         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
3011         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
3012         (struct Lisp_Charset): Add `byte_offset'.
3013         (CHARSET_BYTE_OFFSET): New macro.
3014         (XCHARSET_UCS_MIN): New macro.
3015         (XCHARSET_UCS_MAX): New macro.
3016         (XCHARSET_CODE_OFFSET): New macro.
3017         (XCHARSET_BYTE_OFFSET): New macro.
3018         (MIN_CHAR_HIRAGANA): New macro.
3019         (MAX_CHAR_HIRAGANA): New macro.
3020         (MIN_CHAR_KATAKANA): New macro.
3021         (MAX_CHAR_KATAKANA): New macro.
3022         (MAKE_CHAR): Modify for new coded-charset definition; use
3023         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3024         `XCHARSET_BYTE_OFFSET'.
3025
3026 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3027
3028         * mule-charset.c (CHAR96): Deleted.
3029         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
3030         <Lisp_Object>.
3031         (latin_iso8859_2_to_ucs): Likewise.
3032         (latin_iso8859_3_to_ucs): Likewise.
3033         (latin_iso8859_4_to_ucs): Likewise.
3034         (latin_iso8859_9_to_ucs): Likewise.
3035         (latin_viscii_lower_to_ucs): Likewise.
3036         (latin_viscii_upper_to_ucs): Likewise.
3037         (latin_tcvn5712_to_ucs): Commented out.
3038         (make_charset): Change type of argument `decoding_table' from
3039         <Emchar*> to <Lisp_Object> [vector of characters].
3040         (Fmake_charset): Modify for `make_charset'.
3041         (Fmake_reverse_direction_charset): Likewise.
3042         (Fcharset_mapping_table): New function in UTF-2000.
3043         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
3044         UTF-2000.
3045         (complex_vars_of_mule_charset): Modify for type change of
3046         `*_to_ucs'; modify for `make_charset'.
3047
3048         * char-ucs.h (struct Lisp_Charset): Change type of
3049         `decoding_table' from <Emchar*> to <Lisp_Object>.
3050         (MAKE_CHAR): Modify for new specification of `decoding_table'.
3051
3052 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3053
3054         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
3055         error with non-UTF-2000-Mule.
3056
3057 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
3058
3059         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
3060         in lisp again].
3061         (Vcharset_chinese_cns11643_4): Likewise.
3062         (Vcharset_chinese_cns11643_5): Likewise.
3063         (Vcharset_chinese_cns11643_6): Likewise.
3064         (Vcharset_chinese_cns11643_7): Likewise.
3065         (Qchinese_cns11643_3): Likewise.
3066         (Qchinese_cns11643_4): Likewise.
3067         (Qchinese_cns11643_5): Likewise.
3068         (Qchinese_cns11643_6): Likewise.
3069         (Qchinese_cns11643_7): Likewise.
3070         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
3071         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3072         and `chinese-cns11643-7' to lisp/mule/chinese.el.
3073         (complex_vars_of_mule_charset): Likewise.
3074
3075 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3076
3077         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
3078         96-set.
3079         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
3080         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
3081
3082 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3083
3084         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
3085         0xFF60.
3086         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
3087         (breakup_char_1): Likewise.
3088
3089         * text-coding.c (char_encode_iso2022): Keep designated charsets if
3090         one of them includes the specified character.
3091
3092 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3093
3094         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
3095
3096 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3097
3098         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
3099
3100 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3101
3102         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
3103         definition for non-UTF-2000 Mule.
3104         (latin_iso8859_3_to_ucs): Likewise.
3105         (latin_iso8859_4_to_ucs): Likewise.
3106         (latin_iso8859_9_to_ucs): Likewise.
3107         (latin_jisx0201_to_ucs): Likewise.
3108         (MIN_CHAR_THAI): Likewise.
3109         (MAX_CHAR_THAI): Likewise.
3110         (MIN_CHAR_GREEK): Likewise.
3111         (MAX_CHAR_GREEK): Likewise.
3112         (MIN_CHAR_HEBREW): Likewise.
3113         (MAX_CHAR_HEBREW): Likewise.
3114         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
3115         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
3116         (MIN_CHAR_CYRILLIC): Likewise.
3117         (MAX_CHAR_CYRILLIC): Likewise.
3118
3119 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3120
3121         * char-ucs.h (breakup_char_1): Use
3122         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
3123         thai-tis620 and katakana-jisx0201 area.
3124
3125 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3126
3127         * char-ucs.h (breakup_char_1): Use
3128         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
3129         area.
3130
3131         * text-coding.c (reset_encoding_stream): Fixed.
3132         (char_encode_ucs4): Delete `& 255'.
3133
3134         * char-ucs.h (breakup_char_1): Use
3135         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3136
3137 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3138
3139         * file-coding.c (Fmake_coding_system): Don't set up
3140         `codesys->fixed.size'.
3141         (encode_coding_no_conversion): Don't refer
3142         `str->codesys->fixed.size'.
3143
3144 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3145
3146         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3147         (latin_a_char_to_byte1): Deleted.
3148         (latin_a_char_to_byte2): Deleted.
3149
3150 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3151
3152         * mule-charset.c (make_charset): Add new argument `ucs_min',
3153         `ucs_max' and `code_offset'.
3154         (charset_get_byte1): New implementation [delete specific charset
3155         depended implementations].
3156         (Fmake_charset): Modify for `make_charset'.
3157         (Fmake_reverse_direction_charset): Likewise.
3158         (complex_vars_of_mule_charset): Likewise.
3159
3160         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3161         `code_offset'.
3162         (CHARSET_UCS_MIN): New macro.
3163         (CHARSET_UCS_MAX): New macro.
3164         (CHARSET_CODE_OFFSET): New macro.
3165         (MAKE_CHAR): Delete charset depended definitions [except
3166         katakana-jisx0201].
3167
3168 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3169
3170         * char-ucs.h (breakup_char_1): Use
3171         `Vdefault_coded_charset_priority_list' for C0-Controls,
3172         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3173
3174 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3175
3176         * char-ucs.h (charset_get_byte1): New function.
3177         (XCHARSET_GET_BYTE1): Deleted.
3178         (charset_get_byte2): New function.
3179         (XCHARSET_GET_BYTE2): Deleted.
3180         (Vdefault_coded_charset_priority_list): New external variable.
3181         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3182         `Vdefault_preferred_coded_charset_list'.
3183
3184         * mule-charset.c (charset_get_byte1): New function.
3185         (charset_get_byte2): New function.
3186         (Vdefault_coded_charset_priority_list): New variable.
3187         (vars_of_mule_charset): Add new variable
3188         `default-coded-charset-priority-list'.
3189
3190 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3191
3192         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3193         (XCHARSET_GET_BYTE2): New inline function.
3194         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3195         `XCHARSET_GET_BYTE2'.
3196
3197 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3198
3199         * mule-charset.c (make_charset): Initialize
3200         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3201         NULL if table is not defined.
3202
3203 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3204
3205         * text-coding.c (char_encode_shift_jis): Use
3206         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3207         `ucs_to_latin_jisx0201'.
3208
3209         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3210         (ucs_to_latin_iso8859_2): Deleted.
3211         (ucs_to_latin_iso8859_3): Deleted.
3212         (ucs_to_latin_iso8859_4): Deleted.
3213         (ucs_to_latin_iso8859_9): Deleted.
3214         (ucs_to_latin_viscii_lower): Deleted.
3215         (ucs_to_latin_viscii_upper): Deleted.
3216         (ucs_to_latin_tcvn5712): Deleted.
3217         (make_charset): Add new argument `decoding_table'; set up
3218         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3219         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3220         `decoding_table' is defined in UTF-2000.
3221         (Fmake_charset): Modify for `make_charset'.
3222         (Fmake_reverse_direction_charset): Likewise.
3223         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3224         and `GENERATE_96_SET'.
3225
3226         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3227         (ucs_to_latin_jisx0201): Deleted.
3228         (latin_iso8859_2_to_ucs): Deleted.
3229         (ucs_to_latin_iso8859_2): Deleted.
3230         (latin_iso8859_3_to_ucs): Deleted.
3231         (ucs_to_latin_iso8859_3): Deleted.
3232         (latin_iso8859_4_to_ucs): Deleted.
3233         (ucs_to_latin_iso8859_4): Deleted.
3234         (latin_iso8859_9_to_ucs): Deleted.
3235         (ucs_to_latin_iso8859_9): Deleted.
3236         (latin_viscii_lower_to_ucs): Deleted.
3237         (ucs_to_latin_viscii_lower): Deleted.
3238         (latin_viscii_upper_to_ucs): Deleted.
3239         (ucs_to_latin_viscii_upper): Deleted.
3240         (struct Lisp_Charset): Renamed `encoding_table' to
3241         `to_byte1_table'; add `to_byte2_table'.
3242         (CHARSET_DECODING_TABLE): New macro.
3243         (CHARSET_TO_BYTE1_TABLE): New macro.
3244         (CHARSET_TO_BYTE2_TABLE): New macro.
3245         (XCHARSET_DECODING_TABLE): New macro.
3246         (XCHARSET_TO_BYTE1_TABLE): New macro.
3247         (XCHARSET_TO_BYTE2_TABLE): New macro.
3248         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3249         tables.
3250         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3251         don't use `ucs_to_*' tables.
3252
3253 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3254
3255         * text-coding.c (Fmake_coding_system): Don't set up
3256         `codesys->fixed.size'.
3257         (encode_coding_no_conversion): Use `if' instead of `switch'.
3258
3259         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3260
3261 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3262
3263         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3264         (Fmake_charset): Modify for `make_charset'.
3265         (Fmake_reverse_direction_charset): Likewise.
3266         (complex_vars_of_mule_charset): Likewise.
3267
3268 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3269
3270         * text-coding.c (char_encode_shift_jis): Use table
3271         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3272
3273 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3274
3275         * text-coding.c (text_encode_generic): Use `if' instead of
3276         `switch'.
3277         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3278         decode JIS-Latin.
3279
3280 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3281
3282         * text-coding.c (encode_coding_sjis): Deleted.
3283         (char_encode_shift_jis): New function.
3284         (char_finish_shift_jis): New function.
3285         (reset_encoding_stream): Set up `encode_char' and `finish' for
3286         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3287         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3288         (char_encode_utf8): Treat `eol_type'.
3289
3290 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3291
3292         * file-coding.c (decode_coding_iso2022): Use
3293         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3294
3295 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3296
3297         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3298         to 0.7 (Hirano).
3299
3300 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3301
3302         * char-lb.h (CHAR_COLUMNS): New macro.
3303
3304 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3305
3306         * text-coding.c (char_encode_ucs4): New function.
3307         (char_finish_ucs4): New function.
3308         (encode_coding_ucs4): Deleted.
3309         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3310         (text_encode_generic): Delete local variable `charset' and `half'.
3311         (ucs_to_mule_table): Deleted.
3312         (mule_to_ucs_table): Deleted.
3313         (Fset_ucs_char): Deleted.
3314         (ucs_to_char): Deleted.
3315         (Fucs_char): Deleted.
3316         (Fset_char_ucs): Deleted.
3317         (Fchar_ucs): Deleted.
3318         (decode_ucs4): Deleted.
3319         (mule_char_to_ucs4): Deleted.
3320         (encode_ucs4): Deleted.
3321         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3322         (decode_coding_utf8): Likewise.
3323         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3324         (char_encode_iso2022): Fixed.
3325         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3326         `Fset_char_ucs' and `Fchar_ucs'.
3327         (complex_vars_of_file_coding): Don't initialize
3328         `ucs_to_mule_table'.
3329
3330         * objects-tty.c (tty_initialize_font_instance): Don't use
3331         `XCHARSET_COLUMNS'.
3332
3333         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3334         UTF-2000.
3335
3336         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
3337         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3338
3339         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
3340         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3341         (emchar_string_displayed_columns): Likewise.
3342
3343         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
3344         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3345         (string_column_at_point): Likewise.
3346         (Fmove_to_column): Likewise.
3347
3348         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
3349         `encoding_table' and `decoding_table'.
3350         (CHARSET_REP_BYTES): Deleted.
3351         (XCHARSET_REP_BYTES): Deleted.
3352         (XCHARSET_COLUMNS): Deleted.
3353         (CHAR_COLUMNS): New macro.
3354         (lookup_composite_char): Deleted unconditionally.
3355         (composite_char_string): Likewise.
3356
3357 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3358
3359         * char-ucs.h (Emchar_to_byte_table): New type.
3360         (get_byte_from_character_table): New function interface.
3361         (Vcharset_latin_jisx0201): New variable.
3362         (latin_jisx0201_to_ucs): New variable.
3363         (ucs_to_latin_jisx0201): New variable.
3364         (Vcharset_latin_iso8859_2): New variable.
3365         (latin_iso8859_2_to_ucs): New variable.
3366         (ucs_to_latin_iso8859_2): New variable.
3367         (Vcharset_latin_iso8859_3): New variable.
3368         (latin_iso8859_3_to_ucs): New variable.
3369         (ucs_to_latin_iso8859_3): New variable.
3370         (Vcharset_latin_iso8859_4): New variable.
3371         (latin_iso8859_4_to_ucs): New variable.
3372         (ucs_to_latin_iso8859_4): New variable.
3373         (Vcharset_latin_iso8859_9): New variable.
3374         (latin_iso8859_9_to_ucs): New variable.
3375         (ucs_to_latin_iso8859_9): New variable.
3376         (Vcharset_latin_viscii_lower): New variable.
3377         (latin_viscii_lower_to_ucs): New variable.
3378         (ucs_to_latin_viscii_lower): New variable.
3379         (Vcharset_latin_viscii_upper): New variable.
3380         (latin_viscii_upper_to_ucs): New variable.
3381         (ucs_to_latin_viscii_upper): New variable.
3382         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
3383         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
3384         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
3385         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
3386         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
3387         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
3388         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
3389         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
3390         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
3391         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
3392
3393         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
3394         (Vcharset_latin_viscii_upper): New variable.
3395         (make_byte_from_character_table): New function.
3396         (put_byte_from_character_table): New function.
3397         (get_byte_from_character_table): New function.
3398         (CHAR96): New macro.
3399         (ucs_to_latin_jisx0201): New variable.
3400         (latin_jisx0201_to_ucs): New variable.
3401         (ucs_to_latin_iso8859_2): New variable.
3402         (latin_iso8859_2_to_ucs): New variable.
3403         (ucs_to_latin_iso8859_3): New variable.
3404         (latin_iso8859_3_to_ucs): New variable.
3405         (ucs_to_latin_iso8859_4): New variable.
3406         (latin_iso8859_4_to_ucs): New variable.
3407         (ucs_to_latin_iso8859_9): New variable.
3408         (latin_iso8859_9_to_ucs): New variable.
3409         (ucs_to_latin_viscii_lower): New variable.
3410         (latin_viscii_lower_to_ucs): New variable.
3411         (ucs_to_latin_viscii_upper): New variable.
3412         (latin_viscii_upper_to_ucs): New variable.
3413         (ucs_to_latin_tcvn5712): New variable.
3414         (latin_tcvn5712_to_ucs): New variable.
3415         (Qlatin_viscii_lower): New variable.
3416         (Qlatin_viscii_upper): New variable.
3417         (syms_of_mule_charset): Set up new symbol
3418         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
3419         (complex_vars_of_mule_charset): Set up new charset
3420         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
3421         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
3422         `ucs_to_<CHARSET>' tables.
3423
3424 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3425
3426         * text-coding.c: New file.
3427
3428 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3429
3430         * mule-charset.c (Fmake_char): Fix problem of 256-set.
3431
3432         * char-ucs.h (Vcharset_ucs_bmp): New variable.
3433         (MAKE_CHAR): Modify for `ucs-bmp'.
3434         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
3435         non-MULE characters of BMP.
3436
3437 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
3438
3439         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3440         to 0.6.
3441
3442 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3443
3444         * lstream.h:
3445         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
3446         - Include character.h for `CHAR_ASCII_P'.
3447
3448         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
3449
3450         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
3451         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
3452
3453         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
3454         (BYTE_C0_P): Likewise.
3455         (BYTE_C1_P): Likewise.
3456         (Lstream_get_emchar_1): Likewise.
3457         (Lstream_fput_emchar): Likewise.
3458         (Lstream_funget_emchar): Likewise.
3459         (copy_internal_to_external): Likewise.
3460         (copy_external_to_internal): Likewise.
3461
3462         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
3463         (BYTE_C0_P): Likewise.
3464         (BYTE_C1_P): Likewise.
3465         (Lstream_get_emchar_1): Likewise.
3466         (Lstream_fput_emchar): Likewise.
3467         (Lstream_funget_emchar): Likewise.
3468         (copy_internal_to_external): Likewise.
3469         (copy_external_to_internal): Likewise.
3470
3471         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3472         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3473
3474         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3475         (BYTE_ASCII_P): Moved to mb-1byte.h.
3476
3477 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3478
3479         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3480
3481         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3482         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3483         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3484         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3485         (VALIDATE_CHARPTR_FORWARD): Likewise.
3486         (simple_charptr_emchar): Moved to mb-multibyte.h.
3487         (simple_set_charptr_emchar): Likewise.
3488         (simple_charptr_copy_char): Likewise.
3489         (non_ascii_charptr_emchar): Likewise.
3490         (non_ascii_set_charptr_emchar): Likewise.
3491         (non_ascii_charptr_copy_char): Likewise.
3492         (charptr_emchar): Moved to mb-*byte.h.
3493         (set_charptr_emchar): Likewise.
3494         (charptr_copy_char): Likewise.
3495
3496         * mb-1byte.h, mb-multibyte.h: New files.
3497
3498 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3499
3500         * mb-utf-8.h (MULTIBYTE): New macro.
3501         (MAX_EMCHAR_LEN): Moved from buffer.h.
3502         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3503
3504         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3505
3506         * mb-lb.h, multibyte.h: New files.
3507
3508         * char-1byte.h (Charset_ID): Moved from buffer.h.
3509         (MIN_LEADING_BYTE): Likewise.
3510         (LEADING_BYTE_ASCII): Likewise.
3511         (NUM_LEADING_BYTES): Likewise.
3512         (CHARSETP): Likewise.
3513         (CHARSET_BY_LEADING_BYTE): Likewise.
3514         (XCHARSET_LEADING_BYTE): Likewise.
3515         (XCHARSET_GRAPHIC): Likewise.
3516         (XCHARSET_COLUMNS): Likewise.
3517         (XCHARSET_DIMENSION): Likewise.
3518         (CHAR_CHARSET): Likewise.
3519         (CHAR_LEADING_BYTE): Likewise.
3520         (BREAKUP_CHAR): Likewise.
3521         (Vcharset_ascii): Likewise.
3522
3523         * buffer.h: Include multibyte.h unconditionally.
3524         (VALID_CHARPTR_P): Moved to multibyte.h.
3525         (ASSERT_VALID_CHARPTR): Likewise.
3526         (REAL_INC_CHARPTR): Likewise.
3527         (REAL_INC_CHARBYTIND): Likewise.
3528         (REAL_DEC_CHARPTR): Likewise.
3529         (INC_CHARPTR): Likewise.
3530         (INC_CHARBYTIND): Likewise.
3531         (DEC_CHARPTR): Likewise.
3532         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3533         (VALIDATE_CHARPTR_FORWARD): Likewise.
3534         (charptr_n_addr): Likewise.
3535         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3536         (simple_charptr_emchar): Moved to multibyte.h.
3537         (simple_set_charptr_emchar): Likewise.
3538         (simple_charptr_copy_char): Likewise.
3539         (non_ascii_charptr_emchar): Likewise.
3540         (non_ascii_set_charptr_emchar): Likewise.
3541         (non_ascii_charptr_copy_char): Likewise.
3542         (charptr_emchar): Likewise.
3543         (set_charptr_emchar): Likewise.
3544         (charptr_copy_char): Likewise.
3545         (charptr_emchar_n): Likewise.
3546         (Charset_ID): Moved to char-1byte.h.
3547         (Vcharset_ascii): Likewise.
3548         (CHAR_CHARSET): Likewise.
3549         (CHAR_LEADING_BYTE): Likewise.
3550         (LEADING_BYTE_ASCII): Likewise.
3551         (NUM_LEADING_BYTES): Likewise.
3552         (MIN_LEADING_BYTE): Likewise.
3553         (CHARSETP): Likewise.
3554         (CHARSET_BY_LEADING_BYTE): Likewise.
3555         (XCHARSET_LEADING_BYTE): Likewise.
3556         (XCHARSET_GRAPHIC): Likewise.
3557         (XCHARSET_COLUMNS): Likewise.
3558         (XCHARSET_DIMENSION): Likewise.
3559         (BREAKUP_CHAR): Likewise.
3560
3561 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3562
3563         * character.h: Add document about interface for characters.
3564
3565         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3566         (MAKE_CHAR): Delete comment about
3567         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3568         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3569         (BREAKUP_CHAR): Modify name of arguments.
3570         (CHAR_CHARSET): Modify name of argument.
3571
3572         * buffer.h: Delete document about Emchar accessors.
3573
3574 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3575
3576         * character.h (CHAR_INTP): Moved from buffer.h
3577         (CHAR_OR_CHAR_INTP): Likewise.
3578         (XCHAR_OR_CHAR_INT): Likewise.
3579         (CHECK_CHAR_COERCE_INT): Likewise.
3580
3581         * buffer.h (CHAR_INTP): Moved to character.h
3582         (CHAR_OR_CHAR_INTP): Likewise.
3583         (XCHAR_OR_CHAR_INT): Likewise.
3584         (CHECK_CHAR_COERCE_INT): Likewise.
3585
3586 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3587
3588         * character.h:
3589         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3590         - Include char-1byte.h, char-lb.h or char-ucs.h.
3591
3592         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3593
3594         * buffer.h: Include character unconditionally.
3595         (valid_char_p): Moved to char-*.h.
3596         (non_ascii_valid_char_p): Moved to char-lb.h.
3597
3598         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3599
3600 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3601
3602         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3603         in UTF-2000 because it is not ported yet and not to use
3604         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3605         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3606         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3607
3608         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3609         (CHAR_ASCII_P): Moved from character.h.
3610
3611         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3612         (CHAR_ASCII_P): Likewise.
3613         (CHAR_FIELD1_MASK): Deleted.
3614         (CHAR_FIELD2_MASK): Deleted.
3615         (CHAR_FIELD3_MASK): Deleted.
3616         (MAX_CHAR_BASIC_LATIN): New macro.
3617         (CHAR_FIELD1): Deleted.
3618         (CHAR_FIELD2_INTERNAL): Deleted.
3619         (CHAR_FIELD3_INTERNAL): Deleted.
3620         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3621         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3622         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3623         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3624         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3625         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3626         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3627         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3628         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3629         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3630         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3631         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3632         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3633         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3634         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3635         (MIN_CHAR_COMPOSITION): Deleted.
3636         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3637         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3638
3639 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3640
3641         * buffer.h: Include mb-utf-8.h in UTF-2000.
3642
3643         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3644
3645         * mb-utf-8.h: New file.
3646
3647 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3648
3649         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3650         instead of `int'.
3651
3652         * mule-charset.h, buffer.h (Charset_ID): New type.
3653
3654 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3655
3656         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3657         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3658         instead of `MULE_CHAR_PRIVATE_OFFSET',
3659         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3660         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3661         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3662
3663         * character.h (Vcharset_japanese_jisx0212): New variable
3664         definition.
3665
3666 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3667
3668         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3669         (charset_by_attributes): Delete array about direction.
3670         (latin_a_char_to_charset): New variable in UTF-2000.
3671         (latin_a_char_to_byte1): New variable in UTF-2000.
3672         (latin_a_char_to_byte2): New variable in UTF-2000.
3673         (Qucs_bmp): New variable.
3674         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3675         `Bufbyte'.
3676         (next_allocated_2_byte_leading_byte): Likewise.
3677         (non_ascii_set_charptr_emchar): Likewise.
3678         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3679         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3680         `charset_by_attributes'.
3681         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3682         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3683         and `CHARSET_BY_LEADING_BYTE'.
3684         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3685         `utf-2000-version' to `vars_of_mule_charset'.
3686         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3687         define `leading-code-private-11' in UTF-2000; move setting of
3688         `utf-2000-version' from `syms_of_mule_charset'.
3689         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3690         UTF-2000.
3691
3692         * character.h (Charset_ID): New type.
3693         (LEADING_BYTE_UCS_BMP): New macro.
3694         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3695         (CHARSET_ID_OFFSET_94): New macro.
3696         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3697         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3698         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3699         final-byte.
3700         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3701         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3702         (CHARSET_ID_OFFSET_96): New macro.
3703         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3704         CHARSET_ID_OFFSET_96 and final-byte.
3705         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3706         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3707         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3708         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3709         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3710         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3711         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3712         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3713         (LEADING_BYTE_THAI_TIS620): Likewise.
3714         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3715         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3716         (CHARSET_ID_OFFSET_94x94): New macro.
3717         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3718         CHARSET_ID_OFFSET_94x94 and final-byte.
3719         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3720         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3721         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3722         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3723         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3724         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3725         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3726         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3727         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3728         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3729         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3730         (CHARSET_TYPE_128X128): New macro.
3731         (CHARSET_TYPE_256X256): New macro.
3732         (XCHARSET_PRIVATE_P): Delete unconditionally.
3733         (charset_by_attributes): Delete array about direction.
3734         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3735         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3736         (MIN_CHAR_94): New macro.
3737         (MAX_CHAR_94): New macro.
3738         (MIN_CHAR_96): New macro.
3739         (MAX_CHAR_96): New macro.
3740         (MIN_CHAR_94x94): New macro.
3741         (MAX_CHAR_94x94): New macro.
3742         (MIN_CHAR_96x96): New macro.
3743         (MAX_CHAR_96x96): New macro.
3744         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3745         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3746         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3747         - 32)'.
3748         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3749         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3750         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3751         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3752         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3753         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3754         `XCHARSET_LEADING_BYTE' to make code-point.
3755         (latin_a_char_to_charset): New variable.
3756         (latin_a_char_to_byte1): New variable.
3757         (latin_a_char_to_byte2): New variable.
3758         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3759         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3760         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3761
3762         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3763         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3764         (find_charsets_in_emchar_string): Likewise.
3765         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3766
3767         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3768         `int'.
3769         (decode_coding_iso2022): Likewise.
3770
3771         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3772         of `unsigned char'.
3773
3774         * redisplay.c (redisplay_text_width_emchar_string): Use
3775         `Charset_ID' instead of `unsigned char'.
3776         (redisplay_frame_text_width_string): Likewise.
3777
3778         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3779         `unsigned char'.
3780
3781         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3782         instead of `unsigned char'.
3783         (face_cachel_charset_font_metric_info): Likewise.
3784
3785         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3786         (get_non_ascii_char_table_value): Likewise.
3787         (get_char_table): Likewise.
3788         (put_char_table): Likewise.
3789         (map_over_other_charset): Likewise.
3790         (map_char_table): Likewise.
3791
3792         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3793         instead of `unsigned char'.
3794
3795 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3796
3797         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3798         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3799
3800         * mule-charset.c (leading_code_private_11): Don't define in
3801         UTF-2000.
3802
3803         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3804         in UTF-2000 because it is not ported yet and not to use
3805         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3806
3807 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3808
3809         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3810
3811 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3812
3813         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3814         in UTF-2000.
3815
3816         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3817         of unsigned char to store leading-byte.
3818
3819         * chartab.c (get_non_ascii_char_table_value): Don't use
3820         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3821
3822         * file-coding.c (encode_coding_big5): Delete bogus implementation
3823         in UTF2000.
3824
3825         * character.h (LEADING_BYTE_*): Delete definition for
3826         non-UTF-2000.
3827         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3828         (LEADING_BYTE_PREFIX_P): Deleted.
3829         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3830         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3831         (BUFBYTE_LEADING_BYTE_P): Deleted.
3832         (CHARSET_PRIVATE_P): Deleted unconditionally.
3833         (rep_bytes_by_first_byte): Deleted unconditionally.
3834         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3835         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3836         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3837         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3838         (CHAR_FIELD2): Deleted.
3839         (CHAR_FIELD3): Deleted.
3840         (MAKE_CHAR): Delete definition for non-UTF-2000.
3841         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3842         (breakup_char_1): New implementation.
3843         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3844         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3845
3846 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3847
3848         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3849         condition.
3850
3851 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3852
3853         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3854         (CHARSET_PRIVATE_P): Likewise.
3855         (XCHARSET_PRIVATE_P): Likewise.
3856         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3857
3858         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3859         UTF2000.
3860         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3861
3862 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3863
3864         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3865         (NUM_LEADING_BYTES): Changed from 128 to 256.
3866         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3867         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3868         UTF2000.
3869         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3870
3871         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3872         UTF2000.
3873         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3874         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3875         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3876         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3877         (Qchinese_cns11643_3): New variable in UTF2000.
3878         (Qchinese_cns11643_4): New variable in UTF2000.
3879         (Qchinese_cns11643_5): New variable in UTF2000.
3880         (Qchinese_cns11643_6): New variable in UTF2000.
3881         (Qchinese_cns11643_7): New variable in UTF2000.
3882         (syms_of_mule_charset): Define `chinese-cns11643-3',
3883         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3884         and `chinese-cns11643-7' in UTF2000.
3885         (vars_of_mule_charset): Initialize
3886         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3887         + 1 in UTF2000.
3888         (complex_vars_of_mule_charset): Setup charset
3889         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3890         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3891
3892 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3893
3894         * mule-charset.c: Move setting for `leading-code-private-11' from
3895         `syms_of_mule_charset' to `vars_of_mule_charset'.
3896
3897 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3898
3899         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3900         and `NUM_LEADING_BYTES' in assert.
3901
3902 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3903
3904         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3905         instead of 128.
3906         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3907         `NUM_LEADING_BYTES' instead of 128.
3908
3909 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3910
3911         * mule-charset.h (charset_by_leading_byte): Use
3912         `NUM_LEADING_BYTES' instead of 128.
3913         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3914
3915         * mule-charset.c (charset_by_leading_byte): Use
3916         `NUM_LEADING_BYTES' instead of 128.
3917         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3918
3919         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3920         128.
3921
3922 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3923
3924         * mule-charset.c (syms_of_mule_charset): Update to
3925         0.4 (Shin-Imamiya).
3926
3927 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3928
3929         * file-coding.c (encode_coding_sjis): New implementation for
3930         UTF2000.  (decode_coding_sjis): Ditto.
3931
3932 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3933
3934         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3935         Don't define in UTF2000.
3936
3937         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3938         defined.
3939
3940         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3941         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3942         MULE.
3943
3944 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3945
3946         * config.h.in (CHAR_IS_UCS4): New macro.
3947
3948         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3949         conventional MULE representation.
3950         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3951
3952         * mule-charset.h: Reverted to original.
3953
3954         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3955         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3956         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3957
3958         * character.h: New file.
3959
3960         * file-coding.c (Fmake_coding_system): Set 1 to
3961         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3962         defined.
3963         (encode_coding_no_conversion): New implementation for UTF2000.
3964
3965         * file-coding.h (struct Lisp_Coding_System): Add new member
3966         `fixed.size'.
3967
3968 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3969
3970         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3971         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3972         (encode_coding_iso2022): New implementation for UTF2000.
3973
3974 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3975
3976         * mule-canna.c (c2mu): New implementation for UTF2000.
3977         (m2c): Likewise.
3978
3979 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3980
3981         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3982
3983 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3984
3985         * file-coding.c (reset_encoding_stream): Set 0 to
3986         `str->iso2022.current_char_boundary' in UTF2000.
3987         (encode_utf8): Don't define in UTF2000.
3988         (encode_coding_utf8): New implementation for UTF-8 representation
3989         of UTF2000.
3990         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3991
3992 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3993
3994         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3995
3996         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3997         UTF2000.
3998         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3999
4000         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
4001
4002         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
4003         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
4004         as UTF-8 in UTF2000.
4005         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
4006         (non_ascii_valid_char_p): Don't define in UTF2000.
4007         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
4008         (Lstream_get_emchar_1): Likewise.
4009         (utf-2000-version): New variable in UTF2000.
4010
4011         * lread.c (read_escape): Add new reader `u'.
4012
4013         * insdel.c (three_to_one_table): Don't define in UTF2000.
4014         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
4015         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4016         UTF2000.
4017         (bytind_to_bufpos_func): Likewise.
4018         (buffer_mule_signal_inserted_region): Likewise.
4019         (vars_of_insdel): Don't initialize `three_to_one_table'.
4020         (init_buffer_text): Use `buf->text->mule_size' instead of
4021         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4022         UTF2000.
4023
4024         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
4025         UTF-8 representation in UTF2000.
4026         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
4027         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
4028         (decode_coding_iso2022): Don't define local variable `lb' in
4029         UTF2000; don't use LEADING_BYTE in UTF2000; use
4030         `DECODE_ADD_UCS_CHAR' in UTF2000.
4031         (convert_to_external_format): Decode as UTF-8 in UTF2000.
4032
4033         * config.h.in (UTF2000): New macro.
4034
4035         * buffer.h (struct buffer_text): Add new member `mule_size' and
4036         don't add `mule_shifter' and `mule_three_p' in UTF2000.
4037         (valid_char_p): Return always 1 in UTF2000.
4038         (MAX_EMCHAR_LEN): 6 in UTF2000.
4039         (three_to_one_table): Don't define in UTF2000.
4040         (real_bufpos_to_bytind): Modify for UTF-8 representation in
4041         UTF2000.
4042         (real_bytind_to_bufpos): Likewise.
4043
4044         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
4045
4046 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4047
4048         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
4049         representation change.
4050         (Vutf_2000_version): New variable.
4051         (leading_code_private_11): New variable.
4052         (syms_of_mule_charset): Add new variables `utf-2000-version' and
4053         `leading-code-private-11'.
4054
4055         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
4056         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
4057         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
4058         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
4059         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
4060         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
4061         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
4062         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
4063         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
4064         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
4065         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
4066         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
4067         (MIN_CHAR_GREEK): New macro.
4068         (MAX_CHAR_GREEK): New macro.
4069         (MIN_CHAR_CYRILLIC): New macro.
4070         (MAX_CHAR_CYRILLIC): New macro.
4071         (MIN_CHAR_HEBREW): New macro.
4072         (MAX_CHAR_HEBREW): New macro.
4073         (MIN_CHAR_THAI): New macro.
4074         (MAX_CHAR_THAI): New macro.
4075         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
4076         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
4077         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
4078         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
4079         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
4080         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
4081         (CHAR_FIELD2): New inline function.
4082         (CHAR_FIELD3): New inline function.
4083         (MULE_CHAR_PRIVATE_OFFSET): New macro.
4084         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
4085         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
4086         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
4087         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
4088         (MIN_CHAR_COMPOSITION): Likewise.
4089         (CHAR_LEADING_BYTE): Modified for character representation change.
4090         (MAKE_CHAR): Likewise.
4091
4092         * lisp.h (Vcharset_latin_iso8859_1): New variable.
4093         (Vcharset_greek_iso8859_7): Likewise.
4094         (Vcharset_cyrillic_iso8859_5): Likewise.
4095         (Vcharset_hebrew_iso8859_8): Likewise.
4096         (Vcharset_thai_tis620): Likewise.
4097         (Vcharset_katakana_jisx0201): Likewise.
4098
4099 2001-02-08  Martin Buchholz <martin@xemacs.org>
4100
4101         * XEmacs 21.2.44 "Thalia" is released.
4102
4103 2001-02-06  Martin Buchholz  <martin@xemacs.org>
4104
4105         Fixes crashes in kill-emacs on some systems.
4106         * process-unix.c (unix_kill_child_process):
4107         It's OK for kill() to fail with ESRCH.
4108
4109 2001-02-07  Martin Buchholz  <martin@xemacs.org>
4110
4111         Contortions to make .gdbinit tricks work on most systems.
4112         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
4113         * alloc.c (dbg_valmask): Make non-const.
4114         * alloc.c (dbg_typemask): Make non-const.
4115         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
4116         * alloc.c (dbg_valbits): Make non-const.
4117         * alloc.c (dbg_gctypebits): Make non-const.
4118         * .gdbinit (decode_object): Make it work with AIX cc.
4119
4120 2001-02-06  Martin Buchholz  <martin@xemacs.org>
4121
4122         * elhash.c (make_general_lisp_hash_table):
4123         Use simpler and more efficient calloc to clear entries.
4124
4125 2001-02-07  Martin Buchholz  <martin@xemacs.org>
4126
4127         * window.c (window_scroll): Work around an AIX C compiler bug.
4128         Fixes 'scroll-up' does nothing problem with xlC.
4129
4130 2001-02-05  Martin Buchholz  <martin@xemacs.org>
4131
4132         * .gdbinit: Remove obsolete comment.
4133
4134 2001-01-31  Mike Alexander  <mta@arbortext.com>
4135
4136         * select.c (Fown_selection_internal): Set owned_p for device
4137         method correctly.
4138
4139 2001-02-01  Martin Buchholz  <martin@xemacs.org>
4140
4141         Port to g++ 2.97.
4142         "not" cannot be used as a macro name as it is an operator in C++
4143         * config.h.in: Stop #defining `not'.
4144         * chartab.c (check_category_char): not ==> not_p
4145         * chartab.h: Likewise.
4146         * regex.c (re_match_2_internal): Likewise.
4147
4148 2001-02-02  Martin Buchholz  <martin@xemacs.org>
4149
4150         * lisp-disunion.h: Fix up comments.
4151
4152 2001-01-31  Martin Buchholz  <martin@xemacs.org>
4153
4154         * keymap.c (define_key_check_and_coerce_keysym):
4155         (syms_of_keymap):
4156         Support mouse-6 and mouse-7 bindings in the obvious way.
4157
4158 2001-02-01  Martin Buchholz  <martin@xemacs.org>
4159
4160         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
4161
4162 2001-01-30  Martin Buchholz  <martin@xemacs.org>
4163
4164         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
4165         Previous patch missed DEFVAR_INT_MAGIC.
4166         Make sure future DEFVAR_foo use correct types.
4167         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
4168         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
4169         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
4170         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
4171         * (DEFVAR_INT): Likewise.
4172         * redisplay.c (vertical_clip): Should be of type Fixnum.
4173         * redisplay.c (horizontal_clip): Likewise.
4174         * lisp.h (dump_add_opaque_int): New.
4175         (dump_add_opaque_fixnum): New.
4176
4177 2001-01-29  Andy Piper  <andy@xemacs.org>
4178
4179         * glyphs-widget.c (check_valid_int_or_function): allow symbols
4180         since they can be eval'ed
4181
4182 2001-01-29  Martin Buchholz  <martin@xemacs.org>
4183
4184         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
4185         Oops, XEmacs redefines `class'.  Use `typename' instead.
4186
4187 2001-01-28  Martin Buchholz  <martin@xemacs.org>
4188
4189         * dumper.c: Fix C++ compile errors.
4190
4191 2001-01-29  Martin Buchholz  <martin@xemacs.org>
4192
4193         * tparam.c: Use correct prototypes.
4194
4195 2001-01-28  Martin Buchholz  <martin@xemacs.org>
4196
4197         * sysproc.h: #include util.h for NetBSD's openpty.
4198
4199 2001-01-27  Martin Buchholz  <martin@xemacs.org>
4200
4201         More 64-bit correctness.
4202         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
4203         Use a typedef `fixnum' for the type used for DEFVAR_INT.
4204         Fix up comments.
4205         This finally finishes the 64-bit SGI port.
4206         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
4207         * symbols.c: Fix up comments and type casts.
4208         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
4209         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
4210         * symeval.h (Fixnum): New type.
4211         * symeval.h (symbol_value_type): Fix up comment.
4212
4213         * commands.h:
4214         * nt.c:
4215         * emacs.c:
4216         * data.c:
4217         * redisplay.c:
4218         * abbrev.c:
4219         * dired-msw.c:
4220         * event-Xt.c:
4221         * eldap.c:
4222         * window.c:
4223         * sound.c:
4224         * event-stream.c:
4225         * eval.c:
4226         * buffer.c:
4227         * mule-canna.c: A million DEFVAR_INTs here...
4228         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
4229         * extents.c:
4230         * cmdloop.c:
4231         * lisp.h:
4232         * select-x.c:
4233         * console-x.h:
4234         * event-msw.c:
4235         * mule-wnnfns.c:
4236         * hpplay.c:
4237         * ralloc.c:
4238         * alloc.c:
4239         * keymap.c:
4240         * profile.c:
4241         s/int/Fixnum/g in DEFVAR_INT declarations.
4242
4243 2001-01-26  Martin Buchholz  <martin@xemacs.org>
4244
4245         Port pdump to SGI alignment-sensitive environment.
4246         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
4247         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
4248         properly aligned.
4249         Define and use aligned reading and writing macros.
4250         Use buffered stdio instead of posix i/o for faster dumping.
4251         Eliminate kludgy 256 byte space for header.
4252         Read and write from dump file using structs for alignment safety.
4253         * dumper.c (pdump_align_stream): New.
4254         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
4255         * dumper.c (PDUMP_READ_ALIGNED): New.
4256         * dumper.c (PDUMP_WRITE_ALIGNED): New.
4257         * dumper.c (pdump_static_Lisp_Object): New struct.
4258         * dumper.c (pdump_static_pointer): New struct.
4259         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
4260         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
4261         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
4262         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
4263
4264         * dumper.c (pdump_backtrace):
4265         * dumper.c (pdump_get_indirect_count):
4266         * dumper.c (pdump_register_object):
4267         * dumper.c (pdump_register_struct):
4268         * dumper.c (pdump_reloc_one):
4269         * dumper.c (pdump_scan_by_alignment):
4270         * dumper.c (pdump_dump_from_root_struct_ptrs):
4271         * dumper.c (pdump_dump_opaques):
4272         * dumper.c (pdump_dump_rtables):
4273         * dumper.c (pdump_dump_from_root_objects):
4274         * dumper.c (pdump):
4275         * dumper.c (pdump_load_finish):
4276         Use aligned reading and writing.
4277
4278         * dumper.c (pdump_free): Make static.
4279         * dumper.c (pdump_hFile): Likewise.
4280         * dumper.c (pdump_hMap): Likewise.
4281
4282 2001-01-26  Martin Buchholz <martin@xemacs.org>
4283
4284         * XEmacs 21.2.43 "Terspichore" is released.
4285
4286 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4287
4288         Type fiddling for window_config.saved_windows_count
4289         * window.c (struct window_config): 
4290         Make saved_windows_count member unsigned.
4291         * window.c (sizeof_window_config_for_n_windows): 
4292         Make parameter unsigned.
4293         * window.c (mark_window_config):
4294         * window.c (window_config_equal):
4295         * window.c (free_window_configuration):
4296         * window.c (Fset_window_configuration):
4297         * window.c (count_windows):
4298         * window.c (Fcurrent_window_configuration):
4299         * window.c (reinit_vars_of_window):
4300         Update all callers and users.
4301
4302 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4303
4304         Alignment correctness for flexible arrays.
4305         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
4306         Make alignment-correct. Add interesting comments.
4307         * alloc.c (size_vector):
4308         * alloc.c (make_vector_internal):
4309         * alloc.c (make_bit_vector_internal):
4310         * alloc.c (sweep_bit_vectors_1):
4311         * fns.c (size_bit_vector):
4312         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
4313         * window.c (sizeof_window_config_for_n_windows): 
4314         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
4315
4316 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4317
4318         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
4319
4320 2001-01-23  Andy Piper  <andy@xemacs.org>
4321
4322         * select.c (Fown_selection_internal): pass owned_p
4323
4324         * select-msw.c (mswindows_own_selection): New Signature.
4325
4326         * console.h (struct console_methods): add owned_p to
4327         _own_selection.
4328
4329         * select-x.c (x_own_selection): pass owned_p
4330         (hack_motif_clipboard_selection): use owned_p
4331         (vars_of_select_x): new variable -
4332         x_selection_strict_motif_ownership.
4333
4334 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4335
4336         * specifier.h (specifier_data_offset): Remove pointless parens.
4337         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
4338
4339 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4340
4341         Make Lisp_Object sizeof methods be alignment-correct.
4342         pdump must restore objects to the same alignment as the C compiler
4343         assumes.  It really matters on SGIs.
4344         * lstream.c (aligned_sizeof_lstream): New.
4345         (sizeof_lstream): Use aligned_sizeof_lstream.
4346         (Lstream_new): Likewise.
4347         * opaque.c (aligned_sizeof_opaque): New.
4348         (sizeof_opaque): Use aligned_sizeof_opaque.
4349         (make_opaque): Likewise.
4350         * specifier.c (aligned_sizeof_specifier): New.
4351         (sizeof_specifier): Use aligned_sizeof_specifier.
4352         (make_specifier_internal): Likewise.
4353
4354 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4355
4356         * lstream.h (struct lstream): Use max_align_t for trailing data.
4357         * specifier.h (struct Lisp_Specifier): Likewise.
4358
4359 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4360
4361         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
4362         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
4363         (CCL_SUSPEND): Likewise.
4364         (CCL_INVALID_CMD): Likewise.
4365         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
4366         (ccl_driver): Likewise.
4367         (CCL_WRITE_CHAR): Macro hygiene.
4368         (CCL_WRITE_STRING): Macro hygiene.
4369
4370 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4371
4372         Port "portable" dumper to SunOS 4 and HP-UX.
4373         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
4374         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
4375         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
4376
4377 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4378
4379         * lisp.h (ALIGNOF): A better definition for C++.
4380
4381 2001-01-20  Martin Buchholz  <martin@xemacs.org>
4382
4383         Macro hygiene.
4384         Fix printf warnings: int format, long int arg.
4385         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
4386         (PUSH_FAILURE_POINT): Use correct printf formats.
4387         (POP_FAILURE_POINT): Use correct printf formats.  
4388         Use do {...} while (0)
4389
4390 2001-01-20  Martin Buchholz <martin@xemacs.org>
4391
4392         * XEmacs 21.2.42 "Poseidon" is released.
4393
4394 2001-01-20  Martin Buchholz  <martin@xemacs.org>
4395
4396         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
4397
4398 2001-01-19  Martin Buchholz  <martin@xemacs.org>
4399
4400         De-kludgify FIXED_TYPE free list frobbing.
4401         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
4402         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
4403         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
4404         * alloc.c (Lisp_Free): New pseudo lisp object definition.
4405         * alloc.c (LRECORD_FREE_P): New.
4406         * alloc.c (MARK_LRECORD_AS_FREE): New.
4407         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
4408         * alloc.c (STRUCT_FREE_P): Deleted.
4409         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
4410         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
4411         * alloc.c (STRING_CHARS_FREE_P): New.
4412         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
4413         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
4414         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
4415         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
4416         * alloc.c (resize_string): Use new definitions.
4417         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
4418         * alloc.c (verify_string_chars_integrity): Use new definitions.
4419         * alloc.c (compact_string_chars): Use new definitions.
4420         * alloc.c: Update monster comments.
4421         * lrecord.h (lrecord_type): Add some new lrecord types for
4422         alloc.c's use.
4423
4424 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4425
4426         Improve alignment hackery.
4427         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
4428         (max_align_t): Moved from opaque.h - general purpose.
4429         (ALIGN_PTR): Use size_t, not long.
4430         * opaque.h (max_align_t): Move to lisp.h.
4431
4432 2001-01-18  Norbert Koch  <nk@LF.net>
4433
4434         * gui.h: Fix and add prototypes to fix build problems.
4435
4436 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4437
4438         temacs is going away, so `dump-temacs' is now a bad name.
4439         * .dbxrc (dump-temacs): Rename to `dmp'.
4440         * .gdbinit (dump-temacs): Rename to `dmp'.
4441
4442 2001-01-17  Andy Piper  <andy@xemacs.org>
4443
4444         * glyphs.c (print_image_instance): comment to make martin happy.
4445
4446         * glyphs-x.c (x_redisplay_widget): update faces after a frame
4447         change.
4448
4449         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
4450         activation.
4451         (mswindows_tab_control_redisplay): warning suppression.
4452
4453         * glyphs-widget.c (widget_update): re-write to cope with updated
4454         items.
4455         (widget_instantiate): use new gui_item functions.
4456         (tab_control_update): deleted.
4457         (progress_gauge_update): deleted.
4458         (image_instantiator_progress_guage): take out update reference.
4459         (image_instantiator_tree_view): ditto.
4460         (image_instantiator_tab_control): ditto.
4461
4462         * gui.c (widget_gui_parse_item_keywords): new function. Do things
4463         Right the new way.
4464         (gui_item_add_keyval_pair): re-write to cope with descriptors and
4465         return whether anything was changed.
4466         (update_gui_item_keywords): as it sounds.
4467
4468         * gui.h: declare widget_gui_parse_item_keywords.
4469
4470         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
4471         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
4472
4473 2001-01-17  Martin Buchholz <martin@xemacs.org>
4474
4475         * XEmacs 21.2.41 "Polyhymnia" is released.
4476
4477 2001-01-16  Didier Verna  <didier@xemacs.org>
4478
4479         * glyphs.c (image_instantiate): don't use fallbacks when
4480         instantiating a face's background pixmap by inheritance.
4481
4482 2001-01-14  Mike Sperber <mike@xemacs.org>
4483
4484         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
4485         Conditionalize accordingly.
4486
4487 2001-01-16  Martin Buchholz  <martin@xemacs.org>
4488
4489         * dumper.c (pdump_file_get): Fix a compiler warning.
4490
4491 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4492
4493         Make Purify happy when pdumping.
4494         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
4495         iniitalizing all bits of new lisp object memory.
4496         * symbols.c (Fmake_local_variable): Likewise.
4497         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
4498         * symbols.c (Fdefvaralias): Likewise.
4499         * mule-charset.c (vars_of_mule_charset): Likewise.
4500
4501 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4502         Add the `-nd' flag when running pre-dump operations under the debugger.
4503         * .dbxrc (run-temacs): Add `-nd'.
4504         * .dbxrc (update-elc): Likewise.
4505         * .dbxrc (dump-temacs): Likewise.
4506         * .gdbinit (run-temacs): Likewise.
4507         * .gdbinit (check-temacs): Likewise.
4508         * .gdbinit (update-elc): Likewise.
4509         * .gdbinit (dump-temacs): Likewise.
4510
4511 2001-01-14  Martin Buchholz  <martin@xemacs.org>
4512
4513         Allow building 64-bit executables on AIX with GNU malloc, e.g.
4514         export OBJECT_MODE=64
4515         configure --pdump --use-union-type=no
4516         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
4517         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
4518
4519         * miscplay.c (sndcnv8U_2mono):
4520         Avoid two uses of `++' in the same expression.
4521         Suppresses a GCC warning.
4522
4523 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4524
4525         Make sure future compilers don't miscompile alloc.c.
4526         * alloc.c:
4527         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
4528         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
4529
4530 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4531
4532         * dumper.c: A little post-pdump-rename comment fixup.
4533
4534 2001-01-09  Jerry James  <james@eecs.ku.edu>
4535
4536         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
4537
4538 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4539
4540         * *.[ch]: Globally rename symbols using the following `pdump-rename'
4541         script:
4542         #!/bin/sh
4543         replace_symbol () {
4544           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
4545         }
4546
4547         replace_symbol pdump_wire_lists pdump_weak_object_chains
4548         replace_symbol pdump_wire_list dump_add_weak_object_chain
4549
4550         replace_symbol pdump_wires pdump_root_objects
4551         replace_symbol pdump_wire dump_add_root_object
4552
4553         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
4554         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
4555
4556         replace_symbol dumpstructinfos pdump_root_struct_ptrs
4557         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
4558         replace_symbol dumpstructinfo pdump_root_struct_ptr
4559         replace_symbol dumpstruct dump_add_root_struct_ptr
4560
4561         replace_symbol dumpopaque dump_add_opaque
4562         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
4563         replace_symbol dumpopaqueinfos pdump_opaques
4564         replace_symbol dumpopaqueinfo pdump_opaque
4565
4566         replace_symbol nb_structdump nb_root_struct_ptrs
4567         replace_symbol nb_opaquedump nb_opaques
4568
4569         replace_symbol align_table pdump_align_table
4570         replace_symbol dump_header pdump_header
4571
4572         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
4573         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
4574
4575
4576 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4577
4578         * s/aix4.h: Keep the C for AIX compiler from overaggressively
4579         optimizing bytecount_to_charcount().
4580
4581 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4582
4583         * config.h.in:
4584         (HAVE_DLFCN_H): Removed.
4585         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
4586
4587 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4588
4589         Portable dumper maintainability improvements.
4590         * alloc.c (staticpro):
4591         * alloc.c (staticpro_nodump):
4592         * alloc.c (garbage_collect_1):
4593         * alloc.c (reinit_alloc_once_early):
4594         * alloc.c (init_alloc_once_early):
4595         * alloc.c: Move dumper functions to alloc.c.
4596         * dumper.c (pdump_backtrace):
4597         * dumper.c (pdump_dump_structs):
4598         * dumper.c (pdump_dump_opaques):
4599         * dumper.c (pdump_dump_rtables):
4600         * dumper.c (pdump_dump_wired):
4601         * dumper.c (pdump):
4602         * dumper.c (pdump_load_check):
4603         * dumper.c (pdump_load_finish):
4604         * dumper.c (pdump_file_unmap):
4605         * dumper.c (pdump_file_get):
4606         * dumper.c (pdump_resource_free):
4607         * dumper.c (pdump_resource_get):
4608         * dumper.c (pdump_file_free):
4609         * dumper.c (pdump_file_try):
4610         * dumper.c (pdump_load):
4611         Remove fixed size limits on staticpro(), staticpro_nodump(),
4612         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
4613         Remove custom code for dumping lrecord_implementations_table - use
4614         dumpopaque instead.
4615         Remove (most of the) custom code for dumping staticpros - dump it
4616         like any other dynarr.
4617
4618         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
4619         * dumper.c: Moved functions from alloc.c.
4620         * alloc.c (dumpstruct): Moved to dumper.c.
4621         * alloc.c (dumpopaque): Likewise.
4622         * alloc.c (pdump_wire): Likewise.
4623         * alloc.c (pdump_wire_list): Likewise.
4624
4625         * lisp.h (Dynarr_sizeof): New.
4626         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
4627         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
4628         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
4629
4630         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
4631         * lisp.h (dumpopaque): ditto.
4632         * lisp.h (pdump_wire): ditto.
4633         * lisp.h (pdump_wire_list): ditto.
4634
4635 2001-01-09  Martin Buchholz  <martin@xemacs.org>
4636
4637         * make-src-depend (PrintPatternDeps):
4638         Use `sort' to make output independent of perl version.
4639
4640 2001-01-08  Martin Buchholz  <martin@xemacs.org>
4641
4642         Port to Netbsd 1.5.
4643         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
4644         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
4645
4646 2001-01-03  Didier Verna  <didier@xemacs.org>
4647
4648         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
4649         that `focus_frame' is alive before thinking of calling
4650         `redisplay_redraw_cursor' on it.
4651
4652 2001-01-08  Martin Buchholz <martin@xemacs.org>
4653
4654         * XEmacs 21.2.40 is released.
4655
4656 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4657
4658         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
4659
4660 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4661
4662         * alloc.c (dbg_valmask): Make const.
4663         * alloc.c (dbg_typemask): Make const.
4664         * alloc.c (dbg_USE_UNION_TYPE): Make const.
4665         * alloc.c (dbg_valbits): Make const.
4666         * alloc.c (dbg_gctypebits): Make const.
4667
4668 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
4669
4670         * redisplay-x.c (x_bevel_area):
4671         redisplay.h (struct rune):
4672         Typo fixes in comments.
4673
4674 2001-01-05  Andy Piper  <andy@xemacs.org>
4675
4676         * glyphs-x.c (x_redisplay_widget): use size changed for offset
4677         adjustment.
4678
4679         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
4680
4681 2001-01-05  Martin Buchholz  <martin@xemacs.org>
4682
4683         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
4684
4685         * mule-ccl.c (stack_idx_of_map_multiple):
4686         Non const global data must not be initialized!
4687         Found by MIYASHITA Hisashi.
4688
4689 2001-01-02  Andy Piper  <andy@xemacs.org>
4690
4691         * frame.c (change_frame_size): make sure frame size is always
4692         marked as changed.
4693
4694         * glyphs.c (image_instance_layout): minor code reuse.
4695
4696         * window.c (Fcurrent_window_configuration): revert previous
4697         change.
4698
4699 2001-01-02  Martin Buchholz  <martin@xemacs.org>
4700
4701         * glyphs.h:
4702         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
4703
4704 2000-12-31  Andy Piper  <andy@xemacs.org>
4705
4706         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
4707         when widget gets unmapped.
4708
4709         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
4710         function. Make sure widgets losing focus don't just drop it.
4711         (handle_focus_event_1): record the widget with focus.
4712
4713 2000-12-31  Andy Piper  <andy@xemacs.org>
4714
4715         * window.c (allocate_window): use
4716         make_image_instance_cache_hash_table.
4717         (make_dummy_parent): ditto.
4718         (Fset_window_configuration): ditto.
4719
4720         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
4721
4722         * glyphs.c (process_image_string_instantiator): use
4723         INSTANTIATOR_TYPE.
4724         (get_image_instantiator_governing_domain): ditto.
4725         (normalize_image_instantiator): ditto.
4726         (instantiate_image_instantiator): ditto.
4727         (make_image_instance_1): ditto.
4728         (image_instantiate): ditto. Key on glyph *and* instantiator type.
4729         (instantiator_eq_equal): new function for use with instance hash
4730         tables.
4731         (instantiator_eq_hash): ditto.
4732         (make_image_instance_cache_hash_table): create a suitable hash
4733         table for storing image instances.
4734
4735         * elhash.h (hash_table_weakness): new internal weakness type
4736         HASH_TABLE_KEY_CAR_VALUE_WEAK.
4737         declare new functions.
4738
4739         * elhash.c (finish_marking_weak_hash_tables): introduce yet
4740         another weakness type for glyphs.
4741         (make_standard_lisp_hash_table): new function split out from
4742         make_general_lisp_hash_table.
4743         (make_lisp_hash_table): call make_standard_lisp_hash_table.
4744         (hash_table_instantiate): ditto.
4745         (Fmake_hash_table): ditto.
4746
4747 2000-12-31  Martin Buchholz <martin@xemacs.org>
4748
4749         * XEmacs 21.2.39 is released.
4750
4751 2000-12-29  Andy Piper  <andy@xemacs.org>
4752
4753         * menubar.c (menubar_visible_p_changed): signal the frame changed.
4754
4755         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
4756         the frame has changed so that we pick up geometry changes such as
4757         menubar visibility.
4758
4759 2000-12-28  Andy Piper  <andy@xemacs.org>
4760
4761         * lastfile.c (my_ebss): make a char array so we can pad the
4762         bss. Fixes cygwin unexec.
4763
4764         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
4765
4766 2000-12-26  Andy Piper  <andy@xemacs.org>
4767
4768         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
4769         comments and try and be more precise about a non-/SIGIO world.
4770         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
4771         SIGIO.
4772
4773         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
4774         we don't normalize to zero width or height.
4775
4776 2000-12-24  Andy Piper  <andy@xemacs.org>
4777
4778         * Makefile.in.in (ldflags): add -mwindows when appropriate.
4779
4780 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
4781
4782         * s/sco5.h: SCO 5 has pty support.
4783
4784 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
4785
4786         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
4787         input-method-xlib.c contains whole contents of input-method-xfs.c,
4788         so we can use input-method-xlib.c's code for USE_XFONTSET
4789         using #ifdefs.
4790         * input-method-xfs.c: removed.
4791
4792 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
4793
4794         * file-coding.h (enum coding_category_type): reorder enumerators to
4795         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
4796         (now one greater than largest real coding_category_type enumerator).
4797         * file-coding.c (coding_category_symbol, coding_category_by_priority,
4798         coding_category_system, fcd_descriptihon_1, decode_coding_category,
4799         Fcoding_category_list, Fset_coding_priority_list,
4800         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
4801         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
4802
4803 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4804
4805         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
4806         * redisplay-output.c (redisplay_output_window): Clear top of window
4807         when face is changed.
4808         * redisplay-x.c (x_redraw_exposed_window): Call
4809         redisplay_clear_top_of_window.
4810         * redisplay.h: Publish redisplay_clear_top_of_window.
4811
4812 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4813
4814         * buffer.c (Fkill_buffer): Map over all devices.
4815         * window.c (window_loop): Remove UNSHOW_BUFFER code.
4816         (list_windows): New function.
4817         (list_all_windows): Ditto.
4818         (Freplace_buffer_in_windows): Use them.
4819
4820 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4821
4822         * database.c (berkdb_subtype): Recognize new subtype `queue'.
4823         (Fopen_database): Use `db_create' instead of `db_open'.
4824         (syms_of_database): Initialize Qqueue.
4825
4826 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4827
4828         * buffer.c (common_init_complex_vars_of_buffer): Initialize
4829         buffer_local_face_property.
4830         * buffer.h (struct buffer): New member buffer_local_face_property.
4831         * window.c (Fset_window_buffer):  Mark window's face as changed
4832         when buffer has buffer local face.
4833         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
4834         * objects.c (color_after_change): Set buffer_local_face_property
4835         when locale of face specifier is buffer.
4836         * objects.c (font_after_change): Ditto.
4837         * objects.c (face_boolean_after_change): Ditto.
4838         * glyphs.c (image_after_change): Ditto.
4839
4840 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4841
4842         * nt.c (mswindows_fstat): Report file permissions, volume serial
4843         number, etc. Code adapted from FSF Emacs 20.7.
4844
4845 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4846
4847         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
4848         of stat when we don't have symbolic links, to make sure
4849         mswindows_stat is called on mswindows.
4850
4851 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
4852
4853         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
4854
4855 2000-12-12  Martin Buchholz  <martin@xemacs.org>
4856
4857         * doprnt.c (emacs_doprnt_1): More printing fixes.
4858         Make printing of numbers compatible with libc and FSF Emacs.
4859         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
4860         Use the system printf to do most of the hard work of formatting,
4861         instead of doprnt_1().
4862         Calculate memory to allocate for format string.
4863         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
4864         (doprnt_1): Cleaner code and documentation.
4865
4866 2000-12-01  Jerry James  <james@eecs.ukans.edu>
4867
4868         * Makefile.in.in: Use the loop variable to install headers.
4869
4870 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4871
4872         * window.c (Fsplit_window): Don't invalidate face cache.
4873
4874 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4875
4876         * minibuf.c (Fall_completions): Undo the previous change
4877         which removed checking elements start with space.
4878
4879 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4880
4881         * mule-canna.c: Didier suppression.
4882
4883 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4884
4885         * mule-canna.c: rename static unsigned char buf[] to key_buffer
4886         (warning suppression).  Add English comment translations.
4887
4888 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4889
4890         * unexelfsgi.c (unexec): Better test for mmap failure.
4891
4892 2000-12-05  Martin Buchholz <martin@xemacs.org>
4893
4894         * XEmacs 21.2.38 is released.
4895
4896 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4897
4898         * redisplay.c (bar-cursor): Make a user variable.
4899
4900         * symsinit.h: Add init_postgresql_from_environment.
4901
4902 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4903
4904         * regex.c: Convert to clean C.
4905
4906 2000-12-05  Dan Holmsand  <dan@eyebee.com>
4907
4908         * realpath.c:
4909         Don't #include sysfile.h. Revert to duplicating PATH_MAX
4910         initialization.
4911         (sys_readlink): renamed to system_readlink to avoid conflict with
4912         the other sys_readlink.
4913
4914 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
4915
4916         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
4917
4918 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
4919
4920         * postgresql.c (init_postgresql_from_environment): new function.
4921         (vars_of_postgresql): Move code initializing Lisp variables out and
4922         into init_postgresql_from_environment.
4923         emacs.c (main_1): Call init_postgresql_from_environment if and only
4924         if running a dumped XEmacs.
4925
4926 2000-08-31  Dan Holmsand  <dan@eyebee.com>
4927
4928         * buffer.c: Make find-file-compare-truenames default to true on
4929         windows.
4930
4931         * realpath.c (win32_abs_start):
4932         (cygwin_readlink):
4933         (win32_readlink): New functions.
4934         (xrealpath): Return really real filenames on windows.
4935
4936         * fileio.c (Ffile_truename): Make file-truename work on windows.
4937
4938 2000-11-29  Didier Verna  <didier@xemacs.org>
4939
4940         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
4941         * faces.c (update_face_cachel_data): use it.
4942         * faces.c (add_face_cachel): use it. Complete background pixmap
4943         frobbing in face cache if `update_face_cachel_data' has not done so.
4944
4945 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
4946
4947         * search.c (string_match_1): Don't set last_thing_searched
4948         when search failed.
4949
4950 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
4951
4952         * buffer.c: Include casetab.h
4953         (common_init_complex_vars_of_buffer): Use new case-table object.
4954         * buffer.h: Include casetab.h
4955         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
4956         (DOWNCASE_TABLE_OF): Ditto.
4957         * bufslots.h: Remove char-tables and add case-table.
4958         * casetab.c: Include casetab.h
4959         (CASE_TABLE_P): Removed.
4960         (mark_case_table): New function.
4961         (allocate_case_table): New function.
4962         (Fcase_table_p): Use new case-table.
4963         (case_table_char): New function.
4964         (Fget_case_table): Ditto.
4965         (Fput_case_table): Ditto.
4966         (Fput_case_table_pair): Ditto.
4967         (Fcopy_case_table): Ditto.
4968         (Fcurrent_case_table): Return case-table.
4969         (Fstandard_case_table): Return case-table.
4970         (Fset_case_table): Fix doc-string.
4971         (set_case_table): Use case-table
4972         (syms_of_casetab): DEFSUBR new functions.
4973         (complex_vars_of_casetab): Set up standard case-table.
4974         * casetab.h: New file.
4975         * editfns.c: Include casetab.h
4976         (Fcompare_buffer_substrings): Use case-table.
4977         * inline.c: Include casetab.h
4978         * lisp.h: Remove bogus extern.
4979         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
4980         * search.c: Include casetab.h
4981         (TRANSLATE_ASCII): Removed.
4982         (TRANSLATE): Unconditionally translate character.
4983         (looking_at_1): Use case-table.
4984         (string_match_1): Ditto.
4985         (fast_string_match): Ditto.
4986         (search_command): Ditto.
4987         (search_buffer): Separate boyer_moore.  Check whether
4988         boyer_moore is possible.
4989         (simple_search): New function.
4990         (boyer_moore): Separated from search_buffer. Translate char.
4991
4992 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
4993
4994         * regex.c (RE_TR_ASCII): Removed.
4995         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
4996         (PATFETCH): Call PATFETCH_RAW.
4997         (PATFETCH_RAW): Fetch Emchar.
4998         (PATUNFETCH): Decrement charptr.
4999         (GET_BUFFER_SPACE): Rename b to buf_end.
5000         (BUF_PUSH): Ditto.
5001         (BUF_PUSH_2): Ditto.
5002         (BUF_PUSH_3): Ditto.
5003         (EXTEND_BUFFER): Ditto.
5004         (SET_LIST_BIT): Ditto.
5005         (regex_compile): Ditto.  Translate non ASCII char.
5006         (compile_range): Ditto.
5007         (re_search_2): Ditto.
5008         (re_match_2_internal): Compare Emchar.
5009         (bcmp_translate): Ditto.
5010
5011 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
5012
5013         * lisp.h (basic char/int typedefs):  comment improvement.
5014
5015 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
5016
5017         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
5018         unstomp inhibit_site_lisp.  Improve comments.
5019
5020 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
5021
5022         * mule-charset.c (Fcharset_property):  improve type checking, comments.
5023
5024 2000-11-28  Andy Piper  <andy@xemacs.org>
5025
5026         * redisplay-output.c (redisplay_output_subwindow): make sure we do
5027         clipped display for windows in the gutter also.
5028         (redisplay_display_boxes_in_window_p): change semantics of return
5029         codes to be more intuitive.
5030
5031         * gutter.h: declare display_boxes_in_gutter_p.
5032
5033         * gutter.c (display_boxes_in_gutter_p): new function for
5034         redisplay.
5035
5036 2000-11-22  Andy Piper  <andy@xemacs.org>
5037
5038         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
5039         autodetect domain.
5040
5041 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
5042
5043         * callproc.c (Fold_call_process_internal):
5044         * gpm.c (Freceive_gpm_event):
5045         (tty_get_foreign_selection): Might be just warning supression.
5046         * fileio.c (Fwrite_region_internal):
5047         (Fset_visited_file_modtime):
5048         * keymap.c (event_matches_key_specifier_p):
5049         Initialize GCPROed variable.
5050
5051         * menubar-x.c (command_builder_find_menu_accelerator):
5052         Initialize before use.
5053
5054 2000-11-23  Andy Piper  <andy@xemacs.org>
5055
5056         * unexcw.c (unexec): make the resulting executable executable.
5057
5058 2000-11-21  Martin Buchholz  <martin@xemacs.org>
5059
5060         * doc.c (get_doc_string):
5061         Use size_t, not int, for result of XSTRING_LENGTH.
5062
5063         * cmds.c (Fdelete_char):
5064         * cmds.c (Fpoint_at_eol):
5065         * cmds.c (Fself_insert_command):
5066         Use EMACS_INT, not int, for result of XINT.
5067         Someday, someone will want to insert more than 2**31 identical characters.
5068
5069         * cmds.c (Fdelete_char):
5070         * cmds.c (Fdelete_backward_char):
5071         * syntax.c (Fforward_word):
5072         * syntax.c (Fforward_comment):
5073         Make COUNT argument optional, for consistency with forward-char et al.
5074
5075 2000-11-22  Martin Buchholz  <martin@xemacs.org>
5076
5077         * lisp.h:
5078         * print.c (long_to_string):
5079         Return a useful value: the pointer at end of data written.
5080
5081         * doprnt.c:
5082         Use `static const char * const' for constant strings.
5083         (union printf_arg): Delete `i', `ui' members.
5084         (get_doprnt_args):
5085         (emacs_doprnt_1):
5086         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
5087         Do all printf-ing via the `l' specifier.
5088         Use EMACS_INT instead of int.
5089         Optimize.
5090
5091 2000-11-20  Didier Verna  <didier@xemacs.org>
5092
5093         * faces.c (update_face_cachel_data): don't frob the background
5094         pixmap when the window is being created. The face is needed but
5095         does not exist yet.
5096
5097 2000-11-20  Andy Piper  <andy@xemacs.org>
5098
5099         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
5100         messing with a debug environment.
5101
5102 2000-11-20  Martin Buchholz  <martin@xemacs.org>
5103
5104         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
5105
5106 2000-11-20  Martin Buchholz  <martin@xemacs.org>
5107
5108         * casetab.c (Fcase_table_p): Fix compile error and crash.
5109
5110 2000-11-18  Philip Aston  <philipa@mail.com>
5111
5112         * s/cygwin32.h: Cygwin has SVR4-like pty support.
5113
5114 2000-11-18  Martin Buchholz  <martin@xemacs.org>
5115
5116         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
5117         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
5118
5119 2000-11-17  Martin Buchholz  <martin@xemacs.org>
5120
5121         * config.h.in: Define HAVE_ELF_H if elf.h exists.
5122         * unexelf.c: Use HAVE_ELF_H.
5123         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
5124         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
5125         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
5126         Greg Harrington <greg_harrington@hotmail.com> provided a machine
5127         for testing.
5128         So this is an unexelfsgi.c from a different line of development.
5129
5130 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
5131
5132         * regex.c (RE_TR_ASCII): New function.
5133         (RE_TRANSLATE): Call it.
5134
5135 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
5136
5137         * buffer.h (TRT_TABLE_OF): Remove assert.
5138         (IN_TRT_TABLE_DOMAIN): Removed.
5139
5140 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5141
5142         * free-hook.c (log_gcpro):
5143         (show_gcprohist): Add support for GCPRO5.
5144
5145 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
5146
5147         * emacs.c (main_1): Improve -sd error message when --pdump=no.
5148
5149 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
5150
5151         * symeval.h: Declare flush_all_buffer_local_cache.
5152
5153         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
5154         (flush_buffer_local_cache): Added.
5155         (flush_all_buffer_local_cache): Added.
5156
5157         * lrecord.h: Remove unused XD_LO_RESET_NIL.
5158
5159         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
5160         (pdump_dump_data): Ditto.
5161         (pdump_reloc_one): Ditto.
5162         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
5163         before dumping.
5164
5165
5166 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
5167
5168         * buffer.c: Remove if 0'ed entry.
5169         * buffer.h: Rewrite TRT to use char-table.
5170         * bufslots.h: Remove mirror tables.
5171         * casetab.c: Remove mirror tables.
5172         (CASE_TABLE_P): New macro.
5173         (Fcase_table_p): Element of a case table is string or char-table.
5174         (make_mirror_trt_table): Removed.
5175         (set_case_table): Setup char-table from strings for backward
5176         compatibility.
5177         * dired.c (Fdirectory_files):
5178         * dired-msw.c: (mswindows_get_files):
5179         * lisp.h: Change prototype of re_pattern_buffer.
5180         * regex.c: (RE_TRANSLATE): New macro.
5181         (TRANSLATE_P): Ditto.
5182         Change translate to type RE_TRANSLATE_TYPE.
5183         * regex.h: Define RE_TRANSLATE_TYPE
5184         * search.c (TRANSLATE): New macro.
5185         (TRANSLATE_ASCII): New macro.
5186         Translate table is changed to Lisp_Object.
5187         (signal_failure): Inhibit return.
5188
5189 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
5190
5191         * device-msw.c:
5192         * eldap.c:
5193         * event-Xt.c:
5194         * event-stream.c:
5195         * print.c:
5196         Do UNGCPRO before return.
5197
5198 2000-11-14  Martin Buchholz <martin@xemacs.org>
5199
5200         * XEmacs 21.2.37 is released.
5201
5202 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
5203
5204         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
5205         Add comments about discarded return value.
5206
5207 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
5208
5209         * callint.c:
5210         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
5211
5212 2000-10-27  Andy Piper  <andy@xemacs.org>
5213
5214         * gutter.c (Fset_default_gutter_position): default left and right
5215         gutters to visible.
5216         (calculate_gutter_size): calculate resonable heuristic for left
5217         and right gutter sizes.
5218         (specifier_vars_of_gutter): change left and right gutter sizes to
5219         autodetect.
5220         (calculate_gutter_size_from_display_lines): new function.
5221         (output_gutter): check for resizing on left and right gutters.
5222         (clear_gutter): don't special case top and left gutters.
5223         (specifier_vars_of_gutter): use new signature for
5224         set_specifier_caching.
5225
5226         * glyphs-x.c (x_redisplay_widget): spelling fix.
5227         * glyphs.c (specifier_vars_of_glyphs):
5228         * menubar.c (specifier_vars_of_menubar):
5229         * redisplay.c (specifier_vars_of_redisplay):
5230         * toolbar.c (specifier_vars_of_toolbar):
5231         * window.c (specifier_vars_of_window):
5232         * scrollbar.c (specifier_vars_of_scrollbar):
5233         (complex_vars_of_scrollbar): use new signature for
5234         set_specifier_caching.
5235
5236         * specifier.c (set_specifier_caching): include recompute flag.
5237         (recompute_one_cached_specifier_in_window): always recompute if
5238         flag set.
5239         (recompute_one_cached_specifier_in_frame): ditto.
5240
5241         * specifier.h (struct specifier_caching): add recompute flag.
5242
5243 2000-10-24  Andy Piper  <andy@xemacs.org>
5244
5245         * unexcw.c (copy_executable_and_dump_data_section): add new
5246         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
5247         5.0 happy.
5248
5249 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5250
5251         * console-x.h (x_device): New member modifier_release_time.
5252         * event-Xt.c (x_handle_sticky_modifiers):
5253         Bound interval modifier keys are sticky.
5254         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
5255         * events.h: extern it.
5256
5257 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5258
5259         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
5260
5261 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5262
5263         * event-stream.c (execute_command_event): Preserve current_events
5264         and the like when event is misc-user-event.
5265         Inhibit quit during the call to maybe_echo_keys.
5266
5267 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5268
5269         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
5270         symlink when buffer is killed.
5271         (inhibit_clash_detection): New variable.
5272
5273 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5274
5275         * console.c (Fset_input_method): Trigger redisplay on tty.
5276
5277 2000-11-07  Martin Buchholz  <martin@xemacs.org>
5278
5279         * process.c (Fprocess_status): Revert to previous behavior:
5280         (process-status "nosuchprocess") ==> nil
5281
5282 2000-11-06  Martin Buchholz  <martin@xemacs.org>
5283
5284         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
5285         Work around another GCC 2.95.2 optimizer bug.
5286
5287 2000-11-02  Martin Buchholz  <martin@xemacs.org>
5288
5289         * process.c (Fget_process): Use LIST_LOOP_2.
5290         (kill_buffer_processes): Use LIST_LOOP_2.
5291
5292         * minibuf.c (Fall_completions):
5293         Delete old non-functional code for FSF fourth argument.
5294
5295         * frame.c (frame_matches_frame_spec):
5296         Renamed from `frame_matches_frametype'.  Update all callers.
5297         (device_matches_device_spec):
5298         Renamed from 'device_matches_console_spec'.  Update all callers.
5299
5300         * doc.c (Fsubstitute_command_keys):
5301         Remove buffer overflow crash.  Small code cleanups.
5302
5303         * casetab.c (check_case_table): Simpler code.
5304
5305         * window.c (Freplace_buffer_in_windows):
5306         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
5307         (and similar implementation) as Fdelete_windows_on.
5308         Update all callers.
5309
5310         * alloc.c (Fmake_list):
5311         * alloc.c (make_vector):
5312         * alloc.c (Fmake_vector):
5313         * alloc.c (make_bit_vector):
5314         * alloc.c (Fmake_bit_vector):
5315         * alloc.c (Fbit_vector):
5316         * alloc.c (Fmake_string):
5317         * alloc.c (Fpurecopy):
5318         * alloc.c (Fmemory_limit):
5319         * buffer.c:
5320         * buffer.c (Fget_buffer):
5321         * buffer.c (Fkill_buffer):
5322         * buffer.c (complex_vars_of_buffer):
5323         * bytecode.c (Fcompiled_function_stack_depth):
5324         * callint.c (Fprefix_numeric_value):
5325         * event-stream.c:
5326         * event-stream.c (Fread_key_sequence):
5327         * casetab.c:
5328         * casetab.c (Fcase_table_p):
5329         * casetab.c (check_case_table):
5330         * casetab.c (Fset_case_table):
5331         * casetab.c (Fset_standard_case_table):
5332         * chartab.c:
5333         * chartab.c (Fchar_table_type):
5334         * chartab.c (Freset_char_table):
5335         * chartab.c (Fget_char_table):
5336         * chartab.c (Fget_range_char_table):
5337         * chartab.c (Fput_char_table):
5338         * chartab.c (Fmap_char_table):
5339         * chartab.c (Fcategory_table_p):
5340         * chartab.c (Fcheck_category_at):
5341         * chartab.c (Fchar_in_category_p):
5342         * chartab.c (Fcategory_table):
5343         * chartab.c (Fcopy_category_table):
5344         * chartab.c (Fset_category_table):
5345         * chartab.c (Fcategory_designator_p):
5346         * chartab.c (Fcategory_table_value_p):
5347         * cmds.c (Fdelete_char):
5348         * cmds.c (Fdelete_backward_char):
5349         * cmds.c (Fself_insert_command):
5350         * cmds.c (Fself_insert_internal):
5351         * console.c (Fvalid_console_type_p):
5352         * console.c (Fcdfw_console):
5353         * console.c (Fconsole_type):
5354         * console.c (Fconsole_name):
5355         * console.c (Fconsole_device_list):
5356         * console.c (Fconsole_on_window_system_p):
5357         * data.c:
5358         * data.c (Feq):
5359         * data.c (Fold_eq):
5360         * data.c (Fsubr_interactive):
5361         * data.c (Fchar_to_int):
5362         * data.c (Fint_to_char):
5363         * data.c (Fsetcar):
5364         * data.c (Fsetcdr):
5365         * data.c (Fnumber_to_string):
5366         * data.c (Fstring_to_number):
5367         * data.c (Frem):
5368         * database.c (mark_database):
5369         * database.c (finalize_database):
5370         * database.c (Fdatabase_live_p):
5371         * database.c (Fdatabasep):
5372         * device-x.c (Fx_get_resource):
5373         * device.c (Fdfw_device):
5374         * dired.c:
5375         * dired.c (Ffile_name_completion):
5376         * dired.c (Ffile_name_all_completions):
5377         * dired.c (Fuser_name_completion):
5378         * dired.c (Fuser_name_completion_1):
5379         * dired.c (Fuser_name_all_completions):
5380         * doc.c (Fdocumentation):
5381         * doc.c (Fdocumentation_property):
5382         * doc.c (Fsubstitute_command_keys):
5383         * editfns.c:
5384         * editfns.c (Fchar_to_string):
5385         * editfns.c (Fstring_to_char):
5386         * editfns.c (Ftemp_directory):
5387         * editfns.c (Finsert_char):
5388         * editfns.c (Fbuffer_substring_no_properties):
5389         * editfns.c (Fnarrow_to_region):
5390         * editfns.c (Fchar_equal):
5391         * editfns.c (Fchar_Equal):
5392         * editfns.c (Ftranspose_regions):
5393         * emacs.c (Fdump_emacs):
5394         * eval.c (Fthrow):
5395         * eval.c (Fcommand_execute):
5396         * eval.c (Fautoload):
5397         * eval.c (Fbacktrace):
5398         * eval.c (Fbacktrace_frame):
5399         * events.c:
5400         * events.c (Fcopy_event):
5401         * events.c (Fcharacter_to_event):
5402         * events.c (Fevent_button):
5403         * events.c (Fevent_process):
5404         * extents.c:
5405         * extents.c (Fnext_extent_change):
5406         * extents.c (Fextent_property):
5407         * faces.c (Ffacep):
5408         * faces.c (Fmake_face):
5409         * file-coding.c:
5410         * file-coding.c (Fencode_shift_jis_char):
5411         * file-coding.c (Fencode_big5_char):
5412         * fileio.c (Ffile_name_directory):
5413         * fileio.c (Ffile_name_nondirectory):
5414         * fileio.c (Ffile_name_as_directory):
5415         * fileio.c (Fdirectory_file_name):
5416         * fileio.c (Ffile_truename):
5417         * fileio.c (Fsubstitute_in_file_name):
5418         * fileio.c (Ffile_modes):
5419         * fileio.c (Fset_file_modes):
5420         * fileio.c (Fset_default_file_modes):
5421         * fileio.c (Fverify_visited_file_modtime):
5422         * floatfns.c (Facos):
5423         * floatfns.c (Fasin):
5424         * floatfns.c (Fatan):
5425         * floatfns.c (Fcos):
5426         * floatfns.c (Fsin):
5427         * floatfns.c (Ftan):
5428         * floatfns.c (Fbessel_j0):
5429         * floatfns.c (Fbessel_j1):
5430         * floatfns.c (Fbessel_jn):
5431         * floatfns.c (Fbessel_y0):
5432         * floatfns.c (Fbessel_y1):
5433         * floatfns.c (Fbessel_yn):
5434         * floatfns.c (Ferf):
5435         * floatfns.c (Ferfc):
5436         * floatfns.c (Flog_gamma):
5437         * floatfns.c (Fexp):
5438         * floatfns.c (Fexpt):
5439         * floatfns.c (Flog):
5440         * floatfns.c (Flog10):
5441         * floatfns.c (Fsqrt):
5442         * floatfns.c (Fcube_root):
5443         * floatfns.c (Facosh):
5444         * floatfns.c (Fasinh):
5445         * floatfns.c (Fatanh):
5446         * floatfns.c (Fcosh):
5447         * floatfns.c (Fsinh):
5448         * floatfns.c (Ftanh):
5449         * floatfns.c (Fabs):
5450         * floatfns.c (Ffloat):
5451         * floatfns.c (Flogb):
5452         * floatfns.c (Fceiling):
5453         * floatfns.c (Ffloor):
5454         * floatfns.c (Fround):
5455         * floatfns.c (Ftruncate):
5456         * floatfns.c (Ffceiling):
5457         * floatfns.c (Fffloor):
5458         * floatfns.c (Ffround):
5459         * floatfns.c (Fftruncate):
5460         * fns.c (Fstring_equal):
5461         * fns.c (Fstring_lessp):
5462         * fns.c (concat2):
5463         * fns.c (concat3):
5464         * fns.c (vconcat2):
5465         * fns.c (vconcat3):
5466         * fns.c (Fsubstring):
5467         * fns.c (Fassoc):
5468         * fns.c (Fold_assoc):
5469         * fns.c (assoc_no_quit):
5470         * fns.c (Fassq):
5471         * fns.c (Fold_assq):
5472         * fns.c (assq_no_quit):
5473         * fns.c (Frassoc):
5474         * fns.c (Fold_rassoc):
5475         * fns.c (Frassq):
5476         * fns.c (Fold_rassq):
5477         * fns.c (rassq_no_quit):
5478         * fns.c (Fremassoc):
5479         * fns.c (remassoc_no_quit):
5480         * fns.c (Fremassq):
5481         * fns.c (remassq_no_quit):
5482         * fns.c (Fremrassoc):
5483         * fns.c (Fremrassq):
5484         * fns.c (remrassq_no_quit):
5485         * fns.c (Fsort):
5486         * fns.c (Fplist_get):
5487         * fns.c (Fplist_put):
5488         * fns.c (Fplist_remprop):
5489         * fns.c (Fplist_member):
5490         * fns.c (Flax_plist_get):
5491         * fns.c (Flax_plist_put):
5492         * fns.c (Flax_plist_remprop):
5493         * fns.c (Flax_plist_member):
5494         * fns.c (Fequal):
5495         * fns.c (Fold_equal):
5496         * fns.c (Frequire):
5497         * fns.c (Fbase64_encode_region):
5498         * fns.c (Fbase64_encode_string):
5499         * fns.c (Fbase64_decode_region):
5500         * frame.c:
5501         * frame.c (frame_matches_frame_spec):
5502         * frame.c (device_matches_device_spec):
5503         * frame.c (next_frame):
5504         * frame.c (previous_frame):
5505         * frame.c (Fnext_frame):
5506         * frame.c (Fprevious_frame):
5507         * frame.c (Fframe_property):
5508         * frame.c (Fset_frame_height):
5509         * frame.c (Fset_frame_size):
5510         * frame.h:
5511         * glyphs.c:
5512         * glyphs.c (if):
5513         * glyphs.c (decode_error_behavior_flag):
5514         * glyphs.c (Fmake_image_instance):
5515         * indent.c (Findent_to):
5516         * intl.c (Fignore_defer_gettext):
5517         * keymap.c (Fkeymapp):
5518         * keymap.c (Flookup_key):
5519         * lread.c:
5520         * lread.c (Fload_internal):
5521         * lread.c (Feval_buffer):
5522         * lread.c (Feval_region):
5523         * macros.c (Fexecute_kbd_macro):
5524         * marker.c (set_marker_internal):
5525         * marker.c (Fset_marker):
5526         * marker.c (set_marker_restricted):
5527         * marker.c (Fcopy_marker):
5528         * marker.c (noseeum_copy_marker):
5529         * menubar.c:
5530         * menubar.c (Fpopup_menu):
5531         * minibuf.c:
5532         * mule-charset.c (Fcharset_name):
5533         * mule-charset.c (Fchar_charset):
5534         * mule-charset.c (Fchar_octet):
5535         * mule-charset.c (Fsplit_char):
5536         * mule-wnnfns.c (Fwnn_open):
5537         * mule-wnnfns.c (Fwnn_dict_comment):
5538         * mule-wnnfns.c (Fwnn_quit_henkan):
5539         * mule-wnnfns.c (Fwnn_word_toroku):
5540         * mule-wnnfns.c (Fwnn_word_sakujo):
5541         * mule-wnnfns.c (Fwnn_word_use):
5542         * mule-wnnfns.c (Fwnn_hindo_set):
5543         * objects.c:
5544         * objects.c (Fmake_color_instance):
5545         * objects.c (Fmake_font_instance):
5546         * print.c (Fwrite_char):
5547         * process.c:
5548         * process.c (mark_process):
5549         * process.c (print_process):
5550         * process.c (get_process_from_usid):
5551         * process.c (Fprocessp):
5552         * process.c (Fprocess_live_p):
5553         * process.c (Fget_process):
5554         * process.c (Fget_buffer_process):
5555         * process.c (get_process):
5556         * process.c (Fprocess_id):
5557         * process.c (Fprocess_name):
5558         * process.c (Fprocess_command):
5559         * process.c (init_process_io_handles):
5560         * process.c (start_process_unwind):
5561         * process.c (Fstart_process_internal):
5562         * process.c (Fopen_multicast_group_internal):
5563         * process.c (Fset_process_window_size):
5564         * process.c (read_process_output):
5565         * process.c (send_process):
5566         * process.c (Fprocess_tty_name):
5567         * process.c (Fset_process_buffer):
5568         * process.c (Fprocess_buffer):
5569         * process.c (Fprocess_mark):
5570         * process.c (set_process_filter):
5571         * process.c (Fset_process_filter):
5572         * process.c (Fprocess_filter):
5573         * process.c (Fprocess_send_region):
5574         * process.c (Fprocess_send_string):
5575         * process.c (exec_sentinel):
5576         * process.c (Fset_process_sentinel):
5577         * process.c (Fprocess_sentinel):
5578         * process.c (status_notify):
5579         * process.c (Fprocess_status):
5580         * process.c (Fprocess_exit_status):
5581         * process.c (process_send_signal):
5582         * process.c (Fprocess_send_eof):
5583         * process.c (deactivate_process):
5584         * process.c (remove_process):
5585         * process.c (Fdelete_process):
5586         * process.c (kill_buffer_processes):
5587         * process.c (Fprocess_kill_without_query):
5588         * process.c (Fprocess_kill_without_query_p):
5589         * rangetab.c:
5590         * rangetab.c (Fget_range_table):
5591         * rangetab.c (Fput_range_table):
5592         * rangetab.c (Fremove_range_table):
5593         * rangetab.c (Fclear_range_table):
5594         * search.c:
5595         * search.c (Fskip_chars_forward):
5596         * search.c (Fskip_chars_backward):
5597         * search.c (Fskip_syntax_forward):
5598         * search.c (Fskip_syntax_backward):
5599         * search.c (search_command):
5600         * search.c (Freplace_match):
5601         * search.c (Fregexp_quote):
5602         * select.c (Fown_selection_internal):
5603         * select.c (Fselection_owner_p):
5604         * select.c (Fselection_exists_p):
5605         * select.c (Fget_selection_internal):
5606         * specifier.c:
5607         * symbols.c:
5608         * symbols.c (Fintern):
5609         * symbols.c (Fintern_soft):
5610         * symbols.c (Funintern):
5611         * symbols.c (Fapropos_internal):
5612         * symbols.c (Fset_default):
5613         * syntax.c:
5614         * syntax.c (Fsyntax_table_p):
5615         * syntax.c (Fcopy_syntax_table):
5616         * syntax.c (Fset_syntax_table):
5617         * syntax.c (Fchar_syntax):
5618         * syntax.c (syntax_match):
5619         * syntax.c (Fmatching_paren):
5620         * syntax.c (Fforward_word):
5621         * syntax.c (scan_lists):
5622         * syntax.c (Fscan_lists):
5623         * syntax.c (Fscan_sexps):
5624         * syntax.c (Fparse_partial_sexp):
5625         * toolbar.c (Fcheck_toolbar_button_syntax):
5626         * tooltalk.doc:
5627         * window.c:
5628         * window.c (Fwindowp):
5629         * window.c (Fwindow_live_p):
5630         * window.c (Fwindow_point):
5631         * window.c (Fdelete_window):
5632         * window.c (Fnext_window):
5633         * window.c (Fprevious_window):
5634         * window.c (Fother_window):
5635         * window.c (window_loop):
5636         * window.c (Fget_lru_window):
5637         * window.c (Fsplit_window):
5638         * window.c (Fenlarge_window):
5639         * window.c (Fenlarge_window_pixels):
5640         * window.c (Fshrink_window):
5641         * window.c (Fshrink_window_pixels):
5642         * window.c (change_window_height):
5643         * window.c (Fwindow_configuration_p):
5644         * window.c (Fcurrent_window_configuration):
5645         * window.h:
5646         * casefiddle.c (casify_object):
5647         * casefiddle.c (Fupcase):
5648         * casefiddle.c (Fdowncase):
5649         * casefiddle.c (Fcapitalize):
5650         * casefiddle.c (Fupcase_initials):
5651         * casefiddle.c (casify_region_internal):
5652         * casefiddle.c (casify_region):
5653         * casefiddle.c (Fupcase_region):
5654         * casefiddle.c (Fdowncase_region):
5655         * casefiddle.c (Fcapitalize_region):
5656         * casefiddle.c (Fupcase_initials_region):
5657         * casefiddle.c (Fupcase_word):
5658         * casefiddle.c (Fdowncase_word):
5659         * casefiddle.c (Fcapitalize_word):
5660         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
5661         Replace 0 with '\0' when working with bytes.
5662         Replace initial "(" with "\(" in docstrings.
5663
5664 2000-11-01  Martin Buchholz  <martin@xemacs.org>
5665
5666         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
5667
5668         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
5669
5670 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5671
5672         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
5673
5674 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5675
5676         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
5677         correctly.
5678
5679 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5680
5681         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
5682         (inhibit_auto_save_session): New variable.
5683         (vars_of_fileio): Declare and initialize them.
5684         * fileio.c (Fdo_auto_save): Don't create session file if
5685         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
5686
5687 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5688
5689         * sgiplay.c (play_internal): C++ compilability.
5690         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
5691         * callproc.c (Fold_call_process_internal):
5692         Remove unused vars `env', `first'.
5693         * scrollbar.c (update_scrollbar_instance):
5694         #### unused var `current_window'.
5695         * redisplay-tty.c: Put currently unused vars insert_mode_on,
5696         etc. within #ifdef NOT_YET.
5697         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
5698         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
5699         * specifier.c (specifier_instance):
5700         #### unused var `tag'.
5701         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
5702
5703 2000-10-27  Martin Buchholz  <martin@xemacs.org>
5704
5705         * fns.c (Fbutlast):
5706         * fns.c (list_sort):
5707         * fns.c (Ffillarray):
5708         * fns.c (bytecode_nconc2):
5709         * fns.c (Fnconc):
5710         * fns.c (mapcar1):
5711         * fns.c (Fmapconcat):
5712         Be pedantically 64-bit correct.  For the time when someone will
5713         want to have a list with length > 2**32.
5714
5715         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
5716         Work around MIPSpro compiler bug.
5717
5718         * process-unix.c (unix_kill_child_process): Add snarky comment.
5719         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
5720
5721         * config.h.in: Oops, _getpt ==> _getpty
5722
5723 2000-10-26  Martin Buchholz  <martin@xemacs.org>
5724
5725         * config.h.in:
5726         * regex.c:
5727         Use void*, not char*, as return type of alloca().
5728
5729         * alloc.c (free_marker): Side effect inside assert expression!
5730
5731 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
5732
5733         * mule-charset.c (Fset_charset_ccl_program): To check
5734         if the given ccl program is valid, use setup_ccl_program()
5735         instead of CHECK_VECTOR().
5736         (Fmake_charset): Likewise.
5737
5738 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
5739
5740         * faces.c (get_extent_fragment_face_cache_index):
5741         Fix cachel.merged_faces memory leak.
5742
5743 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
5744
5745         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
5746         Reset MSB of octets obtained by DECODE_SJIS
5747         because of the incompatibility with Emacs.
5748         (ccl_driver)<CCL_ENCODE_SJIS>:
5749         Set MSB of octets before passing them to
5750         ENCODE_SJIS because of the incompatibility
5751         with Emacs.
5752
5753 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
5754
5755         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
5756         (DECLARE_LRECORD): Undo the last change.
5757         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
5758
5759 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
5760
5761         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
5762         the implementation to lrecord_implementations_table.
5763
5764 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
5765
5766         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
5767         initial value of `lrecord_type_##c_name' and
5768         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
5769         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
5770         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
5771         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
5772         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
5773
5774 2000-10-17  Martin Buchholz  <martin@xemacs.org>
5775
5776         * miscplay.c (sndcnv8S_2mono):
5777         (sndcnv2monounsigned):
5778         (sndcnvULaw_2linear):
5779         (sndcnv16swap):
5780         Remove implementation-defined behavior.
5781
5782 2000-10-12  Martin Buchholz  <martin@xemacs.org>
5783
5784         * input-method-xlib.c: Warning suppression.
5785
5786 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
5787
5788         * mule-ccl.c: Sync up with Emacs 21.0.90.
5789         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
5790         Do nothing.
5791         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
5792         Likewise.
5793         (ccl_driver[WriteMultibyteChar2]): Bug fix.
5794         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
5795         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
5796         leading char belongs to official 2-dimensional charset.
5797         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
5798         write the given character as is.  Otherwise,
5799         if it is a multibyte char, convert it by
5800         non_ascii_set_charptr_emchar, then write it.
5801         (CCL_WRITE_STRING): Likewise.
5802         (ccl_get_compiled_code): New function.
5803         (setup_ccl_program): When ccl_prog is invalid,
5804         return -1.
5805         (Fregister_code_conversion_map): New function.
5806         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
5807
5808         * mule-ccl.h: Sync up with Emacs 21.0.90.
5809         (Fregister_ccl_program): export it.
5810
5811         * redisplay-msw.c (separate_textual_runs):
5812         If ccl program is not valid, don't do ccl conversion.
5813
5814         * redisplay-x.c (separate_textual_runs): Ditto.
5815
5816         * file-coding.c (Fmake_coding_system):
5817         When type is ccl and value is vector, register it
5818         with a proper symbol.  And checks whether the
5819         given ccl program is valid.
5820         (mule_decode): When calling ccl_driver, if src indicates
5821         NULL pointer, set an empty string instead.
5822         (mule_encode): Likewise.
5823
5824 2000-10-11  Martin Buchholz  <martin@xemacs.org>
5825
5826         The following large batch of changes gets us back to a state of
5827         C++ compilability.  Extbyte is now a char, which means that
5828         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
5829
5830         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
5831
5832         * sound.c (Fplay_sound): Type correctness.
5833
5834         * select-x.c (hack_motif_clipboard_selection): Type correctness.
5835         (x_get_window_property): Type correctness.
5836         (receive_incremental_selection): unsigned char ==> Extbyte
5837         (selection_data_to_lisp_data): unsigned char ==> Extbyte
5838         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
5839         (Fx_store_cutbuffer_internal): Type correctness.
5840
5841         * process-unix.c (try_to_initialize_subtty): Type correctness.
5842
5843         * objects-x.c (x_print_color_instance): Type correctness.
5844         (x_print_font_instance): Type correctness.
5845         (x_list_fonts): SExtbyte ==> Extbyte.
5846         (valid_x_font_name_p): SExtbyte ==> Extbyte.
5847         (x_find_charset_font): SExtbyte ==> Extbyte.
5848         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
5849         (truename_via_XListFonts): SExtbyte ==> Extbyte.
5850         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
5851         Use bufbyte_strcmp.
5852
5853         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
5854         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
5855         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
5856         (BYTE_C0_P): Use bit ops for char-signedness safety.
5857         (BYTE_C1_P): Use bit ops for char-signedness safety.
5858         (CHARSET_BY_LEADING_BYTE):
5859         (CHARSET_BY_ATTRIBUTES):
5860         Always use inline function.
5861         Use type_checking_assert.
5862         Hide chlook.
5863
5864         * mule-charset.c (non_ascii_charptr_copy_char):
5865         Modify to work with both ASCII and non-ASCII characters.
5866         Improve docs and variable names.
5867         Replace over-clever fall-through switch with a simple loop.
5868         (Lstream_get_emchar_1):
5869         Replace over-clever fall-through switch with a simple loop.
5870
5871         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5872         Warning suppression.
5873
5874         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
5875         the return value of Lstream_getc, which could be EOF as well.
5876
5877         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
5878
5879         * lisp.h: Make Extbyte a char, not unsigned char, so that external
5880         APIs can be used on Extbytes without casts.  Risky!
5881         (SExtbyte): Remove.
5882         (UExtbyte): Remove.
5883
5884         * input-method-xlib.c (XIM_init_device):
5885         Use Xlib.h instead of IntrinsicP.h.
5886         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
5887         which will break in X11R7.
5888         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
5889         to call XRegisterIMInstantiateCallback with correct types.
5890
5891         * gui-x.c (button_item_to_widget_value): Type correctness.
5892
5893         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
5894
5895         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
5896         (xbm_instantiate_1): Type correctness.
5897         (BUILD_GLYPH_INST):  Type correctness.
5898
5899         * fileio.c (Fsubstitute_in_file_name): Type correctness.
5900
5901         * file-coding.c:
5902         (decode_coding_sjis):
5903         (decode_coding_big5):
5904         (decode_coding_ucs4):
5905         (decode_coding_utf8):
5906         (decode_coding_iso2022):
5907         (decode_coding_no_conversion):
5908         Make all decoding functions take an Extbyte * arg.
5909         (encode_coding_sjis):
5910         (encode_coding_big5):
5911         (encode_coding_ucs4):
5912         (encode_coding_utf8):
5913         (encode_coding_iso2022):
5914         (encode_coding_no_conversion):
5915         Make all encoding functions take a Bufbyte * arg.
5916         Use size_t instead of unsigned int for memory sizes.
5917         Only cast to unsigned char whenever dereferencing Extbyte *.
5918
5919         * doc.c (unparesseuxify_doc_string): Type correctness.
5920
5921         * console-x.c (split_up_display_spec):
5922         Rewrite without using details of internal string representation.
5923         (x_semi_canonicalize_device_connection): Type correctness.
5924
5925         * config.h.in:
5926         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
5927         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
5928         (HAVE_XFREE386): Removed.
5929
5930         * buffer.h (DEC_CHARPTR): `const' correctness.
5931         (bufbyte_strcmp): New.
5932         (bufbyte_memcmp): New.
5933
5934         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
5935
5936         * buffer.h (XCHAR_OR_CHAR_INT):
5937         Always use inline function.
5938         Remove redundant type checking assert() - XINT will abort quite nicely.
5939
5940 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5941
5942         * search.c (Freplace_match): Set newtext to an empty string.
5943
5944 2000-10-10  Martin Buchholz  <martin@xemacs.org>
5945
5946         * s/decosf1-3.h: Remove #include of stropts.h
5947         * s/ptx.h: Remove #include of stropts.h
5948         * s/usg5-4.h: Remove #include of stropts.h
5949         * sysproc.h:
5950         * config.h.in:
5951         Use stropts.h, not sys/stropts.h.
5952         Use strtio.h, not sys/strtio.h.
5953
5954 2000-10-04  Martin Buchholz <martin@xemacs.org>
5955
5956         * XEmacs 21.2.36 is released.
5957
5958 2000-09-21  Andy Piper  <andy@xemacs.org>
5959
5960         * glyphs-x.c (x_redisplay_widget): make sure non-structural
5961         changes still involve copying the widget tree.
5962         (update_widget_face): make sure a change is register in the widget
5963         tree. Call update_tab_widget_face appropriately.
5964         (update_tab_widget_face): ditto.
5965         (x_tab_control_redisplay): make sure non-structural changes still
5966         involve copying the widget tree.
5967
5968 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
5969
5970         * lread.c (locate_file): Check the path element is non-nil.
5971
5972 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5973
5974         * lisp.h: Warning suppression for SCO compilers.
5975
5976         * redisplay-tty.c (reset_tty_modes): Fix crash.
5977         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
5978
5979 2000-09-27  Martin Buchholz  <martin@xemacs.org>
5980
5981         Big signal/process handling overhaul.  Bugs fixed:
5982         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
5983         M-x comint-kill-subjob should work for both values nil and t of
5984         process-connection-type. It was broken on most platforms.
5985         Testing on Irix and Cygwin still needed.  Other plaforms tested.
5986         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
5987         * process-unix.c: Signal/Process handling overhaul.
5988         (pty_name): make 64 bytes, as `expect' does, for paranoia.
5989         (allocate_pty): Use all available modern methods of allocating
5990         ptys, falling back to old style BSD allocation as a last resort.
5991         Use allegedly more secure Unix98 pty allocation by default.
5992         (allocate_pty_the_old_fashioned_way): New. the last resort.
5993         (unix_create_process): Push ptem, ldterm, ttcompat where
5994         available.  Autoconfiscate.
5995         (try_to_initialize_subtty): New.
5996         (unix_kill_child_process): Proper signal handling for ptys on most
5997         platforms, using special knowledge of AIX, BSD, etc...
5998         (unix_create_process): Always disconnect_controlling_terminal() for
5999         subprocesses, whether using ptys or not.
6000         * process.h: Remove old getpt-dependent PTY code.
6001         * process.c (Fprocess_send_signal): New, obvious generic function.
6002         (decode_signal): New.
6003         (Finterrupt_process):
6004         (Fkill_process):
6005         (Fquit_process):
6006         (Fstop_process):
6007         (Fcontinue_process):
6008         (Fsignal_process): Use decode_signal.
6009         (process_send_signal):
6010         Many docstring corrections.
6011         Allow any signal to be sent to a process object.
6012         * config.h.in: Add symbols for big signal/process overhaul.
6013         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
6014         * sysproc.h: Include process-related headers, where available:
6015         sys/stropts.h sys/strtio.h pty.h libutil.h
6016         * s/irix4-0.h:
6017         * s/irix5-0.h:
6018         * s/cygwin32.h:
6019         * s/gnu.h:
6020         * s/linux.h:
6021         * s/hpux.h:
6022         * s/aix3-1.h:
6023         Remove old S&M pty stuff.
6024         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
6025         * systty.h: Simplify cpp hackery, improve comments.
6026         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
6027
6028         * editfns.c (Fformat_time_string):
6029         Be a little more paranoid with the return value of ctime.
6030
6031         * fileio.c (check_executable):
6032         (check_writable):
6033         Use symbolic constants X_OK, W_OK.
6034
6035         * console-x.c (split_up_display_spec): Fix a warning.
6036
6037 2000-10-02  Martin Buchholz  <martin@xemacs.org>
6038
6039         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
6040         * ntproc.c (sys_spawnve): make_string ==> build_string
6041         Small clarity improvements.
6042
6043 2000-09-30  Martin Buchholz  <martin@xemacs.org>
6044
6045         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
6046
6047         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
6048
6049         * config.h.in (HAVE_STRCASECMP): Remove.
6050
6051 2000-09-29  Martin Buchholz  <martin@xemacs.org>
6052
6053         * redisplay-output.c (redisplay_output_pixmap):
6054         Cleaner and possibly more 64-bit correct code.
6055
6056 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
6057
6058         * dumper.c (pdump_load_finish): move restoration of
6059         `noninteractive1' to emacs.c (main_1).
6060         * emacs.c (main_1): protect LISP-visible command-line flags
6061         from pdump_load().
6062
6063 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
6064
6065         * Makefile.in.in (versionclean):  Use EXE_TARGET and
6066         DUMP_TARGET instead of literal program names.
6067
6068 2000-09-20  Martin Buchholz  <martin@xemacs.org>
6069
6070         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
6071
6072 2000-09-19  Martin Buchholz  <martin@xemacs.org>
6073
6074         * *: Spelling mega-patch
6075
6076 2000-09-19  Martin Buchholz  <martin@xemacs.org>
6077
6078         * fns.c (bad_bad_turtle):
6079         Delete "Eek!" comment, since we fixed the bug to which it refers.
6080
6081 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6082
6083         * alloca.c: Replace REGISTER with register.
6084
6085 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
6086
6087         * file-coding.c (ucs_to_char): Use countof.
6088
6089 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6090
6091         * file-coding.c: (ucs_to_char):
6092         (complex_vars_of_file_coding):
6093         Use countof instead of sizeof.
6094         Use CHECK_NATNUM instead of CHECK_INT.
6095
6096         * sysdep.c (strcasecmp): Remove.
6097         * device-x.c (ascii_strcasecmp): New.
6098         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
6099         Avoid using non-standard non-portable strcasecmp.
6100
6101 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6102
6103         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
6104         * font-lock.c: remove reference to emacsfns.h.
6105         * search.c: small doc improvement.
6106         * event-Xt.c: correct file names in comments.
6107         * console-x.h Correct file names in comments.
6108         * frame.c: Correct file names in comments.
6109         * event-stream.c: remove Energize from comments.
6110
6111 2000-09-15  Martin Buchholz  <martin@xemacs.org>
6112
6113         * symeval.h (DEFERROR_STANDARD):
6114         (DEFERROR):
6115         (DEFSYMBOL):
6116         (DEFSYMBOL_NO_DUMP):
6117         (DEFSYMBOL_MULTIWORD_PREDICATE):
6118         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
6119         (DEFKEYWORD):
6120         The construct &##name is not sensible C.
6121         Fixes compilation errors with Unixware native compiler.
6122
6123 2000-09-14  Martin Buchholz  <martin@xemacs.org>
6124
6125         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
6126         (next_frame_internal): Removed.  We now just have next_frame.
6127         (next_frame):
6128         Write a simpler and cleaner one-pass algorithm.
6129         Remove called_from_delete_device arg and #ifdefed-out code.
6130         (previous_frame):
6131         Renamed from prev_frame.  Update callers.
6132         Cleaned up to have an analogous implementation to next_frame.
6133         (other_visible_frames_internal): Remove the
6134         called_from_delete_device bogus arg, and hence, remove this
6135         function.  Just use other_visible_frames().
6136
6137         * window.c (Fnext_window):
6138         Prettify docstring.
6139         Since next_frame() is guaranteed to return a frame, remove check
6140         for nil inserted in previous patch.
6141         (Fprevious_window):
6142         Prettify docstring.
6143         Make code look more like Fnext_window.
6144         (window_loop):
6145         Respect the `console' arg when iterating through windows.
6146         Fixes bug: (get-buffer-window buffer t device) not respecting
6147         the `device' arg.
6148         This function needs more work, as others have pointed out.
6149
6150         * frame.h: Rename prev_frame to previous_frame.
6151         device_matches_console_spec no longer takes a `frame' arg.
6152
6153         * s/gnu.h:
6154         * s/linux.h:
6155         * s/hpux.h:
6156         Use EMACS_BLOCK_SIGNAL instead of sigblock.
6157         From "Golubev I. N." <gin@mo.msk.ru>.
6158
6159         * make-src-depend: Fix typo.
6160
6161 2000-09-13  Martin Buchholz  <martin@xemacs.org>
6162
6163         * window.c (Fnext_window):
6164         next_frame() might return nil, not a frame.
6165         Fixes this crash:
6166         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
6167
6168         * frame.c (next_frame_internal):
6169         We've passed a frame if we've passed its device.
6170         Fixes this crash:
6171         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
6172 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
6173
6174 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6175
6176         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6177         Allow option to suppress accelerators in menu/dialog items.
6178         (populate_or_checksum_helper): Pass dialog title through above.
6179
6180 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6181
6182         * event-msw.c (mswindows_key_to_emacs_keysym):
6183         Add "pause" key, fix "menu" key.
6184
6185 2000-09-09  Martin Buchholz  <martin@xemacs.org>
6186
6187         * eval.c (reinit_vars_of_eval):
6188         Increase max_lisp_eval_depth to 1000,
6189         required for thai-xtis.el to byte-compile under some circumstances.
6190
6191 2000-09-04  Martin Buchholz  <martin@xemacs.org>
6192
6193         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
6194         From Kenichi Handa.
6195
6196 2000-09-01  Martin Buchholz  <martin@xemacs.org>
6197
6198         * make-src-depend: Make the generated Makefiles smaller.
6199
6200         * s/hpux.h (SETUP_SLAVE_PTY):
6201         Provide a %d in the format string for the errno argument.
6202
6203         * editfns.c (Ftemp_directory):
6204         Warning fix.
6205         Avoid buffer overrun on very long file name.
6206
6207         * input-method-xlib.c (XIM_init_device):
6208         6th parameter of XRegisterIMInstantiateCallback has different
6209         pointer types on different OSes, so simply cast to (void *).
6210
6211         * unexhp9k800.c: Warning fixes.  Fiddly changes.
6212
6213         * sysdll.c (dll_open):
6214         shl_load will hang hard if passed a NULL filename.
6215         Simply return NULL for compatibility with dlopen.
6216         * sysdll.c: Conform to XEmacs coding standards.
6217
6218         * sysdep.c (get_pty_max_bytes):
6219         Support pty input lines longer than 512 bytes on HP-UX 10.20.
6220
6221 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6222
6223         * tooltalk.c: Add #include <syssignal.h>
6224
6225 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
6226
6227         * s/hpux.h: Don't use undefined function sigunblock().
6228
6229 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6230
6231         * config.h.in: Add HAVE_BALLOON_HELP.
6232         * emacs.c: Use HAVE_BALLOON_HELP.
6233         * Makefile.in.in (x_objs):
6234         Make Balloon Help conditional on finding shape.h.
6235
6236 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
6237
6238         * syntax.c (regex_emacs_buffer_p): New variable.
6239         * syntax.h (regex_emacs_buffer_p): extern.
6240         * search.c (looking_at_1):
6241         (string_match_1):
6242         (fast_string_match):
6243         (search_buffer): Set regex_emacs_buffer_p.
6244         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
6245         when before_dot, at_dot, after_dot.
6246
6247 2000-08-23  Andy Piper  <andy@xemacs.org>
6248
6249         * gui-x.c (popup_selection_callback): Only set action_occurred
6250         when we really have an image instance.
6251         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
6252
6253 2000-08-23  Andy Piper  <andy@xemacs.org>
6254
6255         * gui-msw.c (mswindows_handle_gui_wm_command): set
6256         action_occurred.
6257         * gui-x.c (popup_selection_callback): ditto.
6258
6259         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
6260         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
6261         (struct Lisp_Image_Instance): add action_occurred flag.
6262
6263         * glyphs.c (redisplay_subwindow): use action_occurred flag.
6264         (image_instance_changed): ditto.
6265         (reset_frame_subwindow_instance_cache): only unmap windows - do
6266         not remove them from the cache also.
6267
6268         * glyphs-widget.c (tab_control_update): better debug.
6269         (progress_gauge_update): ditto.
6270         (layout_update): ditto.
6271         (layout_instantiate): ditto.
6272         (tab_control_order_only_changed): cope with null pending items.
6273
6274         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
6275         debug. Force selection of an item when an action occurred. Cope
6276         with null pending_items.
6277         (mswindows_progress_gauge_redisplay): better debug.
6278         * glyphs-x.c (x_tab_control_redisplay): ditto.
6279
6280         * redisplay.c (redisplay_frame): reset the frame cache if the
6281         frame is garbaged.
6282
6283         * window.c (Fset_window_configuration): potentially re-enable
6284         frame cache reset.
6285         (window_unmap_subwindows): need to finalize instances here since
6286         it is only used in mark_window_as_deleted.
6287
6288 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
6289
6290         * nas.c (SndOpenDataForReading):
6291         nas.c (WaveOpenDataForReading):
6292         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
6293         Somehow escaped from the 2000-08-14 patch.
6294
6295 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6296
6297         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
6298         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
6299
6300 2000-08-21  Andy Piper  <andy@xemacs.org>
6301
6302         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
6303         window if it is not already displayed.
6304
6305         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
6306         it is not already displayed.
6307
6308         * window.c (Fset_window_configuration): don't reset the frame
6309         cache.
6310
6311         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
6312         instances from the frame cache if we are actually finalizing them.
6313         (reset_frame_subwindow_instance_cache): reset frame cache only
6314         after unmapping everything.
6315         (map_subwindow): set displayed flag after mapping.
6316
6317 2000-08-21  Martin Buchholz  <martin@xemacs.org>
6318
6319         * data.c (indirect_function):
6320         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
6321
6322         * eval.c (function_argcount):
6323         Use original function when signaling errors.
6324
6325 2000-08-18  Andy Piper  <andy@xemacs.org>
6326
6327         * frame.c (delete_frame_internal): use new
6328         free_frame_subwindow_instances name.
6329
6330         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
6331         (add_tab_item): make return type correct.
6332         (mswindows_tab_control_instantiate): assert index of tab.
6333         (mswindows_tab_control_redisplay): Re-code to use
6334         gui_item_equal_sans_selected and gui_item_list_find_selected.
6335
6336         * glyphs-widget.c (tab_control_update): Correct comment.
6337
6338         * window.c (window_unmap_subwindows): use new
6339         unmap_subwindow_instance_cache_mapper.
6340         (window_unmap_subwindows_cache_mapper): deleted.
6341         (Fset_window_configuration): comparisons should now be with
6342         EQ. Preserve the subwindow instance cache across configuration
6343         changes.
6344         (allocate_window): ditto.
6345         (make_dummy_parent): ditto.
6346
6347         * glyphs.c (free_frame_subwindow_instances): rename from
6348         free_frame_subwindow_instance_cache. finalize all instances rather
6349         than just those in the display cache.
6350         (finalize_all_subwindow_instances): walk windows unmapping and
6351         finalizing subwindows.
6352         (unmap_subwindow_instance_cache_mapper): moved from
6353         window.c. Allow finalization as well as unmapping.
6354
6355         * gui.c (gui_item_list_find_selected): new function.
6356
6357         * gui.h (gui_item_list_find_selected): declare.
6358
6359         * glyphs-x.c (x_tab_control_redisplay): pick tab
6360         explicitly. Re-code to use gui_item_equal_sans_selected and
6361         gui_item_list_find_selected.
6362
6363         * glyphs-x.h: add lwlib-utils.h
6364
6365         * buffer.c (Frecord_buffer): undo previous change.
6366
6367 2000-08-09  Vin Shelton  <acs@xemacs.org>
6368
6369         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
6370         possible.  Create temporary files more securely.  The patch was
6371         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
6372         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
6373         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
6374         for details.
6375
6376 2000-08-07  Ben Wing  <ben@xemacs.org>
6377
6378         * getloadavg.c: remove duplicate (and windows-breaking)
6379         includes of fcntl.h and sys/file.h.
6380
6381         * nt.c: remove duplicate getloadavg() definition.
6382
6383         * sysdll.h (Qdll_filename_encoding): add missing stand-in
6384         encodings.
6385
6386 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6387
6388         * eval.c (function_argcount): If function needs to be autoloaded
6389         actually use the loaded definition.
6390         GCPRO function.
6391
6392 2000-08-05  Ben Wing  <ben@xemacs.org>
6393
6394         * getloadavg.c: add prototype for getloadavg().  remove
6395         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
6396         of the code).  remove duplicate header includes.
6397
6398         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
6399
6400         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
6401         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
6402         useful load average.
6403
6404         * alloc.c (reinit_alloc_once_early): removed references to
6405         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
6406         the lisp vars are the only things referencing the malloc_sbrk_*
6407         vars, and they were already if 0'd out.  these vars only exist
6408         in the older malloc.c, which is basically unused, and they're
6409         only for informational purposes.
6410
6411         * m\*.h: removed useless VIRT_ADDR_VARIES.
6412
6413         * m\powerpc.h: removed stray NO_ARG_ARRAY.
6414
6415 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
6416
6417         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
6418         color if the image is a mono pixmap.
6419
6420 2000-07-30  Ben Wing  <ben@xemacs.org>
6421
6422         * Makefile.in.in (release):
6423         Remove stray @.
6424
6425         * buffer.c (directory_is_current_directory):
6426         * dired-msw.c (mswindows_get_files):
6427         * dired.c:
6428         * dired.c (Fdirectory_files):
6429         * dired.c (file_name_completion_stat):
6430         * dired.c (Ffile_attributes):
6431         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
6432         preprocessor tricks, to avoid problems on some machines
6433         (e.g. SCO).
6434
6435         * callproc.c (egetenv): GC docs.
6436
6437         * console-msw.h:
6438         * console-msw.h (struct mswindows_dialog_id):
6439         * lrecord.h (lrecord_type):
6440         New object for use with MSW dialogs.
6441
6442         * console.h (struct console_methods):
6443         New enable/disable frame methods, for proper modal dialogs.
6444
6445         * device-msw.c (msprinter_default_printer): Fix to follow
6446         proper Mule conventions.
6447
6448         * device-msw.c:
6449         * device-msw.c (signal_open_printer_error):
6450         * device-msw.c (msprinter_init_device):
6451         * device-msw.c (ensure_not_printing):
6452         * device-msw.c (plist_get_margin):
6453         * device-msw.c (Fmsprinter_select_settings):
6454         * device-msw.c (finalize_devmode):
6455         * device-msw.c (Fmsprinter_settings_despecialize):
6456         * device-msw.c (signal_enum_priner_error):
6457         * extents.c (decode_extent):
6458         * extents.c (decode_map_extents_flags):
6459         * extents.c (decode_extent_at_flag):
6460         * extents.c (Fextent_at):
6461         * extents.c (Fextents_at):
6462         * extents.c (symbol_to_glyph_layout):
6463         [[[[2]]]] Use structured errors.
6464
6465         * dialog-msw.c:
6466         * dialog-msw.c (mswindows_is_dialog_msg):
6467         * dialog-msw.c (mark_mswindows_dialog_id):
6468         * dialog-msw.c (dialog_proc):
6469         * dialog-msw.c (handle_question_dialog_box):
6470         * dialog-msw.c (syms_of_dialog_mswindows):
6471         Define new object to clean up marking; use it as a dialog identifier.
6472         Call new delete-dialog-box-hook.
6473
6474         * dialog-x.c (dbox_selection_callback):
6475         * dialog-x.c (dbox_descriptor_to_widget_value):
6476         * dialog-x.c (x_make_dialog_box_internal):
6477         Call new delete-dialog-box-hook.
6478         Return an id.
6479
6480         * dialog.c:
6481         * dialog.c (syms_of_dialog):
6482         * dialog.c (vars_of_dialog):
6483         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
6484
6485         * eval.c:
6486         * eval.c (signal_call_debugger):
6487         when noninteractive, output stack traces on the console instead
6488         of in a (never-seen) buffer.
6489
6490         * eval.c (signal_type_error):
6491         * eval.c (invalid_argument_2):
6492         * lisp.h:
6493         new funs for use w/structured errors.
6494
6495         * event-Xt.c:
6496         * event-Xt.c (x_to_emacs_keysym):
6497         * event-Xt.c (describe_event):
6498         * event-Xt.c (emacs_Xt_event_handler):
6499         * event-Xt.c (vars_of_event_Xt):
6500         * event-msw.c:
6501         * event-msw.c (mswindows_wnd_proc):
6502         * event-msw.c (vars_of_event_mswindows):
6503         rename {x,mswindows}-debug-events to debug-{}-events for
6504         consistency with other debug-foo variables.
6505
6506         * event-stream.c:
6507         document next-event more clearly.
6508
6509         * fileio.c (Ffile_name_directory):
6510         * fileio.c (Ffile_name_nondirectory):
6511         * fileio.c (Funhandled_file_name_directory):
6512         * fileio.c (file_name_as_directory):
6513         * fileio.c (Ffile_name_as_directory):
6514         * fileio.c (directory_file_name):
6515         * fileio.c (Fdirectory_file_name):
6516         * fileio.c (Fmake_temp_name):
6517         * fileio.c (Ffile_truename):
6518         * fileio.c (Fsubstitute_in_file_name):
6519         * fileio.c (expand_and_dir_to_file):
6520         * fileio.c (barf_or_query_if_file_exists):
6521         * fileio.c (check_executable):
6522         * fileio.c (Ffile_exists_p):
6523         * fileio.c (Ffile_writable_p):
6524         * fileio.c (Ffile_directory_p):
6525         * fileio.c (Ffile_regular_p):
6526         * fileio.c (Ffile_modes):
6527         * fileio.c (Ffile_newer_than_file_p):
6528         * fileio.c (Fverify_visited_file_modtime):
6529         * fileio.c (Fset_visited_file_modtime):
6530         * fileio.c (auto_save_1):
6531         (1). (2).
6532         fix up gcpro's.
6533
6534         * frame-msw.c:
6535         * frame-msw.c (mswindows_init_frame_1):
6536         * frame-msw.c (mswindows_enable_frame):
6537         * frame-msw.c (error_frame_unsizable):
6538         * frame-msw.c (msprinter_init_frame_1):
6539         * frame-msw.c (msprinter_init_frame_3):
6540         * frame-msw.c (console_type_create_frame_mswindows):
6541         (2).
6542         implement new enable/disable frame methods.
6543
6544         * frame-x.c:
6545         * frame-x.c (x_enable_frame):
6546         * frame-x.c (console_type_create_frame_x):
6547         implement new enable/disable frame methods.
6548
6549         * frame.c:
6550         * frame.c (Fdisable_frame):
6551         * frame.c (syms_of_frame):
6552         * frame.h (struct frame):
6553         implement new enable/disable frame methods/functions.
6554
6555         * general-slots.h:
6556         add initial-focus.
6557
6558         * glyphs-msw.c (mswindows_widget_instantiate):
6559         comment that initial-focus should be implemented.
6560
6561         * glyphs-widget.c:
6562         * glyphs-widget.c (check_valid_instantiator):
6563         * glyphs-widget.c (check_valid_orientation):
6564         * glyphs-widget.c (check_valid_tab_orientation):
6565         * glyphs-widget.c (check_valid_justification):
6566         * glyphs-widget.c (check_valid_border):
6567         * glyphs-widget.c (check_valid_callback):
6568         * glyphs-widget.c (check_valid_int_or_function):
6569         * glyphs-widget.c (check_valid_string_or_vector):
6570         * glyphs-widget.c (check_valid_item_list_1):
6571         * glyphs-widget.c (widget_validate):
6572         * glyphs-widget.c (combo_box_validate):
6573         * glyphs-widget.c (widget_instantiate):
6574         * glyphs-widget.c (syms_of_glyphs_widget):
6575         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
6576         * glyphs-widget.c (image_instantiator_combo_box):
6577         * glyphs-widget.c (image_instantiator_scrollbar):
6578         * glyphs-widget.c (image_instantiator_tab_control):
6579         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
6580         (2).
6581         support (unimplemented) keyword initial-focus.
6582         reindent long macros.
6583
6584         * glyphs-x.c (x_redisplay_widget):
6585         * glyphs-x.c (x_button_instantiate):
6586         * glyphs-x.c (x_button_redisplay):
6587         * glyphs-x.c (x_progress_gauge_instantiate):
6588         * glyphs-x.c (x_edit_field_instantiate):
6589         * glyphs-x.c (x_combo_box_instantiate):
6590         * glyphs-x.c (x_tab_control_instantiate):
6591         * glyphs-x.c (x_label_instantiate):
6592         * gui-x.c:
6593         * gui-x.c (button_item_to_widget_value):
6594         * gui-x.c (gui_items_to_widget_values_1):
6595         * gui-x.c (gui_item_children_to_widget_values):
6596         * gui-x.c (gui_items_to_widget_values):
6597         * gui-x.h:
6598         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6599         add new flag to gui-parsing routines to indicate whether
6600         accelerator specs should be supported.
6601
6602         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
6603
6604         * glyphs.h (struct Lisp_Image_Instance):
6605         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
6606         add initial-focus flag.
6607
6608         * gui.c:
6609         * gui.c (syms_of_gui):
6610         * gui.c (vars_of_gui):
6611         clean up menu-no-selection-hook.
6612
6613         * gui.h:
6614         support delete-dialog-box-hook.
6615
6616         * lread.c (Fload_internal):
6617         * lread.c (locate_file_in_directory_mapper):
6618         (1).
6619
6620         * lrecord.h:
6621         * lrecord.h (struct toolbar_button):
6622         * lrecord.h (syms_of_toolbar):
6623         document how to create a new object.
6624
6625         * menubar-msw.c (mswindows_char_is_accelerator):
6626         may be called on frames w/o menus.
6627
6628         * menubar.c (vars_of_menubar):
6629         clean up :filter docs.
6630
6631         * nt.c (readdir):
6632         * ntproc.c:
6633         (1).
6634
6635         * process-nt.c:
6636         * process-nt.c (validate_signal_number):
6637         * process-nt.c (signal_cannot_launch):
6638         * process-nt.c (nt_create_process):
6639         * process-nt.c (nt_send_process):
6640         * process-nt.c (nt_kill_child_process):
6641         * process-nt.c (nt_open_network_stream):
6642         * process-nt.c (syms_of_process_nt):
6643         (2).
6644         delete quote-handling.  call new lisp code that does it better.
6645
6646         * process-unix.c (connect_to_file_descriptor):
6647         * process-unix.c (allocate_pty):
6648         * process-unix.c (unix_send_process):
6649         * process-unix.c (unix_kill_child_process):
6650         * process-unix.c (unix_open_network_stream):
6651         * process-unix.c (unix_open_multicast_group):
6652         (1). (2).
6653
6654         * process.c:
6655         * process.c (Fstart_process_internal):
6656         (2).  need to canonicalize process path even if absolute.
6657
6658         * select-msw.c (symbol_to_ms_cf):
6659         * select-msw.c (ms_cf_to_symbol):
6660         * select-msw.c (cf_is_autofreed):
6661         * select-msw.c (mswindows_destroy_selection):
6662         * select.c:
6663         * select.c (syms_of_select):
6664         * select.h:
6665         support dibv5, fix bugs. (from Mike Alexander)
6666
6667         * select.c (Fget_selection_internal):
6668         * select.c (select_convert_out):
6669
6670         * sysdep.c:
6671         * sysdep.c (xemacs_stat):
6672         renamed.
6673
6674         * sysdep.c (mkdir):
6675         * sysdep.c (rmdir):
6676         but keep original stat() here because we provide encapsulation
6677         around these funs.
6678
6679         * sysfile.h:
6680         * sysfile.h (fstat):
6681         remove stat garbage.
6682
6683         * syswindows.h:
6684         fix X/MSW conflict.
6685         don't include tchar.h.  it's inappropriate because it makes
6686         compile-time distinctions when we want runtime distinctions.
6687         (we provide our own tchar replacements)
6688
6689         * toolbar.c:
6690         use default object printer for toolbar-button.
6691
6692         * unexcw.c:
6693         make sure we don't encapsulate.
6694
6695         * window.c (vars_of_window):
6696         emphasize that temp-buffer-show-hook is obsolete.
6697
6698 2000-08-05  Martin Buchholz  <martin@xemacs.org>
6699
6700         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
6701         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
6702
6703         * events.c (Fevent_timestamp_lessp):
6704         Not 64-bit clean.  Use EMACS_INT, not int.
6705
6706 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
6707
6708         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
6709         unsigned int and changed the last enum to
6710         lrecord_type_last_built_in_type.
6711         (lrecord_implementations_table): changed prototype to know how
6712         long the array is supposed to be.
6713         (lrecord_type_count): new unsigned int to keep track of the
6714         current number of lisp lrecord types.
6715         (DEFINE_EXTERNAL_LRECORD):
6716         (DECLARE_EXTERNAL_LRECORD): Added these two for external
6717         dynamic-modules to declare new lisp types. They are the same
6718         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
6719         int for each new type, and increment lrecord_type_count by 1.
6720
6721         * alloc.c (lrecord_implementations_table): Changed to reference
6722         lrecord_type_last_built_in_type for the size of the array.
6723         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
6724
6725 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
6726
6727         * glyphs.h (check_valid_item_list): Renamed from
6728         check_valid_item_list_1.
6729
6730 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
6731
6732         * select.c (Qselect_coerce): New.
6733         * select.c (Vselection_coercion_alist): New.
6734         * select.c (syms_of_select): Declare.
6735         * select.c (get-selection-internal): Use it.
6736         Use the new select-coerce functionality.
6737
6738         * select.c (select_coerce): New.
6739         * select.h (select_coerce): Declare.
6740         New function to coerce one type of data into another.
6741
6742 2000-08-03  Martin Buchholz  <martin@xemacs.org>
6743
6744         * callproc.c (Fcall_process_internal):
6745         (Fcall_process_internal):
6746         * process-unix.c (unix_create_process):
6747         Save and restore the value of errno, so that error messages are accurate.
6748
6749 2000-08-01  Martin Buchholz  <martin@xemacs.org>
6750
6751         * elhash.c (print_hash_table):
6752         Fix printing of hash tables to also use `key-and-value' instead of `t'.
6753         Prettify docstrings and indentation.
6754
6755 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
6756
6757         * window.c (Fwindow_pixel_edges): Subtract frame border and
6758         gutter size.
6759
6760 2000-07-31  Andy Piper  <andy@xemacs.org>
6761
6762         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
6763         will acknowledge the change.
6764
6765         * glyphs.h: declare tab_control_order_only_changed.
6766
6767         * glyphs-x.c (x_tab_control_redisplay): use
6768         tab_control_order_only_changed.
6769
6770         * glyphs-widget.c (tab_control_order_only_changed): new function.
6771
6772         * glyphs-msw.c (mswindows_tab_control_redisplay): use
6773         tab_control_order_only_changed.
6774
6775         * gui.c (gui_item_equal_sans_selected): new function.
6776         (gui_item_equal): use it.
6777
6778         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
6779         :properties in favor of :items..
6780
6781         * glyphs-widget.c (check_valid_item_list): rename from
6782         check_valid_item_list_1.
6783         (check_valid_item_list_1): renamed.
6784         (combo_box_validate): deprecate :properties in favor of :items.
6785         (widget_instantiate): ditto.
6786         (tab_control_update): ditto.
6787         (image_instantiator_combo_box): ditto.
6788         (image_instantiator_tree_view): ditto.
6789         (image_instantiator_tab_control): ditto.
6790         (layout_post_instantiate): remove dead code.
6791
6792         * print.c (debug_print_no_newline): only write to debugger if in
6793         WIN32_NATIVE.
6794
6795         * elhash.c (Fmake_hash_table): update doc string.
6796
6797         * event-msw.c (mswindows_wnd_proc): don't allow processing of
6798         messages whilst in GC. This at least stops XEmacs crashing but has
6799         the potential for wierd behaviour.
6800
6801 2000-07-31  Martin Buchholz  <martin@xemacs.org>
6802
6803         * config.h.in:
6804         Make existence of s&m files optional.
6805
6806         * s/bsd386.h: Remove HAVE_GETLOADAVG.
6807         * s/freebsd.h: Remove HAVE_GETLOADAVG.
6808         * s/gnu.h: Remove HAVE_GETLOADAVG.
6809         * s/netbsd.h: Remove HAVE_GETLOADAVG.
6810         * s/sol2.h: Remove HAVE_GETLOADAVG.
6811         * lisp.h: Remove getloadavg() declaration.
6812         * fns.c:
6813         Include <sys/loadavg.h> if available.
6814         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
6815         * config.h.in:  Group together getloadavg()-related macros.
6816         Use only configure-time tests to detect getloadavg().
6817
6818 2000-07-30  Martin Buchholz  <martin@xemacs.org>
6819
6820         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
6821
6822 2000-07-25  Andy Piper  <andy@xemacs.org>
6823
6824         * syswindows.h: add tchar.h for native builds.
6825
6826         * frame.c (syms_of_frame): remove set-glyph-image.
6827
6828         * general-slots.h: add Qset_glyph_image.
6829
6830         * glyphs-widget.c (layout_update): add domain arg to
6831         set-glyph-image.
6832         (syms_of_glyphs_widget): remove set-glyph-image.
6833
6834 2000-07-23  Ben Wing  <ben@xemacs.org>
6835
6836         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
6837         Vpopup_frame_list.
6838
6839 2000-07-22  Andy Piper  <andy@xemacs.org>
6840
6841         * symsinit.h: add syms_of_win32().
6842
6843         * gui-msw.c (syms_of_gui_mswindows): remove
6844         Fmswindows_shell_execute.
6845         (Fmswindows_shell_execute): moved to win32.c.
6846
6847         * emacs.c (main_1): add syms_of_win32 ().
6848
6849         * win32.c (init_potentially_nonexistent_functions): rewrite in
6850         compiler-friendly terms.
6851         (Fmswindows_shell_execute): move here from gui-msw.c.
6852         (syms_of_win32): new.
6853
6854         * device-msw.c (Fmswindows_printer_list): clean up args to
6855         EnumPrinters.
6856         Don't include tchar under cygwin or mingw.
6857         (msprinter_default_printer): make cygwin-friendly.
6858
6859 2000-07-21  Andy Piper  <andy@xemacs.org>
6860
6861         * glyphs-widget.c (image_instantiator_tree_view): use tab
6862         control's update function.
6863         (layout_property): new function. Retrieve items.
6864
6865         * glyphs-msw.c (mswindows_tree_view_redisplay): new
6866         function. Re-populate the tree view from the pending items.
6867
6868         * glyphs.c (instantiate_image_instantiator): Make sure the domain
6869         is designated the parent if the domain is an image instance. This
6870         is needed so that dirtiness can be cascade up the hierarchy and
6871         thus for layout children to be redisplayed correctly.
6872         (allocate_image_instance): rename glyph -> parent.
6873
6874         * redisplay.h: change redisplay_output_layout signature.
6875
6876         * redisplay-msw.c (mswindows_output_display_block): use domain
6877         arg.
6878
6879         * redisplay-x.c (x_output_display_block): use domain arg.
6880
6881 2000-07-10  Andy Piper  <andy@xemacs.org>
6882
6883         * window.c (Fset_window_configuration): add comment.
6884
6885         * redisplay-output.c (compare_runes):
6886         (redisplay_output_subwindow): redisplay rather than update subwindow.
6887         (redisplay_output_layout): ditto.
6888
6889         * redisplay-msw.c (mswindows_frame_output_end):
6890         (mswindows_frame_output_end): make defer window pos optional.
6891
6892         * lisp.h: add Flast.
6893
6894         * glyphs.h (struct image_instantiator_methods): add dest_mask top
6895         normalize method. Change update method to be for changed
6896         instantiators. Add redisplay method. Change signature of layout
6897         method.
6898         (struct Lisp_Image_Instance): add instantiator.
6899         (IMAGE_INSTANCE_INSTANTIATOR): new.
6900         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
6901         (XIMAGE_INSTANCE_INSTANTIATOR): new.
6902         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
6903
6904         * glyphs.c:
6905         (find_instantiator_differences): new function.
6906         (Fset_instantiator_property): new convenience function.
6907         (check_image_instance_structure): strictly check for vector
6908         instantiators.
6909         (normalize_image_instantiator): make non-static.
6910         (instantiate_image_instantiator): pass on dest_mask and use new
6911         signatures for image_instance_layout and friends.
6912         (mark_image_instance): mark the instantiator. Mark the subwindow
6913         face not the widget face.
6914         (image_instance_equal): add instantiator.
6915         (image_instance_hash): ditto.
6916         (allocate_image_instance): ditto.
6917         (Fset_image_instance_property): removed.
6918         (Fimage_instance_file_name): ditto.
6919         (Fcolorize_image_instance): ditto.
6920         (image_instance_layout): add offsets to be set.
6921         (update_image_instance): new function. update an image instance
6922         from its changed instantiator.
6923         (inherit_normalize): add dest_mask.
6924         (xbm_normalize): ditto.
6925         (xface_normalize): ditto.
6926         (xpm_normalize): ditto.
6927         (text_update): set_property -> update.
6928         (image_instantiate): use the glyph identity as a hash key, not the
6929         instantiator.
6930         (glyph_width): use new image_instance_layout signature.
6931         (glyph_ascent): ditto.
6932         (glyph_descent): ditto.
6933         (glyph_height): ditto.
6934         (glyph_query_geometry): ressurrect.
6935         (glyph_layout): ditto.
6936         (redisplay_subwindow): update -> redisplay.
6937         (syms_of_glyphs): add Fset_instantiator_property.
6938         (image_instantiator_format_create): set_property -> update.
6939
6940         * glyphs-x.c:
6941         (autodetect_normalize): add dest_maks to signature.
6942         (x_redisplay_subwindow): update -> redisplay.
6943         (x_redisplay_widget): ditto.
6944         (x_button_redisplay): ditto.
6945         (x_progress_gauge_redisplay): ditto.
6946         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
6947         stacking order.
6948         (console_type_create_glyphs_x): update -> redisplay.
6949         (image_instantiator_format_create_glyphs_x): ditto.
6950
6951         * glyphs-widget.c:
6952         (check_valid_instantiator): disallow glyphs in the instantiator,
6953         they must now be vectors.
6954         (check_valid_instantiator_list): ditto.
6955         (glyph_instantiator_to_glyph): use internal symbol rather than
6956         intern.
6957         (widget_update): renamed from widget_set_property. Call cascaded
6958         update methods.
6959         (redisplay_widget): renamed from update_widget.
6960         (widget_layout): image_instance_layout now takes position as well
6961         as size.
6962         (widget_normalize): ditto.
6963         (widget_instantiate): ditto.
6964         (tab_control_query_geometry) ditto.:
6965         (tab_control_update): renamed from tab_control_set_property.
6966         (progress_gauge_update): set_property -> update.
6967         (layout_normalize): rewrite so that child instantiators are
6968         normalized also.
6969         (layout_update): new function. Create glyphs from the normalized
6970         children and cope with any other layout keywords. We do not
6971         instantiate children here that will be take care of by
6972         redisplay_output_layout.
6973         (layout_instantiate): call layout_update and not much else.
6974         (layout_post_instantiate): not sure whether this is needed
6975         anymore.
6976         (layout_query_geometry): query glyph geometry rather than
6977         image_instance geometry.
6978         (layout_layout): set offsets from pass in parameters. Use glyph
6979         geometry and layout functions rather than image instance ones.
6980         (native_layout_layout): ditto.
6981         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
6982         (image_instantiator_widget): set_property -> update.
6983         (image_instantiator_buttons): ditto.
6984         (image_instantiator_progress_guage): ditto.
6985         (image_instantiator_tab_control): ditto.
6986         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
6987         (image_instantiator_layout): add update method.
6988
6989         * glyphs-msw.c (bmp_normalize):
6990         (mswindows_resource_normalize): add dest_mask so that it can be
6991         proprogated by layout_normalize.
6992         (begin_defer_window_pos): make optional because it may not be the
6993         right thing to do and it introduces differences with X.
6994         (mswindows_unmap_subwindow): ditto.
6995         (mswindows_map_subwindow): ditto.
6996         (mswindows_redisplay_subwindow): renamed from
6997         mswindows_update_subwindow.
6998         (mswindows_redisplay_widget): ditto.
6999         (mswindows_button_redisplay): renamed from
7000         mswindows_button_update. Update is now what the instantiation
7001         function does for a changed instantiator.
7002         (mswindows_progress_gauge_instantiate): set the progress value
7003         here if appropriate.
7004         (mswindows_tab_control_redisplay): cope with re-ordering of the
7005         members of the tab widget by simply selecting the new top
7006         widget. This makes things appear ok if you click on a tab.
7007         (mswindows_combo_box_instantiate): image_instance_layout now takes
7008         position as well as size.
7009         (mswindows_progress_gauge_redisplay): renamed from
7010         mswindows_progress_gauge_update.
7011         (console_type_create_glyphs_mswindows): fix update -> redisplay.
7012         (image_instantiator_format_create_glyphs_mswindows): ditto.
7013
7014         * glyphs-eimage.c (jpeg_normalize):
7015         (gif_normalize):
7016         (png_normalize):
7017         (tiff_normalize): add dest_mask so that it can be proprogated by
7018         layout_normalize.
7019
7020         * elhash.c:
7021         (print_hash_table):
7022         (hash_table_weakness_validate):
7023         (decode_hash_table_weakness):
7024         (Fhash_table_weakness):
7025         (Fhash_table_type):
7026         (syms_of_elhash): use Ben's naming scheme for hashtable types..
7027
7028         * console.h (struct console_methods): move update_* to
7029         redisplay_*.
7030
7031 2000-07-20  Ben Wing  <ben@xemacs.org>
7032
7033         * *.[ch] (XSETOBJ): remove unused middle argument.
7034         lisp-disunion.h: correct wrap_object() to one argument.
7035
7036 2000-07-15  Ben Wing  <ben@xemacs.org>
7037
7038         * s/cygwin32.h:
7039         * s/cygwin32.h (CYGWIN_CONV_PATH):
7040         Add missing logb prototype for v1.1.
7041         Use post-b20 names and alias to pre-b20 names when pre-b20.
7042
7043         * s/windowsnt.h: [5].
7044
7045 2000-07-15  Ben Wing  <ben@xemacs.org>
7046
7047         * Makefile.in.in (x_objs):
7048         * Makefile.in.in (sheap_objs):
7049         * Makefile.in.in (objs):
7050         added win32.o, cosmetic cleanups.
7051
7052         * alloc.c (Fmake_byte_code):
7053         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
7054         etc. macros which declare their own args now.
7055
7056         * alloc.c (syms_of_alloc):
7057         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
7058
7059         * buffer.c:
7060         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
7061
7062         * buffer.c (Fget_file_buffer):
7063         Fixed GCPRO problem.
7064
7065         * buffer.c (get_truename_buffer):
7066         Fixed comment about GC checking.
7067
7068         * buffer.c (syms_of_buffer):
7069         Undeclared those dedicated frame funs.
7070         [2].
7071
7072         * buffer.h:
7073         Define convenience macros for internal/external conversions.
7074         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
7075         and Qenvironment_variable_encoding for cleaner code.
7076
7077         * bufslots.h:
7078         Remove dedicated-frame; in lisp.
7079
7080         * bytecode.c (funcall_compiled_function):
7081         [1].
7082
7083         * bytecode.c (syms_of_bytecode):
7084         [2].
7085
7086         * console-msw.c:
7087         * console-msw.c (mswindows_show_console): Rewrote.
7088
7089         * console-msw.c (Fmswindows_debugging_output): New.
7090         Sends to OutputDebugString (special MSWin debugger interface).
7091
7092         * console-msw.c (Fmswindows_message_box):
7093         Fixed stupid bugs so it works when called from kill-emacs.
7094
7095         * console-msw.c (syms_of_console_mswindows):
7096         Declare Fmswindows_debugging_output.
7097
7098         * console-msw.h:
7099         New MSWin prototypes.
7100
7101         * console-msw.h (struct mswindows_frame):
7102         New entry last-click-mods for improved button-modifier support.
7103
7104         * console-msw.h (FRAME_MSWINDOWS_POPUP):
7105         New struct entry `popup' with corresponding accessor.
7106
7107         * console-x.c:
7108         * console-x.c (split_up_display_spec):
7109         * console-x.c (get_display_arg_connection):
7110         * console-x.c (x_semi_canonicalize_console_connection):
7111         * console-x.c (x_canonicalize_device_connection):
7112         [[[6]]]: Change char to more specific type.
7113         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
7114
7115         * console-x.c (x_semi_canonicalize_console_connection):
7116         * console-x.c (x_canonicalize_device_connection):
7117         [[[9]]]: Fix up error signalling to use new structured error system.
7118
7119         * console-x.h:
7120         [[[4]]]: Define codesys aliases:
7121         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
7122         Qx_color_name_encoding, Qx_display_name_encoding.
7123
7124         * console.h (struct console_methods):
7125         New method make_dialog_box_internal supersedes older
7126         popup_dialog_box method.
7127
7128         * data.c:
7129         Define many new errors, part of new structured errors.
7130
7131         * data.c (init_errors_once_early):
7132         * data.c (syms_of_data):
7133         [2].
7134
7135         * device-msw.c (mswindows_init_device):
7136         [[[5]]]: Cleanup to support NT 3.51.
7137
7138         * device-msw.c (decode_devmode): Cleanup.
7139
7140         * device-msw.c (mswindows_handle_print_setup_dialog_box):
7141         * device-msw.c (mswindows_handle_print_dialog_box):
7142         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7143         * device-msw.c (syms_of_device_mswindows):
7144         Delete the dialog box primitives recently introduced by Kirill and
7145         instead interface to general dialog box interface.
7146
7147         * device-x.c:
7148         * device-x.c (compute_x_app_name):
7149         * device-x.c (x_init_device):
7150         * device-x.c (Fx_valid_keysym_name_p):
7151         * device-x.c (Fx_set_font_path):
7152         [6].
7153         [7].
7154
7155         * device.h (wrap_device): New.
7156         First of its kind; meant to replace XSETDEVICE.
7157
7158         * dialog-msw.c: Many file-dialog symbols.
7159
7160         * dialog-msw.c (mswindows_register_popup_frame): New.
7161         * dialog-msw.c (mswindows_is_dialog_msg): New.
7162         For supporting kbd traversal in dialog boxes.
7163
7164         * dialog-msw.c (dialog_proc):
7165         Support hitting ESC in dialogs.
7166
7167         * dialog-msw.c (struct):
7168         Common dialog box errors.
7169
7170         * dialog-msw.c (handle_file_dialog_box): New.
7171         Add file dialog code.
7172
7173         * dialog-msw.c (handle_question_dialog_box):
7174         Redo existing code to support new question dialog syntax.
7175
7176         * dialog-msw.c (console_type_create_dialog_mswindows):
7177         We support new dialog console method.
7178
7179         * dialog-msw.c (syms_of_dialog_mswindows):
7180         * dialog-msw.c (vars_of_dialog_mswindows):
7181         New file dialog symbols, vars.
7182
7183         * dialog-x.c:
7184         * dialog-x.c (maybe_run_dbox_text_callback):
7185         * dialog-x.c (dbox_descriptor_to_widget_value):
7186         * dialog-x.c (x_make_dialog_box_internal):
7187         * dialog-x.c (console_type_create_dialog_x):
7188         Mule-ize entire file.
7189         Redo to support question dialog syntax.
7190         [6].
7191
7192         * dialog.c:
7193         * dialog.c (Fmake_dialog_box_internal):
7194         * dialog.c (syms_of_dialog):
7195         Kill old popup-dialog-box, replace with new primitive.
7196         Just call device method or signal error.
7197
7198         * eldap.c (Fldap_open):
7199         * eldap.c (Fldap_search_basic):
7200         * eldap.c (Fldap_add):
7201         * eldap.c (Fldap_modify):
7202         [1].
7203         [7].
7204
7205         * emacs.c:
7206         * emacs.c (make_arg_list_1):
7207         * emacs.c (make_arg_list):
7208         Mule-ize call to dll_init().
7209         [6].
7210         [8].
7211
7212         * emacs.c (make_argc_argv):
7213         * emacs.c (free_argc_argv):
7214         * emacs.c (init_cmdargs):
7215         * emacs.c (main_1):
7216         * emacs.c (Fkill_emacs):
7217         * emacs.c (Fdump_emacs):
7218         Update comments about what can be used in syms_* etc.
7219         Call init_win32() when necessary.
7220         Fix up MS Win dialog box in kill-buffer to actually work right.
7221         [7].
7222
7223         * eval.c:
7224         * eval.c (For):
7225         * eval.c (Fand):
7226         * eval.c (Fprogn):
7227         * eval.c (Fprog1):
7228         * eval.c (Fprog2):
7229         * eval.c (FletX):
7230         * eval.c (Flet):
7231         * eval.c (condition_case_3):
7232         * eval.c (Feval):
7233         * eval.c (function_argcount):
7234         * eval.c (funcall_lambda):
7235         [1].
7236
7237         * eval.c (type_error): New.
7238         * eval.c (maybe_type_error): New.
7239         * eval.c (continuable_type_error): New.
7240         * eval.c (maybe_continuable_type_error): New.
7241         * eval.c (type_error_with_frob): New.
7242         * eval.c (maybe_type_error_with_frob): New.
7243         * eval.c (continuable_type_error_with_frob): New.
7244         * eval.c (maybe_continuable_type_error_with_frob): New.
7245         New functions for use with structured errors.
7246
7247         * event-Xt.c:
7248         * event-Xt.c (x_event_to_emacs_event):
7249         Buttons are now modifiers too.
7250
7251         * event-Xt.c (emacs_Xt_current_event_timestamp):
7252         Implement new event method.
7253         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
7254
7255         * event-msw.c:
7256         * event-msw.c (ntpipe_shove_writer): [5].
7257         * event-msw.c (mswindows_enqueue_mouse_button_event):
7258         * event-msw.c (mswindows_drain_windows_queue):
7259         * event-msw.c (mswindows_wnd_proc): [7].
7260         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
7261         * event-msw.c (mswindows_modifier_state):
7262         Throughout: support new button modifiers.
7263
7264         * event-msw.c (emacs_mswindows_current_event_timestamp):
7265         Implement new event method.
7266         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
7267
7268         * event-stream.c:
7269         * event-stream.c (event_stream_current_event_timestamp): New.
7270         * event-stream.c (maybe_kbd_translate): New functionality.
7271         * event-stream.c (vars_of_event_stream):
7272         Document new kbd-translate-table functionality.
7273
7274         * event-stream.c (Fcurrent_event_timestamp): New.
7275         New primitive for use in fabricated events.
7276         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
7277
7278         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
7279
7280         * events.c:
7281         * events.c (Fmake_event):
7282         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
7283         [1].
7284         [9].
7285
7286         * events.c (format_event_object): fix gcc warnings.
7287
7288         * events.c (Fevent_timestamp): Document new primitives.
7289
7290         * events.c (TIMESTAMP_HALFSPACE): New.
7291
7292         * events.c (Fevent_timestamp_lessp): New.  New primitive for
7293         comparing timestamps correctly (half-space algorithm).
7294
7295         * events.c (Fevent_modifier_bits): Doc fix.
7296
7297         * events.c (Fevent_modifiers): Major doc addition.
7298         * events.c (event_x_y_pixel_internal): Typo fix.
7299         * events.c (syms_of_events): Declare new primitives.
7300
7301         * events.h:
7302         Update long comment for button modifiers, timestamps.
7303
7304         * events.h (struct event_stream):
7305         New current_event_timestamp method.
7306
7307         * extents.c:
7308         * extents.c (extent_in_region_p):
7309         * extents.c (decode_extent):
7310         * extents.c (Fset_extent_parent):
7311         * extents.c (decode_map_extents_flags):
7312         Fix gcc warnings.
7313         [9].
7314
7315         * extents.c (struct extent_at_arg):
7316         * extents.c (decode_extent_at_flag):
7317         * extents.c (extent_at_mapper):
7318         * extents.c (extent_at_bytind):
7319         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
7320         * extents.c (Fextents_at): New primitive. [9].
7321         * extents.c (symbol_to_glyph_layout): [9].
7322         Support new primitive `extents-at'.
7323
7324
7325         * extents.c (get_text_property_bytind):
7326         extent_at_bytind has another arg.
7327         [9].
7328
7329         * extents.c (syms_of_extents): New primitive.
7330
7331         * file-coding.c (Fmake_coding_system): [1].
7332         * file-coding.c (subsidiary_coding_system): fix gcc warning
7333         * file-coding.c (syms_of_file_coding): [2].
7334
7335         * fileio.c (Fexpand_file_name):
7336         * fileio.c (Fsysnetunam):
7337         * fileio.c (Ffile_exists_p):
7338         * fileio.c (Ffile_executable_p):
7339         * fileio.c (Fverify_visited_file_modtime):
7340         Clean up GCPROing.
7341
7342         * fileio.c (syms_of_fileio): [2].
7343
7344         * filelock.c (lock_file_1):
7345         * filelock.c (current_lock_owner):
7346         * filelock.c (lock_if_free):
7347         * filelock.c (lock_file):
7348         * filelock.c (unlock_file):
7349         Clean up GCPROing.
7350
7351         * fns.c (concat): Fix gcc warning.
7352
7353         * fns.c (Fmember):
7354         * fns.c (Fold_member):
7355         * fns.c (Fmemq):
7356         * fns.c (Fold_memq):
7357         * fns.c (memq_no_quit):
7358         * fns.c (Fassoc):
7359         * fns.c (Fold_assoc):
7360         * fns.c (Fassq):
7361         * fns.c (Fold_assq):
7362         * fns.c (assq_no_quit):
7363         * fns.c (Frassoc):
7364         * fns.c (Fold_rassoc):
7365         * fns.c (Frassq):
7366         * fns.c (Fold_rassq):
7367         * fns.c (rassq_no_quit):
7368         * fns.c (Fdelete):
7369         * fns.c (Fold_delete):
7370         * fns.c (Fdelq):
7371         * fns.c (Fold_delq):
7372         * fns.c (delq_no_quit):
7373         * fns.c (Fremassoc):
7374         * fns.c (Fremassq):
7375         * fns.c (remassq_no_quit):
7376         * fns.c (Fremrassoc):
7377         * fns.c (Fremrassq):
7378         * fns.c (remrassq_no_quit):
7379         * fns.c (Freverse):
7380         * fns.c (mapcar1):
7381         [1].
7382
7383         * frame-msw.c (mswindows_init_frame_1):
7384         * frame-msw.c (mswindows_delete_frame):
7385         Register popups with dialog code so keyboard traversing works.
7386
7387         * frame-tty.c (tty_raise_frame_no_select): [1].
7388
7389         * frame-x.c:
7390         * frame-x.c (x_set_frame_text_value):
7391         * frame-x.c (x_set_frame_properties):
7392         * frame-x.c (x_create_widgets):
7393         [7].
7394
7395         * frame.c:
7396         * frame.c (Fmouse_pixel_position): Minor doc fixes.
7397
7398         * frame.h (wrap_frame): New.
7399         Macro like wrap_device.
7400
7401         * general.c:
7402         * general.c (SYMBOL):
7403         * general.c (syms_of_general):
7404         Major reorg.  This is now just a wrapper and symbols themselves
7405         are listed in general-slots.h.
7406
7407         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
7408         * glyphs-msw.c (mswindows_resource_instantiate): [5].
7409
7410         * glyphs-msw.c (mswindows_native_layout_instantiate):
7411         Add DS_CONTROL so keyboard traversal will work.
7412
7413         * glyphs-widget.c:
7414         * glyphs-widget.c (syms_of_glyphs_widget):
7415         Move some symbols to general-slots.h.
7416
7417         * glyphs-x.c:
7418         * glyphs-x.c (xbm_instantiate_1):
7419         * glyphs-x.c (x_xbm_instantiate):
7420         * glyphs-x.c (x_xface_instantiate):
7421         * glyphs-x.c (autodetect_instantiate):
7422         * glyphs-x.c (cursor_font_instantiate):
7423         * glyphs-x.c (x_update_widget):
7424         * glyphs-x.c (x_widget_instantiate):
7425         * glyphs.c (bitmap_to_lisp_data):
7426         * glyphs.c (pixmap_to_lisp_data):
7427         [7].
7428
7429         * glyphs.c (syms_of_glyphs):
7430         [2].
7431
7432         * gui-x.c:
7433         * gui-x.c (print_widget_value):
7434         * gui-x.c (menu_separator_style_and_to_external):
7435         * gui-x.c (add_accel_and_to_external):
7436         * gui-x.c (button_item_to_widget_value):
7437         * gui-x.c (gui_items_to_widget_values_1):
7438         * gui-x.c (gui_items_to_widget_values):
7439         * gui-x.c (syms_of_gui_x):
7440         * gui-x.c (vars_of_gui_x):
7441         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
7442         [9].
7443
7444         * gui-x.h:
7445         Muleize, prototype changes matching gui-x.c.
7446
7447         * gui.c:
7448         * gui.c (separator_string_p):
7449         * gui.c (gui_item_add_keyval_pair):
7450         * gui.c (make_gui_item_from_keywords_internal):
7451         * gui.c (signal_too_long_error):
7452         * gui.c (parse_gui_item_tree_item):
7453         * gui.c (syms_of_gui):
7454         * gui.c (vars_of_gui):
7455         * gui.h:
7456         menu-no-selection-hook moved here (used by MSWin).
7457         Move some symbols to general-slots.h.
7458         [6].
7459         [9].
7460
7461         * insdel.c (get_buffer_pos_char):
7462         * insdel.c (get_buffer_range_char):
7463         Add GC comments.
7464
7465         * keymap.c (keymap_lookup_directly):
7466         * keymap.c (keymap_store):
7467         * keymap.c (ensure_meta_prefix_char_keymapp):
7468         * keymap.c (describe_map):
7469         * keymap.h:
7470         Support new button modifiers.
7471
7472         * lisp-disunion.h (wrap_object):
7473         * lisp-disunion.h (XSETOBJ):
7474         Rename make_obj to wrap_object.
7475
7476         * lisp-union.h:
7477         * lisp-union.h (make_int):
7478         * lisp-union.h (make_char):
7479         Support wrap_object.
7480
7481         * lisp.h:
7482         * lisp.h (LIST_LOOP):
7483         * lisp.h (EXTERNAL_LIST_LOOP):
7484         * lisp.h (LIST_LOOP_2):
7485         * lisp.h (EXTERNAL_LIST_LOOP_1):
7486         * lisp.h (EXTERNAL_LIST_LOOP_2):
7487         * lisp.h (EXTERNAL_LIST_LOOP_3):
7488         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
7489         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
7490         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
7491         * lisp.h (EXTERNAL_ALIST_LOOP_5):
7492         * lisp.h (EXTERNAL_ALIST_LOOP_6):
7493         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
7494         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
7495         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
7496         * lisp.h (struct Lisp_Symbol):
7497         * lisp.h (maybe_continuable_error_with_frob):
7498         Fix up section comments.
7499         Add new types for char to indicate usage.
7500         Delete symbols auto-generated from general-slots.h.
7501         Add prototypes for structured error functions.
7502         Add long comments describing looping macros and change interface
7503         so that lvalues are automatically declared.
7504         Add NO_DECLARE macro in case callers want to declare lvalues
7505         themselves.
7506
7507         * lread.c (read_syntax_error):
7508         * lread.c (continuable_read_syntax_error):
7509         * lread.c (read_structure):
7510         * lread.c (sequence_reader):
7511         * lread.c (read_list_conser):
7512         * lread.c (read_compiled_function):
7513         Rename syntax_error and continuable_syntax_error to avoid clash
7514         with same-named structured error functions.
7515
7516         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7517         * menubar-msw.c (populate_menu_add_item):
7518         * menubar-msw.c (populate_or_checksum_helper):
7519         [5].
7520         [9].
7521
7522         * menubar-x.c:
7523         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
7524         Mule-ize whole file.
7525
7526         * menubar.c (Fnormalize_menu_item_name): Add optimization.
7527
7528         * mule-charset.c (Fmake_charset):
7529         * mule-wnnfns.c (Fwnn_set_param):
7530         [1].
7531
7532         * ntproc.c (create_child):
7533         * ntproc.c (Fwin32_set_current_locale):
7534         Add comments portending doom.
7535
7536         * objects-msw.c:
7537         * objects-msw.c (old_font_enum_callback_2):
7538         * objects-msw.c (font_enum_callback_1):
7539         * objects-msw.c (mswindows_enumerate_fonts):
7540         [5].
7541
7542         * objects-x.c:
7543         * objects-x.c (allocate_nearest_color):
7544         * objects-x.c (x_parse_nearest_color):
7545         * objects-x.c (x_initialize_color_instance):
7546         * objects-x.c (x_print_color_instance):
7547         * objects-x.c (x_finalize_color_instance):
7548         * objects-x.c (x_valid_color_name_p):
7549         * objects-x.c (x_initialize_font_instance):
7550         * objects-x.c (x_print_font_instance):
7551         * objects-x.c (valid_x_font_name_p):
7552         * objects-x.c (truename_via_FONT_prop):
7553         * objects-x.c (truename_via_random_props):
7554         * objects-x.c (truename_via_XListFonts):
7555         * objects-x.c (x_font_truename):
7556         * objects-x.c (x_font_instance_truename):
7557         * objects-x.c (x_font_instance_properties):
7558         * objects-x.c (x_list_fonts):
7559         * objects-x.c (x_find_charset_font):
7560         Mule-ize entire file.
7561         [7].
7562
7563         * objects-x.h:
7564         Mule-verify.
7565
7566         * print.c:
7567         * print.c (std_handle_out_external):
7568         * print.c (debug_print_no_newline):
7569         * print.c (syms_of_print):
7570         Output to all debugger kinds in debug-print.
7571         Fix console-output code under MSWin to actually work.
7572
7573         * process-nt.c (send_signal):
7574         * process-nt.c (nt_create_process):
7575         Use newer Unicode macros.
7576
7577         * process-unix.c (unix_create_process):
7578         * process-unix.c (unix_canonicalize_host_name):
7579         * process-unix.c (unix_open_network_stream):
7580         [7].
7581
7582         * scrollbar-x.c:
7583         Mule-verify.
7584
7585         * search.c (syms_of_search):
7586         [2].
7587
7588         * select-msw.c (mswindows_destroy_selection):
7589         Use LIST_LOOP_2.
7590
7591         * select-x.c (symbol_to_x_atom):
7592         [7].
7593
7594         * select.c (syms_of_select):
7595         [2].
7596
7597         * sound.c (Fplay_sound_file):
7598         [7].
7599
7600         * specifier.c:
7601         * specifier.c (decode_specifier_type):
7602         * specifier.c (Fvalid_specifier_locale_type_p):
7603         * specifier.c (check_valid_locale_or_locale_type):
7604         * specifier.c (decode_locale):
7605         * specifier.c (decode_locale_type):
7606         * specifier.c (decode_locale_list):
7607         * specifier.c (check_valid_domain):
7608         * specifier.c (decode_specifier_tag_set):
7609         * specifier.c (Fcanonicalize_tag_set):
7610         * specifier.c (Fdefine_specifier_tag):
7611         * specifier.c (Fspecifier_tag_predicate):
7612         * specifier.c (check_valid_inst_list):
7613         * specifier.c (check_valid_spec_list):
7614         * specifier.c (decode_how_to_add_specification):
7615         * specifier.c (check_modifiable_specifier):
7616         * specifier.c (specifier_add_spec):
7617         * specifier.c (boolean_validate):
7618         * specifier.c (display_table_validate):
7619         [9].
7620
7621         * specifier.c (syms_of_specifier):
7622         Move some symbols to general-slots.h.
7623         [2].
7624
7625         * symbols.c:
7626         * symbols.c (Fmapatoms):
7627         * symbols.c (Fapropos_internal):
7628         Add GCPROs.
7629
7630         * symbols.c (set_default_buffer_slot_variable):
7631         * symbols.c (set_default_console_slot_variable):
7632         [1].
7633
7634         * symbols.c (defsymbol_massage_name_1):
7635         * symbols.c (defkeyword_massage_name):
7636         * symbols.c (deferror_1):
7637         * symbols.c (deferror):
7638         * symbols.c (deferror_massage_name_and_message):
7639         * symeval.h:
7640         * symeval.h (DEFSYMBOL):
7641         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
7642
7643         * symbols.c (syms_of_symbols):
7644         [2].
7645
7646         * symsinit.h:
7647         * symsinit.h (init_win32): New.
7648         Also new is syms_of_dialog_mswindows.
7649
7650         * syswindows.h:
7651         Add new Unicode macros, missing Cygwin wide-char functions,
7652         convenience conversion macros for Qmswindows_tstr, macros for
7653         encapsulating required MSWin <-> Cygwin filename conversions,
7654         prototype for dynamically-extracted (not in NT 3.51) functions.
7655
7656         * toolbar-x.c:
7657         Mule-verify.
7658
7659         * tooltalk.c (Fadd_tooltalk_message_arg):
7660         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
7661         * tooltalk.c (Fadd_tooltalk_pattern_arg):
7662         [7].
7663
7664         * tooltalk.c (syms_of_tooltalk):
7665         [2].
7666
7667         * unexnt.c:
7668         * unexnt.c (unexec):
7669         Fix up headers, declaration of unexec() to be more standard.
7670
7671 2000-07-20  Martin Buchholz  <martin@xemacs.org>
7672
7673         * offix.h: Revert change to guard macros - they're used in offix.c!
7674
7675 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7676
7677         * lisp.h: Defsubred Fdelete.
7678
7679         * console-msw.h:  (msprinter_default_printer): Added.
7680
7681         * console-msw.c (msprinter_canonicalize_console_connection):
7682         (msprinter_canonicalize_device_connection): Added.
7683
7684         * device-msw.c (msprinter_default_printer):
7685         (Fmswingows_get_default_printer):
7686         (signal_enum_priner_error):
7687         (Fmswingows_printer_list): Added.
7688
7689 2000-07-19  Martin Buchholz <martin@xemacs.org>
7690
7691         * XEmacs 21.2.35 is released.
7692
7693 2000-07-19  Martin Buchholz  <martin@xemacs.org>
7694
7695         * select-x.c (x_handle_selection_request):
7696         Text selected in xemacs and pasted into xterm failed to appear.
7697         Spelling fixes and cosmetic changes.
7698
7699 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7700
7701         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
7702         XEmacs frame (fix for doubling chars in dialog boxes).
7703
7704 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7705
7706         * select.c (select_convert_in, select_convert_out):
7707         Don't call intern() every time.
7708
7709         * select.c (Qselect_convert_in, Qselect_convert_out): New.
7710         * select.c (vars_of_select): Initialise them.
7711
7712 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7713
7714         * select.c (selection-coercible-types): New.
7715
7716         * select.c (own-selection-internal):
7717         * select.c (get-selection-internal):
7718         MULE bug fix - these should default to COMPOUND_TEXT and not
7719         STRING for MULE. I think.
7720
7721         * select.c (select_convert_out): Use selection-coercible-types
7722         to find types that we can attempt to perform coercions on.
7723
7724 2000-07-18  Martin Buchholz  <martin@xemacs.org>
7725
7726         * mule-wnnfns.c:
7727         * mule-canna.c:
7728         Add coding: cookie to identify encoding.
7729
7730         * mule-canna.c (CANNA_mode_keys): make static.
7731         Use proper prototypes, even for functions of no arguments.
7732         Remove external prototype for Fding().
7733
7734         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
7735
7736         * select.c (syms_of_select): Add missing DEFSUBR.
7737
7738 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7739
7740         * select.c (get_selection_internal, own_selection_internal):
7741         Make the type default to STRING, rather than placing a nil type
7742         into Vselection_alist.
7743
7744 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7745
7746         * gpmevent.c (tty_selection_exists_p):
7747         * gpmevent.c (tty_own_selection):
7748         Updated parameter lists.
7749
7750 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
7751
7752         * select.h (selection-alist): Removed declaration.
7753
7754         * select.h (get_local_selection):
7755         * select.c (get_local_selection):
7756         Made static.
7757
7758         * select.h (convert_selection): Removed declaration.
7759         * select.c (convert_selection): Removed.
7760         This function belongs in Lisp.
7761
7762         * select.h (select_convert_in): Declare.
7763         * select.h (select_convert_out): Declare.
7764         * select.c (select_convert_in): New.
7765         * select.c (select_convert_out): New.
7766         New conversion functions for other files to call.
7767
7768         * select.h (select_notify_buffer_kill): Declare.
7769         * select.c (select_notify_buffer_kill): New.
7770         New functions that get called from kill-buffer.
7771
7772         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
7773         X-specific lisp code.
7774
7775         * select.h: Declare some of the lisp-visible functions for
7776         external use.
7777
7778         * select.c (clean_local_selection_data): Removed. This was
7779         a disgusting function, and previously should have been in
7780         select-x.c in any case. The functionality is now provided
7781         in select-convert-from-integer (select.el).
7782
7783         * select.c (available-selection-types): Fixed stupidity where
7784         INTEGER and ATOM got added twice. Also add STRING when we see an
7785         extent.
7786
7787         * select.c (get-selection-internal): Removed symbol stripping. No
7788         longer causes conversion when data comes from the internal cache.
7789
7790         * select.c (syms_of_select): Added new functions.
7791
7792         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
7793         error checking - previously this called abort!
7794
7795         * select-x.c (x_own_selection): Changed comment.
7796
7797         * select-x.c (x_handle_selection_request): Use select_convert_out.
7798         Don't mess with selection-alist; it's an internal variable of select.c.
7799
7800         * select-x.c (x_get_foreign_selection): Use select_convert_in.
7801
7802         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
7803         rather than messing with selection-alist.
7804
7805         * select-msw.c (mswindows_get_foreign_selection):
7806         Use TO_INTERNAL_FORMAT rather than hacking.
7807
7808 2000-07-14  Martin Buchholz  <martin@xemacs.org>
7809
7810         * process-unix.c (unix_open_multicast_group):
7811         (unix_open_multicast_group): Remove useless casts.
7812
7813 2000-07-13  Martin Buchholz  <martin@xemacs.org>
7814
7815         * sound.c (Fplay_sound): Fix `unused variable' warning.
7816
7817         * emacs.c (main): Use correct type for _environ on SCO5.
7818
7819 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
7820
7821         * console.h (own_selection_method):
7822         * console.h (selection_exists_p_method):
7823         * console.h (available_selection_types_method): New.
7824         * console.h (register_selection_data_type_method): New.
7825         * console.h (selection_data_type_name): New.
7826
7827         * console-msw.h (mswindows_destroy_selection): Declare it.  New
7828         function & alist to track GlobalAlloc()'d handles that need
7829         releasing when the clipboard data gets replaced or emptied.
7830
7831         * event-msw.c (mswindows_wnd_proc): Call it.
7832
7833         * lisp.h, general.c (Qappend): New symbol representing a
7834         `how-to-add' mode.
7835
7836         * select.c (own-selection-internal):
7837         * select.c (selection-exists-p):
7838         * select.c (available-selection-types): New.
7839         * select.c (register-selection-data-type): New.
7840         * select.c (selection-data-type-name): New.  New functions to deal
7841         with device-specific selection data formats.
7842         * select.c (selection-converter-out-alist): Renamed.
7843         * select.c (selection-converter-in-alist): New.
7844         * select.c (selection-appender-alist): New.  Added new alists.
7845         * select.c (syms_of_select, vars_of_select): Added new symbols &
7846         variables.
7847         * select.c (get_local_selection): Split.
7848         * select.c: Removed spurious type checking - selections may now be
7849         of any type, not just strings.
7850         * select.c (own-selection-internal):
7851
7852         * select.h, select.c (convert_selection): New. Created
7853         convert_selection() function based on get_local_selection().
7854         * select.h, select.c (QCF_*): New symbols representing mswindows
7855         clipboard formats.
7856         * select.h, select.c (Qreplace_all, Qreplace_existing): New
7857         symbols representing `how-to-add' modes.
7858
7859         * select-msw.c (x_sym_p): New.
7860         * select-msw.c (symbol_to_ms_cf): New.
7861         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
7862         symbols & clipboard formats. Can also handle string names.
7863         * select-msw.c (mswindows_own_selection):
7864         * select-msw.c (mswindows_selection_exists_p):
7865         Added `data-type' parameter. Use it.
7866         * select-msw.c (mswindows_available_selection_types): New.
7867         * select-msw.c (mswindows_register_selection_data_type): New.
7868         * select-msw.c (mswindows_selection_data_type_name): New.
7869         * select-msw.c (mswindows_own_selection):
7870         * select-msw.c (mswindows_get_foreign_selection):
7871         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
7872         * select-msw.c (console_create_select_mswindows): Added new methods.
7873         * select-msw.c (mswindows_destroy_selection): New.
7874         * select-msw.c (Vhandle_alist): New list.
7875         * select-msw.c (mswindows_own_selection):
7876
7877         * select-x.c (x_own_selection):
7878         * select-x.c (x_selection_exists_p):
7879         * select-x.c: Added some comments about maybe using new
7880         functionality.
7881         * select-x.c (x_own_selection):
7882
7883         * specifier.c: Remove definition of Qappend (now in general.c)
7884         * specifier.c (syms_of_specifier): Remove Qappend.
7885
7886 2000-07-12  Martin Buchholz  <martin@xemacs.org>
7887
7888         * config.h.in: Add socklen_t.
7889
7890         * s/decosf4-0.h: No special compiler flags needed or desired.
7891         In particular, undefine _BSD for DEC OSF 4.0.
7892
7893 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7894
7895         * redisplay-msw.c (msprinter_frame_output_end): Added.
7896         (console_type_create_redisplay_mswindows): Referred the above.
7897
7898         * frame.c (setup_frame_without_minibuffer): Do not create a
7899         default minibuffer frame on a printer device.
7900
7901         * frame-msw.c (apply_dc_geometry): Added.
7902         (msprinter_start_page):
7903         (msprinter_init_frame_3):
7904         (msprinter_eject_page): Use it.
7905
7906         * console-msw.h (struct msprinter_frame): Added pix_left and top,
7907         and removed residual duplex and orientation properties.
7908
7909 2000-07-11  Martin Buchholz  <martin@xemacs.org>
7910
7911         * eval.c (function_argcount): Work around a DEC CC compiler bug.
7912
7913         * unexalpha.c: Remove system prototypes from C sources!
7914
7915 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
7916
7917         * eval.c: Remove references to M-x edit-options in DEFUNs for
7918         `defvar' and `defconst'.
7919
7920 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7921
7922         * config.h.in: Remove SMART_INCLUDE hackery.
7923
7924         PostgreSQL hacking:
7925         * config.h.in: Don't use SMART_INCLUDE.
7926
7927         * postgresql.h: Include libpq-fe.h here.  Fix typo.
7928         * inline.c: Simply #include "postgresql.h"
7929         * postgresql.c:
7930         - Don't use SMART_INCLUDE
7931         - Use simply "const".
7932         - Use standard doc string conventions.
7933         - Use correct type for result of PQstatus.
7934
7935 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7936
7937         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
7938
7939         C++ compilation changes.
7940         * config.h.in (EXTERN_C): Define.
7941         * config.h.in (not): This is also a C++ keyword.
7942         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
7943         * cm.c: Use EXTERN_C.
7944         * redisplay-tty.c: Use EXTERN_C.
7945         * sysdep.c: Use EXTERN_C.  Remove Gould support.
7946
7947 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7948
7949         * general.c: Remove duplicate definition for Qfunction.
7950
7951 2000-07-08  Ben Wing  <ben@xemacs.org>
7952
7953         * device-msw.c (msprinter_init_device):
7954         * device-msw.c (sync_printer_with_devmode):
7955         * device-msw.c (handle_devmode_changes):
7956         * device-msw.c (print_dialog_worker):
7957         * device-msw.c (Fmsprinter_apply_settings):
7958         * device-msw.c (hash_devmode):
7959         * device-msw.c (Fmsprinter_settings_despecialize):
7960         use Qmswindows_tstr, not Qctext.
7961
7962         * vm-limit.c (check_memory_limits):
7963         avoid infinite loop printing warning messages.
7964
7965 2000-07-05  Craig Lanning  <lanning@scra.org>
7966
7967         * Makefile.in.in: Add support for including the Windows resources
7968         when building with the cygwin and mingw targets.
7969
7970         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
7971         not set or not correct.
7972         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
7973         (init_initial_directory): Don't try to use $PWD on the
7974         WIN32_NATIVE target.
7975
7976         * s\cygwin32.h:
7977         [[Add -mwindows to eliminate console window.]] not required --ben
7978         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7979         (MAIL_USE_POP): removed; now handled by configure.
7980
7981         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
7982         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
7983         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7984         (MAIL_USE_POP): removed; now handled by configure.
7985         (ENCAPSULATE_STAT): from Dan Holmsand, added.
7986         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
7987         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
7988         constant string.
7989         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
7990         up from <winsock.h> via systime.h.
7991         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
7992         (getpagesize): from Dan Holmsand, added.
7993         Added #endif which was left dangling by Ben's mega patch; added
7994         comment to help prevent this in the future.
7995
7996         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
7997
7998 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7999
8000         * console-msw.h (struct mswindows_device): Removed unnecessary
8001         cached device geometry values.
8002         Added update_tick and an accessor macro.
8003         (Lisp_Devmode): Added lrecord declaration.
8004         (struct msprinter_device): Contain devmode as a Lisp object.
8005         Added mswindows_get_selected_frame_hwnd();
8006
8007         * console.h (struct console_methods): Indentation nitpicking.
8008
8009         * device-msw.c (mswindows_init_device): Do not initialize geometry
8010         cache. Initialize update tick.
8011         (mswindows_device_system_metrics): Ask the device for its geometry.
8012         (global_free_2_maybe):
8013         (devmode_to_hglobal):
8014         (handle_printer_changes):
8015         (ensure_not_printing):
8016         (print_dialog_worker):
8017         (Fmsprinter_print_setup_dialog):
8018         (Fmsprinter_print_dialog):
8019         (plist_get_margin):
8020         (plist_set_margin):
8021         (Fmsprinter_page_setup_dialog): Added functions.
8022         (sync_printer_with_devmode):
8023         (handle_devmode_changes):
8024         (Fmsprinter_get_settings):
8025         (Fmsprinter_select_settings):
8026         (Fmsprinter_apply_settings):
8027         (allocate_devmode):
8028         (Fmsprinter_settings_copy):
8029         (Fmsprinter_settings_despecialize):
8030         (print_devmode):
8031         (finalize_devmode):
8032         (equal_devmode):
8033         (hash_devmode): Added functions
8034         (syms_of_device_mswindows): Init devmode lrecord class.
8035
8036         * device.h: Added an exfun for find-device.
8037
8038         * event-msw.c (mswindows_wnd_proc): Do not update the cached
8039         geometry; although, recreate the device compatible DC.
8040
8041         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
8042         (msprinter_init_frame_3):
8043         (msprinter_frame_property):
8044         (msprinter_internal_frame_property_p):
8045         (msprinter_frame_properties):
8046         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
8047         print job properties (will move to device settings).
8048
8049         * lisp.h: Added symbols.
8050
8051         * general.c (syms_of_general): Declared them.
8052
8053         * hash.c (string_hash): Added.
8054
8055         * lrecord.h (lrecord_type): Added devmode lrecord type.
8056
8057 2000-07-02  Mike Sperber <mike@xemacs.org>
8058
8059         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
8060         FreeBSD 4.0.
8061
8062 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
8063
8064         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
8065         integer.
8066
8067 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
8068
8069         * data.c (Fstring_to_number): Don't recognize floating point if
8070         base is not 10.
8071
8072 2000-06-22  Martin Buchholz  <martin@xemacs.org>
8073
8074         * glyphs-widget.c (tab_control_query_geometry):
8075         (widget_query_geometry):
8076         (button_query_geometry):
8077         * glyphs.c (text_query_geometry):
8078         Enforce type correctness.
8079
8080 2000-06-18  Martin Buchholz  <martin@xemacs.org>
8081
8082         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
8083         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
8084
8085 2000-06-17  Martin Buchholz  <martin@xemacs.org>
8086
8087         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
8088         conflicts with gcc's fixincluded version of FOO.h.
8089
8090         * glyphs.h (image_instance_geometry): Remove trailing `,'
8091
8092 2000-06-08  Mike Alexander  <mta@arbortext.com>
8093
8094         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
8095         (shove_thread): Don't write the same output twice
8096         (make_ntpipe_output_stream): Increase priority of shove thread
8097         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
8098         chance to run
8099         (ntpipe_shove_closer): Don't delete the pipe until we're done with
8100         it.
8101
8102 2000-06-12  Ben Wing  <ben@xemacs.org>
8103
8104         * s\mingw32.h (sigset):
8105         * s\windowsnt.h (sigset):
8106         rename msw_ to mswindows_ for consistency with general convention.
8107
8108 2000-06-12  Ben Wing  <ben@xemacs.org>
8109
8110         * console-msw.c:
8111         * console-msw.c (mswindows_get_console_hwnd):
8112         * console-msw.c (mswindows_ensure_console_allocated):
8113         * console-msw.c (mswindows_hide_console):
8114         * console-msw.c (mswindows_show_console):
8115         * console-msw.c (mswindows_ensure_console_buffered):
8116         * console-msw.c (mswindows_output_console_string):
8117         * console-msw.c (mswindows_windows9x_p):
8118         * console-msw.h:
8119         * device-msw.c (mswindows_get_workspace_coords):
8120         * device-msw.c (mswindows_device_system_metrics):
8121         * dialog-msw.c (mswindows_popup_dialog_box):
8122         * event-msw.c (mswindows_wnd_proc):
8123         * frame-msw.c (mswindows_size_frame_internal):
8124         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8125         * menubar-msw.c (displayable_menu_item):
8126         * menubar-msw.c (mswindows_char_is_accelerator):
8127         * nt.c:
8128         * nt.c (mswindows_sigset):
8129         * nt.c (mswindows_sigrelse):
8130         * nt.c (mswindows_sigpause):
8131         * nt.c (mswindows_raise):
8132         * nt.c (timer_proc):
8133         * ntproc.c:
8134         * ntproc.c (find_child_console):
8135         * ntproc.c (sys_kill):
8136         * print.c:
8137         * print.c (std_handle_out_external):
8138         * process-nt.c (find_child_console):
8139         * process-nt.c (send_signal_the_95_way):
8140         * process-nt.c (ensure_console_window_exists):
8141         * process-nt.c (nt_create_process):
8142         * syssignal.h:
8143         rename msw_ to mswindows_ for consistency with general convention.
8144
8145         * emacs.c:
8146         * dumper.c:
8147         include nt.h, not syswindows.h.
8148
8149         * nt.c (mswindows_fstat):
8150         * nt.c (mswindows_stat):
8151         prefix mswindows_ instead of attempting to directly override the
8152         library functions.  fix declarations.
8153
8154         * nt.h:
8155         include syswindows.h.  move some sysdep.h stuff here.
8156
8157         * ntheap.h:
8158         include syswindows.h, not <windows.h>.
8159
8160         * ntplay.c:
8161         clean up headers.
8162
8163         * sysdep.c:
8164         clean up headers.
8165
8166         * sysdep.c (sys_fstat):
8167         * sysdep.c (sys_stat):
8168         call mswindows versions when appropriate.
8169
8170         * sysdep.h:
8171         move mswin decls to nt.h.
8172
8173         * syswindows.h:
8174         add long comment describing appropriate use of the various windows
8175         headers.
8176
8177 2000-06-11  Ben Wing  <ben@xemacs.org>
8178
8179         * device-x.c: Correct doc string for sixth arg of x-get-resource.
8180
8181 2000-06-10  Ben Wing  <ben@xemacs.org>
8182
8183         * Makefile.in.in (release):
8184         Correction to make sure xemacs.exe always dumped when correct.
8185
8186         * alloca.c:
8187         * balloon_help.c:
8188         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
8189
8190         * buffer.c (set_buffer_internal):
8191         [[[[2]]]]: Remove HAVE_FEP code.
8192
8193         * buffer.c (init_initial_directory):
8194         [3].
8195
8196         * bytecode.c:
8197         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
8198         individual files.
8199
8200         * callproc.c:
8201         * callproc.c (call_process_cleanup):
8202         * callproc.c (Fold_call_process_internal):
8203         * callproc.c (child_setup):
8204         * callproc.c (getenv_internal):
8205         * callproc.c (init_callproc):
8206         * callproc.c (vars_of_callproc):
8207         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
8208         __CYGWIN32__ -> CYGWIN.
8209         DOS_NT -> WIN32_NATIVE.
8210         Remove MSDOS support/references, converting to WIN32_NATIVE
8211           where correct.
8212         __MINGW32__ -> MINGW.
8213         Fix windows.h includes.
8214         Remove bogus HAVE_NTGUI.
8215
8216         * config.h.in:
8217         [2].
8218
8219         * console-msw.c:
8220         mswindows_message_outputted added for use in allowing startup
8221         errors on the console to be seen.
8222
8223         * console-msw.c (msw_ensure_console_allocated):
8224         * console-msw.c (msw_output_console_string):
8225         * console-msw.c (DHEADER):
8226         * console-msw.c (DOPAQUE_DATA):
8227         * console-msw.c (DEVENT):
8228         * console-msw.c (DCONS):
8229         * console-msw.c (DCONSCDR):
8230         * console-msw.c (DSTRING):
8231         * console-msw.c (DVECTOR):
8232         * console-msw.c (DSYMBOL):
8233         * console-msw.c (DSYMNAME):
8234         Fix warnings.
8235
8236         * console-stream.c (stream_init_console):
8237         Fix text/binary problems.
8238
8239         * device-msw.c:
8240         * device-msw.c (mswindows_finish_init_device):
8241         * device-msw.c (mswindows_delete_device):
8242         [1].
8243
8244         * device.c (handle_asynch_device_change):
8245         [3].
8246
8247         * dgif_lib.c:
8248         * dgif_lib.c (DGifOpenFileName):
8249         * dgif_lib.c (DGifOpenFileHandle):
8250         * dgif_lib.c (DGifGetLine):
8251         * dgif_lib.c (DGifGetPixel):
8252         Added config.h/lisp.h, fix up includes.
8253         [1].
8254
8255         * dired-msw.c:
8256         [4].
8257
8258         * dired.c:
8259         * dired.c (file_name_completion):
8260         * dired.c (Ffile_attributes):
8261         * dired.c (syms_of_dired):
8262         [1].
8263
8264         * dumper.c:
8265         * dumper.c (pdump_file_unmap):
8266         * dumper.c (pdump_load):
8267         [1].
8268
8269         * editfns.c:
8270         * editfns.c (Ftemp_directory):
8271         * editfns.c (user_login_name):
8272         * editfns.c (Fuser_real_login_name):
8273         * editfns.c (get_home_directory):
8274         [1].
8275
8276         * elhash.c (finish_marking_weak_hash_tables):
8277         [[[[5]]]]: Fix GCC warnings.
8278
8279         * emacs.c:
8280         * emacs.c (mswindows_handle_hardware_exceptions):
8281         * emacs.c (make_arg_list_1):
8282         * emacs.c (main_1):
8283         * emacs.c (Fkill_emacs):
8284         * emacs.c (Fdump_emacs):
8285         [1].
8286         Fix problems with nested crashes, add long comment.
8287
8288         * event-Xt.c (init_event_Xt_late):
8289         [1].
8290
8291         * event-msw.c:
8292         * event-msw.c (mswindows_dde_callback):
8293         * event-msw.c (mswindows_handle_sticky_modifiers):
8294         * event-msw.c (mswindows_wnd_proc):
8295         [1].
8296         [5].
8297
8298         * events.c (character_to_event):
8299         [1].
8300
8301         * fileio.c:
8302         * fileio.c (Ffile_name_directory):
8303         * fileio.c (Ffile_name_nondirectory):
8304         * fileio.c (directory_file_name):
8305         * fileio.c (Fexpand_file_name):
8306         * fileio.c (Fsubstitute_in_file_name):
8307         * fileio.c (Ffile_name_absolute_p):
8308         * fileio.c (check_executable):
8309         * fileio.c (Ffile_readable_p):
8310         * fileio.c (Ffile_accessible_directory_p):
8311         * fileio.c (Ffile_modes):
8312         * fileio.c (Funix_sync):
8313         * fileio.c (vars_of_fileio):
8314         [1]. [4].
8315
8316         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
8317
8318         Expand getdefdir defn.
8319         Fix bogus rename() comment.
8320
8321         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
8322         to use standard XEmacs include files, e.g. sysfile.h, rather
8323         than system-specific includes.
8324
8325         * fns.c:
8326         * fns.c (Fsubseq):
8327         [5]. [6].
8328
8329         * frame.c (vars_of_frame):
8330         [1].
8331
8332         * getloadavg.c:
8333         * getloadavg.c (getloadavg):
8334         [1]. [6].
8335         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
8336         (We don't use it elsewhere in the code; just add a comment.)
8337
8338         * gif_io.c:
8339         [6].
8340         Add config.h.
8341
8342         * glyphs-msw.c:
8343         * glyphs-msw.c (mswindows_resource_instantiate):
8344         [1].
8345
8346         * glyphs-x.c (x_native_layout_instantiate):
8347         [5].
8348
8349         * gui-msw.c (Fmswindows_shell_execute):
8350         [1].
8351
8352         * insdel.c:
8353         [4].
8354
8355         * lisp.h:
8356         [4]. [5].
8357
8358         * lread.c (locate_file_in_directory_mapper):
8359         [1].
8360
8361         * lstream.c:
8362         [4].
8363
8364         * mem-limits.h:
8365         * mem-limits.h (get_lim_data):
8366         [1].
8367
8368         * menubar-msw.c:
8369         [4].
8370
8371         * ndir.h:
8372         [1].
8373
8374         * nt.c:
8375         * nt.c (getwd):
8376         * nt.c (closedir):
8377         * nt.c (rva_to_section):
8378         * nt.c (mswindows_executable_type):
8379         [1]. [6].
8380         Fix closedir() defn.
8381
8382         * nt.h:
8383         [[[[8]]]]: *_OK defs moved to sysfile.h.
8384
8385         * ntproc.c:
8386         [6]. [7].
8387
8388         * objects-x.c:
8389         [4].
8390
8391         * print.c:
8392         * print.c (std_handle_out_external):
8393         [1]. [4].
8394
8395         * process-nt.c:
8396         * process-nt.c (nt_create_process):
8397         [6].
8398         try to fix process quoting somewhat.
8399
8400         * process-unix.c (unix_create_process):
8401         [1].
8402
8403         * process.c:
8404         * process.c (vars_of_process):
8405         Add Vnull_device.
8406
8407         * process.h:
8408         [1].
8409
8410         * realpath.c:
8411         * realpath.c (xrealpath):
8412         [1].
8413
8414         * redisplay-tty.c (init_tty_for_redisplay):
8415         [3].
8416
8417         * redisplay.c:
8418         [4]. [6].
8419
8420         * scrollbar-msw.c:
8421         [4].
8422
8423         * sheap.c:
8424         * sheap.c (more_static_core):
8425         * sheap.c (report_sheap_usage):
8426         [5]. [6].
8427
8428         * signal.c:
8429         * signal.c (alarm_signal):
8430         [1]. [6].
8431
8432         * sound.c:
8433         [6].
8434
8435         * strftime.c:
8436         * strftime.c (zone_name):
8437         [1]. [5].
8438
8439         * symsinit.h (init_sunpro):
8440         [1].
8441
8442         * syscommctrl.h:
8443         commctrl.h not in Cygwin b20.1.
8444
8445         * sysdep.c:
8446         * sysdep.c (endif):
8447         * sysdep.c (sys_subshell):
8448         * sysdep.c (init_baud_rate):
8449         * sysdep.c (emacs_get_tty):
8450         * sysdep.c (emacs_set_tty):
8451         * sysdep.c (tty_init_sys_modes_on_device):
8452         * sysdep.c (init_system_name):
8453         * sysdep.c (sys_open):
8454         * sysdep.c (interruptible_open):
8455         * sysdep.c (sys_fopen):
8456         * sysdep.c (sys_mkdir):
8457         * sysdep.c (sys_rename):
8458         * sysdep.c (get_process_times_1):
8459         [1]. [6].
8460
8461         * sysdep.h:
8462         [1].
8463
8464         * sysdir.h:
8465         * sysdir.h (DIRENTRY_NONEMPTY):
8466         [1]. [6].
8467
8468         * sysdll.c (dll_init):
8469         * sysdll.h:
8470         [1].
8471
8472         * sysfile.h:
8473         [1]. [6]. [8].
8474         added text/binary defs.
8475
8476         * sysfloat.h:
8477         [1].
8478
8479         * sysproc.h:
8480         * sysproc.h (EDESTADDRREQ):
8481         * sysproc.h (poll_fds_for_input):
8482         [1]. [6].
8483
8484         * syspwd.h:
8485         [6].
8486
8487         * syssignal.h:
8488         [1].
8489
8490         * systime.h:
8491         [1]. [6].
8492
8493         * systty.h:
8494         [1].
8495
8496         * syswindows.h:
8497         [1].
8498         Always define WIN32_LEAN_AND_MEAN.
8499
8500         * unexcw.c (unexec):
8501         [5].
8502
8503         * unexec.c:
8504         * unexec.c (copy_text_and_data):
8505         * unexec.c (adjust_lnnoptrs):
8506         [1].
8507
8508         * unexnt.c:
8509         * unexnt.c (_start):
8510         [1].
8511
8512 2000-06-07  Ben Wing  <ben@xemacs.org>
8513
8514         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
8515         was used only as a model.  We've long since extracted any useful
8516         logic or code out of this. (I just did an exhaustive search.)
8517
8518         * s\msdos.h: Removed.
8519
8520         * s\windows95.h: Removed.
8521
8522 2000-06-10  Ben Wing  <ben@xemacs.org>
8523
8524         * s\cygwin32.h:
8525         [1]. [5].
8526         Don't use extern with fun defs.
8527
8528         * s\mingw32.h:
8529         [1]. [7].
8530         Remove nt\inc include.
8531         Remove getdisk, getdefdir. (The former is unused, the latter
8532         expanded in fileio.h.)
8533
8534         * s\windowsnt.h:
8535         * s\windowsnt.h (WIN32_NATIVE):
8536         * s\windowsnt.h (HAVE_STRCASECMP):
8537         [1]. [7].
8538         Add long comment about preprocessor changes.
8539         Remove getdisk, getdefdir. (The former is unused, the latter
8540         expanded in fileio.h.)
8541
8542 2000-06-10  Ben Wing  <ben@xemacs.org>
8543
8544         * m\arm.h:
8545         * m\delta.h:
8546         * m\intel386.h:
8547         * m\sequent.h:
8548         * m\template.h:
8549         * m\windowsnt.h:
8550         [1].
8551         Remove bogus/unused NO_SOCK_SIGIO.
8552
8553 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
8554
8555         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
8556         not an Emchar.
8557
8558 2000-06-04  Mike Sperber <mike@xemacs.org>
8559
8560         * casetab.c (set_case_table): For `set-standard-case-table',
8561         actually deposit the new case tables where the rest of XEmacs can
8562         see them.
8563
8564 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
8565
8566         * data.c (Faset): Don't cast XCHAR() to unsigned char.
8567
8568 2000-06-05  Ben Wing  <ben@xemacs.org>
8569
8570         * callproc.c (child_setup): Don't do close_load_descs() under
8571         MS Windows.  Put in a comment explaining why.
8572
8573 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
8574
8575         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
8576         Toolkit shell" which breaks `kill-compilation' on Windows NT
8577         native, retaining STDERR handling improvements.
8578
8579 2000-06-01  Andreas Jaeger  <aj@suse.de>
8580
8581         * s/s390.h: Support for S390, based on a patch by Martin
8582         Schwidefsky <schwidefsky@de.ibm.com>.
8583
8584 2000-05-30  Andy Piper  <andy@xemacs.org>
8585
8586         * window.c (allocate_window):
8587         (make_dummy_parent):
8588         (Fset_window_configuration): use new hashtable type.
8589
8590         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
8591         (struct image_instantiator_methods):
8592         (struct Lisp_Image_Instance): make instance geometry signed.
8593
8594         * glyphs.c (instantiate_image_instantiator):
8595         (image_instance_query_geometry):
8596         (image_instance_layout):
8597         (image_instance_layout):
8598         (query_string_geometry):
8599         (text_query_geometry):
8600         (image_instantiate):
8601         (image_instantiate):
8602         (cache_subwindow_instance_in_frame_maybe):
8603         (subwindow_query_geometry): make instance geometry signed.
8604
8605         * glyphs-widget.c (widget_query_geometry):
8606         (widget_layout):
8607         (button_query_geometry):
8608         (tree_view_query_geometry):
8609         (tab_control_query_geometry):
8610         (layout_query_geometry):
8611         (layout_layout):
8612         (native_layout_layout): make instance geometry signed.
8613
8614 2000-05-29  Olivier Galibert  <galibert@pobox.com>
8615
8616         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
8617         constant.
8618
8619         * general.c (syms_of_general): Add Qfull_assoc symbol.
8620
8621         * data.c (finish_marking_weak_lists): Mark full-assoc lists
8622         correctly.
8623         (decode_weak_list_type): Decode full-assoc type.
8624         (encode_weak_list_type): Encode full-assoc type.
8625         (Fmake_weak_list): Update doc string.
8626
8627 2000-05-30  Andy Piper  <andy@xemacs.org>
8628
8629         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
8630
8631         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
8632         (decode_hash_table_weakness): ditto.
8633         (Fhash_table_weakness): ditto.
8634         (Fhash_table_type): ditto.
8635         (finish_marking_weak_hash_tables): ditto.
8636         (hash_table_weakness_validate): ditto.
8637         (syms_of_elhash): ditto.
8638
8639 2000-05-28  Martin Buchholz <martin@xemacs.org>
8640
8641         * XEmacs 21.2.34 is released.
8642
8643 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8644
8645         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
8646         start cache.
8647         (updating_line_start_cache): Gone.
8648         (regenerate_window): Replace resetting of VERTICAL_CLIP by
8649         generic code to force a minimum of 1 line laid out in the
8650         CMOTION_DISP case.
8651
8652 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8653
8654         * glyphs.c (instantiate_image_instantiator): Check for initialized
8655         height & width no longer special cases IMAGE_NOTHING.
8656         (nothing_instantiate): Set height and width of instance.
8657
8658 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8659
8660         * unexelf.c (unexec): Search for ".data" section.
8661         Initialize new_data2_offset from old_data_index.
8662         Remove redundant check for ElfW.
8663
8664 2000-05-23  Andy Piper  <andy@xemacs.org>
8665
8666         * glyphs.c (get_image_instantiator_governing_domain): allow more
8667         specific domains as the governing domain rather than expecting an
8668         exact match. This fixes problems with layouts.
8669
8670 2000-05-22  Andy Piper  <andy@xemacs.org>
8671
8672         * redisplay-output.c (compare_runes): check for non-images
8673
8674         * glyphs.c (set_glyph_dirty_p): ditto.
8675         (update_glyph_cachel_data): ditto.
8676
8677         * glyphs-widget.c (layout_post_instantiate): ditto.
8678         (layout_post_instantiate): ditto.
8679
8680         * event-msw.c (mswindows_wnd_proc): warning removal.
8681
8682 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
8683
8684         * s\mingw32.h: Added #undef for CLASH_DETECTION.
8685
8686         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
8687
8688         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
8689
8690         * nt.c (rva_to_section): mingw32 needs rva_to_section.
8691         (mswindows_executable_type): mingw32 now has enough headers for
8692         this to work.
8693
8694 2000-05-20  Andy Piper  <andy@xemacs.org>
8695
8696         * console-msw.c (mswindows_output_last_error): ; -> ,
8697
8698 2000-05-12  Andy Piper  <andy@xemacs.org>
8699
8700         * console-msw.c (FROB): compare ints with ints.
8701
8702 2000-05-11  Andy Piper  <andy@xemacs.org>
8703
8704         * glyphs-x.c (x_finalize_image_instance): make minimal build
8705         happy.
8706
8707 2000-05-20  Ben Wing  <ben@xemacs.org>
8708
8709         * event-Xt.c:
8710         * event-Xt.c (vars_of_event_Xt):
8711         move modifier-keys-are-sticky to event-stream.c.
8712
8713         * event-msw.c:
8714         * event-msw.c (mswindows_enqueue_mouse_button_event):
8715         * event-msw.c (key_needs_default_processing_p):
8716         * event-msw.c (XEMSW_LCONTROL):
8717         * event-msw.c (mswindows_handle_sticky_modifiers):
8718         * event-msw.c (FROB):
8719         * event-msw.c (clear_sticky_modifiers):
8720         * event-msw.c (output_modifier_keyboard_state):
8721         * event-msw.c (output_alt_keyboard_state):
8722         * event-msw.c (mswindows_wnd_proc):
8723         * event-msw.c (mswindows_modifier_state):
8724         * event-msw.c (emacs_mswindows_handle_magic_event):
8725         implement sticky modifiers.
8726
8727         * event-stream.c:
8728         * event-stream.c (vars_of_event_stream):
8729         move modifier-keys-are-sticky here.
8730
8731         * lisp.h:
8732         add CHECK_FUNCTION.
8733
8734         * rangetab.c:
8735         implement map-range-table.
8736
8737
8738 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
8739
8740         * redisplay-tty.c (reset_tty_modes):
8741         (tty_redisplay_shutdown): Adjust argument type to
8742         tty_frame_output_end.
8743
8744 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8745
8746         * eval.c (Fbacktrace): Don't output a line with only right
8747         parenthesis.
8748
8749 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
8750
8751         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
8752         (Fpq_reset_poll): Ditto.
8753
8754 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
8755
8756         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
8757
8758 2000-05-16  Ben Wing  <ben@xemacs.org>
8759
8760         * buffer.c:
8761         * buffer.c (dfc_convert_to/from_internal_format):
8762         * buffer.c (reinit_vars_of_buffer):
8763         Fix conversion functions to allow reentrancy.
8764
8765         * console-msw.c:
8766         * console-msw.c (mswindows_output_last_error):
8767         New fun, generally useful -- output a human-readable
8768         version of GetLastError() on the console.
8769
8770         * console-msw.h:
8771         * console-msw.h (struct mswindows_frame):
8772         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
8773
8774         * console-stream.c (stream_output_begin):
8775         * console-stream.c (stream_output_end):
8776         * console-stream.c (stream_output_vertical_divider):
8777         * console-stream.c (stream_clear_region):
8778         * console-stream.c (stream_flash):
8779         * console-stream.c (console_type_create_stream):
8780         Delete blank stream methods, not needed.
8781
8782         * console.h (struct console_methods):
8783         Split begin/end methods into window and frame.
8784
8785         * event-msw.c:
8786         * event-msw.c (mswindows_handle_paint):
8787         * event-msw.c (output_alt_keyboard_state):
8788         * event-msw.c (mswindows_wnd_proc):
8789         * event-msw.c (vars_of_event_mswindows):
8790         Comment about problems with ignored-expose.
8791         Define mswindows-debug-events; not really implemented.
8792
8793         * frame-msw.c (mswindows_init_frame_1):
8794         random cleanups.
8795
8796         * glyphs-msw.c:
8797         * glyphs-msw.c (begin_defer_window_pos):
8798         * glyphs-msw.c (mswindows_unmap_subwindow):
8799         * glyphs-msw.c (mswindows_map_subwindow):
8800         * glyphs-msw.c (mswindows_resize_subwindow):
8801         Use DeferWindowPos to reduce flashing when mapping/unmapping.
8802
8803         * glyphs.c (make_image_instance_1):
8804         Fix crash.
8805
8806         * gutter.c (Fredisplay_gutter_area):
8807         Use new begin/end methods.
8808
8809         * lisp.h (Dynarr_new2):
8810         New creation fun.
8811
8812         * redisplay-msw.c:
8813         * redisplay-msw.c (mswindows_frame_output_begin):
8814         * redisplay-msw.c (mswindows_frame_output_end):
8815         * redisplay-msw.c (console_type_create_redisplay_mswindows):
8816         New begin/end methods -- handle DeferWindowPos.
8817
8818         * redisplay-output.c (redisplay_move_cursor):
8819         * redisplay-output.c (redraw_cursor_in_window):
8820         * redisplay-output.c (redisplay_update_line):
8821         * redisplay-output.c (redisplay_output_window):
8822         New begin/end methods.
8823
8824         * redisplay-tty.c:
8825         * redisplay-tty.c (tty_frame_output_begin):
8826         * redisplay-tty.c (tty_frame_output_end):
8827         * redisplay-tty.c (console_type_create_redisplay_tty):
8828         New begin/end methods.
8829
8830         * redisplay-x.c:
8831         * redisplay-x.c (x_window_output_begin):
8832         * redisplay-x.c (x_window_output_end):
8833         * redisplay-x.c (console_type_create_redisplay_x):
8834         New begin/end methods.
8835
8836         * redisplay.c (redisplay_frame):
8837         * redisplay.c (Fredisplay_echo_area):
8838         New begin/end methods.
8839         use MAYBE_DEVMETH for clear_frame; it may not exist.
8840
8841         * window.h (WINDOW_XFRAME):
8842         WINDOW_XFOO macros -- get locale and decode struct pointer.
8843
8844
8845 2000-05-12  Ben Wing  <ben@xemacs.org>
8846
8847         * emacs.c:
8848         * emacs.c (ensure_no_quitting_from_now_on):
8849         * emacs.c (fatal_error_signal):
8850         * emacs.c (mswindows_handle_hardware_exceptions):
8851         * emacs.c (main):
8852         * emacs.c (Fkill_emacs):
8853         * emacs.c (shut_down_emacs):
8854         * emacs.c (assert_failed):
8855         various improvements in fatal error handling.
8856
8857         * eval.c:
8858         move preparing_for_armageddon to emacs.c.
8859
8860         * lisp.h:
8861         declare fatal_error_in_progress.
8862
8863         * print.c:
8864         * print.c (std_handle_out_external):
8865         * print.c (std_handle_out_va):
8866         * print.c (stderr_out):
8867         * print.c (stdout_out):
8868         use console under mswin when no standard output.
8869         don't do code conversion during fatal error.
8870
8871         * scrollbar.c (Fscrollbar_page_up):
8872         * scrollbar.c (Fscrollbar_page_down):
8873         fix missing else.  reindent.
8874
8875 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
8876
8877         Emergency fix.
8878
8879         * glyphs.h (GLYPH_CACHEL_DESCENT):
8880         (GLYPH_CACHEL_DESCENT):
8881         (GLYPH_CACHEL_DESCENT):
8882         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
8883         used in case these are inline functions.
8884         Use more absurd values to error check.
8885
8886         include window.h for error check functions.
8887
8888 2000-05-11  Ben Wing  <ben@xemacs.org>
8889
8890         * cmdloop.c (Freally_early_error_handler):
8891         Display message box under windows; otherwise, message will disappear
8892         before it can be viewed.
8893
8894         * console-msw.c:
8895         * console-msw.c (Fmswindows_message_box):
8896         * console-msw.c (FROB):
8897         * console-msw.c (syms_of_console_mswindows):
8898         Define new fun `mswindows-message-box'.
8899         #### I will merge this into `popup-dialog-box'; just give me
8900         a bit of time.
8901
8902         * general.c:
8903         * general.c (syms_of_general):
8904         Some new symbols used in `mswindows-message-box'.
8905
8906         * glyphs.c:
8907         * glyphs.c (Fset_image_instance_property):
8908         put warning in this fun.
8909
8910         * glyphs.h:
8911         * glyphs.h (GLYPH_CACHEL_WIDTH):
8912         * glyphs.h (GLYPH_CACHEL_ASCENT):
8913         * glyphs.h (GLYPH_CACHEL):
8914         * glyphs.h (GLYPH_CACHEL_GLYPH):
8915         define error-checking versions to try to catch a bug i've seen --
8916         redisplay gets in an infinite loop because the glyph width of the
8917         continuation glyph is 65535.
8918
8919         * lisp.h:
8920         Extern message-box stuff.
8921
8922         * window.c (allocate_window):
8923         * window.c (make_dummy_parent):
8924         * window.c (Fset_window_configuration):
8925         Use EQUAL not EQ for subwindow caches to make them work a bit
8926         better. (Something is still very broken.)
8927
8928
8929 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8930
8931         * glyphs.c (image_instantiate): Suppress gcc warnings.
8932         (Fmake_image_instance): Fix doc string.
8933         * specifier.c (Fmake_specifier): Ditto.
8934
8935 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
8936
8937         * paths.h.in (PATH_LOCK): Removed.
8938         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
8939         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
8940
8941 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8942
8943         * fns.c (Ffeaturep): Update e-mail address in doc-string.
8944         Document (featurep '(and xemacs 21.02)).
8945
8946 2000-05-09  Ben Wing  <ben@xemacs.org>
8947
8948         * buffer.c (complex_vars_of_buffer):
8949         update modeline-format doc.
8950
8951         * device.h:
8952         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
8953
8954         * emacs.c:
8955         timeline of all released versions of Emacs, for use in creating
8956         authorship comments and in synching up.
8957
8958         * glyphs-widget.c (image_instantiator_buttons):
8959         * glyphs-widget.c (image_instantiator_edit_fields):
8960         * glyphs-widget.c (image_instantiator_combo_box):
8961         * glyphs-widget.c (image_instantiator_scrollbar):
8962         * glyphs-widget.c (image_instantiator_progress_guage):
8963         * glyphs-widget.c (image_instantiator_tree_view):
8964         * glyphs-widget.c (image_instantiator_tab_control):
8965         * glyphs-widget.c (image_instantiator_labels):
8966         * glyphs-widget.c (image_instantiator_layout):
8967         * glyphs-widget.c (image_instantiator_native_layout):
8968         rename decode_domain method to governing_domain.
8969
8970         * glyphs.c:
8971         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
8972         * glyphs.c (add_entry_to_device_ii_format_list):
8973         make sure we don't put an entry more than once into the list.
8974         * glyphs.c (check_instance_cache_mapper):
8975         *************************************************************
8976         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8977         HAVE BEEN GETTING.
8978         *************************************************************
8979         * glyphs.c (get_image_instantiator_governing_domain):
8980         clean up, expand on new concept of governing domain.
8981         * glyphs.c (instantiate_image_instantiator):
8982         * glyphs.c (allocate_image_instance):
8983         use governing_domain instead of cache_domain in naming.
8984         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
8985         * glyphs.c (make_image_instance_1):
8986         * glyphs.c (Fmake_image_instance):
8987         allow for any domain (not just device), and process the
8988         governing domain correctly.  very big doc fix.
8989         * glyphs.c (Fimage_instance_domain):
8990         new primitive, to retrieve the governing domain of an image instance.
8991         * glyphs.c (image_instantiate):
8992         use new governing_domain stuff.  this fixes a crash you could get
8993         by instantiating certain widget glyphs in frame locales. (should
8994         signal an error instead of crashing.)
8995         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
8996         * glyphs.c (Fglyphp): clean up doc.
8997         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
8998         * glyphs.c (syms_of_glyphs):
8999         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
9000         * glyphs.c (image_instantiator_format_create): add some comments about
9001         bogus code.
9002         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
9003         for current-display-table. (Apparently Hrjove implemented in 1998 a
9004         design I wrote up in 1996, but didn't update the doc string.)
9005
9006         * glyphs.h: clean up a doc string.
9007         * glyphs.h (governing_domain):
9008         * glyphs.h (struct image_instantiator_methods):
9009         changes for governing_domain stuff.
9010
9011         * gutter.c:
9012         * gutter.c (Fgutter_specifier_p):
9013         * gutter.c (Fgutter_size_specifier_p):
9014         * gutter.c (Fgutter_visible_specifier_p):
9015         * objects.c:
9016         * objects.c (Fcolor_specifier_p):
9017         * objects.c (Ffont_specifier_p):
9018         * objects.c (Fface_boolean_specifier_p):
9019         doc strings moved to make-*-specifier.
9020
9021         * redisplay.c (add_disp_table_entry_runes_1):
9022         * redisplay.c (generate_fstring_runes):
9023         * redisplay.c (screen):
9024         add random comments and doc strings.
9025
9026         * specifier.c:
9027         * specifier.c (Fmake_specifier):
9028         major overhaul of this doc string.
9029
9030         * specifier.c (Fvalid_specifier_domain_p):
9031         comment about the bogosity of image instances being domains.
9032         * specifier.c (decode_domain):
9033         now non-static, used in glyphs.c.
9034         * specifier.c (specifier_instance):
9035         comment about the bogosity of image instances being domains.
9036         * specifier.c (Fgeneric_specifier_p):
9037         move doc string to make-generic-specifier.
9038         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
9039         rebackslashify.
9040
9041         * specifier.h:
9042         * specifier.h (DOMAIN_FRAME):
9043         * specifier.h (DOMAIN_LIVE_P):
9044         * specifier.h (DOMAIN_XDEVICE):
9045         rebackslashify.
9046         add comments about problems with these macros.
9047         prototype for decode_domain.
9048
9049         * toolbar.c:
9050         * toolbar.c (Ftoolbar_specifier_p):
9051         move doc string to `make-toolbar-specifier'.
9052
9053         * window.c (window_unmap_subwindows_cache_mapper):
9054         *************************************************************
9055         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
9056         HAVE BEEN GETTING.
9057         *************************************************************
9058
9059 2000-05-09  Andy Piper  <andy@xemacs.org>
9060
9061         * glyphs.h: declare reset_frame_subwindow_instance_cache.
9062
9063         * window.c (Fset_window_configuration): reset the frame subwindow
9064         cache and re-initialize the window subwindow caches.
9065
9066         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
9067
9068 2000-05-09  Ben Wing  <ben@xemacs.org>
9069
9070         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
9071         DWORD.
9072
9073 2000-04-26  Mike Woolley  <mike@bulsara.com>
9074
9075         * ntheap.c: Changed recreate_heap to limit the amount reserved
9076         for the heap to that which is actually available. Also now
9077         displays a message box (with some dignostics) in the event that
9078         it still can't start.
9079
9080 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
9081
9082         * callproc.c (Fold_call_process_internal): GCPRO path
9083
9084 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
9085
9086         Patch by Bill Perry.
9087
9088         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
9089         back data instead of #ifdef.
9090         (Fscrollbar_page_down): ditto.
9091
9092 2000-05-07  Ben Wing  <ben@xemacs.org>
9093
9094         * buffer.h:
9095         Kludge for defining Qmswindows_tstr.
9096
9097         * nt.c:
9098         * nt.c (open_input_file):
9099         * nt.c (open_output_file):
9100         * nt.c (rva_to_section):
9101         * nt.c (mswindows_executable_type):
9102         Move all memory-mapped-file routines here (some were in unexnt.c,
9103         which is bad because they are used by process-nt.c, and unexnt
9104         won't be around when portable dumping).  Synched the above routines
9105         with FSF 20.6.
9106
9107         * nt.h:
9108         Removed ifdef'd out bogus code.
9109         Fixed some prototypes.
9110
9111         * nt.h (file_data):
9112         * nt.h (OFFSET_TO_RVA):
9113         * nt.h (RVA_TO_OFFSET):
9114         * nt.h (RVA_TO_PTR):
9115         Moved the memory-mapped-file structures, macros and prototypes
9116         here, to parallel nt.c.  ntheap.h should really be removed
9117         entirely, and it's a non-portable-dumper specific file.
9118
9119         * ntheap.h (round_to_next):
9120         Moved the memory-mapped-file structures, macros and prototypes
9121         to nt.h.
9122
9123         * ntproc.c (compare_env):
9124         Moved rva_to_section and mswindows_executable_type to nt.c.
9125         Moved compare_env to process-nt.c.
9126         ntproc.c will die, one day.
9127
9128         * ntproc.c (sys_spawnve):
9129         Account for win32_ -> mswindows_.
9130
9131         * process-nt.c:
9132         * process-nt.c (struct nt_process_data):
9133         * process-nt.c (ensure_console_window_exists):
9134         * process-nt.c (compare_env):
9135         * process-nt.c (nt_create_process):
9136         * process-nt.c (nt_kill_process_by_pid):
9137         * process-nt.c (syms_of_process_nt):
9138         * process-nt.c (vars_of_process_nt):
9139         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
9140         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
9141         changes).  Eliminate our old `nt-quote-process-args' mechanism.
9142         Synch up nt_create_process with FSF 20.6 sys_spawnve.
9143         Move compare_env here from ntproc.c.
9144
9145         * process.c (Fprocess_send_region):
9146         Takes an optional fourth argument, BUFFER, which should fix some
9147         problems with call-process.
9148
9149         * syscommctrl.h:
9150         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
9151
9152         * syswindows.h:
9153         Move ICC_BAR_CLASSES to syscommctrl.h.
9154         Add preliminary macros for MSWindows/Mule.  More to come.
9155
9156         * unexnt.c:
9157         * unexnt.c (unexec):
9158         open_output_file moved to nt.c.
9159
9160
9161 2000-05-05  Andy Piper  <andy@xemacs.org>
9162
9163         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
9164         instance from the frame cache also since GC may catch up too late
9165         to make frame deletion sane.
9166
9167 2000-05-04  Andy Piper  <andy@xemacs.org>
9168
9169         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
9170         (x_finalize_image_instance): ungcpro on deletion.
9171
9172         * glyphs.c (image_instantiator_format_create): give pointers a
9173         query geometry method so that the geometry is at least set.
9174
9175         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
9176         initialize layouts if using widgets.
9177
9178 2000-05-03  Andy Piper  <andy@xemacs.org>
9179
9180         * nt.c: remove bogus reference to sysmmsystem.h
9181
9182         * gui-x.c (popup_selection_callback): fix no selection abort.
9183
9184 2000-05-02  Andy Piper  <andy@xemacs.org>
9185
9186         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
9187         (mswindows_widget_instantiate): ditto.
9188
9189         * glyphs-widget.c (initialize_widget_image_instance): initialize
9190         children correctly.
9191         (widget_instantiate): cope with children and items in the same
9192         instance.
9193
9194         * glyphs.c (mark_image_instance): cope with children as a first
9195         class member.
9196         (image_instance_equal): ditto.
9197         (image_instance_hash): ditto.
9198         (image_instance_changed): ditto.
9199
9200 2000-04-30  Andy Piper  <andy@xemacs.org>
9201
9202         * glyphs.c (subwindow_query_geometry): new function. Return some
9203         defaults.
9204         (subwindow_instantiate): don't assign dimensions if none have been
9205         given.
9206         (image_instantiator_format_create): add subwindow_query_geometry.
9207         (print_image_instance): cope with layouts as widgets.
9208
9209 2000-04-29  Andy Piper  <andy@xemacs.org>
9210
9211         * frame.c (delete_frame_internal): call
9212         free_frame_subwindow_instance_cache so that all subwindows are
9213         finalized before their parent.
9214         (mark_frame): remove subwindow_cachels.
9215         (Fmake_frame): remove subwindow_cachel manipulation.
9216         (allocate_frame_core): subwindow_instance_cache is a weak list.
9217         (delete_frame_internal): set subwindow_instance_cache to nil.
9218
9219         * glyphs-msw.c (mswindows_finalize_image_instance): make double
9220         finalization safe.
9221         (mswindows_finalize_image_instance): use the device
9222         not the domain as the domain may have died already.
9223
9224         * glyphs-x.c (x_finalize_image_instance): ditto.
9225         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
9226         HEIGHT.
9227
9228         * redisplay-output.c (redisplay_unmap_subwindows): update for
9229         subwindow instance cache as a weak list.
9230         (redisplay_unmap_subwindows_maybe): ditto.
9231         (redisplay_unmap_subwindows_except_us): ditto.
9232
9233         * glyphs.c (unmap_subwindow): error checking will check the domain
9234         so don't deal with it here. Don't use cachels anymore.
9235         (map_subwindow): ditto.
9236         (update_subwindow_cachel_data): remove old accessor names.
9237         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
9238         (Fresize_subwindow): don't update cachel.
9239         (mark_subwindow_cachels):
9240         (update_subwindow_cachel_data):
9241         (add_subwindow_cachel):
9242         (get_subwindow_cachel_index):
9243         (update_subwindow_cachel):
9244         (reset_subwindow_cachels):
9245         (mark_subwindow_cachels_as_not_updated): deleted.
9246         (cache_subwindow_instance_in_frame_maybe): new function. Add a
9247         subwindow instance to the frame cache.
9248         (find_matching_subwindow): update for subwindow instance cache as
9249         a weak list.
9250         (update_widget_instances): ditto.
9251         (image_instance_type_to_mask):inlined.
9252         (free_frame_subwindow_instance_cache): new function. finalize all
9253         subwindows that are instantiated.
9254
9255         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
9256         of cachel information.
9257         (IMAGE_INSTANCE_DISPLAY_X):
9258         (IMAGE_INSTANCE_DISPLAY_Y):
9259         (IMAGE_INSTANCE_DISPLAY_WIDTH):
9260         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
9261         (XIMAGE_INSTANCE_DISPLAY_X):
9262         (XIMAGE_INSTANCE_DISPLAY_Y):
9263         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
9264         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
9265         remove subwindow_cachel structure and function references.
9266         (image_instance_type_to_mask): inline from glyphs.c
9267
9268         * redisplay.c (redisplay_frame): remove subwindow_cachel
9269         references.
9270
9271         * frame.h (struct frame): remove subwindow_cachels.
9272         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
9273
9274         * frameslots.h: add subwindow_instance_cache.
9275
9276         * window.c (replace_window): check subwindow cache of replacement.
9277         (window_unmap_subwindows_cache_mapper):
9278         (window_unmap_subwindows): new functions. Unmap all subwindows
9279         cached on this window.
9280         (mark_window_as_deleted): unmap all subwindows.
9281
9282 2000-04-27  Andy Piper  <andy@xemacs.org>
9283
9284         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
9285
9286         * glyphs-widget.c (widget_layout): return something.
9287         (layout_layout): return something. Fail if not initialized.
9288         (layout_query_geometry): ditto.
9289         (image_instantiator_native_layout): new function. Initialized the
9290         native layout type.
9291         (widget_instantiate): don't do layout stuff here.
9292
9293         * glyphs.c (instantiate_image_instantiator): reorded calling or
9294         instantiate and post_instantiate with layout in between.
9295         (image_instance_layout): be more selective about deciding whether
9296         the layout has been done or not.
9297
9298         * glyphs.h (struct image_instantiator_methods): return a value
9299         from layout_method.
9300
9301 2000-04-26  Andy Piper  <andy@xemacs.org>
9302
9303         * glyphs.c (allocate_image_instance): make initial width and
9304         height unspecified. Set initialized to 0.
9305
9306         * syscommctrl.h new file. Encapsulates commctrl.h.
9307
9308         * syswindows.h new file. Encapsulates windows.h.
9309
9310         * ntplay.c: use new syswindows.h and syscommctrl.h header.
9311         * nt.c: ditto.
9312         * console-msw.h: ditto.
9313
9314         * redisplay-tty.c (tty_output_display_block): remove layout references.
9315
9316         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
9317         window handle rather than just the frame.
9318
9319         * glyphs.c (mark_image_instance): remove layout references.
9320         (print_image_instance): ditto.
9321         (image_instance_equal): ditto.
9322         (image_instance_hash): ditto.
9323         (decode_image_instance_type): ditto.
9324         (encode_image_instance_type): ditto.
9325         (image_instantiate): ditto.
9326         (allocate_glyph): ditto.
9327         (Fimage_instance_height): ditto.
9328         (Fimage_instance_width): ditto.
9329         (update_subwindow): ditto.
9330
9331         * redisplay-x.c (x_output_display_block): recode for layouts as
9332         widgets.
9333
9334         * redisplay-output.c (redisplay_output_layout): recode for layouts
9335         as widgets.
9336         (compare_runes): remove layout references.
9337
9338         * redisplay-msw.c (mswindows_output_display_block): recode for
9339         layouts as widgets.
9340
9341         * glyphs-widget.c (image_instantiator_layout): remove
9342         layout_possible_dest_types.
9343         (layout_possible_dest_types): deleted.
9344
9345         * glyphs.h (image_instance_type): remove layout references.
9346         (struct Lisp_Image_Instance): ditto. Add initialized flag.
9347         (IMAGE_INSTANCE_INITIALIZED): new accessor.
9348         (XIMAGE_INSTANCE_INITIALIZED): ditto.
9349
9350 2000-04-25  Andy Piper  <andy@xemacs.org>
9351
9352         * glyphs-widget.c (image_instantiator_buttons):
9353         (image_instantiator_edit_fields):
9354         (image_instantiator_combo_box):
9355         (image_instantiator_scrollbar):
9356         (image_instantiator_progress_guage):
9357         (image_instantiator_tree_view):
9358         (image_instantiator_tab_control):
9359         (image_instantiator_labels):
9360         (image_instantiator_layout): call default post_instantiate method.
9361         (widget_post_instantiate): new function. Simply lays out the
9362         widgets.
9363
9364         * glyphs.h (struct image_instantiator_methods): add
9365         post_instantiate method.
9366
9367         * glyphs.c (instantiate_image_instantiator): add post_instantiate
9368         method calls.
9369
9370 2000-04-23  Andy Piper  <andy@xemacs.org>
9371
9372         * glyphs.h (struct image_instantiator_methods): add
9373         decode_domain_method.
9374         (struct Lisp_Image_Instance): remove subwindow frame - it can be
9375         derived from the domain.
9376         (IMAGE_INSTANCE_FRAME): new accessor.
9377         (XIMAGE_INSTANCE_FRAME): ditto.
9378
9379         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
9380         instead of _SUBWINDOW_FRAME.
9381         (finalize_image_instance): ditto.
9382         (Fimage_instance_foreground): ditto.
9383         (Fimage_instance_background): ditto.
9384         (image_instantiate): ditto.
9385         (update_subwindow_cachel): ditto.
9386         (update_subwindow): ditto.
9387         (unmap_subwindow): ditto.
9388         (map_subwindow): ditto
9389         (subwindow_instantiate): ditto.
9390         * glyphs-msw.c (mswindows_update_widget): ditto.
9391         (mswindows_progress_gauge_instantiate): ditto.
9392         (mswindows_tab_control_update): ditto.
9393         * glyphs-x.c (x_update_widget): ditto.
9394         (x_widget_instantiate): ditto.
9395         (x_tab_control_instantiate): ditto.
9396         (x_tab_control_update): ditto.
9397         * event-msw.c (mswindows_wnd_proc): ditto
9398
9399         * glyphs-widget.c (image_instantiator_layout): use
9400         subwindow_decode_domain.
9401         (image_instantiator_buttons): ditto.
9402         (image_instantiator_edit_fields): ditto.
9403         (image_instantiator_combo_box): ditto.
9404         (image_instantiator_scrollbar): ditto.
9405         (image_instantiator_progress_guage): ditto.
9406         (image_instantiator_tree_view): ditto.
9407         (image_instantiator_tab_control): ditto.
9408         (image_instantiator_labels): ditto.
9409         (image_instantiator_layout): ditto.
9410
9411         * glyphs.c: add instance error checking to many functions.
9412         (instantiate_image_instantiator): decode device from cache_domain.
9413         (image_instantiate): partially rewrite by using
9414         decode_image_instantiator_domain to determine what domain the
9415         instance needs to be cached in.
9416         (decode_image_instantiator_domain): new function. Determine what
9417         domain the image needs to be cached in.
9418         (check_window_subwindow_cache): new error checking function.
9419         (check_instance_cache_mapper): ditto.
9420         (check_image_instance_structure): ditto.
9421         (subwindow_decode_domain): new function. Encodes a window as a
9422         subwindow's cache domain.
9423         (image_instantiator_format_create): use it for text and
9424         subwindows.
9425
9426 2000-04-21  Andy Piper  <andy@xemacs.org>
9427
9428         * glyphs.c (image_instance_device): new function.
9429         (image_instance_frame): new function.
9430         (image_instance_window): new function.
9431         (image_instance_live_p): new function.
9432
9433         * window.c (mark_window_as_deleted): reset the subwindow_instance_
9434         cache to nil.
9435
9436         * glyphs.h (struct Lisp_Image_Instance): device->domain.
9437         (IMAGE_INSTANCE_DOMAIN): new accessor.
9438         (XIMAGE_INSTANCE_DOMAIN): ditto.
9439
9440         * glyphs-x.c (x_finalize_image_instance): device->domain.
9441
9442         * glyphs-msw.c (init_image_instance_geometry): device->domain.
9443         (mswindows_finalize_image_instance): ditto.
9444
9445         * glyphs-eimage.c (jpeg_instantiate): device->domain.
9446         (gif_instantiate): ditto.
9447         (png_instantiate): ditto.
9448         (tiff_instantiate): ditto.
9449
9450         * glyphs.c (instantiate_image_instantiator): use domain rather
9451         than device.
9452         (mark_image_instance): device -> domain.
9453         (print_image_instance): ditto.
9454         (finalize_image_instance): ditto.
9455         (image_instance_equal): ditto.
9456         (allocate_image_instance): ditto.
9457         (Fcolorize_image_instance): ditto.
9458         (query_string_geometry): ditto.
9459         (image_instantiate): ditto
9460         (query_string_font): ditto.
9461         (image_instantiate): ditto.
9462         (update_subwindow): ditto.
9463         (unmap_subwindow): ditto.
9464         (map_subwindow): ditto.
9465         (subwindow_instantiate): ditto.
9466
9467         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
9468         (DOMAIN_FRAME): ditto.
9469         (DOMAIN_WINDOW): ditto.
9470         (DOMAIN_LIVE_P): ditto.
9471         (XDOMAIN_DEVICE): ditto.
9472         (XDOMAIN_FRAME): ditto.
9473         (XDOMAIN_WINDOW): ditto.
9474
9475         * specifier.c (Fvalid_specifier_domain_p): add image instances as
9476         a valid specifier domain.
9477
9478 2000-04-19  Andy Piper  <andy@xemacs.org>
9479
9480         * glyphs-widget.c (syms_of_glyphs_widget): remove
9481         widget-callback-current-channel.
9482         (vars_of_glyphs_widget): ditto.
9483         * glyphs.h: ditto
9484
9485         * gui.c (get_gui_callback): revert to previous behaviour.
9486
9487 2000-04-18  Andy Piper  <andy@xemacs.org>
9488
9489         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
9490         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
9491         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
9492
9493         * glyphs.c (image_instance_equal): add margin_width.
9494         (image_instance_hash): ditto.
9495
9496         * glyphs-widget.c (widget_instantiate): deal with margin-width.
9497         (layout_query_geometry): ditto.
9498         (layout_layout): ditto.
9499         (syms_of_glyphs_widget): add margin-width.
9500         (image_instantiator_layout): allow margin-width.
9501
9502         * glyphs.c (update_widget_instances): make a normal function.
9503         (syms_of_glyphs): remove Qupdate_widget_instances.
9504         * glyphs.h: ditto.
9505
9506         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
9507         so that we don't corrupt ideas about the last event or
9508         command. Remove widget-callback-current-channel fiddling.
9509         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9510
9511 2000-05-01  Martin Buchholz <martin@xemacs.org>
9512
9513         * XEmacs 21.2.33 is released.
9514
9515 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
9516
9517         * make-src-depend: Allow dots in header file name.
9518
9519 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
9520
9521         * mule-charset.h (struct charset_lookup): Add
9522         next_allocated_1_byte_leading_byte and
9523         next_allocated_2_byte_leading_byte.
9524         * mule-charset.c: Move above two variables so that those values
9525         will be dumped.
9526
9527 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
9528
9529         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
9530         when string length is zero.
9531         (find_charsets_in_emchar_string): Ditto.
9532
9533 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
9534
9535         * lisp.h: extern Qdialog and Qmenubar.
9536
9537         * gui-x.c: added events.h.
9538                 also fixed typo which made the file uncompilable.
9539
9540         * general.c: Added Qmenubar and Qdialog
9541
9542 2000-04-28  Ben Wing  <ben@xemacs.org>
9543
9544         * frame-msw.c (mswindows_init_frame_1):
9545         * frame-msw.c (mswindows_mark_frame):
9546         * event-msw.c (mswindows_enqueue_dispatch_event):
9547         * console-msw.h:
9548         * console-msw.h (struct mswindows_frame):
9549         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
9550         there are now three hash tables for callbacks.
9551         mswindows_enqueue_dispatch_event is no longer static.
9552
9553         * dialog-x.c (maybe_run_dbox_text_callback):
9554         * dialog-x.c (dbox_descriptor_to_widget_value):
9555         switch to new cons3 form for callbacks.
9556
9557         * glyphs-msw.c (mswindows_register_gui_item):
9558         * glyphs-msw.c (mswindows_widget_instantiate):
9559         * glyphs-msw.c (add_tree_item):
9560         * glyphs-msw.c (add_tab_item):
9561         new image instance parameter, so it can be passed to callback-ex.
9562         respect :callback-ex as well as :callback.
9563
9564         * glyphs-widget.c (VALID_GUI_KEYWORDS):
9565         add :callback-ex.
9566
9567         * glyphs.c (print_image_instance):
9568         prettify, e.g. now prints widget type.
9569
9570         * gui-x.h:
9571         certain funs have new image instance parameter.
9572
9573         * gui.c:
9574         * gui.c (get_gui_callback):
9575         * gui.c (gui_item_add_keyval_pair):
9576         * gui.c (gui_item_init):
9577         * gui.c (gui_add_item_keywords_to_plist):
9578         * gui.c (mark_gui_item):
9579         * gui.c (gui_item_hash):
9580         * gui.c (gui_item_equal):
9581         * gui.c (copy_gui_item):
9582         * gui.c (syms_of_gui):
9583         recognize callback-ex in a number of places.
9584         also, fix the annoying "can't get out of yes-no dialog" bug.
9585
9586         * gui.h:
9587         * gui.h (struct Lisp_Gui_Item):
9588         recognize callback-ex in a number of places.
9589
9590         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9591         new parameter in button_item_to_widget_value.
9592
9593         * glyphs-x.c (x_update_widget):
9594         * glyphs-x.c (x_button_instantiate):
9595         * glyphs-x.c (x_button_update):
9596         * glyphs-x.c (x_progress_gauge_instantiate):
9597         * glyphs-x.c (x_edit_field_instantiate):
9598         * glyphs-x.c (x_combo_box_instantiate):
9599         * glyphs-x.c (x_tab_control_instantiate):
9600         * glyphs-x.c (x_label_instantiate):
9601         new image instance parameter in various places.
9602
9603         * event-Xt.c:
9604         * event-Xt.c (enqueue_Xt_dispatch_event):
9605         this fun gets exported.
9606
9607         * gui-msw.c:
9608         * gui-msw.c (mswindows_handle_gui_wm_command):
9609         handle both :callback and :callback-ex, and generate our own
9610         event because it's one of the callback-ex arguments.
9611
9612         * gui-x.c:
9613         * gui-x.c (popup_selection_callback):
9614         handle both :callback and :callback-ex, and generate our own
9615         event because it's one of the callback-ex arguments.
9616         * gui-x.c (button_item_to_widget_value):
9617         * gui-x.c (gui_items_to_widget_values_1):
9618         * gui-x.c (gui_item_children_to_widget_values):
9619         * gui-x.c (gui_items_to_widget_values):
9620         new image instance parameter in various places.
9621
9622         * fns.c (Freplace_list):
9623         fix small typo in doc string.
9624
9625         * lisp.h:
9626         declare enqueue_Xt_dispatch_event.
9627
9628 2000-04-28  Ben Wing  <ben@xemacs.org>
9629
9630         * buffer.c:
9631         * buffer.c (Frecord_buffer):
9632         * buffer.c (syms_of_buffer):
9633         delete record-buffer-hook.
9634
9635         * fns.c:
9636         * fns.c (Freplace_list):
9637         * fns.c (syms_of_fns):
9638         new primitive replace-list.
9639
9640         * frameslots.h:
9641         slot for old buffer-alist.
9642
9643         * lisp.h:
9644         exfun replace-list.
9645
9646         * redisplay.c:
9647         * redisplay.c (redisplay_frame):
9648         * redisplay.c (syms_of_redisplay):
9649         * redisplay.c (vars_of_redisplay):
9650         new hook buffer-list-changed-hook.
9651         call it.
9652
9653 2000-04-27  Ben Wing  <ben@xemacs.org>
9654
9655         * extents.h: extern in_modeline_generation.
9656
9657         * redisplay.c (generate_formatted_string_db): set
9658         in_modeline_generation.
9659
9660         * extents.c (extent_changed_for_redisplay): don't mark redisplay
9661         flags if in modeline generation.  otherwise frame-modified-tick
9662         is ticked far too often.
9663         Declare in_modeline_generation.
9664
9665 2000-04-26  Ben Wing  <ben@xemacs.org>
9666
9667         * emacs.c (vars_of_emacs): document quick-build "error-checking"
9668         option.
9669         (vars_of_emacs): add quick-build as an error-checking option.
9670         A bit kludgy, but there doesn't seem much point in creating
9671         a real var for this.
9672
9673         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
9674
9675 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9676
9677         * redisplay.h (struct display_line): Add a new variable,
9678         line_continuation.
9679
9680         * redisplay.c (create_text_block): Set dl->line_continuation if
9681         the line continues.
9682         (create_string_text_block): Ditto.
9683         (regenerate_window_incrementally): Use line_continuation instead
9684         of searching continuation glyph.
9685         (add_margin_runes): Call add_glyph_rune.
9686         (add_glyph_rune): Handle margin glyph.
9687
9688 2000-04-20  Martin Buchholz  <martin@xemacs.org>
9689
9690         * filelock.c (fill_in_lock_file_name):
9691         ANSIfy.
9692         Check for IS_ANY_SEP instead of '/'.
9693         (lock_file_1):
9694         Avoid generating gratuitous garbage.  Call user_login_name() directly.
9695         Never check errno without first seeing that system call failed.
9696         (unlock_file): Add GCPRO.
9697         (Flock_buffer): Fix docstring.
9698         (Ffile_locked_p): Fix docstring.  Add GCPRO.
9699
9700 2000-04-19  Martin Buchholz  <martin@xemacs.org>
9701
9702         * sysdep.c (get_pty_max_bytes):
9703         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
9704         strings longer than 252 bytes.
9705
9706         * md5.c: Unconditionally include ANSI header <limits.h>
9707
9708         * glyphs-x.c (convert_EImage_to_XImage):
9709         * lisp-union.h (union Lisp_Object):
9710         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
9711
9712 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9713
9714         * filelock.c (current_lock_owner): Remove unused variable o, p.
9715
9716 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
9717
9718         * callint.c: Remove multiply defined symbol Qlet
9719         (syms_of_callint): ditto.
9720
9721 2000-04-14  Andy Piper  <andy@xemacs.org>
9722
9723         * general.c (syms_of_general): add last-command, this-command, let
9724         and funcall.
9725
9726         * lisp.h: declare various symbols.
9727
9728         * glyphs.h: declare Qwidget_callback_current_channel;
9729
9730         * glyphs-widget.c (syms_of_glyphs_widget): add
9731         Qgui_callback_current_channel.
9732         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
9733
9734         * gui-msw.c (mswindows_handle_gui_wm_command): bind
9735         widget-callback-current-channel when invoking the interactive
9736         arg. Also bind last-command and next-command when invoking the
9737         widget updates.
9738         * gui-x.c (popup_selection_callback): ditto.
9739
9740         * gui.c (get_gui_callback): massage args so that we are always
9741         calling eval. This allows us to add our own variable bindings
9742         outside.
9743
9744         * glyphs-x.c (x_button_instantiate): use
9745         gui_items_to_widget_values since this is GC safe.
9746         (x_progress_gauge_instantiate): ditto.
9747         (x_edit_field_instantiate): ditto.
9748         (x_label_instantiate): ditto.
9749
9750         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
9751         (emacs_Xt_event_widget_focus_out): new function
9752         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
9753         focus.
9754         (emacs_Xt_event_add_widget_actions): new function. add focus
9755         functions as actions.
9756         (init_event_Xt_late): use it.
9757
9758 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
9759
9760         * event-stream.c (Fdispatch_event): Doc fix.
9761
9762 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
9763
9764         * postgresql.c: Remove all references to PQsetenv*.
9765
9766         * postgresql.h: Remove references to PGsetenvHandler object.
9767         * lrecord.h (lrecord_type): Ditto.
9768
9769 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9770
9771         * glyphs-msw.h (struct mswindows_image_instance_data): Added
9772         real_heigh and real_width members, and accessor macros for these.
9773
9774         * glyphs-msw.c (init_image_instance_geometry): New function.
9775         (init_image_instance_from_dibitmap): Use it.
9776         (mswindows_resource_instantiate): Use it.
9777         (init_image_instance_from_xbm_inline): Use it.
9778         (mswindows_initialize_image_instance_mask): Use real bitmap
9779         geometry.
9780         (mswindows_create_resized_bitmap): Ditto.
9781         (mswindows_create_resized_mask): Ditto.
9782
9783         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
9784         and bitmap to their surface size.
9785
9786 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
9787
9788         * process-unix.c (unix_send_process): Guard against process MIA
9789         after Faccept_process_output.
9790
9791 2000-04-11  Ben Wing  <ben@xemacs.org>
9792
9793         * eval.c (unbind_to_hairy): fix brokenness introduced by
9794         nanosecond speed improvements.
9795
9796 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
9797
9798         * sunplay.c (init_device): To play sounds correctly, the device
9799         apparently needs to be initialized at least once by XEmacs.  Make
9800         it so.
9801
9802 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9803
9804         * redisplay.c (add_margin_runes): Add text image glyph
9805           handling.
9806
9807 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9808
9809         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
9810         gcc is newer than 2.5.
9811
9812 2000-04-06  Colin Rafferty  <colin@xemacs.org>
9813
9814         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
9815
9816         * fns.c (size_bit_vector):
9817         * alloc.c (size_vector):
9818         (make_vector_internal):
9819         (make_bit_vector_internal):
9820         (sweep_bit_vectors_1):
9821         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
9822
9823 2000-04-06  Andy Piper  <andy@xemacs.org>
9824
9825         * gmalloc.c (malloc): undo previous change.
9826         (malloc): ditto.
9827         (free): ditto.
9828         (realloc): ditto.
9829
9830 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
9831
9832         * line-number.c (buffer_line_number): Revert to former version.
9833
9834 2000-04-06  Andy Piper  <andy@xemacs.org>
9835
9836         * gmalloc.c (malloc): add error checking.
9837         (malloc): ditto.
9838         (free): ditto.
9839         (realloc): ditto.
9840
9841         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
9842         button_item_to_widget_value arg.
9843
9844         * glyphs-x.c (x_button_instantiate): add extra
9845         button_item_to_widget_value arg.
9846         (x_progress_gauge_instantiate): ditto.
9847         (x_edit_field_instantiate): ditto.
9848         (x_label_instantiate): ditto.
9849
9850         * gui-x.c (gui_items_to_widget_values_1): add extra
9851         button_item_to_widget_value arg.
9852         (button_item_to_widget_value): add extra menu_item_p arg.
9853
9854         * gui-x.h: change signature of button_item_to_widget_value.
9855
9856         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
9857         button_item_to_widget_value arg.
9858
9859 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9860
9861         * buffer.h (struct buffer): auto_save_modified should be long.
9862
9863 2000-04-05  Andy Piper  <andy@xemacs.org>
9864
9865         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
9866         type.
9867         (button_query_geometry): give a little more room so that athena
9868         buttons fit.
9869
9870 2000-04-05  Andy Piper  <andy@xemacs.org>
9871
9872         * faces.c (complex_vars_of_faces): The widget face should inherit
9873         the font of the gui-element face.
9874
9875 2000-04-04  Andy Piper  <andy@xemacs.org>
9876
9877         * glyphs-x.c (x_button_update): new function. unconditionally
9878         update a button's state when the instance is dirty.
9879         (image_instantiator_format_create_glyphs_x): add x_button_update.
9880         (x_widget_instantiate): remove old resize cruft.
9881
9882 2000-04-02  Andy Piper  <andy@xemacs.org>
9883
9884         * frame.c (change_frame_size_1): The introduction of gutters means
9885         that we need to allow 0 as a potential frame dimension.
9886
9887 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9888
9889         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
9890         image glyph if allow_cursor.
9891         (add_hscroll_rune): Don't allow cursor to border glyph.
9892         (create_text_block): Ditto.
9893
9894         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
9895         text not in buffer.
9896         (redisplay_output_layout): Call ensure_face_cachel_complete for
9897         text image glyph.
9898
9899
9900 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9901
9902         * redisplay.c (add_glyph_rune): Adding text image as text runes.
9903
9904         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
9905         not in buffer
9906
9907         * redisplay-tty.c (tty_output_display_block): Delete the routine
9908         for text image glyph
9909         * redisplay-x.c (x_output_display_block): ditto
9910         * redisplay-msw.c (mswindows_output_display_block): ditto
9911
9912 2000-02-02  Mike Alexander  <mta@arbortext.com>
9913
9914         Note: Some of these were committed by accident as part of other
9915         patches.
9916
9917         * regex.c (regex_compile): Avoid compiler warnings.
9918
9919         * ntproc.c (sys_spawnve): Avoid compiler warnings.
9920
9921         * nt.h: Declare term_ntproc correctly.
9922
9923         * nt.c: Remove incorrect declaration of get_home_directory which
9924         is declared correctly in lisp.h.
9925
9926         * keymap.c (get_keyelt): Avoid compiler warnings.
9927         (raw_lookup_key_mapper): Avoid compiler warnings.
9928
9929         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
9930
9931         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
9932
9933         * filemode.c (mode_string): Avoid compiler warnings.
9934
9935         * file-coding.c (Fcoding_system_aliasee): Add return statement to
9936         avoid warning.
9937
9938         * events-mod.h: Undef some things that winuser.h defines differently.
9939
9940         * data.c (Faset): Avoid compiler warnings.
9941
9942         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
9943
9944 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9945
9946         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
9947         Fall through to simple beep on error.
9948         Replace "extern" by real header file.
9949
9950         * linuxplay.c: Use nativesound.h
9951         (play_sound_data): Return error code. Be less verbose on error.
9952
9953         * sunplay.c: Use nativesound.h
9954         (play_sound_data): Return error code. Be less verbose on error.
9955
9956         * ntplay.c: Use nativesound.h
9957         (play_sound_data): Return fake error code
9958
9959         * sgiplay.c: Use nativesound.h
9960         (play_sound_data): Return error code
9961
9962         * hpplay.c: Use nativesound.h, partially implement
9963         new error code. Break compilation until finished.
9964         (play_sound_data): error code.
9965
9966         * nativesound.h (play_sound_file):
9967           (play_sound_data): Prototype in new header.
9968
9969 2000-03-31  Andy Piper  <andy@xemacs.org>
9970
9971         * glyphs-widget.c: (button_query_geometry): new function. Adjust
9972         for toggle and radio buttons.
9973         (image_instantiator_buttons): use it.
9974
9975 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9976
9977         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
9978         (x_update_horizontal_scrollbar_callback): Return if no mirror was
9979         found. Scrollbar event probably belonged to some old config.
9980
9981 2000-03-31  Andy Piper  <andy@xemacs.org>
9982
9983         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
9984         than 1.
9985         (initialize_widget_image_instance): default layout to
9986         LAYOUT_HORIZONTAL rather than 0.
9987         (widget_instantiate): reverse the item list at the end rather than
9988         every iteration.
9989         (layout_layout): re-code for the border text at the front of the
9990         item list rather than at the end.
9991         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
9992         provided by the user.
9993         (widget_query_geometry): comment.
9994
9995 2000-03-30  Andy Piper  <andy@xemacs.org>
9996
9997         * glyphs-widget.c (image_instantiator_layout): allow standard
9998         widget keywords in layouts.
9999
10000         * gutter.c (output_gutter): cope with nil gutter contents.
10001
10002         * frame.c (Fset_frame_properties): add gutter docs.
10003
10004 2000-03-29  Andy Piper  <andy@xemacs.org>
10005
10006         * toolbar-msw.c (TBSTYLE_FLAT): add.
10007         (mswindows_output_toolbar): minor fiddling.
10008
10009 2000-03-29  Andy Piper  <andy@xemacs.org>
10010
10011         * gutter.c (output_gutter): force gutter size recalculation if
10012         what we are trying to display won't fit.
10013         (update_gutter_geometry): new function. A per-gutter version of
10014         update_frame_gutter_geometry.
10015         (update_frame_gutter_geometry): use it.
10016         (redraw_exposed_gutter): add extra debugging output.
10017
10018 2000-03-28  Mike Alexander  <mta@arbortext.com>
10019
10020         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
10021         (pdump_file_unmap): Implement it on Windows
10022         (pdump_file_get): Save alocated handles for pdump_file_unmap
10023
10024 2000-03-28  Andy Piper  <andy@xemacs.org>
10025
10026         * gui.c (get_gui_callback): treat Quit specially.
10027
10028 2000-03-27  Andy Piper  <andy@xemacs.org>
10029
10030         * glyphs.c (image_instantiate): be careful to check in the same
10031         way we assigned.
10032
10033 2000-03-27  Didier Verna  <didier@xemacs.org>
10034
10035         * config.h.in: define the proper SMART_INCLUDE macro.
10036         handle renaming of `foo_h_path' to `foo_h_file'.
10037
10038         * database.c: ditto.
10039
10040         * emacs.c: ditto.
10041
10042         * linuxplay.c: ditto.
10043
10044         * terminfo.c: ditto.
10045
10046         * tooltalk.h: ditto.
10047
10048 2000-03-27  Andy Piper  <andy@xemacs.org>
10049
10050         * glyphs-msw.c (mswindows_update_widget): make sure the widget
10051         gets updated whenever the face might have changed.
10052
10053 2000-03-26  Mike Alexander  <mta@arbortext.com>
10054
10055         * dumper.c (pdump_resource_free): Fix the comment.
10056
10057 2000-03-21  Olivier Galibert  <galibert@pobox.com>
10058
10059         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
10060
10061 2000-03-22  Mike Alexander  <mta@arbortext.com>
10062
10063         * dumper.c: Include Windows headers on Windows
10064         (pdump_resource_free): Add a body to the function
10065         (pdump_load): exe_name -> exe_path and add some comments.
10066
10067 2000-03-25  Mike Alexander  <mta@arbortext.com>
10068
10069         * gui.c (copy_gui_item_tree): Return a value in all cases
10070
10071 2000-03-21  Didier Verna  <didier@xemacs.org>
10072
10073         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
10074         lwlib/config.h.in.
10075         (SMART_INCLUDE): new macro.
10076         (POSTGRES_INCLUDE): new macro to include postgresql headers from
10077         the proper location.
10078
10079         * postgresql.c: use it.
10080
10081         * inline.c: ditto.
10082
10083 2000-03-24  Andy Piper  <andy@xemacs.org>
10084
10085         * gutter.c (redraw_exposed_gutters): must be "in display" when we
10086         do this.
10087
10088 2000-03-24  Andy Piper  <andy@xemacs.org>
10089
10090         * redisplay-output.c (compare_runes): use image_instance_changed
10091         to detect changes. Do not depend on glyphs_changed, only depend on
10092         dirtiness.
10093          (redisplay_output_layout): add debug messages.
10094         (compare_runes): ditto.
10095
10096         * glyphs.h: declare new functions.
10097         (struct Lisp_Image_Instance): remove percent and associated
10098         accessors.
10099
10100         * gui.h: declare new copying functions.
10101
10102         * gui.c (copy_gui_item_tree): new function.
10103         (copy_gui_item): new function.
10104         (gui_item_id_hash): revert to standard hash.
10105         (gui_item_hash): ditto.
10106         (gui_item_hash_internal): deleted.
10107         (mark_gui_item): mark value.
10108         (gui_item_add_keyval_pair): add value.
10109         (gui_item_init): ditto.
10110         (gui_add_item_keywords_to_plist): ditto.
10111         (gui_item_equal): ditto.
10112         (syms_of_gui): add Q_value.
10113
10114         * glyphs-x.c (x_progress_gauge_update): use pending items and
10115         value for setting the state.
10116         (x_update_widget): don't set items from pending here.
10117
10118         * glyphs-widget.c (update_widget): update items here.
10119         (progress_gauge_set_property): use items for storing value. Put
10120         new value in pending items.
10121
10122         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
10123         items for new value. Convert percent -> value.
10124         (mswindows_tab_control_update): don't update items here.
10125
10126         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
10127         (update_subwindow): ditto.
10128         (image_instance_changed): new function. Compare hash values and
10129         past and present widget items.
10130         (image_instantiate): We more careful about where we instantiate
10131         things.
10132         (image_instantiate): add error checking.
10133
10134         * gutter.c (syms_of_gutter): use -hook.
10135
10136 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
10137
10138         * console-tty.c (Fset_console_tty_input_coding_system): Use
10139         Qkeyboard.
10140         (Fset_console_tty_output_coding_system): Use Qterminal.
10141         (tty_init_console): Use Qkeyboard and Qterminal.
10142
10143 2000-03-21  Ben Wing  <ben@xemacs.org>
10144
10145         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
10146         From Mike Alexander <mta@arbortext.com>.
10147
10148 2000-03-21  Ben Wing  <ben@xemacs.org>
10149
10150         * event-msw.c (mswindows_need_event): Horrible kludge to fix
10151         process brokenness.  Proper implementation to come.
10152         * callproc.c:
10153         Rename call-process-internal to old-call-process-internal.
10154         New impl. in process.el.
10155
10156 2000-03-21  Martin Buchholz  <martin@xemacs.org>
10157
10158         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
10159
10160 2000-03-20  Andy Piper  <andy@xemacs.org>
10161
10162         * glyphs.c (full_list_hash): make hashes of the same elements in
10163         different orders return different values.
10164
10165 2000-03-20  Martin Buchholz <martin@xemacs.org>
10166
10167         * XEmacs 21.2.32 is released.
10168
10169 2000-03-20  Martin Buchholz  <martin@xemacs.org>
10170
10171         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
10172         (DFC_MALLOC_USE_CONVERTED_DATA):
10173         Add aliasing-safe casts to allow use with char* or unsigned char*
10174         lvalues.
10175
10176         * eldap.c (Fldap_open):
10177         (Fldap_search_basic):
10178         (Fldap_add):
10179         (Fldap_modify):
10180         Make C++-compilable.
10181         Make sure GCPRO'ed variables are initialized.
10182         Use temp variables to avoid repeated calls to Flength.
10183
10184 2000-03-16  Martin Buchholz  <martin@xemacs.org>
10185
10186         * sysfile.h:
10187         Make sure PATH_MAX is always defined.
10188         Include limits.h for PATH_MAX.
10189         Deprecate use of MAXPATHLEN.
10190
10191 2000-03-10  Martin Buchholz  <martin@xemacs.org>
10192
10193         * emacs.c: Add reinit_vars_of_fileio.
10194         * symsinit.h: Add reinit_vars_of_fileio.
10195         * fileio.c (reinit_vars_of_fileio): New.
10196         * fileio.c (Fmake_temp_name):
10197         Initialize temp_name random number from microseconds to make
10198         collisions even less likely.  Initialize always at process startup
10199         time.  (make-temp-name) used to return the same file name twice in
10200         a row when PDUMP.
10201         Random stylistic fiddling.
10202         Comment fixes.
10203
10204 2000-03-20  Andy Piper  <andy@xemacs.org>
10205
10206         * glyphs.c (image_instantiate): allow text glyphs to be
10207         instantiated in the minibuffer window.
10208
10209 2000-03-19  Andy Piper  <andy@xemacs.org>
10210
10211         * glyphs.c (image_instance_hash): be careful about which items we
10212         hash on.
10213
10214         * glyphs-widget.c (tab_control_set_property): record into pending
10215         items rather than the actual items.
10216
10217         * glyphs-x.c (x_update_widget): use pending items to update with.
10218
10219         * glyphs-msw.c (mswindows_tab_control_update): use pending items
10220         to update with.
10221
10222         * glyphs.c (mark_image_instance): mark pending items.
10223
10224         * window.c (Fset_window_configuration): record the buffer.
10225         (Fselect_window): totally revert previous change which breaks many
10226         things.
10227
10228 2000-03-18  Andy Piper  <andy@xemacs.org>
10229
10230         * glyphs-msw.c (mswindows_tab_control_update): force selected
10231         item.
10232
10233         * glyphs.c (image_instantiate): don't allow the minibuffer as a
10234         window domain cache, otherwise we get inconsistencies at
10235         startup. There is something fishy at startup which can lead to the
10236         minibuffer being the selected window when the gutter content is
10237         instantiated.
10238
10239         * gui.c (parse_gui_item_tree_list): add probably unnecessary
10240         gcpros.
10241         (parse_gui_item_tree_children): ditto.
10242         (parse_gui_item_tree_item): ditto.
10243
10244         * glyphs.c (Fupdate_widget_instances): return something.
10245
10246 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
10247
10248         * window.c (Fselect_window): Undo 2000-03-17 change.
10249
10250 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
10251
10252         * postgresql.c (Fpq_setenv): Remove this turkey when linking
10253         against v7.0 libraries.  Insta-coredump city until the postgres
10254         folks fix it.
10255
10256 2000-03-17  Andy Piper  <andy@xemacs.org>
10257
10258         * faces.c (complex_vars_of_faces): don't give the widget face an
10259         inherited background pixmap.
10260
10261         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
10262         selected item.
10263
10264         * event-stream.c (Fdispatch_non_command_events): return something.
10265
10266         * gutter.c (output_gutter): use widget face.
10267         (clear_gutter): ditto.
10268
10269         * NEWS: adjust again.
10270
10271         * window.c (Fselect_window): make sure this runs to completion to
10272         avoid oddities with Fset_window_configuration.
10273         (Fcurrent_window_configuration): in general do not save the
10274         minibuffer as the selected window.
10275
10276         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
10277
10278 2000-03-16  Olivier Galibert  <galibert@pobox.com>
10279
10280         * emacs.c (Frunning_temacs_p): Revert previous patch.
10281         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
10282
10283 2000-03-16  Andy Piper  <andy@xemacs.org>
10284
10285         * glyphs-x.c (x_tab_control_update): if no widget values then
10286         return.
10287
10288         * NEWS: update for new features.
10289
10290         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
10291         synthetic event to the native system.
10292         (reinit_vars_of_event_Xt): set force_event_pending to
10293         emacs_Xt_force_event_pending.
10294
10295         * events.h (struct event_stream): add force_event_pending.
10296
10297         * specifier.c (recompute_one_cached_specifier_in_window): add
10298         comment.
10299
10300         * redisplay.c (redisplay_frame): don't call
10301         update_frame_subwindows. Reset subwindow cachels when
10302         subwindows_changed, removing this was an optimization too far.
10303
10304         * redisplay-output.c (compare_runes): reorganize so that we catch
10305         glyph changes when we want them. Set optimize_output when this
10306         would help layouts.
10307         (redisplay_output_layout): remove frame_really_changed, use
10308         optimize_output instead.
10309
10310         * redisplay-msw.c (mswindows_output_display_block): reset
10311         optimize_output after outputting a glyph.
10312         * redisplay-x.c (x_output_display_block): ditto.
10313         * redisplay-tty.c (tty_output_display_block): ditto.
10314
10315         * gutter.c: (specifier_vars_of_gutter): use new spec changed
10316         functions.
10317         (gutter_specs_changed): do specific gutter positions.
10318         (top_gutter_specs_changed): new function. Only update the
10319         specified gutter specs.
10320         (bottom_gutter_specs_changed): ditto.
10321         (left_gutter_specs_changed): ditto.
10322         (right_gutter_specs_changed): ditto.
10323
10324         * gui.c (gui_item_hash_internal): new function, does a real hash.
10325         (gui_item_id_hash): use it.
10326         (gui_item_hash): hash the eval'ed gui_item.
10327
10328         * gui-x.c (popup_selection_callback): send an eval event to call
10329         Fupdate_widget_instances.
10330
10331         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
10332         to call Fupdate_widget_instances.
10333
10334         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
10335         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
10336
10337         * glyphs.c: (update_frame_subwindows): deleted.
10338         (Fupdate_widget_instances): new function for updating the dirty
10339         state of widgets that might have changed.
10340         (syms_of_glyphs): add Qupdate_widget_instances.
10341         (full_list_hash): hash a list completely.
10342         (image_instance_hash): use it for items and properties.
10343
10344         * frame-msw.c (mswindows_size_frame_internal): remove unused
10345         variable.
10346
10347         * faces.h (struct face_cachel): fix comment.
10348
10349         * event-stream.c (Fdispatch_non_command_events): new
10350         function. Process non-command events, forcing an event cycle
10351         beforehand.
10352         (syms_of_event_stream): declare.
10353         (event_stream_force_event_pending): new function. Force an event
10354         on the native event queue so that an event cycle will occur next
10355         time we check.
10356
10357         * event-msw.c:
10358         (struct ntpipe_shove_stream):
10359         (mswindows_enqueue_dispatch_event):
10360         (mswindows_dequeue_dispatch_event):
10361         (mswindows_cancel_dispatch_event):
10362         (mswindows_pump_outstanding_events):
10363         (mswindows_drain_windows_queue):
10364         (mswindows_handle_paint):
10365         (mswindows_wnd_proc):
10366         (mswindows_key_to_emacs_keysym):
10367         (get_process_input_waitable):
10368         (emacs_mswindows_delete_stream_pair): re-indent file.
10369         (mswindows_need_event): do not process further fds if the windows
10370         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
10371         fixes the 100% cpu problem.
10372         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
10373
10374 2000-03-15  Olivier Galibert  <galibert@pobox.com>
10375
10376         * alloc.h: New.
10377         * dumper.h: New.
10378         * dumper.c: New.
10379
10380         * emacs.c: Moved dump file searching to dumper.c.
10381         (Frunning_temacs_p): Fixed.
10382
10383         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
10384         last_lrecord_type_index_assigned.
10385
10386 2000-02-20  Olivier Galibert  <galibert@pobox.com>
10387
10388         * symsinit.h: Added reinit parameter to init_console_stream
10389         declaration.
10390
10391         * lisp.h: Added file parameter to pdump_load declaration.
10392
10393         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
10394         support.  Added dump file searching.
10395
10396         * config.h.in: Added EMACS_PROGNAME.
10397
10398         * console-stream.c (init_console_stream): Fix reinitialisation
10399         when running from temacs.
10400
10401         * alloc.c (pdump): Add id support.
10402         (pdump_load): Add file parameter and signature/id support.
10403
10404         * Makefile.in.in: Add full pdump support.
10405
10406 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
10407
10408         * postgresql.c: Update documentation to reflect latest code
10409         status.
10410         (print_result): Show tuple counts in printed representation when
10411         appropriate.
10412         (Fpq_put_nbytes): MULE-ize.
10413         (Fpq_get_line_async): Ditto.
10414
10415 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10416
10417         * postgresql.c (Fpq_lo_import): Fix return value.
10418         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
10419
10420 2000-03-13  Ben Wing  <ben@xemacs.org>
10421
10422         * alloc.c (pdump_load):
10423         Fix compile warning under mswin.
10424
10425 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10426
10427         * postgresql.c: Mule-ization, bug fixes.
10428         Use PG_CODING to encapsulate coding system name changes.
10429         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
10430         (pg-coding-system): Create.
10431
10432         (Fpq_conn_defaults): Mule-ize.
10433         (Fpq_connectdb): Mule-ize & bug fix.
10434         (Fpq_connect_start): Mule-ize.
10435         (Fpq_set_client_encoding): Mule-ize.
10436         (Fpq_finish): Document `DEAD' connection status.
10437         (Fpq_clear): Ditto.
10438         (Fpq_pgconn): Mule-ize.
10439         (Fpq_exec): Mule-ize & bug fix.
10440         (Fpq_send_query): Ditto.
10441         (Fpq_get_result): Ditto.
10442         (Fpq_res_status): Mule-ize.
10443         (Fpq_result_error_message): Mule-ize.
10444         (Fpq_ntuples): fix comments.
10445         (Fpq_fname): Mule-ize.
10446         (Fpq_fnumber): Mule-ize.
10447         (Fpq_ftype): fix comments.
10448         (Fpq_get_value): Mule-ize.
10449         (Fpq_cmd_status): Ditto.
10450         (Fpq_cmd_tuples): Ditto.
10451         (Fpq_oid_value): Ditto.
10452         (Fpq_notifies): Ditto.
10453         (Fpq_lo_import): Ditto.
10454         (Fpq_lo_export): Ditto.
10455         (Fpq_get_line): Ditto.
10456         (Fpq_put_line): Mule-ize and bug fix.
10457         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
10458
10459 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10460
10461         * postgresql.c (vars_of_postgresql): Mule-ize.
10462         (Fpq_conn_defaults): Ditto.
10463
10464 2000-03-12  Ben Wing  <ben@xemacs.org>
10465
10466         * alloc.c (Fmake_byte_code):
10467         * alloc.c (debug_string_purity_print):
10468         * alloc.c (pdump_backtrace):
10469         * alloc.c (pdump_get_indirect_count):
10470         * alloc.c (pdump_register_sub):
10471         * alloc.c (pdump_register_object):
10472         * alloc.c (pdump_register_struct):
10473         * alloc.c (pdump_dump_data):
10474         * alloc.c (pdump_reloc_one):
10475         Minor cleanups.
10476
10477         * console-msw.c:
10478         * console-msw.c (GetConsoleHwnd):
10479         * console-msw.c (msw_hide_console):
10480         * console-msw.c (msw_show_console):
10481         * console-msw.c (msw_ensure_console_buffered):
10482         * console-msw.c (msw_output_console_string):
10483         * console-msw.c (console_type_create_mswindows):
10484
10485         a) Added functions to manipulate the console window for use with
10486         shell support.
10487
10488         b) Added support for writing text to the console, which is now
10489         used under Windows when xemacs is not being run non-interactively,
10490         to write text that would otherwise be destined for stdout because
10491         under these circumstances, text written to stdout tends to
10492         disappear and not be seen.
10493
10494         * console-msw.h:
10495         * event-Xt.c:
10496         * event-Xt.c (x_event_to_emacs_event):
10497         * event-Xt.c (describe_event_window):
10498         * events-mod.h (XEMACS_MOD_CONTROL):
10499         * events.c:
10500         * events.c (Fmake_event):
10501         * events.c (character_to_event):
10502         * events.c (event_to_character):
10503         * events.c (format_event_object):
10504         * events.c (Fevent_modifiers):
10505         * events.h:
10506         * events.h (struct key_data):
10507         * events.h (struct button_data):
10508         * events.h (struct misc_user_data):
10509         * frame-x.c (Fcde_start_drag_internal):
10510         * frame-x.c (Foffix_start_drag_internal):
10511         * gpmevent.c (Freceive_gpm_event):
10512         * keymap.c:
10513         * keymap.c (bucky_sym_to_bucky_bit):
10514         * keymap.c (control_meta_superify):
10515         * keymap.c (make_key_description):
10516         * keymap.c (keymap_lookup_directly):
10517         * keymap.c (create_bucky_submap):
10518         * keymap.c (keymap_store):
10519         * keymap.c (define_key_check_and_coerce_keysym):
10520         * keymap.c (define_key_parser):
10521         * keymap.c (define_key_alternate_name):
10522         * keymap.c (Fdefine_key):
10523         * keymap.c (raw_lookup_key_mapper):
10524         * keymap.c (struct map_keymap_unsorted_closure):
10525         * keymap.c (map_keymap_unsorted_mapper):
10526         * keymap.c (map_keymap_sort_predicate):
10527         * keymap.c (map_keymap_sorted):
10528         * keymap.c (accessible_keymaps_mapper_1):
10529         * keymap.c (where_is_recursive_mapper):
10530         * keymap.c (describe_map_mapper):
10531         * keymap.c (describe_map_sort_predicate):
10532         * keymap.c (describe_map):
10533         * keymap.c (complex_vars_of_keymap):
10534         And a number of other files, the key modifier preprocessor
10535         constants that xemacs uses have names that conflict with constants
10536         defined under MS Windows for other purposes, so they were renamed
10537         to begin with the prefix XEMACS_. The variables that hold such
10538         modifiers were changed to consistently be of type int to fix
10539         various compile warnings.
10540
10541         * console.c (complex_vars_of_console):
10542         * device.c:
10543         * device-msw.c:
10544         * device-msw.c (mswindows_finish_init_device):
10545         * device-msw.c (msw_get_workspace_coords):
10546         * device-msw.c (mswindows_device_system_metrics):
10547         and various other files, added support for a new
10548         device property called offset-workspace which returns the position
10549         of the upper left corner of the workspace area and goes along with
10550         the existing size-workspace property.
10551
10552         * dialog-msw.c:
10553         * dialog-msw.c (push_bufbyte_string_as_unicode):
10554         * dialog-msw.c (mswindows_popup_dialog_box):
10555         Added support for XEmacs-style accelerator specifications in
10556         button text.  Note: I didn't add support for this under X Windows,
10557         and somebody needs to do this.
10558
10559         * dialog.c:
10560         * dialog.c (Fpopup_dialog_box):
10561         Documented the support for accelerators that was just mentioned.
10562
10563         editfns.c (get_home_directory): Changed behavior under Windows
10564         when HOME not defined; former behavior was irretrievably broken.
10565
10566         * emacs.c:
10567         * emacs.c (main_1):
10568         * emacs.c (main):
10569         * minibuf.c (clear_echo_area_internal):
10570         * minibuf.c (echo_area_append):
10571         * print.c:
10572         * print.c (std_handle_out_external):
10573         * print.c (std_handle_out_va):
10574         * print.c (fatal):
10575         * print.c (write_string_to_stdio_stream):
10576         * print.c (output_string):
10577         * print.c (debug_print):
10578         * print.c (debug_backtrace):
10579         * print.c (debug_short_backtrace):
10580         Cleaned up the code that prints text to stdout so that this can be
10581         changed to output into a console window instead under MS Windows,
10582         as described above.
10583
10584         * eval.c:
10585         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
10586         * eval.c (internal_catch):
10587         * eval.c (unwind_to_catch):
10588         * eval.c (throw_or_bomb_out):
10589         * eval.c (condition_case_1):
10590         * eval.c (signal_1):
10591         * eval.c (check_error_state_sanity):
10592         * eval.c (call_with_suspended_errors_1):
10593         * eval.c (call_with_suspended_errors):
10594         * eval.c (reinit_vars_of_eval):
10595         Added code to catch throw loops and check for a pesky bug that may
10596         be gone now.
10597
10598         * event-msw.c:
10599         * event-msw.c (key_needs_default_processing_p):
10600         * event-msw.c (mswindows_wnd_proc):
10601         * event-msw.c (mswindows_modifier_state):
10602         * event-msw.c (emacs_mswindows_quit_p):
10603         * event-msw.c (vars_of_event_mswindows):
10604         a) Added support for using the alt key to select menu items as is
10605         standard under MS Windows.  This is controlled using the variable
10606         menu-accelerator-enabled, just like under X Windows.  There is an
10607         option on the options menu to turn this support on.  I really
10608         think that it should be on by default under Windows, but I'm not
10609         going to make this change yet.
10610
10611         b)  Added support for dynamic display size changes under Windows.
10612
10613         * event-stream.c:
10614         * event-stream.c (maybe_echo_keys):
10615         * event-stream.c (Fnext_event):
10616         * event-stream.c (command_builder_find_leaf):
10617         * event-stream.c (lookup_command_event):
10618         * event-stream.c (execute_command_event):
10619         * event-stream.c (pre_command_hook):
10620         * event-stream.c (post_command_hook):
10621         * event-stream.c (syms_of_event_stream):
10622         * event-stream.c (vars_of_event_stream):
10623         * event-stream.c (complex_vars_of_event_stream):
10624         * events.h (struct command_builder):
10625
10626         a) Tried to clean up a little bit the horribly written x-specific
10627         accelerator code that crept into this file.  I moved this code
10628         into menubar-x.c where it belongs. I also needed to move the
10629         command builder structure into the file events.h because it is
10630         accessed directly by this accelerator code.  What I didn't do, but
10631         which should be done at some point, is to properly abstract this
10632         code using device methods instead of the kludgy way that it
10633         currently hooks into the event code.
10634
10635         b) Added the lisp variables this-command-properties and
10636         last-command- properties, which should be used to synchronize two
10637         adjacent commands in preference to playing games with the variable
10638         this-command, which is typically what happens.
10639
10640         c) Added some slightly nasty code to hook into the lisp support
10641         for shifted- motion-key selection.  This is actually necessary for
10642         somewhat complicated reasons, which are described in
10643         simple.el. (NB: I think the proper thing would be to have the code
10644         that calls the pre and post command hooks also call out to generic
10645         lisp functions in simple.el, where all built-in stuff could be
10646         added.  I will think about this more.)
10647
10648         * event-unixoid.c (poll_fds_for_input):
10649         * lread.c (readchar):
10650         * redisplay-tty.c (tty_clear_frame):
10651         * redisplay-x.c (x_get_gc):
10652         * signal.c (interrupt_signal):
10653         And a whole bunch of other files: fixed up places that printed
10654         directly to stderr to instead call the function stderr_out so that
10655         the changes I made under Windows work correctly.
10656
10657         * filemode.c (mode_string):
10658         Warning fixes.
10659
10660         * frame-msw.c:
10661         * frame-msw.c (mswindows_size_frame_internal):
10662         Fixed the computation of frame size and position to keep the frame
10663         within the workspace area, rather than within the physical
10664         dimensions of the screen, so that the frame doesn't overlap window
10665         manager decorations, such as the start menu and toolbar, typically
10666         at the bottom of the screen.
10667
10668         * frame.c (vars_of_frame):
10669         Changed the default frame title format under MS Windows to consist
10670         of buffername-XEmacs, which is standard under MS Windows.  I think
10671         it might be a good idea to change this everywhere because I think
10672         it is superior to the current frame title format, but this is the
10673         kind of change that is likely to cause some people to get annoyed,
10674         so I'm not making it.
10675
10676         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
10677
10678         * gui-msw.c (mswindows_handle_gui_wm_command):
10679         Fixed compile warnings.
10680
10681         * gui-x.c:
10682         * gui-x.c (strdup_and_add_accel):
10683         * gui-x.c (button_item_to_widget_value):
10684         * gui-x.h:
10685         Added code to automatically put an accelerator onto the beginning
10686         of menu items that don't have one as is now the standard, and is
10687         described more later.  Also fixed things so that the menu item
10688         name can be an evaluated expression, again a new standard.
10689
10690         * gui.c:
10691         * gui.c (gui_item_add_keyval_pair):
10692         * gui.c (make_gui_item_from_keywords_internal):
10693         * gui.c (gui_add_item_keywords_to_plist):
10694         * gui.c (gui_item_accelerator):
10695         * gui.c (gui_name_accelerator):
10696         * gui.c (gui_item_included_p):
10697         * gui.c (gui_item_display_flush_left):
10698         * gui.c (gui_item_display_flush_right):
10699         * gui.c (parse_gui_item_tree_item):
10700         * gui.c (parse_gui_item_tree_children):
10701         * gui.c (parse_gui_item_tree_list):
10702         Mule-ized.  Cleanup.  GCPRO addition.
10703
10704         * line-number.c (buffer_line_number):
10705         * lisp.h:
10706         * lisp.h (EMACS_INT_MAX):
10707         Added the manifest constant EMACS_INT_MIN corresponding to the
10708         existing constant EMACS_INT_MAX.  This is partially to fix compile
10709         warnings under Windows, and partly for cleanliness.
10710
10711         * menubar-msw.c:
10712         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
10713         * menubar-msw.c (msw_translate_menu_or_dialog_item):
10714         * menubar-msw.c (displayable_menu_item):
10715         * menubar-msw.c (populate_menu_add_item):
10716         * menubar-msw.c (populate_or_checksum_helper):
10717         * menubar-msw.c (populate_menu):
10718         * menubar-msw.c (update_frame_menubar_maybe):
10719         * menubar-msw.c (prune_menubar):
10720         * menubar-msw.c (msw_char_is_accelerator):
10721         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
10722         * menubar-msw.c (mswindows_handle_wm_command):
10723         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
10724         * menubar-msw.c (mswindows_handle_wm_initmenu):
10725         * menubar-msw.c (mswindows_update_frame_menubars):
10726         * menubar-msw.c (mswindows_free_frame_menubars):
10727         * menubar-msw.c (mswindows_popup_menu):
10728         Fixed a bug in handling accelerators where an extra character
10729         would be displayed in the menu item.  Also generalized the
10730         function displayable_menu_item because it is now used by the
10731         dialog box code as well.  And finally, added code in the functions
10732         that create the menubar to extract a list of accelerators for the
10733         top level menubar, which is used in the event code to determine
10734         whether a particular alt-key combination should be used to invoke
10735         a menu item, or should be passed through to access the standard
10736         XEmacs keymap binding for this key combination.
10737
10738         Much needed GCPROing.
10739
10740         * menubar-x.c:
10741         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10742         * menubar-x.c (menu_item_descriptor_to_widget_value):
10743         * menubar-x.c (restore_in_menu_callback):
10744         * menubar-x.c (x_popup_menu):
10745         * menubar-x.c (menu_move_up):
10746         * menubar-x.c (menu_move_down):
10747         * menubar-x.c (menu_move_left):
10748         * menubar-x.c (menu_move_right):
10749         * menubar-x.c (menu_select_item):
10750         * menubar-x.c (command_builder_operate_menu_accelerator):
10751         * menubar-x.c (menu_accelerator_junk_on_error):
10752         * menubar-x.c (command_builder_find_menu_accelerator):
10753         * menubar-x.c (Faccelerate_menu):
10754         * menubar.h:
10755         Moved a whole bunch of code here that was previously in
10756         event-stream.c as described above.  There is also code connected
10757         to the new standard of adding an accelerator to the beginning of
10758         menu items that don't have one as described above and below.
10759
10760         * menubar.c:
10761         * menubar.c (menu_parse_submenu_keywords):
10762         * menubar.c (Fmenu_find_real_submenu):
10763         * menubar.c (Fnormalize_menu_item_name):
10764         * menubar.c (syms_of_menubar):
10765         * menubar.c (vars_of_menubar):
10766         * menubar.c (complex_vars_of_menubar):
10767
10768         a) Cleaned up a bunch of documentation and improved it.
10769
10770         b) XEmacs now automatically adds an accelerator onto the beginning
10771         of any menu items that don't have one.  I did this because there
10772         will inevitably be some menu items on the main menubar that don't
10773         have accelerators on them because the package that adds that
10774         particular menu item hasn't yet been fixed up to have accelerators
10775         in them and it looked rather strange to have some items with and
10776         some items without accelerators, especially since even in items
10777         without accelerators, you can, at least under windows, still
10778         access the item through an accelerator corresponding to the first
10779         character in the item's name.  If people don't like this behavior,
10780         I can add a variable to turn it off optionally, but I'm not sure
10781         this is a good idea because we really do need to have accelerators
10782         on all of the menu items, and if a package doesn't like the
10783         accelerators being put on the first character, then it should put
10784         the accelerators where they belong.
10785
10786         c) I made a behavior change, which is that the descriptor that
10787         specifies the text of the menu item, which formerly was just a
10788         string, can now also be an evaluated expression.  This makes this
10789         descriptor parallel with all of the others, which could also be
10790         evaluated expressions.  This also obviates the need for the
10791         keyword :label, which was previously listed in the documentation
10792         as unimplemented, and which was for the same purpose.
10793
10794         d) GCPROing.
10795
10796         * ntproc.c:
10797         * ntproc.c (new_child):
10798         * ntproc.c (sys_spawnve):
10799         * ntproc.c (find_child_console):
10800         * ntproc.c (sys_kill):
10801         Fixed compile warnings.  By the way, this file should really go
10802         away entirely, and this will happen as soon as Kirill makes his
10803         final round of process cleanups, which affect the function
10804         call-process.
10805
10806         * process-nt.c:
10807         * process-nt.c (struct nt_process_data):
10808         * process-nt.c (find_process_from_pid):
10809         * process-nt.c (send_signal_the_nt_way):
10810         * process-nt.c (enable_child_signals):
10811         * process-nt.c (find_child_console):
10812         * process-nt.c (send_signal_the_95_way):
10813         * process-nt.c (nt_finalize_process_data):
10814         * process-nt.c (ensure_console_window_exists):
10815         * process-nt.c (nt_create_process):
10816         * process-nt.c (nt_kill_child_process):
10817         * process-nt.c (nt_kill_process_by_pid):
10818         * process-nt.c (nt_open_network_stream):
10819         * process-nt.c (vars_of_process_nt):
10820         Copied over code from Emacs 20.5 to correctly send signals to sub-
10821         processes under Windows 95.  Also added code to automatically
10822         create and hide console window when a sub-process is created under
10823         Windows 95, which obviates the need for the separate runemacs.exe
10824         executable, and finally implemented some variables that were
10825         implemented in Emacs 20.5, but previously not in XEmacs.  These
10826         include mswindows- start-process-share-console and
10827         mswindows-start-process-inherit-error-mode. (Both of these only
10828         apply to Windows 95.)
10829
10830         * regex.c (regex_compile): Fixed a compile warning.
10831
10832         * select-msw.c:
10833         * select-msw.c (mswindows_own_selection):
10834         * select-msw.c (mswindows_get_foreign_selection):
10835         * select-msw.c (mswindows_disown_selection):
10836         * select-msw.c (console_type_create_select_mswindows):
10837         * select-msw.c (syms_of_select_mswindows):
10838         Cleaned up the file and implemented the device method
10839         selection_exists_p, which had accidentally been left out.  Also
10840         removed four lisp functions that were remnants from before the
10841         time when the selection code was properly device abstracted.
10842         These functions are no longer needed because there are generic
10843         equivalents, and because they were added recently and don't exist
10844         in FSF Emacs, I don't think there's any problem with just deleting
10845         them.
10846
10847         * sysdep.c:
10848         * sysdep.c (sys_subshell):
10849         Fixed a compile warning, although in this case there's probably
10850         something wrong with this code, and it ought to be looked into
10851         more thoroughly by somebody who understands it.
10852
10853         * window.c:
10854         * window.c (Fwindow_text_area_height):
10855         * window.c (Fwindow_width):
10856         * window.c (Fwindow_full_width):
10857         * window.c (Fwindow_pixel_width):
10858         * window.c (debug_print_window):
10859         * window.c (syms_of_window):
10860         Added functions window-text-area-height and window-full-width,
10861         which are functions for returning various width and height
10862         characteristics of a window. (One of these functions is necessary
10863         for making the file dialog box work correctly, and the other one
10864         was added for completeness.)  Also added a table to the
10865         documentation for window-height which describes the entire scheme
10866         for accessing width and height characteristics of a window.
10867
10868 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10869
10870         * nt.c (fstat): Added a comment for another problem with
10871         non-encapsulated [f]stat(), reported by Adrian Aichner
10872         <aichner@ecf.teradyne.com>.
10873
10874 2000-03-11  Andy Piper  <andy@xemacs.org>
10875
10876         * window.c (make_dummy_parent): initialize subwindow instance
10877         cache.
10878         (Fset_window_configuration): zero extent_modiff.
10879
10880 2000-03-10  Andy Piper  <andy@xemacs.org>
10881
10882         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
10883         more changes can be triggered.
10884         (Fredisplay_frame): ditto.
10885         (Fredraw_device): ditto.
10886         (Fredisplay_device): ditto.
10887         (redisplay_frame): make non-static.
10888         (redisplay_frame): call update_frame_gutter_geometry outside of
10889         display proper.
10890
10891         * gutter.h: declare update_frame_gutter_geometry.
10892
10893         * redisplay.h: declare redisplay_frame.
10894
10895         * gutter.c (update_frame_gutter_geometry): move geometry changes
10896         in update_frame_gutters here. Geometry changes can only occur
10897         outside of redisplay.
10898         (update_frame_gutters): remove geometry change code.
10899         (Fredisplay_gutter_area): make sure that we are in display when we
10900         update and that we have flushed any size changes.
10901
10902 2000-03-11  Andy Piper  <andy@xemacs.org>
10903
10904         * alloc.c (pdump_dump_data): remove i & count shadows.
10905
10906 2000-02-27  Mike Alexander  <mta@arbortext.com>
10907
10908         * sysdep.h: Declare pdump_read_file
10909
10910         * sysdep.c (pdump_read_file): New function
10911
10912         * alloc.c (pdump_load): Call pdump_read_file to get the portable
10913         dump data
10914
10915 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10916
10917         * lrecord.h: add `lrecord_type_pgsetenv'.
10918
10919 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
10920
10921         * symsinit.h: declare (vars|syms)_of* functions.
10922         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
10923
10924 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
10925
10926         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
10927
10928         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
10929         GCCs.
10930
10931         * emacs.c (main_1): Call postgres initialization code.
10932
10933         * postgresql.h: New file.  PostgreSQL RDBMS support.
10934         * postgresql.c: New file.
10935
10936 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10937
10938         * redisplay-output.c (redisplay_output_display_block): Disable
10939         redundant code.
10940
10941 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10942
10943         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
10944         (Fcanna_henkan_next): Ditto.
10945         (Fcanna_bunsetu_henkou): Ditto.
10946         (Fcanna_henkan_kakutei): Ditto.
10947         (Fcanna_henkan_end): Ditto.
10948         (Fcanna_henkan_quit): Ditto.
10949         (Fcanna_henkan_next): Set retun value correctly.
10950         (c2mu): Use unsigned char instead of signed char.
10951
10952 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10953
10954         * emacs.c (main_1): Always call syms_of_gui.
10955         * inline.c: include gui.h
10956
10957 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10958
10959         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
10960         converted to Lisp_Object.
10961         (Qtop_bottom): New variable.
10962         (syms_of_redisplay): Initialize it.
10963         * redisplay.h (Vvisible_bell): Ditto.
10964         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
10965         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
10966         only flash top and bottom.
10967
10968 2000-03-08  Andy Piper  <andy@xemacs.org>
10969
10970         * buffer.c (Frename_buffer): record new buffer name the right way.
10971
10972 2000-03-08  Andy Piper  <andy@xemacs.org>
10973
10974         * glyphs.c (update_subwindow): increase hash depth so that widget
10975         items get picked up properly.
10976
10977         * redisplay-output.c (compare_runes): increase hash depth so that
10978         widget items get picked up properly.
10979
10980 2000-03-08  Andy Piper  <andy@xemacs.org>
10981
10982         * gutter.c (output_gutter): add some debug.
10983
10984         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
10985         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
10986         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
10987
10988         * redisplay-output.c (compare_runes): use display_hash to
10989         determine if glyphs really are not the same.
10990
10991         * glyphs.c (update_subwindow): check display_hash to see if
10992         anything really needs to be updated. If not then do
10993         nothing. Record the display_hash after updating.
10994         (image_instance_equal): compare the image_instance face also.
10995
10996 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
10997
10998         * redisplay.h: Fix comment style.
10999
11000 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11001
11002         * consle-msw.h (struct mswindows_frame):
11003         Added new member paint_pending to indicate whether a WM_PAINT
11004         magic event has been queued for this frame.
11005
11006         * event-msw.c (mswindows_drain_windows_queue):
11007         Don't queue a WM_PAINT magic event if one is already queued.
11008         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
11009
11010         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
11011
11012 2000-03-07  Didier Verna  <didier@xemacs.org>
11013
11014         * dired.c: #include `regex.h' after `sysfile.h'.
11015
11016 2000-03-06  Martin Buchholz  <martin@xemacs.org>
11017
11018         * sound.c (init_nas_sound): Fix compiler warning.
11019
11020         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
11021         (FREE_STRUCT_P):
11022         (MARK_STRUCT_AS_FREE):
11023         (MARK_STRUCT_AS_NOT_FREE):
11024         Make `gcc -fstrict-aliasing' work properly.
11025
11026 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11027
11028         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
11029         (mswindows_delete_device): Call CoUnnitialize().
11030
11031         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
11032
11033 2000-02-25    <CraigL@DyCon.com>
11034
11035         * process-nt.c: MinGW now has <shellapi.h>, but still needs
11036         <errno.h>.
11037
11038         * sysdep.c: This extern declaration for environ prevents MinGW
11039         from finding the variable in CRTDLL.DLL.
11040
11041         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
11042         windows headers.
11043         (SHGFI_EXETYPE): ..
11044         (WM_MOUSEWHEEL): ..
11045         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
11046         definitions.
11047         (MMRESULT): Removed, now defined in cygwin's windows headers.
11048         (TIMECAPS): ..
11049         (uid_t,gid_t,pid_t,ssize_t): ..
11050         (_timeb): Removed, MinGW defines both _timeb and timeb.
11051         (HAVE_H_ERRNO): Added.
11052         (HAVE_TZNAME): Added, configure is not detecting this.
11053
11054 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
11055
11056         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
11057         * syntax.c (syntax_match): Use it.
11058
11059         * cmds.c: Import auto-fill-chars from FSF Emacs.
11060         (Vauto_fill_chars): New variables.
11061         (internal_self_insert): Check Vauto_fill_chars.
11062         (vars_of_cmds):
11063         Declare auto-fill-chars as a Lisp variable and initialize it.
11064
11065 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11066
11067         * fileio.c (Fmake_symbolic_link):
11068         (Ffile_symlink_p):
11069         Run handlers even if local machine doesn't have symlinks.
11070
11071 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11072
11073         * event-msw.c (mswindows_drain_windows_queue):
11074         Don't generate paint magic events for non-XEmacs frames.
11075
11076 2000-03-05  Andy Piper  <andy@xemacs.org>
11077
11078         * redisplay.c (redisplay_frame): generate_displayable_area and
11079         friends assumes that we are not in GC, we therefore have to make
11080         sure that this doesn't happen.
11081
11082         * gutter.c (calculate_gutter_size): generate_displayable_area
11083         assumes that we are not in GC, we therefore have to make sure that
11084         this doesn't happen.
11085
11086 2000-03-05  Martin Buchholz  <martin@xemacs.org>
11087
11088         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
11089
11090 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
11091
11092         * redisplay.c (regenerate_window): Make sure we set a sane value
11093         for end_pos even if we jump out of the loop.
11094         (regenerate_window): Answer Ben's question :-).
11095         (start_end_of_last_line): Add may_error argument.
11096         (start_of_last_line):
11097         (end_of_last_line): Pass may_error = 0.
11098         (end_of_last_line_may_error): New function.
11099         (pixel_to_glyph_translation): Use it, so we don't crash in
11100         event_to_glyph.
11101
11102 2000-03-04  Andy Piper  <andy@xemacs.org>
11103
11104         * window.h (struct window): add gutter_extent_modiff.
11105
11106         * window.c (allocate_window): zero out gutter_extent_modiff.
11107
11108         * redisplay.h: declare sync_display_line_structs.
11109
11110         * redisplay.c (add_glyph_rune): add a better comment.
11111
11112         * redisplay-output.c (sync_display_line_structs): made non-static.
11113         (compare_runes): remove unneccesary glyph cachel access.
11114
11115         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
11116
11117         * gutter.c (output_gutter): don't output the gutter if extent
11118         changes only involve extents in buffers. use 4 sets of display
11119         lines.
11120         (gutter_extent_signal_changed_region_maybe): new function. Mark
11121         extents in gutters as changed.
11122         (update_frame_gutters): use 4 sets of display lines.
11123         (reset_gutter_display_lines): ditto.
11124         (free_frame_gutters): ditto.
11125         (redraw_exposed_gutter): force output of gutters.
11126
11127         * frame.h (struct frame): add 4 sets of gutter display lines.
11128
11129         * extents.c: (extent_changed_for_redisplay): signal changes to
11130         extents in strings in the gutter as well as extents in buffers.
11131
11132 2000-03-02  Andy Piper  <andy@xemacs.org>
11133
11134         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
11135
11136         * frame.c (Fmake_frame): make sure the gutters get initialized
11137         after the frame is visible.
11138         (set_frame_selected_window): re-arrange compilation macros a
11139         little.
11140         (change_frame_size_1): mark gutters changed.
11141
11142         * device.c (Fset_device_class): mark gutters changed.
11143
11144 2000-03-01  Andy Piper  <andy@xemacs.org>
11145
11146         * window.c (window_top_frame_gutter_height): deleted.
11147         (window_bottom_frame_gutter_height): ditto.
11148         (window_left_frame_gutter_height): ditto.
11149         (window_right_frame_gutter_height): ditto.
11150         (window_top_gutter_height): don't use them.
11151         (window_bottom_gutter_height): ditto.
11152         (window_left_gutter_width): ditto.
11153         (window_right_gutter_width): ditto.
11154         (Fsplit_window): ditto.
11155         (Fwindow_pixel_edges): don't use border dimensions here.
11156
11157         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
11158         (update_scrollbar_instance): ditto.
11159
11160         * redisplay.c (generate_modeline): don't take gutters into account.
11161         (generate_modeline): ditto.
11162         (redisplay_frame): small gutter display optimization.
11163
11164         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
11165
11166         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
11167         gutters into account.
11168
11169         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
11170         for window position and type.
11171
11172         * gutter.c (get_gutter_coords): fix for frame gutters.
11173         (update_frame_gutters): update frame geometry if the gutters have
11174         changed.
11175         (init_frame_gutters): record current gutter geometries.
11176
11177         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
11178         var.
11179         (mswindows_widget_instantiate): ditto.
11180
11181         * frame.h (struct frame): add current_gutter_bounds.
11182
11183         * frame.c (change_frame_size_1): position window and minibuffer
11184         appropriately taking into account the frame gutters.
11185
11186         * frame-x.c: (x_initialize_frame_size): take into account the
11187         frame gutters.
11188
11189 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
11190
11191         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
11192
11193 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
11194
11195         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
11196
11197 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11198
11199         * file-coding.c (reset_decoding_stream): Clear previous
11200         detection state when autodetect.
11201
11202 2000-02-29  Didier Verna  <didier@xemacs.org>
11203
11204         * extents.c (set_extent_glyph_1): don't require extents to be
11205         attached.
11206
11207 2000-02-27  Andy Piper  <andy@xemacs.org>
11208
11209         * gutter.c (Fset_default_gutter_position): don't default left and
11210         right gutter visibility to t.
11211         (Fset_default_gutter_position): run
11212         default-gutter-position-changed-hook.
11213         (syms_of_gutter): add default-gutter-position-changed-hook.
11214
11215 2000-02-26  Andy Piper  <andy@xemacs.org>
11216
11217         * specifier.c (Fmake_specifier): add gutter references.
11218
11219         * gutter.h (RAW_WINDOW_GUTTER): new macro.
11220
11221         * lisp.h: declare Fvalid_plist_p.
11222
11223         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
11224         as changed.
11225         (default_gutter_visible_p_changed_in_window): invalidate gutter as
11226         well as its visibility so that it gets reconstructed.
11227         (construct_window_gutter_spec): new function. Construct a string
11228         to be displayed in the gutter from a plist of strings. Take care
11229         to only use elements that are declared as visible.
11230         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
11231         WINDOW_GUTTER.
11232         (gutter_validate): allow plists of strings in the specifier.
11233         (gutter_specs_changed): construct the real_gutter from the gutter
11234         specs using construct_window_gutter_spec.
11235         (gutter_visible_validate): gutter-visible is a new specifier type.
11236         (Fgutter_visible_specifier_p): new function for the new specifier.
11237         (syms_of_gutter): declare gutter-visible and
11238         Fgutter_visible_specifier_p.
11239         (specifier_type_create_gutter): intitalize new gutter-visible
11240         specifier.
11241         (reinit_specifier_type_create_gutter): ditto.
11242         (specifier_vars_of_gutter): use new specifier type for gutter
11243         visibility.
11244         (init_frame_gutters): construct real_gutter correctly.
11245         (Fgutter_specifier_p): beef up documentation.
11246         (Fgutter_size_specifier_p): ditto.
11247
11248         * winslots.h: add real_gutter slots.
11249
11250 2000-02-25  Andy Piper  <andy@xemacs.org>
11251
11252         * device-msw.c: Be kind to older cygwin versions. From Raymond
11253         Toy <toy@rtp.ericsson.se>.
11254
11255         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
11256         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
11257
11258 2000-02-25  Martin Buchholz  <martin@xemacs.org>
11259
11260         * elhash.c (MARK_OBJ): Practice macro hygiene.
11261
11262 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11263
11264         * miscplay.c: s/__inline__/inline/g;
11265         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
11266         (get_device_compdc): INLINE ==> static inline
11267         * *.[ch]: Change INLINE to INLINE_HEADER globally.
11268         find -name '*.h' | \
11269         xargs global-replace \
11270         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
11271
11272 2000-02-25  Andy Piper  <andy@xemacs.org>
11273
11274         * window.c (window_top_frame_gutter_height): new function.
11275         (window_top_window_gutter_height): ditto.
11276         (window_top_gutter_height): use them.
11277         (window_bottom_frame_gutter_height): new function.
11278         (window_bottom_window_gutter_height): ditto.
11279         (window_bottom_gutter_height): use them.
11280         (window_left_window_gutter_width): new function.
11281         (window_left_frame_gutter_width): ditto.
11282         (window_left_gutter_width): use them.
11283         (window_right_window_gutter_width): new function.
11284         (window_right_frame_gutter_width): ditto.
11285         (window_right_gutter_width): use them.
11286         (window_pixel_height): new function. calulate window pixel height
11287         with frame gutter involvement.
11288         (Fsplit_window): calculate new sizes taking frame gutters into
11289         account.
11290         (window_char_height_to_pixel_height): don't include frame gutters.
11291         (window_char_height): use window_pixel_height.
11292         (window_pixheight): rename from window_pixel_height.
11293         (change_window_height): use it.
11294         (window_pixel_height_to_char_height): don't include frame gutters.
11295         (window_char_width_to_pixel_width): ditto.
11296
11297 2000-02-25  Andy Piper  <andy@xemacs.org>
11298
11299         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
11300         if it is.
11301
11302 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11303
11304         * alloc.c (staticpro):
11305         (staticpro_nodump):
11306         (dumpstruct):
11307         (dumpopaque):
11308         (pdump_wire):
11309         (pdump_wire_list):
11310         (compact_string_chars):
11311         (pdump_dump_wired):
11312         Convert:  if (foo) abort();  ==>  assert (! foo);
11313
11314         * eldap.c (Fldap_search_basic):
11315         (Fldap_add):
11316         (Fldap_modify):
11317         (Fldap_delete):
11318         Fix compiler warnings, and possible crashes if (random) return
11319         value were to be used.
11320
11321 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11322
11323         * device-msw.c: Workaround ResetDC failure.
11324
11325         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
11326         applying a devmode.
11327
11328         * redisplay-msw.c (get_frame_dc): Added start_page_p.
11329         (mswindows_text_width): Do not start printer page.
11330
11331         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
11332
11333         * glyphs-msw.c: Added image methods to msprinter console and
11334         msprinter-specific image instantiation.
11335
11336 2000-02-20  Mike Alexander  <mta@arbortext.com>
11337
11338         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
11339         to avoid crashes when selection-sets-clipboard is on
11340         (mswindows_own_selection): ditto
11341
11342 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11343
11344         * glyphs-msw.c:
11345         * redisplay-msw.c (get_frame_dc):
11346         (get_frame_compdc):
11347         * console-msw.h:
11348         * device-msw.c (mswindows_init_device):
11349         (mswindows_delete_device):
11350         (msprinter_init_device):
11351         (msprinter_delete_device):
11352         * frame-msw.c (mswindows_init_frame_1):
11353         (mswindows_delete_frame):
11354         (msprinter_init_frame_3):
11355         (msprinter_delete_frame): Move compatible DC to device object from
11356         frame object, for both mswindows and msprinter. Only one at a time
11357         is needed, it is a real waste to have one per frame!
11358
11359 2000-02-23  Andy Piper  <andy@xemacs.org>
11360
11361         * glyphs.c: add dynamic width and height elements.
11362         (image_instance_equal): ditto.
11363
11364         * glyphs-widget.c (widget_query_geometry): calculate width and
11365         height dynamically if required.
11366         (initialize_widget_image_instance): initialize dynamic dimensions.
11367         (widget_instantiate): pick-up dynamic dimensions.
11368
11369         * glyphs.h (struct Lisp_Image_Instance): add width and height for
11370         dynamic determination. Add appropriate macros.
11371
11372         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
11373         dimensions safe.
11374         (WINDOW_GUTTER_SIZE): ditto.
11375         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
11376
11377         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
11378         inline.
11379         (get_frame_dc): ditto.
11380
11381         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
11382         here.
11383
11384 2000-02-23  Martin Buchholz <martin@xemacs.org>
11385
11386         * XEmacs 21.2.31 is released.
11387
11388 2000-02-22  Ben Wing <ben@xemacs.org>
11389
11390         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
11391
11392 2000-02-22  Andy Piper  <andy@xemacs.org>
11393
11394         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
11395
11396 2000-02-21  Mike Sperber <mike@xemacs.org>
11397
11398         * .dbxrc:
11399         * .gdbinit:
11400         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
11401         variables.
11402
11403 2000-02-21  Mike Sperber <mike@xemacs.org>
11404
11405         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
11406
11407 2000-02-21  Martin Buchholz <martin@xemacs.org>
11408
11409         * XEmacs 21.2.30 is released.
11410
11411 2000-02-20  Martin Buchholz  <martin@xemacs.org>
11412
11413         Performance hacking.
11414         * *.c (syms_of_*):
11415         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
11416         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
11417         * emacs.c (main_1):
11418         * lisp.h (DEFUN):
11419         * console.c (DEFVAR_CONSOLE_LOCAL_1):
11420         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
11421         * symeval.h (DEFVAR_SYMVAL_FWD):
11422         * symbols.c (guts_of_unbound_marker):
11423         Make all c_readonly objects also lisp_readonly and marked for life.
11424         * lrecord.h (struct lrecord_implementation):
11425         Document flags better.
11426         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
11427         * lrecord.h (DECLARE_LRECORD):
11428         * lrecord.h (XSETRECORD):
11429         * lrecord.h (RECORDP):
11430         * lrecord.h (RECORD_TYPEP):
11431         * lrecord.h (RECORD_MARKER): New.
11432         * lrecord.h (error_check_*):
11433         * lrecord.h (CONCHECK_NONRECORD):
11434         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
11435         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
11436         * lrecord.h (set_lheader_implementation):
11437         * lrecord.h (enum lrecord_type): New.
11438         * symeval.h (SYMBOL_VALUE_MAGIC_P):
11439         * alloc.c (disksave_object_finalization_1):
11440         * alloc.c (mark_object):
11441         * alloc.c (lrecord_type_index):
11442         * alloc.c (tick_lcrecord_stats):
11443         * alloc.c (Fgarbage_collect):
11444         * alloc.c (init_alloc_once_early):
11445         * alloc.c (pdump_load):
11446         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
11447         * alloc.c (lrecord_type_index): Delete.
11448         Make lisp object type indexes be constant.
11449           Makes (byte-compile) 5% faster.
11450         Put all marker functions into their own array.
11451           Makes (garbage-collect) 5% faster.
11452         Optimize SYMBOL_VALUE_MAGIC_P.
11453           Makes (byte-compile) 2-3% faster.
11454         * config.h.in (gc_checking_assert): New.
11455         * alloc.c: Use gc_checking_assert().
11456         * .dbxrc: Make compatible with new object type implementation.
11457         * .gdbinit: Make compatible with new object type implementation.
11458         * alloc.c: Delete all symbols defined only for debugging, such as
11459         Lisp_Type_Vector and lrecord_charset.
11460
11461 2000-02-21  Andy Piper  <andy@xemacs.org>
11462
11463         * gui-msw.c (Fmswindows_shell_execute): fix file location
11464         problems.
11465
11466         * buffer.c (Fkill_buffer): remove buffer from alist buffer
11467         unshowing so that set_window_buffer doesn't undo
11468         kill_buffer_hook's hard work.
11469
11470         * glyphs-widget.c (tab_control_query_geometry): don't count the
11471         first item when calculating geometry.
11472
11473         * glyphs.c (map_subwindow): remove redundant code.
11474         (update_frame_subwindows): be more circumspect about when to
11475         update subwindows.
11476
11477         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
11478         when items haven't changed. Update faces if faces have changed as
11479         well as just the widget face.
11480         (x_tab_control_update): Update faces if faces have changed as well
11481         as just the widget face.
11482
11483 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11484
11485         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
11486         registration.
11487         (build_syscolor_string): Use mswindows_color_to_string to try to
11488         get a named color.
11489         (mswindows_device_system_metrics): Reverse the foreground and
11490         background colors so that they match the documentation.
11491
11492         * objects-msw.c: (mswindows_X_color_map): tweak some values so
11493         they match the default Windows palette.
11494         (mswindows_color_to_string): New function.
11495
11496 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11497
11498         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
11499
11500 2000-02-18  Olivier Galibert  <galibert@pobox.com>
11501
11502         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
11503         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
11504
11505         * symbols.c (init_symbols_once_early): Removed obsolete
11506         DATA_SEG_BITS related kludge.
11507         (defvar_magic): Ditto.
11508
11509         * malloc.c: Removed obsolete DATA_SEG_BITS
11510         * ralloc.c: Ditto.
11511         * mem-limits.h: Ditto.
11512
11513         * Makefile.in.in: Removed obsolete HAVE_SHM
11514         * emacs.c: Ditto.
11515
11516 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11517
11518         *  device-msw.c (mswindows_delete_device): Free DDE string
11519         handles.
11520
11521 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11522
11523         * keymap.c (get_keyelt):
11524         * unexnt.c (unexec):
11525         * vm-limit.c (memory_warnings):
11526         * ntheap.c (recreate_heap):
11527         * ntheap.h (UNINIT_PTR):
11528         * select-msw.c (Fmswindows_get_clipboard):
11529         (Fmswindows_set_clipboard):
11530         * objects-msw.h (MSWINDOWS_BAD_HFONT):
11531         * objects-msw.c:
11532         * menubar-msw.c (displayable_menu_item):
11533         * glyphs-msw.c:
11534         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
11535         * sysdep.c (sys_subshell):
11536         * process-nt.c (nt_create_process):
11537         * nt.c (normalize_filename):
11538         (dostounix_filename):
11539         (unixtodos_filename):
11540         * ntproc.c (win32_executable_type):
11541         * ntplay.c (play_sound_data_1):
11542         (play_sound_file):
11543         * editfns.c (get_home_directory):
11544         * event-msw.c (struct winsock_stream):
11545         (mswindows_dde_callback):
11546         * device-msw.c (msprinter_init_device):
11547         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
11548
11549         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
11550         mswindows_clear_toolbar were swapped!
11551
11552         * objects-msw.c:(colormap_t):
11553         (fontmap_t):
11554         * emacs.c (struct standard_args): Fixed const jumble.
11555
11556         * glyphs-widget.c (update_widget): Fixed comparison notation.
11557
11558         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
11559
11560         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
11561         __declspec(noreturn) syntax.
11562
11563 2000-02-19  Martin Buchholz  <martin@xemacs.org>
11564
11565         * eldap.c (Fldap_open):
11566         (Fldap_search_basic):
11567         (Fldap_add):
11568         (Fldap_modify):
11569         Use new coding system conversion macros.
11570
11571 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11572
11573         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
11574
11575 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
11576
11577         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
11578         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11579
11580         * eldap.c (Qadd, Qreplace): New constant symbols
11581         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
11582         interruptions by XEmacs signals
11583         Remove unnecessary calls to slow_down_interrupts and
11584         speed_up_interrupts
11585         (Fldap_search_basic): Renamed from Fldap_search_internal
11586         Added new optional parameter VERBOSE that triggers the
11587         display of progress messages
11588         Remove unnecessary calls to slow_down_interrupts and
11589         speed_up_interrupts
11590         LDAP result code analysis rewritten
11591         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11592         (syms_of_eldap): Define the new symbols and functions
11593
11594
11595 2000-02-17  Martin Buchholz  <martin@xemacs.org>
11596
11597         * realpath.c: Determine PATH_MAX maximally portably.
11598
11599         * insdel.c (bytecount_to_charcount): Optimize.
11600         The function used to be optimized for entirely ASCII sequences.
11601         Now it is optimized for successive characters from the same
11602         charset.  This also wins big for _mostly_ ASCII sequences.
11603
11604         * fileio.c (Ffile_truename): convert return from realpath() using
11605         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
11606         - Rewrite GCPROing slightly.
11607
11608         * sysdep.c (sys_open): Do filename conversion, like all other
11609         sys_* functions.  Fixes bug:
11610         (let ((file-name-coding-system 'iso-8859-2))
11611            (write-region x y latin2-name))
11612         ==> writes filename using internal encoding.
11613
11614 2000-02-18  Martin Buchholz  <martin@xemacs.org>
11615
11616         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
11617         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
11618         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
11619         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
11620         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
11621         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
11622         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
11623         (CONST_IF_NOT_DEBUG): Delete.
11624         * alloc.c (this_one_is_unmarkable): Delete.
11625         (mark_object): Don't check for this_one_is_unmarkable. Use the
11626         c_readonly flag instead.
11627         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
11628
11629 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11630
11631         * event-msw.c (mswindows_drain_windows_queue):
11632         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
11633         away redundant repaint events.
11634
11635 2000-02-17  Andy Piper  <andy@xemacs.org>
11636
11637         * redisplay.h: declare mark_redisplay_structs.
11638
11639         * redisplay.c (redisplay_window):
11640         (redisplay_frame): don't check subwindows_state_changed.
11641         (mark_redisplay): mark gutters here.
11642
11643         * glyphs.c: (instantiate_image_instantiator): always layout if we
11644         haven't done so already.
11645         (allocate_image_instance): don't mark as dirty.
11646         (update_subwindow): bind inhibit_quit.
11647
11648         * gutter.c (mark_gutters): new function.
11649
11650         * glyphs-x.c (x_update_widget): Always resize to get round a
11651         widget bug.
11652
11653         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
11654         breaking absolutely everything.
11655
11656         * gutter.h: declare mark_gutters.
11657
11658 2000-02-16  Martin Buchholz <martin@xemacs.org>
11659
11660         * XEmacs 21.2.29 is released.
11661
11662 2000-02-15  Olivier Galibert  <galibert@pobox.com>
11663
11664         * fns.c (size_bit_vector): Fix computation of the size.
11665
11666 2000-02-15  Martin Buchholz  <martin@xemacs.org>
11667
11668         * *.[ch]: Change CONST to const globally.
11669         find -name '*.[ch]' | \
11670         xargs global-replace \
11671         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
11672         - Remove vestigial references to CONST_IS_LOSING
11673
11674 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11675
11676         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
11677         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
11678         events instead of dispatching them directly.
11679         (mswindows_handle_paint): New function to do repainting.
11680         (mswindows_wnd_proc):
11681         (emacs_mswindows_handle_magic_event): Call above function.
11682
11683 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11684
11685         * objects-msw.c (mswindows_create_font_variant): Return the new
11686         font handle.
11687         (initialize_font_instance): Get font metrics from the underlined
11688         variant of the font to cope with the case where the underlined
11689         font has a bigger descent.
11690
11691 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11692
11693         * gui.c (gui_item_accelerator): Return the first underlined
11694         character in item name.
11695
11696 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11697
11698         * lisp.h: Added Qprinter.
11699
11700         * general.c (syms_of_general): Initialized it.
11701
11702         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
11703         (get_frame_dc):
11704         (get_frame_compdc): Made inline.
11705
11706         * console.h (struct console_methods): Added eject_page method.
11707
11708         * frame.h: Added FRAME_DISPLAY_P and friends.
11709         Aligned backslahes in many macros in more readable fashion.
11710         Added page_number to struct frame, and an accessor macro
11711         for it.
11712
11713         * defice.h: Added DEVICE_DISPLAY_P and friends.
11714
11715         * device.c (Fdevice_printer_p): Used these.
11716
11717         * frame.c (allocate_frame_core): Initialize page number.
11718         (Fprint_job_page_number):
11719         (Fprint_job_eject_page): Implemented.
11720
11721         * frame-msw.c (msprinter_eject_page): Added method.
11722         (msprinter_start_page): Added.
11723
11724         * window.c (Fwindow_truncated_p): Fixed docstring.
11725         (Fwindow_last_line_visible_height): Implemented.
11726
11727 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11728
11729         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
11730
11731 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11732
11733         * syntax.c (scan_words): Always advance at least one character.
11734
11735 2000-02-13  Andy Piper  <andy@xemacs.org>
11736
11737         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
11738         to make sure the glyph is in the cachels.
11739
11740         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
11741         global image instance flag.
11742         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
11743         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
11744
11745         * glyphs.c (allocate_image_instance): set dirty bits correctly.
11746         (Fset_image_instance_property): mark layout as changed.
11747         (invalidate_glyph_geometry_maybe): mark layout as changed.
11748         (glyph_width): use new NEEDS_LAYOUT macro.
11749         (glyph_ascent): ditto.
11750         (glyph_descent): ditto.
11751         (glyph_height): ditto.
11752         (image_instance_layout): mark layout as clean after laying out.
11753         (update_subwindow): don't mark layout as clean here.
11754
11755         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
11756         should no longer be needed.
11757
11758         * glyphs-x.c (x_update_widget): sanitize asserts.
11759         (x_finalize_image_instance): sanitize assignment to widgets.
11760
11761         * glyphs-widget.c (widget_instantiate): don't need to clear the
11762         layout flag here.
11763
11764 2000-02-13  Martin Buchholz  <martin@xemacs.org>
11765
11766         * sysdep.c (getcwd): Use standard prototype.
11767         * sysdep.h (getcwd): Use standard prototype.
11768
11769         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
11770         (sequence, start, end).
11771         Remove redundant type checking.
11772         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
11773         view of `caller-protects') to avoid a crash where the real fix was
11774         found elsewhere.
11775
11776 2000-02-12  Martin Buchholz  <martin@xemacs.org>
11777
11778         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
11779
11780         * s/sol2.h: Remove feature macro initialization.
11781
11782         * alloc.c (alloc_lcrecord): Add more type checking assertions.
11783         (vector_hash): New.  Code from internal_hash.
11784         * lrecord.h:
11785         Fix up allocation subsystem comments.
11786
11787         * config.h.in: Add __EXTENSIONS__ for Solaris.
11788
11789         * systime.h (EMACS_GETTIMEOFDAY): New.
11790         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
11791         Remove Solaris-specific code.
11792         Use void* for the (ignored) second arg for gettimeofday().
11793
11794         * elhash.c (hash_table_hash): Implement it, finally.
11795         * elhash.c:  Use hashcode_t.
11796
11797         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
11798         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
11799
11800         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
11801         * fns.c (size_bit_vector):
11802         * alloc.c (size_vector):
11803         (make_vector_internal):
11804         (make_bit_vector_internal):
11805         (sweep_bit_vectors_1):
11806         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
11807
11808 2000-02-10  Martin Buchholz  <martin@xemacs.org>
11809
11810         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
11811         Include strings.h to avoid warnings for bzero and strcasecmp.
11812
11813 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11814
11815         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
11816         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
11817
11818         * fns.c (size_bit_vector): New.  Declare bit vectors as a
11819         sequence.
11820
11821 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11822
11823         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
11824         use a value field instead.
11825         (symbol_value_forward_forward): Use value field.
11826         (DEFVAR_SYMVAL_FWD): Use value field.
11827         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
11828         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
11829         (DEFVAR_CONST_INT): Ditto.
11830         (DEFVAR_BOOL): Ditto.
11831         (DEFVAR_CONST_BOOL): Ditto.
11832         (DEFVAR_INT_MAGIC): Ditto.
11833         (DEFVAR_BOOL_MAGIC): Ditto.
11834
11835         * symbols.c (guts_of_unbound_marker): Use value field.
11836         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
11837         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
11838
11839         * lisp.h: Declare dumpopaque and noninteractive1.
11840
11841         * alloc.c (dumpopaque): Added.
11842         (pdump_dump_opaquevec): Added.
11843         (pdump): Call pdump_dump_opaquevec to dump opaque data.
11844         (pdump_load): Reload opaque data.  Sync noninteractive1 with
11845         noninteractive.
11846
11847 2000-02-10  Andy Piper  <andy@xemacs.org>
11848
11849         * glyphs.c (image_instance_layout): if the size changes, mark it
11850         as such.
11851
11852         * redisplay-output.c (redisplay_output_layout): Update the
11853         subwindow here.
11854         (redisplay_output_subwindow): ditto.
11855
11856         * glyphs.c (update_subwindow): make sure we reset flags for
11857         layouts as well as everything else.
11858
11859         * glyphs-widget.c (layout_layout): don't need to set the instances
11860         dimensions here.
11861
11862 2000-02-09  Martin Buchholz  <martin@xemacs.org>
11863
11864         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
11865         not HAVE_DLOPEN, which is a lower-level thing.
11866
11867         * .cvsignore: Ignore gmon.out
11868
11869 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
11870
11871         * .cvsignore: Ignore portable dumper xemacs.dmp file
11872
11873 2000-02-09  Andy Piper  <andy@xemacs.org>
11874
11875         * redisplay-output.c (redisplay_output_layout): be more clever
11876         about when we output based on the changed flags.
11877
11878         * glyphs.h (struct image_instantiator_methods): add update_method.
11879         (struct Lisp_Image_Instance): add changed flags. Declare new
11880         macros for manipulating them.
11881
11882         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
11883         (image_instance_parent_glyph): find an image_instance's parent
11884         glyph or image_instance.
11885         (image_instance_layout): mark the size as changed.
11886         (set_image_instance_dirty_p): new function. mark an image
11887         instance, plus all of its parents, as dirty.
11888         (Fset_image_instance_property): use it.
11889         (Fglyph_animated_timeout_handler): use it.
11890         (update_subwindow): call update_widget and device methods for
11891         update_subwindow. Mark all changed flags as clean.
11892         (Fresize_subwindow): mark size as changed.
11893
11894         * glyphs-x.c (x_finalize_image_instance): try and detect gc
11895         failures.
11896         (x_update_subwindow): only resize subwindows here.
11897         (x_update_widget): new function. Update all changed properties of
11898         a widget.
11899         (x_resize_subwindow): deleted.
11900         (x_widget_set_property): deleted.
11901         (x_progress_gauge_set_property): deleted.
11902         (x_progress_gauge_update): new function. Implement recorded
11903         changes.
11904         (x_tab_control_update): ditto.
11905         (x_tab_control_set_property): deleted.
11906         (console_type_create_glyphs_x): declare new functions.
11907         (image_instantiator_format_create_glyphs_x): ditto.
11908
11909         * glyphs-widget.c (widget_set_property): mark text changed.
11910         (update_widget): new function. Update properties of a widget.
11911         (widget_instantiate): for layouts make sure we set their
11912         children's parent correctly.
11913         (tab_control_set_property): new function. Record changes that will
11914         take place under redisplay's control.
11915         (progress_gauge_set_property): ditto.
11916         (image_instantiator_progress_guage): declare new functions.
11917         (image_instantiator_tab_control): ditto.
11918
11919         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
11920         now.
11921         (mswindows_update_widget): new function. Update all properties on
11922         a widget that have changed.
11923         (mswindows_button_update): new function. Update a button's set
11924         state.
11925         (mswindows_tab_control_update): new function. Update the items in
11926         a tab.
11927         (mswindows_tab_control_set_property): deleted.
11928         (mswindows_progress_gauge_update): new function. Update the
11929         progress gauge's progress.
11930         (mswindows_widget_set_property): deleted. This is all done
11931         asynchronously now.
11932         (mswindows_progress_gauge_set_property): ditto.
11933         (console_type_create_glyphs_mswindows): declare new methods.
11934         (image_instantiator_format_create_glyphs_mswindows): ditto.
11935
11936         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
11937         (msprinter_set_frame_properties): ditto.
11938
11939         * console.h (struct console_methods): Add update_widget_method.
11940
11941 2000-02-09  Andy Piper  <andy@xemacs.org>
11942
11943         * gui-msw.c (Fmswindows_shell_execute): Make
11944         mswindows-shell-execute industrial strength.
11945
11946 2000-02-08  Martin Buchholz  <martin@xemacs.org>
11947
11948         * lrecord.h: Make macro argument `props' match member function `plist'.
11949         * fns.c (Fget):
11950         * fns.c (Fput):
11951         * fns.c (Fremprop):
11952         * fns.c (Fobject_plist):
11953         * alloc.c:
11954         * symbols.c:
11955         Object property list frobbing cleanup.
11956         - Allow any lisp object (compared with `eq'), not just symbols, as
11957           keys in object plists.
11958         - Move symbol plist frobbing into symbols.c, where it belongs.
11959         - Move string plist frobbing into alloc.c, where it belongs.
11960         - Everything's an lrecord now, so no need to test for symbolp, etc.
11961         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
11962
11963         * extents.c: Reorder code to remove declarations.
11964
11965         * frame.h (store_in_alist): Remove useless declaration.
11966
11967 2000-02-07  Martin Buchholz  <martin@xemacs.org>
11968
11969         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
11970         * config.h.in: Add HAVE_XCONVERTCASE.
11971
11972 2000-02-07  Andy Piper  <andy@xemacs.org>
11973
11974         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
11975         it breaks many things.
11976
11977 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11978
11979         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
11980         actually can start a common comment type.
11981         * src/syntax.h (SYNTAX_END_P): ditto for end.
11982
11983 2000-02-07  Martin Buchholz <martin@xemacs.org>
11984
11985         * XEmacs 21.2.28 is released.
11986
11987 2000-02-06  Martin Buchholz  <martin@xemacs.org>
11988
11989         * event-Xt.c (x_keysym_to_character): New.
11990         (maybe_define_x_key_as_self_inserting_character): New.
11991         (x_has_keysym): New.
11992         Auto-define all keys on the keyboard as self-insert-key.
11993
11994 2000-02-02  Martin Buchholz  <martin@xemacs.org>
11995
11996         * menubar.c (vars_of_menubar): A small code simplification.
11997
11998         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
11999
12000         * ExternalShell.c:
12001         * ExternalClient.c:
12002         * EmacsShell-sub.c:
12003         * EmacsManager.c:
12004         * EmacsFrame.c:
12005         Use consistent style for specifying X resources.
12006
12007         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
12008         This makes (dontusethis-set-symbol-value-handler) actually usable.
12009
12010         * lrecord.h (lrecord_decription_type):
12011         * alloc.c (pdump_register_sub):
12012         (pdump_dump_data):
12013         (pdump_reloc_one):
12014         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
12015         Comply with XEmacs coding style.
12016         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
12017         args, and XD_LISP_OBJECT_ARRAY with 3 args.
12018
12019         * keymap.c (Faccessible_keymaps):
12020         Make (accessible-keymaps map "\C-h") do the Right Thing.
12021         Make (accessible-keymaps map []) do the Right Thing.
12022         Make (accessible-keymaps map "") do the Right Thing.
12023         (check_keymap_definition_loop): New function.
12024         (keymap_store_internal): Keep luser from shooting self in foot,
12025           via (define-key ctl-x-4-map "p" global-map).
12026         Remove fullness slot from struct Lisp_Keymap, since hash tables
12027         are now reliable.
12028         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
12029
12030 2000-01-30  Martin Buchholz  <martin@xemacs.org>
12031
12032         * redisplay.c (init_redisplay): Fix small memory leak.
12033         * elhash.h:
12034         * elhash.c (pdump_reorganize_hash_table):
12035         Rename from reorganize_hash_table. Change prototype.
12036         Reuse the original memory for hentries.  Save 100k.
12037         * alloc.c (PDUMP_READ): new macro.
12038         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
12039         * alloc.c: No need to #ifndef before #undef.
12040
12041         * print.c: Allow debug_print() to print readably by modifying
12042         debug_print_readably.  Use consistent variable names.
12043
12044         * .dbxrc: Try to get things to work even if stopped in a function
12045         without source available by explicitly specifying source files.
12046 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12047
12048         * unexnt.c (_start): Removed bogus code which caused loading heap
12049         from differrent executable file.
12050         Removed bogus assignment to _fmode, which caused inconsistencies.
12051
12052 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12053
12054         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
12055         Have spawnve encapsulation regard DONT_ENCAPSULATE.
12056         Do not preliminary `#define signal sigset'.
12057
12058         * systime.h: Do not prototype environ on windows nt and cygwin,
12059         this conflicts with system header.
12060
12061         * syssignal.h: Use correct define for WINDOWSNT
12062
12063         * sysdep.h: Do not prototype environ on windows nt, this conflicts
12064         with system header.
12065
12066         * sysdep.c (near start of file): Fixed commentary and rearranged
12067         ifdefs in readable order.
12068         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
12069         (start_of_text):
12070         (end_of_text):
12071         (end_of_data): Do not compile in if using PDUMP.
12072
12073         * symsinit.h: Prototyped vars_of_nt().
12074
12075         * ntproc.c (windows9x_p): Added, instead of os_subtype.
12076         (find_child_console): Use it.
12077         (sys_kill): Use it.
12078
12079         * ntheap.h: Do not extern os_subtype.
12080
12081         * ntheap.c (cache_system_info): Do not cache unneeded:
12082         nt_major_version, nt_minor_version and os_subtype.
12083         (recreate_heap): Do not compile in when PDUMPing.
12084
12085         * nt.c (geteuid and friends): Use the new varibale
12086         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
12087         (init_user_info): Removed the above mentioned hackery.
12088         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
12089         stat has been fixed in the C runtime.
12090         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
12091
12092         * file-coding.c (struct file_coding_dump): Do not define
12093         ucs_to_mule_table in the struct if not MULE.
12094         (struct struct lrecord_description fcd_description_1): Do not dump
12095         the above.
12096
12097         * emacs.c (main_1): Call vars_of_nt().
12098         (right before Fdump_emacs_data): Don't need lastfile if using both
12099         portabe dumper and system malloc.
12100
12101         * alloc.c (Fmemory_limit): Conditionalized out.
12102         (pdump): Use OPEN_BINARY for the portable dump file.
12103         (pdump_load): Ditto.
12104
12105 2000-02-02  Mike Alexander  <mta@arbortext.com>
12106
12107         * nt.c (convert_time): Set tm_isdst before calling mktime and
12108         avoid calling it at all if the compiler supports 64 bit integers.
12109         Also initialize utc_base_ft before using it.
12110
12111 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
12112
12113         * frame.c (change_frame_size_1): Take f->internal_border_width
12114         into consideration when calculating the width of the frame.
12115
12116 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12117
12118         * window.c (frame_min_height):
12119         (frame_size_valid_p):
12120         (frame_pixsize_valid_p): Added.
12121         (check_frame_size): Generalized.
12122
12123         * window.h: Prototyped the above.
12124
12125         * lisp.h:
12126         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
12127         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
12128         Deleted Vwin32_* and Vbinary_process_* unused variables.
12129
12130         * device-msw.c (msprinter_init_device): Do not get printer font
12131         list; Added DEVMODE functions.
12132
12133         * frame-msw.c: Added lots of printer code.
12134
12135         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
12136         general.c.
12137
12138         * console-msw.h: Added more msprinter device private slots.
12139
12140 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12141
12142         * event-msw.c (key_needs_default_processing_p): Added.
12143         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
12144
12145 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12146
12147         * glyphs.c (image_instance_layout): Mark image instance as clean
12148         after layout.
12149         (glyph_dirty_p): Removed redundant function.
12150         (invalidate_glyph_geometry_maybe): Added.
12151         (update_glyph_cachel_data): Call it.
12152
12153         * glyphs.h: Prototyped it.
12154
12155         * redisplay.c (add_glyph_rune): Call it.
12156         (redisplay_window): Reset glyphs cachels when frame faces have
12157         changed, thus forcing recomputation of built-in border glyphs.
12158
12159 2000-01-30  Martin Buchholz  <martin@xemacs.org>
12160
12161         * Makefile.in.in: Make portable dumper and purify play well together.
12162         Add imperfect, but better than nothing, support for pdump.
12163         Remove xemacs.dmp when temacs is re-generated.
12164         Don't ignore errors when dumping xemacs.
12165
12166         * symbols.c (maybe_call_magic_handler): Remove one magic number.
12167
12168 2000-01-28  Andy Piper  <andy@xemacs.org>
12169
12170         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
12171         (setup_normal_frame): ditto.
12172         (setup_frame_without_minibuffer): ditto.
12173         (setup_minibuffer_frame): ditto.
12174         (delete_frame_internal): ditto.
12175         (Fmake_frame_invisible): ditto.
12176         (Ficonify_frame): ditto.
12177
12178         * window.h: change Fset_window_buffer signature.
12179
12180         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
12181         (Fset_window_buffer): allow recording of buffer if the window is
12182         the selected window.
12183         (window_loop): Use new Fset_window signature.
12184
12185 2000-01-23  Daniel Pittman  <daniel@danann.net>
12186
12187         * config.h.in: Added template for `HAVE_ATHENA_3D'
12188
12189 2000-01-29  Andy Piper  <andy@xemacs.org>
12190
12191         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
12192
12193         * gutter.c (output_gutter): Don't output if the window isn't live.
12194
12195 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12196
12197         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
12198         of 01/12/00: Moved SetFocus back here where it belongs.
12199
12200 2000-01-23  Andy Piper  <andy@xemacs.org>
12201
12202         * s/cygwin32.h: declare printer things.
12203
12204 2000-01-26  Andy Piper  <andy@xemacs.org>
12205
12206         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
12207         Alexander.
12208
12209 2000-01-24  Andy Piper  <andy@xemacs.org>
12210
12211         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
12212         (mswindows_button_instantiate): Make sure glyph is a pixmap.
12213
12214         * glyphs-widget.c (widget_instantiate): Avoid shadows.
12215
12216         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
12217
12218         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
12219
12220         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
12221         (mswindows_output_display_block): Avoid local shadows.
12222
12223         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
12224         (mswindows_enqueue_mouse_button_event): ditto.
12225         (mswindows_handle_gui_wm_command): remove declaration.
12226
12227         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
12228         warnings.
12229
12230         * console-msw.h: Avoid shadows.
12231         (mswindows_get_toolbar_button_text):
12232         (emacs_mswindows_create_stream_pair):
12233         (emacs_mswindows_delete_stream_pair):
12234         (mswindows_handle_toolbar_wm_command): declare.
12235
12236         * device-msw.c (build_syscolor_string): Avoid shadows.
12237
12238 2000-01-23  Andy Piper  <andy@xemacs.org>
12239
12240         * glyphs-widget.c (widget_instantiate): reverse the items for
12241         layouts so that children are in the expected order.
12242
12243 2000-01-28  Martin Buchholz  <martin@xemacs.org>
12244
12245         * ralloc.c: safe_bcopy ==> memmove
12246         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
12247         * s/msdos.h: Remove BCOPY macros.
12248         * insdel.c (gap_right): Remove BCOPY conditional code.
12249         * insdel.c (gap_left): Remove BCOPY conditional code.
12250         XEmacs demands a working ANSI C compiler - hence memmove.
12251
12252         * regex.c (regex_compile): Remove accidental use of trigraphs.
12253
12254 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12255
12256         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
12257         event timestamp.
12258
12259 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12260
12261         * event-msw.c (mswindows_drain_windows_queue): Added the
12262         parameter.
12263         (mswindows_need_event): Commented the call to
12264         mswindows_drain_windows_queue().
12265         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
12266         only.
12267
12268         * console-msw.h: Moved a few function prototypes here from
12269         event-msw.c.
12270
12271         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
12272         parameter from unsigned short to unsigned long.
12273         (Fmswindows_shell_execute): Added return value.
12274
12275 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12276
12277         * sysdep.c (init_system_name):
12278           process-unix.c (unix_canonicalized_host_name):
12279         Don't call freeaddrinfo() if getaddrinfo() fails.
12280
12281         * process-unix.c (unix_open_unix_network_stream):
12282         Moved the code to get a port # into address loop.
12283
12284 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12285
12286         * buffer.c (reinit_vars_of_buffer):
12287         The right place to initialize conversion_in_dynarr and
12288         conversion_out_dynarr.
12289
12290         * alloc.c (pdump): Use the real open() till sys_open() is functional.
12291
12292         * process-unix.c (unix_canonicalize_host_name): Muleize.
12293         (unix_open_network_stream): Muleize.
12294
12295         * buffer.h: Fix up prototypes for ralloc.c functions.
12296
12297 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12298         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
12299         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
12300                 instead of gethostbyname()
12301         * process-unix.c: In unix_canonicalize_host_name() and
12302                 unix_open_network_stream(), add code to use getaddrinfo()
12303                 instead of gethostbyname().
12304
12305 2000-01-27  Daniel Pittman <daniel@danann.net>
12306
12307         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
12308         libs when built with flat Athena.
12309
12310 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12311
12312         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
12313         Use coding standards for function prototypes.
12314
12315 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12316
12317         * dialog-msw.c (push_lisp_string_as_unicode):
12318         * doc.c (unparesseuxify_doc_string):
12319         * dired.c (Fuser_name_completion_1):
12320         * dired.c (Fuser_name_all_completions):
12321         * dired.c (free_user_cache):
12322         * dired.c (user_name_completion):
12323         * console-x.c (get_display_arg_connection):
12324         * minibuf.c (clear_echo_area_internal):
12325         * minibuf.c (echo_area_append):
12326         * eldap.c (Fldap_open):
12327         * eldap.c (Fldap_search_internal):
12328         * frame-x.c (x_set_frame_text_value):
12329         * frame-x.c (x_set_frame_properties):
12330         * frame-x.c (x_create_widgets):
12331         * redisplay-tty.c (term_get_fkeys_1):
12332         * objects-x.c (x_parse_nearest_color):
12333         * objects-x.c (x_valid_color_name_p):
12334         * objects-x.c (x_initialize_font_instance):
12335         * objects-x.c (x_list_fonts):
12336         * objects-x.c (x_find_charset_font):
12337         * tooltalk.c (Fadd_tooltalk_message_arg):
12338         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12339         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12340         * process-unix.c (unix_create_process):
12341         * ntproc.c (sys_spawnve):
12342         * sound.c (Fplay_sound_file):
12343         * sound.c (Fplay_sound):
12344         * buffer.c (init_initial_directory):
12345         * buffer.c (init_buffer):
12346         * editfns.c (init_editfns):
12347         * editfns.c (Ftemp_directory):
12348         * editfns.c (Fuser_full_name):
12349         * editfns.c (uncache_home_directory):
12350         * editfns.c (get_home_directory):
12351         * editfns.c (Fuser_home_directory):
12352         * editfns.c (Fformat_time_string):
12353         * editfns.c (Fcurrent_time_string):
12354         * gui-x.c (button_item_to_widget_value):
12355         * database.c (Fopen_database):
12356         * event-Xt.c (x_to_emacs_keysym):
12357         * event-Xt.c (x_event_to_emacs_event):
12358         * event-Xt.c (describe_event_window):
12359         * event-msw.c (mswindows_wnd_proc):
12360         * glyphs-eimage.c (jpeg_instantiate):
12361         * glyphs-eimage.c (gif_instantiate):
12362         * glyphs-eimage.c (png_instantiate):
12363         * glyphs-eimage.c (tiff_instantiate):
12364         * glyphs-x.c (xbm_instantiate_1):
12365         * glyphs-x.c (x_xbm_instantiate):
12366         * glyphs-x.c (x_xface_instantiate):
12367         * glyphs-x.c (autodetect_instantiate):
12368         * glyphs-x.c (cursor_font_instantiate):
12369         * glyphs-x.c (x_widget_instantiate):
12370         * glyphs-x.c (x_widget_set_property):
12371         * glyphs-x.c (x_widget_property):
12372         * glyphs-x.c (BUILD_GLYPH_INST):
12373         * print.c (write_string_to_stdio_stream):
12374         * print.c (output_string):
12375         * print.c (Falternate_debugging_output):
12376         * print.c (Fexternal_debugging_output):
12377         * glyphs-msw.c (extract_xpm_color_names):
12378         * glyphs-msw.c (mswindows_xpm_instantiate):
12379         * glyphs-msw.c (bmp_instantiate):
12380         * glyphs-msw.c (resource_name_to_resource):
12381         * glyphs-msw.c (mswindows_resource_instantiate):
12382         * glyphs-msw.c (xbm_instantiate_1):
12383         * glyphs-msw.c (mswindows_xbm_instantiate):
12384         * glyphs-msw.c (mswindows_xface_instantiate):
12385         * glyphs-msw.c (mswindows_widget_instantiate):
12386         * glyphs-msw.c (add_tree_item):
12387         * glyphs-msw.c (add_tab_item):
12388         * glyphs-msw.c (mswindows_combo_box_instantiate):
12389         * glyphs-msw.c (mswindows_widget_property):
12390         * glyphs-msw.c (mswindows_combo_box_property):
12391         * glyphs-msw.c (mswindows_widget_set_property):
12392         * console.c (stuff_buffered_input):
12393         * objects-msw.c (mswindows_initialize_color_instance):
12394         * objects-msw.c (mswindows_valid_color_name_p):
12395         * objects-msw.c (mswindows_list_fonts):
12396         * objects-msw.c (mswindows_font_instance_truename):
12397         * bytecode.c (optimize_compiled_function):
12398         * select-x.c (symbol_to_x_atom):
12399         * select-x.c (x_atom_to_symbol):
12400         * select-x.c (hack_motif_clipboard_selection):
12401         * select-x.c (selection_data_to_lisp_data):
12402         * select-x.c (lisp_data_to_selection_data):
12403         * select-x.c (Fx_get_cutbuffer_internal):
12404         * select-x.c (Fx_store_cutbuffer_internal):
12405         * buffer.h (TO_EXTERNAL_FORMAT): New function.
12406         * buffer.h (TO_INTERNAL_FORMAT): New function.
12407         * emacs.c (make_arg_list_1):
12408         * emacs.c (make_argc_argv):
12409         * emacs.c (main_1):
12410         * emacs.c (Fdump_emacs):
12411         * emacs.c (split_string_by_emchar_1):
12412         * file-coding.h:
12413         * lisp.h:
12414         * lstream.h:
12415         * symsinit.h:
12416         * device-x.c (x_init_device):
12417         * device-x.c (Fx_valid_keysym_name_p):
12418         * device-x.c (Fx_get_font_path):
12419         * device-x.c (Fx_set_font_path):
12420         * glyphs.c (bitmap_to_lisp_data):
12421         * glyphs.c (pixmap_to_lisp_data):
12422         * alloc.c (make_ext_string): Use coding system arguments.  Update
12423         all callers.
12424         * alloc.c (build_string):
12425         * callproc.c (child_setup):
12426         * callproc.c (init_callproc):
12427         * fileio.c (lisp_strerror):
12428         * fileio.c (directory_file_name):
12429         * fileio.c (Fexpand_file_name):
12430         * fileio.c (Ffile_truename):
12431         * fileio.c (Fsysnetunam):
12432         * fileio.c (Fdo_auto_save):
12433         * sysdep.c (sys_readdir):
12434         * tests.c: New file.  Allow adding C tests.
12435         Replace GET_* macros with a more comprehensible and flexible
12436         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
12437         Modify all calls.
12438         Any coding system can be used to do format conversion.
12439         Eliminate enum external_data_format.
12440         Eliminate convert_to_external_format.
12441         Eliminate convert_to_internal_format.
12442         Make sure file-name, keyboard, terminal, and ctext are always
12443         defined as coding systems or aliases.  Make
12444         file-name-coding-system, terminal-coding-system, and
12445         keyboard-coding-system magical variables that are equivalent to
12446         defining the corresponding coding system aliases.
12447
12448         * file-coding.c (Fcoding_system_canonical_name_p): New function.
12449         * file-coding.c (Fcoding_system_alias_p): New function.
12450         * file-coding.c (Fcoding_system_aliasee): New function.
12451         * file-coding.c (append_suffix_to_symbol): New function.
12452         * file-coding.c (dangling_coding_system_alias_p): New function.
12453         * file-coding.c (Ffind_coding_system):
12454         * file-coding.c (Fcopy_coding_system):
12455         * file-coding.c (encode_coding_no_conversion):
12456         * file-coding.c (syms_of_file_coding):
12457         * file-coding.c (vars_of_file_coding):
12458         Rewrite coding system alias code.
12459         Allow nested aliases, like symbolic links.
12460         Allow redefinition of coding system aliases.
12461         Prevent existence of dangling coding system aliases.
12462
12463         * dired.c (Fuser_name_completion_1):
12464         * dired.c (Fuser_name_all_completions):
12465         A crash would happen if user did QUIT in the middle of building
12466         user_name_cache.  Remove redundant code in mainline and unwind_protect.
12467
12468         * lisp.h:
12469         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
12470
12471         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
12472         an unsigned char *.  Update all callers.
12473
12474 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12475
12476         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
12477
12478 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12479
12480         * elhash.c (hentry_description): Use more portable definition.
12481         (resize_hash_table): Initialize new hentries using
12482         xnew_array_and_zero, thereby simplifying the code.
12483
12484         * mule-charset.c (make_charset): Make sure entire object is
12485         initialized, to avoid Purify warnings.
12486
12487         * alloc.c (resize_string): Fix unlikely crash with big strings.
12488
12489 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12490
12491         * realpath.c (xrealpath):
12492         Don't call getwd().
12493
12494 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12495
12496         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
12497
12498 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
12499
12500         * unexelfsgi.c (unexec): Change the way we decide which segment
12501         should be extended.
12502
12503         Assumption that .bss section should be outside the PT_LOADable
12504         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
12505         it's present) is inside the 'data' segment. This would fail the
12506         test which was used to find a segment to grow and cover new
12507         heap. Instead of this assumption, I created another one - on IRIX
12508         the segment to grow should start below .bss and it's address
12509         should extent above the end of .bss. Once this segment is
12510         identified, it's grown to accommodate the new heap and new
12511         zero-length .bss section is added at the end of .data2.
12512
12513 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12514
12515         * eval.c (Feval): Wrong number of arguments should use original
12516         function, not the indirect_function version of it.
12517
12518 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
12519
12520         * glyphs-x.c (x_button_instantiate): Don't add image if
12521         it is not a pixmap.
12522         (x_locate_pixmap_file): Call Fexpand_file_name when file name
12523         is relative.
12524
12525 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
12526
12527         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
12528         declaration.
12529         (DEFVAR_INT_MAGIC): Ditto.
12530         (DEFVAR_BOOL_MAGIC): Ditto.
12531         * glyphs.h: Reindent backslash.
12532
12533 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12534
12535         * glyphs-widget.c (layout_query_geometry):
12536         (layout_layout): Use correct types for gheight, gwidth.
12537
12538 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12539
12540         * EmacsManager.c (QueryGeometry): Purified.
12541
12542 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12543
12544         * alloc.c (make_float): Make sure entire object is initialized, to
12545         avoid Purify warnings.
12546         (pdump_register_sub): Remove useless assignment.
12547         (pdump): Use xmalloc, not malloc.
12548         (pdump_load): Use xmalloc, not malloc.
12549
12550 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12551
12552         * callproc.c:
12553         * dired-msw.c:
12554         * fileio.c:
12555         * process-nt.c:
12556         * redisplay-msw.c:
12557         * sysdep.c: Removed redundant #include <windows.h>
12558
12559 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12560
12561         * frame.c (delete_frame_internal): Do not delete device when its
12562         implementation so declares.
12563         (delete_frame_internal): Set device selected frame to nil when
12564         last frame goes away.
12565
12566         * device-msw.c (msprinter_device_system_metrics): Implemented.
12567         (mswindows_device_system_metrics): Added 'device-dpi property.
12568
12569         * device.c: (Fdevice_printer_p): Added.
12570         Added 'offset-workspace device metric.
12571
12572         * console.h (device_metrics): Declared DM_offset_workspace.
12573
12574 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12575
12576         * fileio.c (Ffile_truename): Remove pointless and confusing
12577         initialization of elen.
12578
12579         * glyphs-widget.c: Compiler warning fixes.
12580
12581 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
12582
12583         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
12584         instead of a Lisp_Object as argument to make it consistent with
12585         the other LIVE_P macros.
12586         (CHECK_LIVE_PROCESS): New macro.
12587
12588         * process.c: Declare Qprocess_live_p.
12589         (Fprocess_live_p): New function.
12590         (create_process): Use PROCESS_LIVE_P.
12591         (read_process_output): Ditto.
12592         (set_process_filter): Ditto.
12593         (Fdelete_process): Ditto.
12594         (kill_buffer_processes): Ditto
12595         (process_send_signal): Use CHECK_LIVE_PROCESS.
12596         (Fprocess_input_coding_system): Check whether process is still
12597         alive (fix PR#1061).
12598         (Fprocess_output_coding_system): Ditto.
12599         (Fprocess_coding_system): Ditto.
12600         (Fset_process_input_coding_system): Ditto.
12601         (Fset_process_output_coding_system): Ditto.
12602
12603 2000-01-23  Andy Piper  <andy@xemacs.org>
12604
12605         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
12606         layout and widget.
12607
12608         * glyphs.c (mark_image_instance): take into account changed
12609         image_instance format.
12610         (image_instance_equal): ditto.
12611         (image_instance_hash): ditto.
12612
12613         * glyphs-widget.c (widget_instantiate): Incorporate layout
12614         instantiation here. Delay layout of the layout until later.
12615         (layout_instantiate): deleted.
12616         (layout_query_geometry): new function. get the geometry of a
12617         layout.
12618         (layout_layout): layout a layout dynamically.
12619         (image_instantiator_widget): New function - splitting up
12620         image_instantiator_format_create_glyphs_widget for netwinder
12621         compilation.
12622         (image_instantiator_buttons):
12623         (image_instantiator_edit_fields):
12624         (image_instantiator_combo_box):
12625         (image_instantiator_scrollbar):
12626         (image_instantiator_progress_guage):
12627         (image_instantiator_tree_view):
12628         (image_instantiator_tab_control):
12629         (image_instantiator_labels):
12630         (image_instantiator_layout): ditto.
12631         (image_instantiator_format_create_glyphs_widget): Call preceding
12632         functions.
12633
12634 2000-01-22  Martin Buchholz  <martin@xemacs.org>
12635
12636         * process.c (Fset_process_coding_system):
12637         * device-x.c (Fx_keysym_hash_table):
12638         Docstring fixes.
12639
12640         * lstream.c (Lstream_write): Return documented value, not 0.
12641
12642         * fileio.c (directory_file_name):
12643         (Fsubstitute_in_file_name):
12644         (Fsubstitute_insert_file_contents_internal):
12645         (Fwrite_region_internal):
12646         * emacs.c:
12647         * sysdep.c:
12648         * getloadavg.c:
12649         * systty.h:
12650         Remove vestigial APOLLO-conditional code.
12651
12652 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12653
12654         * getpagesize.h: Add guard macros.
12655         * libsst.h: Add guard macros.
12656         * libst.h: Add guard macros.
12657         * line-number.h: Add guard macros.
12658         * ndir.h: Add guard macros.
12659         * sysfloat.h: Add guard macros.
12660         * sysfile.h: Add guard macros.
12661         * sysproc.h: Add guard macros.
12662         * syswait.h: Add guard macros.
12663         * xintrinsic.h: Add guard macros.
12664         * xintrinsicp.h: Add guard macros.
12665         * xmmanager.h: Add guard macros.
12666         * xmmanagerp.h: Add guard macros.
12667         * xmprimitive.h: Add guard macros.
12668         * xmu.h: Add guard macros.
12669         * gpmevent.h: Add copyright statement. Add guard macros.
12670         * miscplay.h: Add guard macros.
12671         * *.h: Use consistent C-standards-approved guard macro names.
12672
12673         * opaque.c (make_opaque): Switch parameter order.
12674         * opaque.h (make_opaque): Switch parameter order.
12675         Update all callers.
12676         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
12677
12678         * config.h.in (type_checking_assert): Added.
12679         (bufpos_checking_assert): Added.
12680
12681 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12682
12683         * alloc.c: Harmless pdump changes.
12684         - Use countof().
12685         - spell alignment correctly.
12686         * sysdep.c: Use countof()
12687
12688 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12689
12690         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
12691         initially_selected_for_input() console method, default to 0.
12692         (semi_canonicalize_console_connection): Try to delegate to
12693         canonicalize_console_connection if no such console method.
12694         (canonicalize_console_connection): Vice versa.
12695         (print_console): Do not print nil connection.
12696
12697         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
12698         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
12699         (XDEVIMPF_FRAMELESS_OK): Added.
12700         (CONSOLE_INHERITS_METHOD): Added.
12701
12702         * console-msw.c (mswindows_canonicalize_console_connection):
12703         Added.
12704         (mswindows_canonicalize_device_connection): Added.
12705
12706         * console-msw.h (struct msprinter_device): Added this struct and
12707         accessor macros.
12708         (mswindows_device): Made fontlist a lisp object.
12709
12710         * device.c (semi_canonicalize_device_connection):  Try to delegate
12711         to canonicalize_device_connection if no such console method.
12712         (canonicalize_device_connection): Vice versa.
12713         (print_device): Do not print nil connection.
12714
12715         * device-msw.c (mswindows_init_device): Call InitCommonControls
12716         when have widgets.
12717         (mswindows_delete_device): Removed fontlist deallocation.
12718         (mswindows_mark_device): Added.
12719
12720         * events.c (event_equal): Added abort() at unreached code.
12721         (event_hash): Ditto.
12722
12723         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
12724         fallback tags of Windows devices.
12725
12726         * general.c (syms_of_general): Initialized Qmsprinter.
12727
12728         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
12729         of fallback tags of Windows devices.
12730
12731         * lisp.h: Declared Qmsprinter.
12732
12733         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
12734         of strings.
12735         (mswindows_list_fonts): Ditto.
12736         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
12737         that it can be used by both mswindows and msprinter devices.
12738         (initialize_font_instance): Added.
12739         (mswindows_initialize_font_instance): Use it.
12740         (msprinter_initialize_font_instance): Added.
12741
12742         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
12743         and implementation flags check.
12744         (redisplay_without_hooks): Changed the call to the above.
12745         (Fredraw_device): Ditto.
12746         (Fredisplay_device): Ditto.
12747
12748         * redisplay-msw.c (get_frame_dc): Implemented.
12749         (get_frame_compdc): Implemented.
12750         (many functions): Use the two functions above to get device
12751         contexts, ether for a window or a printer.
12752
12753 2000-01-21  Olivier Galibert  <galibert@pobox.com>
12754
12755         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
12756         initialization here.
12757         (init_symbols_once_early): Call it.
12758         * emacs.c (main_1): Call it.
12759         * symsinit.h: Declare it.
12760
12761 2000-01-19  Olivier Galibert  <galibert@pobox.com>
12762
12763         * alloc.c: Use a lrecord_header * in the backtrace instead of a
12764         Lisp_Object.
12765         (pdump_backtrace): Ditto.
12766         (pdump_register_object): Ditto.  Cleanup use of the pointers.
12767         (pdump_get_entry): Abort if trying to register a null pointer.
12768         (pdump_dump_data): Cleanup types when relocating.
12769         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
12770         (pdump_dump_rtables): Remove bad casts.
12771         (pdump_load): Cleanup relocation w.r.t union type.  Use a
12772         Lisp_Object instead of a EMACS_INT for the hashtable
12773         reorganization.
12774
12775 2000-01-20  Martin Buchholz  <martin@xemacs.org>
12776
12777         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
12778
12779         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
12780
12781         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
12782
12783         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
12784
12785 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12786
12787         * faces.h (FACE_STRIKETHRU_P): Added.
12788
12789         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
12790         of font variants.
12791
12792         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
12793         (mswindows_set_dc_font): New function, aware of font variants,
12794         separated from mswindows_update_dc.
12795
12796         * objects-msw.h (struct mswindows_font_instance_data): Added
12797         definition.
12798
12799         * objects-msw.c (mswindows_finalize_font_instance): Delete all
12800         cached fonts and the data structure.
12801         (mswindows_initialize_font_instance): Added creation of font data
12802         structure.
12803         (mswindows_print_font_instance): Print at least something.
12804         (mswindows_create_font_variant): Implemented.
12805         (mswindows_get_hfont): Implemented.
12806
12807 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
12808
12809         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
12810         prototyping problem with msvc.
12811
12812         * emacs.c (main_1): added syms_of_gui_mswindows() call
12813
12814         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
12815         syms_of_gui_mswindows() function
12816
12817         * symsinit.h: added the prototype for syms_of_gui_mswindows()
12818
12819 2000-01-18  Martin Buchholz <martin@xemacs.org>
12820
12821         * XEmacs 21.2.27 is released.
12822
12823 2000-01-18  Martin Buchholz  <martin@xemacs.org>
12824
12825         * glyphs-eimage.c (struct tiff_error_struct):
12826         (tiff_error_func):
12827         (tiff_warning_func):
12828         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
12829
12830         * unexmips.c:
12831         * unexhp9k3.c:
12832         * unexfreebsd.c:
12833         * unexec.c: Remove vestigial Lucid C code.
12834         * unexalpha.c:
12835         * unexaix.c:
12836         * termcap.c:
12837         * libsst.c: Ansify.
12838         Remove declarations of errno and strerror().
12839
12840         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
12841
12842         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
12843
12844 2000-01-16  Martin Buchholz  <martin@xemacs.org>
12845
12846         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
12847         Optimize.
12848
12849 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12850
12851         * md5.c:
12852         * file-coding.c:
12853         * file-coding.h:
12854         Change enum eol_type to eol_type_t.
12855
12856 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12857
12858         * gui.c (get_gui_callback): Check cons before accessing car.
12859
12860 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12861
12862         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
12863         (XSETSPECIFIER_TYPE): Ditto.
12864
12865 2000-01-17  Didier Verna  <didier@xemacs.org>
12866
12867         * redisplay.c (generate_fstring_runes): compute string size in
12868         characters, not bytes.
12869
12870 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12871
12872         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
12873
12874 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
12875
12876         * print.c (print_error_message): Call print_prepare().
12877
12878 2000-01-14  Martin Buchholz  <martin@xemacs.org>
12879
12880         * .dbxrc: Renamed from dbxrc.
12881
12882         * events.c (event_to_character):
12883         Use `assert (foo)' instead of `if (!foo) abort()'
12884
12885         * .gdbinit (xtype): Add documentation.
12886         * .gdbinit (check-temacs): New function.
12887         * .gdbinit (check-xemacs): New function.
12888         * dbxrc (check-xemacs): New function.
12889         * dbxrc (check-xemacs): New function.
12890
12891 2000-01-14  Andy Piper  <andy@xemacs.org>
12892
12893         * glyphs-widget.c (widget_query_geometry): Make sure that we
12894         calculate default dimensions correctly.
12895
12896 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12897
12898         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
12899
12900         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
12901         pdump_wire'd variable.
12902
12903         * emacs.c: (main_1): Conditionalized calls to
12904         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
12905
12906 2000-01-13  Martin Buchholz  <martin@xemacs.org>
12907
12908         * window.c (Fset_window_configuration):
12909         * sysdep.c (_start):
12910         * input-method-motif.c (res):
12911         * event-Xt.c (Xt_process_to_emacs_event):
12912         Simple compiler warning fixes.
12913
12914         * bytecode.c (funcall_compiled_function): Use the original
12915         function symbol on the backtrace list in preference to the
12916         compiled_function object in error messages.
12917
12918 2000-01-13  Andy Piper  <andy@xemacs.org>
12919
12920         * glyphs-x.c (update_widget_face): Make sure we update the widget
12921         background as well as foreground.
12922
12923 2000-01-13  Andy Piper  <andy@xemacs.org>
12924
12925         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
12926         fields to subwindow.
12927         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
12928         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
12929         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12930         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12931
12932         * glyphs-widget.c (check_valid_tab_orientation): new function.
12933         (initialize_widget_image_instance): zero orientation and
12934         justification.
12935         (widget_instantiate): pick up orientation.
12936         (tab_control_query_geometry): return appropriate values for
12937         vertical tabs.
12938
12939         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
12940         appropriate creation flags for left, right and bottom tabs.
12941
12942         * s/cygwin32.h: add tab definitions.
12943
12944 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12945
12946         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
12947         frame upon hiding a subwindow.
12948         (mswindows_button_instantiate): Changed the push button style to
12949         BS_PUSHBUTTON.
12950         (mswindows_button_instantiate): Removed button BS_NOTIFY
12951         style.
12952         (mswindows_button_instantiate): Removed redundant check for
12953         a disabled gui item.
12954         (mswindows_button_instantiate): Made use of WS_TABSTOP
12955         consistent: "operable" controls (edit, button, tree, scroll) have
12956         this style, "display-only" ones (static, progress gauge) do
12957         not. This style is currently ignored by XEmacs though. Also,
12958         removed the WS_EX_CONTROLPARENT style - it is not for children,
12959         it is for their parents!
12960         (mswindows_edit_field_instantiate): Ditto.
12961         (mswindows_progress_gauge_instantiate): Ditto.
12962         (mswindows_tree_view_instantiate): Ditto.
12963         (mswindows_tab_control_instantiate): Ditto.
12964         (mswindows_scrollbar_instantiate): Ditto.
12965         (mswindows_combo_box_instantiate): Ditto.
12966         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
12967         style to the "clip" window.
12968         (mswindows_button_instantiate): Removed compilation warning by
12969         equally typing terms of the ?: operator.
12970
12971 2000-01-12  Didier Verna  <didier@xemacs.org>
12972
12973         * redisplay.c (generate_fstring_runes): new parameter holding the
12974         last modeline-format extent.
12975         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
12976         extent, fill the glyph block with it.
12977         (generate_fstring_runes): handle these parameters.
12978         (generate_formatted_string_db): ditto.
12979
12980         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
12981         glyphs'extents in the modeline.
12982
12983 1999-01-11  Mike Woolley  <mike@bulsara.com>
12984
12985         * ntheap.c: Reduced the reserved heap space from 1Gb down to
12986         256Mb, as a workaround for the non-starting problem many people
12987         have experienced.
12988
12989 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12990
12991         * console-tty.c (Fset_console_tty_output_coding_system):
12992         Force redrawing tty frame.
12993
12994 2000-01-10  Didier Verna  <didier@xemacs.org>
12995
12996         * redisplay.c (generate_fstring_runes): fix size computation bug.
12997
12998 2000-01-09  William M. Perry <wmperry@aventail.com>
12999
13000         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
13001
13002 2000-01-09  Andy Piper  <andy@xemacs.org>
13003
13004         * glyphs-msw.c: index -> i to avoid shadows.
13005         (xbm_create_bitmap_from_data): make static.
13006         (check_valid_string_or_int): deleted.
13007         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
13008
13009         * glyphs-x.c (x_update_subwindow): remove unused args.
13010
13011         * glyphs.c (glyph_image_instance): return the thing. Don't set the
13012         back pointer - this is done in allocate_image_instance.
13013         (query_string_font): return Qnil to make the compiler happy.
13014         (unmap_subwindow): set to ~0 to make the compiler happy.
13015         (glyph_query_geometry): comment out until used.
13016         (glyph_layout): ditto.
13017
13018 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
13019
13020         * insdel.c (signal_after_change): Remove extraneous unbind_to().