Add some missing mappings to CHINA3-JEF code points.
[chise/xemacs-chise.git] / src / ChangeLog
1 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * text-coding.c (char_encode_shift_jis): Modify for
4         `charset_code_point'.
5         (char_encode_big5): Likewise.
6         (char_encode_utf8): Likewise.
7         (char_encode_iso2022): Likewise.
8
9         * mule-charset.c (charset_code_point): Add new argument
10         `defined_only'.
11         (Fencode_char): Add new optional argument `defined_only'.
12
13         * chartab.c (put_char_table): Modify for `charset_code_point'.
14         (map_char_table): Likewise.
15
16         * char-ucs.h (charset_code_point): Add new argument
17         `defined_only'.
18         (encode_char_1): Modify for `charset_code_point'.
19
20 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
21
22         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
23         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
24
25 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
26
27         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
28         (Qjis_x0208): Likewise.
29         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
30         XCHARSET_FINAL(charset).
31         (charset_code_point): Modify condition for final-byte based
32         builtin-chars.
33         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
34         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
35         in UTF-2000; specify `=jis-x0208' as the mother of
36         `japanese-jisx0208-1978', `japanese-jisx0208' and
37         `japanese-jisx0208-1990' in UTF-2000.
38
39 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
40
41         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
42
43 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
44
45         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
46         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
47         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
48         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
49         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
50         CONVERSION_96x96x96x96 are introduced.
51         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
52         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
53         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
54
55         * char-ucs.h (CONVERSION_94): New macro.
56         (CONVERSION_96): New macro.
57         (CONVERSION_94x94): New macro.
58         (CONVERSION_96x96): New macro.
59         (CONVERSION_94x94x94): New macro.
60         (CONVERSION_96x96x96): New macro.
61         (CONVERSION_94x94x94x60): New macro.
62         (CONVERSION_94x94x94x94): New macro.
63         (CONVERSION_96x96x96x96): New macro.
64
65 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
66
67         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
68
69         * fns.c (Qideographic_structure): New variable.
70         (Qkeyword_char): New variable.
71         (ids_format_unit): New function.
72         (Fideographic_structure_to_ids): New function.
73         (syms_of_fns): Add new symbols `ideographic-structure' and
74         `:char'; add new builtin function `ideographic-structure-to-ids'.
75
76         * data.c (Fchar_ref_p): New function.
77         (syms_of_data): Add new builtin function `char-ref-p'.
78
79         * chartab.h: Add an EXFUN for `Ffind_char'.
80
81 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
82
83         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
84         and `COMPOSE_ADD_CHAR'.
85         (decode_coding_iso2022): Use `decode_flush_er_chars'.
86
87 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
88
89         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
90         instead of `DECODE_ADD_UCS_CHAR'.
91         (COMPOSE_ADD_CHAR): Likewise.
92
93 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
94
95         * text-coding.c (decode_flush_er_chars): New inline function.
96         (decode_add_er_char): New function.
97         (decode_coding_utf8): Use `decode_flush_er_chars' and
98         `decode_add_er_char'.
99
100 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
101
102         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
103         done before `decode_output_utf8_partial_char'.
104
105         * mule-charset.c (complex_vars_of_mule_charset): Specify
106         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
107         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
108
109 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
110
111         * mule-charset.c (decode_defined_char): New function; search
112         mother.
113         (decode_builtin_char): Don't search mother if
114         XCHARSET_MAX_CODE(charset) == 0.
115         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
116         == 0 even if code >= XCHARSET_MAX_CODE(charset).
117         (Fdecode_char): Use `decode_defined_char' instead of
118         `DECODE_DEFINED_CHAR'.
119         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
120         mother of `Vcharset_ucs_jis'.
121
122         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
123         instead of `DECODE_DEFINED_CHAR'.
124
125         * char-ucs.h (decode_defined_char): Renamed from
126         `DECODE_DEFINED_CHAR'; changed to normal function.
127         (DECODE_CHAR): Use `decode_defined_char' instead of
128         `DECODE_DEFINED_CHAR'.
129
130         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
131
132 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
133
134         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
135
136         * text-coding.c (Vcoded_charset_entity_reference_alist): New
137         variable.
138         (Quse_entity_reference): New variable.
139         (Qd): New variable.
140         (Qx): New variable.
141         (QX): New variable.
142         (coding_system_description): Add description for
143         `ccs_priority_list'.
144         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
145         (allocate_coding_system): Initialize `ccs_priority_list' in
146         UTF-2000.
147         (Fmake_coding_system): Add description about
148         'use-entity-reference; setup
149         CODING_SYSTEM_USE_ENTITY_REFERENCE(codesys).
150         (Fcoding_system_property): Accept `disable-composition' and
151         `use-entity-reference' in UTF-2000.
152         (struct decoding_stream): Add new member `er_counter' and `er_buf'
153         in UTF-2000.
154         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
155         (decode_coding_utf8): Decode entity-reference if
156         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
157         (char_encode_utf8): Encode non-Unicode characters as
158         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
159         (str->codesys).
160         (syms_of_file_coding): Add new symbols `use-entity-reference',
161         `d', `x', `X'.
162         (vars_of_file_coding): Add new variable
163         `coded-charset-entity-reference-alist'.
164         (complex_vars_of_file_coding): Declare `disable-composition' and
165         `use-entity-reference' to be coding-system-properties in UTF-2000.
166
167         * file-coding.h (struct Lisp_Coding_System): Add new member
168         `use_entity_reference' and `ccs_priority_list'.
169         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
170         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
171         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
172
173 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
174
175         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
176
177 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
178
179         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
180         `XCHARSET_GRAPHIC(ccs)'.
181
182 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
183
184         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
185         for decoding-table.
186
187 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
188
189         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
190         instead of `XCHARSET_CHARS'.
191
192 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
193
194         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
195         (XCHARSET_BYTE_SIZE): Likewise.
196
197         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
198         mule-charset.c].
199         (XCHARSET_BYTE_SIZE): Likewise.
200
201 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
202
203         * char-ucs.h (decoding_table_check_elements): Delete prototype.
204         (get_ccs_octet_table): New inline function.
205         (put_ccs_octet_table): Likewise.
206         (decoding_table_put_char): Use `get_ccs_octet_table' and
207         `put_ccs_octet_table'.
208         (decoding_table_remove_char): Use `decoding_table_put_char'.
209         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
210
211         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
212         into encoding_table.
213         (make_charset): Use Qunbound instead Qnil as initial value of
214         decoding_table.
215
216 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
217
218         * mule-charset.c (put_char_ccs_code_point): Modify for
219         `decoding_table_remove_char' and `decoding_table_put_char'.
220         (remove_char_ccs): Modify for `decoding_table_remove_char'.
221
222         * char-ucs.h (decoding_table_remove_char): Change arguments to
223         hide decoding_table vector.
224         (decoding_table_put_char): Likewise.
225
226 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
227
228         * mule-charset.c (decoding_table_remove_char): Moved to
229         char-ucs.h.
230         (decoding_table_put_char): Likewise.
231
232         * char-ucs.h (decoding_table_check_elements): New prototype [moved
233         from mule-charset.c].
234         (decoding_table_remove_char): New inline function [moved from
235         mule-charset.c].
236         (decoding_table_put_char): Likewise.
237
238 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
239
240         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
241         instead of `DECODE_CHAR' for mother; don't use special code for
242         chinese-big5 to use code space of chinese-big5-1 and
243         chinese-big5-2.
244         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
245         `MAX_CHAR_BIG5_CDP' for chinese-big5.
246
247         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
248         (MAX_CHAR_BIG5_CDP): Revival.
249
250 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
251
252         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
253         the XLFD registry-encoding name of `chinese-big5'.
254
255 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
256
257         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
258         (Qchinese_big5_cdp): Deleted.
259         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
260         (complex_vars_of_mule_charset): Delete coded-charset
261         `chinese-big5-cdp'.
262
263         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
264         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
265         `CHARSET_ID_OFFSET - n' for private CCS.
266         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
267         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
268         of `MIN_LEADING_BYTE'.
269         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
270         `(CHARSET_ID_OFFSET - 97)'.
271         (MIN_CHAR_BIG5_CDP): Deleted.
272         (MAX_CHAR_BIG5_CDP): Deleted.
273
274 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
275
276         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
277         extension.
278
279 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
280
281         * mule-charset.c (decode_builtin_char): Support mother charsets.
282
283 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
284
285         * mule-charset.c (Q94x94x60): New variable.
286         (charset_code_point): Support conversion `94x94x60'.
287         (Fmake_charset): Likewise.
288         (syms_of_mule_charset): Add new symbol `94x94x60'.
289
290         * char-ucs.h (CONVERSION_94x94x60): New macro.
291
292 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
293
294         * mule-charset.c (charset_code_point): Unify code about
295         `code-offset'.
296
297 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
298
299         * mule-charset.c (charset_code_point): Merge code about builtin
300         characters into code about mother charsets; don't use
301         `range_charset_code_point'.
302         (range_charset_code_point): Deleted.
303
304 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
305
306         * mule-charset.c (Qcode_offset): New variable.
307         (Fmake_charset): Use `XUINT' to get value of `min-code' and
308         `max-code'; accept new property `code-offset'.
309         (syms_of_mule_charset): Add new symbol `code-offset'.
310
311 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
312
313         * mule-charset.c (range_charset_code_point): Fixed.
314
315 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
316
317         * mule-charset.c (decode_builtin_char): Change semantics of
318         code-offset of coded-charset.
319         (charset_code_point): Likewise.
320         (range_charset_code_point): Likewise.
321         (complex_vars_of_mule_charset): Modify for the change.
322
323 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
324
325         * mule-charset.c (Fencode_char): Reverse arguments.
326
327         * mule-charset.c (charset_code_point): Fixed.
328
329 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
330
331         * mule-charset.c (Vcharset_mojikyo): Deleted.
332         (Vcharset_mojikyo_2022_1): Deleted.
333         (Vcharset_mojikyo_pj_{1..21}): Deleted.
334         (Qmin_code): New variable in UTF-2000.
335         (Qmax_code): Likewise.
336         (Qmother): Likewise.
337         (Qconversion): Likewise.
338         (Q94x60): Likewise.
339         (Qmojikyo): Deleted.
340         (Qmojikyo_2022_1): Deleted.
341         (Qmojikyo_pj_{1..22}): Deleted.
342         (mark_charset): Mark `cs->mother'.
343         (charset_description): Add description for `mother'.
344         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
345         new arguments `mother' and `conversion'; use
346         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
347         (charset_code_point): Moved from char-ucs.h; support `mother'
348         charset feature.
349         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
350         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
351         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
352         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
353         allow 2 as the value of `graphic' in UTF-2000; add new properties
354         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
355         require `final' in UTF-2000; modify for `make_charset'.
356         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
357         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
358         (Fcharset_property): Support `mother', `min-code' and `max-code'.
359         (Fencode_char): New function.
360         (syms_of_mule_charset): Add new builtin function `encode-char' in
361         UTF-2000; add new symbols `min-code', `max-code', `mother',
362         `conversion' and `94x60'; delete symbols `mojikyo',
363         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
364         (complex_vars_of_mule_charset): Modify for `make_charset' change;
365         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
366         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
367
368         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
369         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
370
371         * char-ucs.h (Vcharset_mojikyo): Deleted.
372         (Vcharset_mojikyo_2022_1): Deleted.
373         (LEADING_BYTE_MOJIKYO): Deleted.
374         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
375         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
376         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
377         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
378         add new member `mother'; add new member `conversion'.
379         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
380         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
381         (CHARSET_MOTHER): New macro.
382         (CHARSET_CONVERSION): New macro.
383         (CONVERSION_IDENTICAL): New macro.
384         (CONVERSION_94x60): New macro.
385         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
386         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
387         (XCHARSET_MOTHER): New macro.
388         (XCHARSET_CONVERSION): New macro.
389         (MIN_CHAR_MOJIKYO): Deleted.
390         (MAX_CHAR_MOJIKYO): Deleted.
391         (DECODE_MOJIKYO_2022): Deleted.
392         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
393         (charset_code_point): Changed to non-inline function.
394         (encode_char_1): Use `charset_code_point'.
395         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
396
397 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
398
399         * lread.c (read_compiled_function): Fix prototype.
400         (read_vector): Likewise.
401
402 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
403
404         * lrecord.h (struct lrecord_header): Delete `older'.
405         (set_lheader_implementation): Delete code for `older'.
406         (set_lheader_older_implementation): Deleted.
407         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
408         (OLDER_RECORD_P): Deleted.
409         (OLDER_RECORD_HEADER_P): Deleted.
410         (alloc_older_lcrecord): Deleted.
411         (alloc_older_lcrecord_type): Deleted.
412
413         * alloc.c (all_older_lcrecords): Deleted.
414         (alloc_older_lcrecord): Deleted.
415         (disksave_object_finalization_1): Delete code for older objects.
416         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
417         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
418
419 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
420
421         * mule-charset.c (decoding_table_put_char): Use `make_vector'
422         instead of `make_older_vector'.
423         (put_char_ccs_code_point): Likewise.
424         (mark_charset): Mark `cs->decoding_table'.
425         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
426
427         * lisp.h (make_older_vector): Deleted.
428         (make_vector_newer): Deleted.
429
430         * config.h.in (HAVE_GGC): Deleted.
431
432         * alloc.c (make_older_vector): Deleted.
433         (make_vector_newer_1): Deleted.
434         (make_vector_newer): Deleted.
435
436 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
437
438         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
439         (Qideograph_daikanwa_2): New variable.
440         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
441         (complex_vars_of_mule_charset): Add new coded-charset
442         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
443         `LEADING_BYTE_DAIKANWA'.
444
445         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
446         (LEADING_BYTE_DAIKANWA_1): New macro.
447         (LEADING_BYTE_DAIKANWA_2): New macro.
448         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
449
450 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
451
452         * mule-charset.c (complex_vars_of_mule_charset): Change
453         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
454         the second revised version.
455
456 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
457
458         * mule-charset.c (Vcharset_ucs_smp): New variable.
459         (Vcharset_ucs_sip): New variable.
460         (Qucs_smp): New variable.
461         (Qucs_sip): New variable.
462         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
463         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
464         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
465         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
466         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
467         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
468
469         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
470         (LEADING_BYTE_UCS_SIP): New macro.
471         (MIN_CHAR_SMP): New macro.
472         (MAX_CHAR_SMP): New macro.
473         (MIN_CHAR_SIP): New macro.
474         (MAX_CHAR_SIP): New macro.
475
476 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
477
478         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
479         utf-2000.
480
481 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
482
483         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
484         value; don't store value into `encoding_table' of `Lisp_Charset'.
485         (mark_charset): `encoding_table' was deleted.
486         (charset_description): Likewise.
487         (make_charset): Likewise.
488         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
489         `put_char_ccs_code_point'.
490
491         * chartab.h (Fput_char_attribute): New EXFUN.
492
493         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
494         is unified with normal symbol space.
495         (Fget_char_attribute): Likewise.
496         (Fput_char_attribute): Likewise; behavior of
497         `put_char_ccs_code_point' is changed.
498
499         * char-ucs.h: Include "elhash.h".
500         (Vchar_attribute_hash_table): New external variable.
501         (struct Lisp_Charset): Delete `encoding_table'.
502         (CHARSET_ENCODING_TABLE): New implementation; refer
503         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
504         `Lisp_Charset'.
505
506 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
507
508         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
509         (cs) == 0.
510
511 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
512
513         * text-coding.c (char_encode_big5): Prefer charset-g1 than
514         `chinese-big5'.
515
516 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
517
518         * chartab.c (uint8_byte_table_description): New constant.
519         (uint8-byte-table): Use `uint8_byte_table_description'.
520         (uint16_byte_table_description): New constant.
521         (uint16-byte-table): Use `uint16_byte_table_description'.
522
523 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
524
525         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
526         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
527
528 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
529
530         * mule-charset.c (Vcharset_ucs_ks): New variable.
531         (Qucs_ks): New variable.
532         (syms_of_mule_charset): Add new symbol `ucs-ks'.
533         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
534
535         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
536
537 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
538
539         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
540         (Fdecode_char): Likewise.
541
542         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
543         chartab.h.
544         (Fdefine_char): Modify for Fdecode_char.
545         (Ffind_char): Likewise.
546
547         * mule-charset.c (Fdecode_char): Add new optional argument
548         `defined-only'.
549         (Fdecode_builtin_char): Modify for `Fdecode_char'.
550
551 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
552
553         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
554         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
555         (allocate_coding_system): Initialize initial-charsets of
556         CODESYS_BIG5 in XEmacs UTF-2000.
557         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
558         CODESYS_BIG5 in XEmacs UTF-2000.
559         (decode_coding_big5): Use initial-charset-g0 and -g1 of
560         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
561
562         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
563         variables.
564         (Qideograph_hanziku_{1 .. 12}): Likewise.
565         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
566         .. 12}'.
567         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
568         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
569         `ideograph-hanziku-{1 .. 12}'.
570
571         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
572         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
573         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
574         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
575         (DECODE_DEFINED_CHAR): New inline function.
576         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
577
578 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
579
580         * mule-charset.c (Vcharset_china3_jef): Renamed from
581         `Vcharset_japanese_jef_china3'.
582         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
583         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
584         `{MIN|MAX}_CHAR_JEF_CHINA3'..
585         (syms_of_mule_charset): Rename `china3-jef' from
586         `japanese-jef-china3'.
587         (complex_vars_of_mule_charset): Likewise; rename
588         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
589
590         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
591         `LEADING_BYTE_JEF_CHINA3'.
592         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
593         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
594
595 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
596
597         * mule-charset.c (encode_builtin_char_1): Comment out special code
598         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
599
600         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
601         (MAX_CHAR_MOJIKYO_0): Comment out.
602         (MIN_CHAR_CBETA): Changed to 0x00E20000.
603         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
604         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
605         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
606
607 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
608
609         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
610         (Qideograph_cbeta): New variable.
611         (encode_builtin_char_1): Comment out special code for
612         coded-charset `mojikyo' and `japanese-jef-china3'.
613         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
614         (complex_vars_of_mule_charset): Add new coded-charset
615         `ideograph-cbeta'.
616
617         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
618         (MIN_CHAR_CBETA): New macro.
619         (MAX_CHAR_CBETA): New macro.
620
621 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
622
623         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
624         (LEADING_BYTE_JEF_CHINA3): New macro.
625         (MIN_CHAR_JEF_CHINA3): New macro.
626         (MAX_CHAR_JEF_CHINA3): Likewise.
627         (DECODE_CHAR): Fixed.
628
629 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
630
631         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
632         (Qjapanese_jef_china3): New variable.
633         (encode_builtin_char_1): Support `japanese-jef-china3'.
634         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
635         (complex_vars_of_mule_charset): Add new coded-charset
636         `japanese-jef-china3'.
637
638 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
639
640         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
641         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
642         94^4, 96^3, 96^4, 128^n and 256^n set.
643         (put_char_table): Use `XCHARSET_CELL_RANGE'.
644         (map_char_table): Likewise.
645
646 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
647
648         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
649         UTF-2000.
650
651 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
652
653         * chartab.h (get_char_id_table): New inline function.
654
655         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
656         function.
657
658 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
659
660         * chartab.h (decode_char_table_range): New prototype in XEmacs
661         UTF-2000.
662         (put_char_id_table): New inline function in XEmacs UTF-2000.
663
664         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
665         function.
666         (decode_char_table_range): Delete static declaration in XEmacs
667         UTF-2000.
668
669 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
670
671         * chartab.c (put_char_id_table): Use `put_char_table'.
672
673 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
674
675         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
676         (map_over_uint16_byte_table): Likewise.
677         (map_over_byte_table): Likewise.
678         (map_char_table): Modify for `map_over_uint8_byte_table',
679         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
680         UTF-2000.
681
682 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
683
684         * chartab.c (struct map_char_table_for_charset_arg): New
685         structure.
686         (map_char_table_for_charset_fun): New function.
687         (map_char_table): Use `map_char_table' for encoding_table of
688         `range->charset'.
689
690 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
691
692         * chartab.c (map_char_table): Check a character is found in
693         range->charset instead of non default value is defined in
694         char-table when range is CHARTAB_RANGE_ROW.
695
696 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
697
698         * chartab.c (map_char_id_table): Deleted.
699         (Fmap_char_attribute): Use `map_char_table' instead of
700         `map_char_id_table'.
701
702 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
703
704         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
705         UTF-2000.
706         (update_syntax_table): Deleted in XEmacs UTF-2000.
707
708         * syntax.c (find_defun_start): Use `syntax_table' instead of
709         `mirror_syntax_table' in XEmacs UTF-2000.
710         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
711         UTF-2000.
712         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
713         XEmacs UTF-2000.
714         (Fmatching_paren): Likewise.
715         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
716         in XEmacs UTF-2000.
717         (find_start_of_comment): Likewise.
718         (find_end_of_comment): Likewise.
719         (Fforward_comment): Likewise.
720         (scan_lists): Likewise.
721         (char_quoted): Likewise.
722         (Fbackward_prefix_chars): Likewise.
723         (scan_sexps_forward): Likewise.
724         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
725         (update_syntax_table): Likewise.
726
727         * search.c (skip_chars): Use `syntax_table' instead of
728         `mirror_syntax_table' in XEmacs UTF-2000.
729         (wordify): Likewise.
730         (Freplace_match): Likewise.
731
732         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
733         `mirror_syntax_table' in XEmacs UTF-2000.
734         (WORDCHAR_P_UNSAFE): Likewise.
735         (re_match_2_internal): Likewise.
736
737         * font-lock.c (find_context): Use `buf->syntax_table' instead of
738         `buf->mirror_syntax_table' in XEmacs UTF-2000.
739
740         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
741         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
742
743         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
744         XEmacs UTF-2000.
745
746         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
747         UTF-2000.
748         (print_char_table): Print `default_value' in XEmacs UTF-2000.
749         (char_table_description): Delete `mirror_table' in XEmacs
750         UTF-2000.
751         (fill_char_table): Don't call `update_syntax_table' in XEmacs
752         UTF-2000.
753         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
754         (Fcopy_char_table): Likewise.
755         (put_char_table): Don't call `update_syntax_table' in XEmacs
756         UTF-2000.
757
758         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
759         `buf->mirror_syntax_table' in XEmacs UTF-2000.
760         (casify_region_internal): Likewise.
761
762         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
763
764         * buffer.c (common_init_complex_vars_of_buffer): Don't use
765         `mirror_syntax_table' in XEmacs UTF-2000.
766
767         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
768         `buf->mirror_syntax_table' in XEmacs UTF-2000.
769         (Fexpand_abbrev): Likewise.
770
771 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
772
773         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
774
775 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
776
777         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
778         (map_over_uint16_byte_table): Likewise.
779         (map_over_byte_table): Likewise.
780         (get_char_id_table): Refer `cit->default_value'.
781         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
782         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
783         of character-id ranges.
784         (mark_char_table): Mark `ct->default_value'.
785         (char_table_description): Add `default_value'.
786         (fill_char_table): Use `default_value'.
787         (decode_char_table_range): Decode `nil' as
788         `CHARTAB_RANGE_DEFAULT'.
789         (get_char_id_table): Refer `cit->default_value'.
790         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
791         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
792         temporary hack; check value of char-table is bound or not.
793         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
794
795         * chartab.h (struct Lisp_Char_Table): Add new member
796         `default_value' in XEmacs UTF-2000.
797         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
798         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
799         UTF-2000.
800
801 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
802
803         * chartab.h (Lisp_Char_ID_Table): Deleted.
804
805         * chartab.c (char_table_description): Fix typo.
806         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
807         `Lisp_Char_ID_Table'.
808
809 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
810
811         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
812         `CHAR_ID_TABLE_P'.
813
814         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
815         `CHAR_ID_TABLE_P'.
816
817         * chartab.h (XCHAR_ID_TABLE): Deleted.
818         (XSETCHAR_ID_TABLE): Deleted.
819         (CHAR_ID_TABLE_P): Deleted.
820
821         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
822         `CHAR_ID_TABLE_P'.
823         (Fget_composite_char): Likewise.
824         (put_char_table): Likewise.
825         (add_char_attribute_alist_mapper): Fixed.
826         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
827         `CHAR_ID_TABLE_P'.
828         (Fget_char_attribute): Likewise.
829         (Fget_char_attribute): Likewise.
830         (Fmap_char_attribute): Likewise.
831
832         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
833         `CHAR_ID_TABLE_P'.
834         (encode_char_1): Likewise.
835
836 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
837
838         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
839         `XCHAR_ID_TABLE'.
840
841         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
842         instead of `XCHAR_ID_TABLE'.
843         (remove_char_ccs): Likewise.
844
845         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
846         `XCHAR_ID_TABLE'.
847         (Fget_composite_char): Likewise.
848         (Fchar_variants): Likewise.
849         (put_char_table): Likewise.
850         (add_char_attribute_alist_mapper): Likewise.
851         (Fchar_attribute_alist): Likewise.
852         (Fget_char_attribute): Likewise.
853         (Fput_char_attribute): Likewise.
854         (Fmap_char_attribute): Likewise.
855         (Fmap_char_attribute): Likewise.
856
857         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
858         `XCHAR_ID_TABLE'.
859         (encode_char_1): Likewise.
860
861 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
862
863         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
864         `Lisp_Char_ID_Table'.
865         (mark_char_id_table): Deleted.
866         (print_char_id_table): Likewise.
867         (char_id_table_equal): Likewise.
868         (char_id_table_hash): Likewise.
869         (char_id_table_description): Likewise.
870         (char_id_table): Likewise.
871         (make_char_id_table): Use `Fmake_char_table' and
872         `fill_char_table'.
873         (get_char_id_table): Use `Lisp_Char_Table' instead of
874         `Lisp_Char_ID_Table'.
875         (put_char_id_table): Likewise.
876         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
877         `XCHAR_ID_TABLE'.
878         (Fremove_char_attribute): Likewise.
879         (syms_of_chartab): Don't define type `char-id-table'.
880
881         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
882         (char_id_table): Likewise.
883         (GC_CHAR_ID_TABLE_P): Likewise.
884         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
885         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
886         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
887         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
888         (get_char_id_table): Use `Lisp_Char_Table' instead of
889         `Lisp_Char_ID_Table'.
890         (put_char_id_table_0): Likewise.
891         (put_char_id_table): Likewise.
892
893 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
894
895         * chartab.h: Lisp_Byte_Table related codes are moved from
896         chartab.h.
897
898         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
899
900 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
901
902         * chartab.h: Don't include "chartab.h".
903         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
904         (Lisp_Char_ID_Table): Likewise.
905         (char_id_table): Likewise.
906         (XCHAR_ID_TABLE): Likewise.
907         (XSETCHAR_ID_TABLE): Likewise.
908         (CHAR_ID_TABLE_P): Likewise.
909         (GC_CHAR_ID_TABLE_P): Likewise.
910         (get_char_id_table): Likewise.
911
912         * char-ucs.h: Include "chartab.h".
913         (struct Lisp_Char_ID_Table): Moved to chartab.h.
914         (Lisp_Char_ID_Table): Likewise.
915         (char_id_table): Likewise.
916         (XCHAR_ID_TABLE): Likewise.
917         (XSETCHAR_ID_TABLE): Likewise.
918         (CHAR_ID_TABLE_P): Likewise.
919         (GC_CHAR_ID_TABLE_P): Likewise.
920         (get_char_id_table): Likewise.
921
922 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
923
924         * chartab.c (copy_uint8_byte_table): New function.
925         (copy_uint16_byte_table): New function.
926         (copy_byte_table): New function.
927         (map_over_uint8_byte_table): Modify to avoid huge numbers of
928         characters to call.
929         (map_over_uint16_byte_table): Likewise.
930         (map_over_byte_table): Likewise.
931         (get_byte_table): Move prototype to chartab.h.
932         (put_byte_table): Likewise.
933         (put_char_id_table_0): Moved to chartab.h.
934         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
935         (char_table_entry_equal): Likewise.
936         (char_table_entry_hash): Likewise.
937         (char_table_entry_description): Likewise.
938         (char_table_entry): Likewise.
939         (make_char_table_entry): Likewise.
940         (copy_char_table_entry): Likewise.
941         (get_non_ascii_char_table_value): Likewise.
942         (map_over_charset_ascii): Likewise.
943         (map_over_charset_control_1): Likewise.
944         (map_over_charset_row): Likewise.
945         (map_over_other_charset): Likewise.
946         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
947         (print_char_table): Likewise.
948         (char_table_equal): Likewise.
949         (char_table_hash): Likewise.
950         (char_table_description): Likewise.
951         (fill_char_table): Likewise.
952         (Fcopy_char_table): Likewise.
953         (get_char_table): Likewise.
954         (Fget_range_char_table): Likewise.
955         (put_char_table): Likewise.
956         (map_char_table): Likewise.
957         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
958         UTF-2000.
959
960 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
961
962         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
963         `Vauto_fill_chars' in XEmacs UTF-2000.
964
965         * chartab.h (get_byte_table): New prototype [moved from
966         chartab.c].
967         (put_byte_table): Likewise [moved from chartab.c].
968         (put_char_id_table_0): New inline function [moved from chartab.c].
969         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
970         (Lisp_Char_Table_Entry): Likewise.
971         (char_table_entry): Likewise.
972         (XCHAR_TABLE_ENTRY): Likewise.
973         (XSETCHAR_TABLE_ENTRY): Likewise.
974         (CHAR_TABLE_ENTRYP): Likewise.
975         (CHECK_CHAR_TABLE_ENTRY): Likewise.
976         (NUM_ASCII_CHARS): Likewise.
977         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
978         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
979
980 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
981
982         * chartab.c (get_char_id_table): Change interface.
983         (put_char_id_table_0): New function.
984         (put_char_id_table): Change interface; new implementation.
985         (Fget_composite_char): Modify for interface change of
986         `get_char_id_table'.
987         (Fchar_variants): Likewise.
988         (add_char_attribute_alist_mapper): Likewise.
989         (Fchar_attribute_alist): Likewise.
990         (Fget_char_attribute): Likewise.
991         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
992         as same as character as the first argument like `put-char-table';
993         modify for interface change of `put_char_id_table'.
994         (Fremove_char_attribute): Modify for interface change of
995         `put_char_id_table'.
996
997 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
998
999         * text-coding.c: Sync up with XEmacs 21.2.41.
1000         (COMPOSE_ADD_CHAR): Modify for interface change of
1001         `get_char_id_table'.
1002
1003         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1004         change of `put_char_id_table'.
1005         (remove_char_ccs): Likewise.
1006
1007         * chartab.h (put_char_id_table): Change interface.
1008
1009         * char-ucs.h (get_char_id_table): Change interface.
1010         (charset_code_point): Modify for interface change of
1011         `get_char_id_table'.
1012         (encode_char_1): Likewise.
1013
1014 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1015
1016         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1017         argument `ccs'.
1018         (map_over_uint16_byte_table): Likewise.
1019         (map_over_byte_table): Likewise.
1020         (map_char_id_table): Add new argument `range' like
1021         `map_char_table'.
1022         (Fmap_char_attribute): Add new argument `range' like
1023         `Fmap_char_table'.
1024
1025 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1026
1027         * chartab.c (map_over_uint8_byte_table): Change interface of
1028         mapping function to use struct chartab_range instead of Emchar.
1029         (map_over_uint16_byte_table): Likewise.
1030         (map_over_byte_table): Likewise.
1031         (map_char_id_table): Likewise.
1032         (struct slow_map_char_id_table_arg): Deleted.
1033         (slow_map_char_id_table_fun): Deleted.
1034         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1035         function `slow_map_char_table_fun' instead of struct
1036         `slow_map_char_id_table_arg' and function
1037         `slow_map_char_id_table_fun'.
1038
1039 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1040
1041         * mule-charset.c: Move char-it-table related codes to chartab.c.
1042         (Vutf_2000_version): Moved to chartab.c.
1043         (Fdefine_char): Likewise.
1044         (Ffind_char): Likewise.
1045         (syms_of_mule_charset): Move types `uint8-byte-table',
1046         `uint16-byte-table', `byte-table' and `char-id-table' to
1047         chartab.c; move functions `char_attribute_list,
1048         `find_char_attribute_table, `char_attribute_alist,
1049         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1050         `map_char_attribute, `define_char, `find_char, `char_variants and
1051         `get_composite_char to chartab.c; move symbols `=>ucs',
1052         `->decomposition', `compat', `isolated', `initial', `medial',
1053         `final', `vertical', `noBreak', `fraction', `super', `sub',
1054         `circle', `square', `wide', `narrow', `small' and `font' to
1055         chartab.c.
1056         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1057         setting codes for `Vcharacter_composition_table' and
1058         `Vcharacter_variant_table' to chartab.c.
1059         (complex_vars_of_mule_charset): Move setting code for
1060         `Vchar_attribute_hash_table' to chartab.c.
1061
1062         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1063         (make_char_id_table): New prototype.
1064         (put_char_id_table): Likewise.
1065         (Fget_char_attribute): Likewise.
1066
1067         * chartab.c: Move char-id-table related code from mule-charset.c.
1068         (Vutf_2000_version): Moved from mule-charset.c.
1069
1070         * char-ucs.h (Qucs): New external variable.
1071         (put_char_ccs_code_point): New prototype.
1072         (remove_char_ccs): Likewise.
1073
1074 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1075
1076         * mule-charset.c (Vcharset_ucs_jis): New variable.
1077         (Qucs_jis): Likewise.
1078         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1079         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1080
1081         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1082
1083 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1084
1085         * mule-charset.c (map_over_uint8_byte_table): New function.
1086         (map_over_uint16_byte_table): Likewise.
1087         (map_over_byte_table): Likewise.
1088         (map_char_id_table): Likewise.
1089         (slow_map_char_id_table_fun): Likewise.
1090         (Fmap_char_attribute): Likewise.
1091         (syms_of_mule_charset): Add new function `map-char-attribute'.
1092
1093 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1094
1095         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1096         (syms_of_mule_charset): Add new function `find-char'.
1097
1098 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1099
1100         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1101         XEmacs UTF-2000.
1102         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1103         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1104         XEmacs UTF-2000.
1105         (complex_vars_of_mule_charset): Add new coded-charset
1106         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1107         `ideograph-gt-pj-*'.
1108
1109         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1110
1111 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1112
1113         * mule-charset.c (encode_builtin_char_1): Purge codes about
1114         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1115         {MIN|MAX}_CHAR_HEBREW.
1116         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1117         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1118
1119         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1120         (MAX_CHAR_GREEK): Purged.
1121         (MIN_CHAR_CYRILLIC): Purged.
1122         (MAX_CHAR_CYRILLIC): Purged.
1123         (MIN_CHAR_HEBREW): Commented out.
1124         (MAX_CHAR_HEBREW): Likewise.
1125
1126 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1127
1128         * mule-charset.c (Qto_ucs): New variable.
1129         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1130         (Fdefine_char): Likewise.
1131         (syms_of_mule_charset): Add new symbol `=>ucs'.
1132
1133 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1134
1135         * mule-charset.c (Fdecode_char): Fixed.
1136
1137 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1138
1139         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1140         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1141         "tcvn5712-1".
1142
1143 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1144
1145         * mule-charset.c (Vcharset_ucs_big5): New variable.
1146         (Qucs_big5): Likewise.
1147         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1148         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1149
1150         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1151
1152 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1153
1154         * mule-charset.c (decode_builtin_char): Check Big5 code range
1155         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1156
1157 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1158
1159         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1160         (Qchinese_gb12345): Likewise.
1161         (Fdecode_builtin_char): Fixed.
1162         (syms_of_mule_charset): Add `chinese-gb12345'.
1163         (complex_vars_of_mule_charset): Add coded-charset
1164         `chinese-gb12345'.
1165
1166         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1167         (LEADING_BYTE_CHINESE_GB12345): New macro.
1168
1169 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1170
1171         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1172         and `latin-viscii-upper' for `latin-viscii'.
1173
1174 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1175
1176         * mule-charset.c (Fdecode_builtin_char): Comment out
1177         regularization code for ISO-IR GR representation.
1178
1179 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1180
1181         * mule-charset.c (decode_builtin_char): New function; renamed from
1182         `make_builtin_char'; return -1 instead of signal.
1183         (Fdecode_builtin_char): Use `decode_builtin_char'.
1184
1185         * char-ucs.h (decode_builtin_char): New prototype; renamed from
1186         `make_builtin_char'.
1187         (DECODE_CHAR): Use `decode_builtin_char' instead of
1188         `make_builtin_char'; use mapping table of `chinese-big5' for
1189         `chinese-big5-{1,2}'.
1190
1191 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1192
1193         * text-coding.c (char_encode_big5): New function.
1194         (char_finish_big5): Likewise.
1195         (reset_encoding_stream): Use `char_encode_big5' and
1196         `char_finish_big5' for CODESYS_BIG5.
1197         (mule_encode): Don't use `encode_coding_big5'.
1198         (encode_coding_big5): Deleted.
1199
1200 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1201
1202         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
1203         0x81- in XEmacs UTF-2000.
1204         (detect_coding_big5): Likewise.
1205
1206 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1207
1208         * mule-charset.c (Fdefine_char): Don't use a CCS property to
1209         generate character-id if the CCS property does not have
1210         corresponding predefined character.
1211         (make_builtin_char): Return -1 if corresponding predefined
1212         character is not found.
1213         (Fdecode_char): Return nil if corresponding character is not
1214         found.
1215         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
1216         don't map to builtin ucs space.
1217
1218 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1219
1220         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
1221         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
1222
1223 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1224
1225         * mule-charset.c (Vcharset_ideograph_gt): New variable.
1226         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
1227         (Qideograph_gt): Likewise.
1228         (Qideograph_gt_pj_{1..11}): Likewise.
1229         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
1230         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
1231         `ideograph-gt-pj-11'.
1232         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
1233         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
1234         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
1235
1236         * char-ucs.h (LEADING_BYTE_GT): New macro.
1237         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
1238         (MIN_CHAR_GT): Likewise.
1239         (MAX_CHAR_GT): Likewise.
1240
1241 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1242
1243         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
1244         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
1245
1246         * doprnt.c (unsigned_int_converters): Add `c'.
1247         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
1248
1249         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
1250         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
1251         `MIN_CHAR_MOJIKYO'.
1252         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
1253         (MAX_CHAR_MOJIKYO_0): New macro.
1254         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
1255
1256 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1257
1258         * mule-charset.c (Fdefine_char): Delete cemented out code.
1259         (encode_builtin_char_1): Modify for new allocation of builtin
1260         Mojikyo characters.
1261
1262         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
1263
1264 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1265
1266         * mule-charset.c (Vcharset_ucs_cns): New variable.
1267         (Qucs_cns): New variable.
1268         (syms_of_mule_charset): Add new symbol `ucs-cns'.
1269         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
1270
1271 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1272
1273         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
1274
1275 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1276
1277         * search.c (search_buffer): Make `charset_base_code' as
1278         character-id >> 6 to eliminate the corresponding last byte in
1279         UTF-8 representation [I'm not sure it is right thing].
1280         (boyer_moore): Likewise.
1281
1282 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1283
1284         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
1285         representation in MULE.
1286
1287 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1288
1289         * text-coding.c (Fmake_coding_system): Use
1290         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
1291         `EXTERNAL_PROPERTY_LIST_LOOP'.
1292
1293 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1294
1295         * text-coding.c (decode_output_utf8_partial_char): New function.
1296         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
1297
1298 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1299
1300         * text-coding.c (decode_coding_utf8): Output original byte
1301         sequence if it is broken; change order of conditions.
1302
1303         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
1304         of conditions.
1305
1306         * mb-multibyte.h (BYTE_ASCII_P):
1307         Use bit ops for char-signedness safety.
1308         (BYTE_C0_P): Use bit ops for char-signedness safety.
1309         (BYTE_C1_P): Use bit ops for char-signedness safety.
1310
1311         * character.h: (XCHAR_OR_CHAR_INT):
1312         Always use inline function.
1313         Remove redundant type checking assert() - XINT will abort quite
1314         nicely.
1315
1316 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1317
1318         * text-coding.c: (Fencode_shift_jis_char):
1319         (Fencode_big5_char):
1320         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1321         Replace 0 with '\0' when working with bytes.
1322         Replace initial "(" with "\(" in docstrings.
1323
1324         (Fmake_coding_system):
1325         When type is ccl and value is vector, register it with a proper
1326         symbol.  And checks whether the given ccl program is valid.
1327         (mule_decode): When calling ccl_driver, if src indicates
1328         NULL pointer, set an empty string instead.
1329         (mule_encode): Likewise.
1330
1331         (detect_eol_type):
1332         (detect_coding_sjis):
1333         (decode_coding_sjis):
1334         (detect_coding_big5):
1335         (decode_coding_big5):
1336         (detect_coding_ucs4):
1337         (decode_coding_ucs4):
1338         (detect_coding_utf8):
1339         (decode_coding_utf8):
1340         (detect_coding_iso2022):
1341         (decode_coding_iso2022):
1342         (decode_coding_no_conversion):
1343         (mule_decode):
1344         Make all detecting and decoding functions take an Extbyte * arg.
1345         (text_encode_generic):
1346         (encode_coding_big5):
1347         (encode_coding_no_conversion):
1348         (mule_encode):
1349         Make all encoding functions take a Bufbyte * arg.
1350         Use size_t instead of unsigned int for memory sizes.
1351         Only cast to unsigned char whenever dereferencing Extbyte *.
1352
1353         (struct lrecord_description fcd_description_1): Use countof.
1354         (complex_vars_of_file_coding):
1355         Use countof instead of sizeof.
1356         Use CHECK_NATNUM instead of CHECK_INT.
1357
1358 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1359
1360         * mule-charset.c (Fget_char_attribute): Add new optional argument
1361         `default-value'.
1362         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1363         (remove_char_ccs): Likewise.
1364
1365 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1366
1367         * text-coding.c (char_encode_shift_jis): New implementation in
1368         UTF-2000.
1369         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1370         ...)'.
1371
1372         * mule-charset.c (Vcharset_chinese_big5): New variable in
1373         UTF-2000.
1374         (Qchinese_big5): New variable in UTF-2000.
1375         (BIG5_SAME_ROW): New macro in UTF-2000.
1376         (make_builtin_char): Use builtin characters of
1377         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1378         characters of `Vcharset_chinese_big5'.
1379         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1380         (complex_vars_of_mule_charset): Add new coded-charset
1381         `chinese-big5' in UTF-2000.
1382
1383         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1384         (Vcharset_chinese_big5): New external variable declaration.
1385         (Vcharset_japanese_jisx0208_1990): Likewise.
1386
1387 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1388
1389         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1390         function.
1391         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1392
1393 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1394
1395         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1396         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1397         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1398         `mojikyo-pj-*'.
1399
1400 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1401
1402         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1403
1404 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1405
1406         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1407         to 0.17.
1408
1409 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1410
1411         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1412         for `CHARSET_BY_ATTRIBUTES'.
1413         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1414         `CHARSET_BY_ATTRIBUTES'.
1415
1416         * text-coding.c (struct decoding_stream): Rename member `CH' to
1417         `CPOS'.
1418         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1419         (decode_coding_sjis): Likewise.
1420         (decode_coding_big5): Likewise.
1421         (decode_coding_ucs4): Likewise.
1422         (decode_coding_utf8): Likewise.
1423         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1424         `CHARSET_BY_ATTRIBUTES'.
1425         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1426         `str->counter'; decode 3, 4 bytes sets.
1427         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1428         sets.
1429         (decode_coding_no_conversion): Use `str->cpos' instead of
1430         `str->ch'.
1431
1432         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1433         (Qmojikyo_2022_1): New variable.
1434         (make_charset): Don't use `CHARSET_TYPE_*'.
1435         (range_charset_code_point): Support coded-charset
1436         `mojikyo-2022-1'.
1437         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1438         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1439         `CHARSET_BY_ATTRIBUTES'.
1440         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1441         `CHARSET_BY_ATTRIBUTES'.
1442         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1443         (complex_vars_of_mule_charset): Add new coded-charset
1444         `mojikyo-2022-1'.
1445
1446         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1447         interface; changed to inline function.
1448
1449         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1450         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1451         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1452         (CHARSET_TYPE_94): Deleted.
1453         (CHARSET_TYPE_94X94): Deleted.
1454         (CHARSET_TYPE_96): Deleted.
1455         (CHARSET_TYPE_96X96): Deleted.
1456         (CHARSET_TYPE_128): Deleted.
1457         (CHARSET_TYPE_128X128): Deleted.
1458         (CHARSET_TYPE_256): Deleted.
1459         (CHARSET_TYPE_256X256): Deleted.
1460         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1461         to inline function.
1462         (DECODE_MOJIKYO_2022): New inline function.
1463         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1464         `Vcharset_mojikyo_2022_1'.
1465
1466 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1467
1468         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1469         instead of `EQ'.
1470         (put_byte_table): Likewise.
1471         (char_id_table_equal): Use `get_byte_table' [new implementation].
1472
1473 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1474
1475         * mule-charset.c: Include <limits.h> in UTF-2000.
1476         (BT_UINT8_MIN): New macro in UTF-2000.
1477         (BT_UINT8_MAX): New macro in UTF-2000.
1478         (BT_UINT8_t): New macro in UTF-2000.
1479         (BT_UINT8_nil): New macro in UTF-2000.
1480         (BT_UINT8_unbound): New macro in UTF-2000.
1481         (INT_UINT8_P): New inline function in UTF-2000.
1482         (UINT8_VALUE_P): New inline function in UTF-2000.
1483         (UINT8_ENCODE): New inline function in UTF-2000.
1484         (UINT8_DECODE): New inline function in UTF-2000.
1485         (mark_uint8_byte_table): New function in UTF-2000.
1486         (print_uint8_byte_table): New function in UTF-2000.
1487         (uint8_byte_table_equal): New function in UTF-2000.
1488         (uint8_byte_table_hash): New function in UTF-2000.
1489         (make_uint8_byte_table): New function in UTF-2000.
1490         (uint8_byte_table_same_value_p): New function in UTF-2000.
1491         (BT_UINT16_MIN): New macro in UTF-2000.
1492         (BT_UINT16_MAX): New macro in UTF-2000.
1493         (BT_UINT16_t): New macro in UTF-2000.
1494         (BT_UINT16_nil): New macro in UTF-2000.
1495         (BT_UINT16_unbound): New macro in UTF-2000.
1496         (INT_UINT16_P): New inline function in UTF-2000.
1497         (UINT16_VALUE_P): New inline function in UTF-2000.
1498         (UINT16_ENCODE): New inline function in UTF-2000.
1499         (UINT16_DECODE): New inline function in UTF-2000.
1500         (UINT8_TO_UINT16): New inline function in UTF-2000.
1501         (mark_uint16_byte_table): New function in UTF-2000.
1502         (print_uint16_byte_table): New function in UTF-2000.
1503         (uint16_byte_table_equal): New function in UTF-2000.
1504         (uint16_byte_table_hash): New function in UTF-2000.
1505         (make_uint16_byte_table): New function in UTF-2000.
1506         (uint16_byte_table_same_value_p): New function in UTF-2000.
1507         (print_byte_table): New function in UTF-2000.
1508         (byte-table): Use `print_byte_table' as printer.
1509         (make_byte_table): Delete second argument `older'.
1510         (byte_table_same_value_p): New function in UTF-2000.
1511         (copy_byte_table): Deleted.
1512         (get_byte_table): New function in UTF-2000.
1513         (put_byte_table): New function in UTF-2000.
1514         (print_char_id_table): New function in UTF-2000.
1515         (char-id-table): Use `print_char_id_table' as printer.
1516         (make_char_id_table): Delete second argument `older'.
1517         (get_char_id_table): Use `get_byte_table [new implementation].
1518         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1519         implementation].
1520         (Ffind_char_attribute_table): New function in UTF-2000.
1521         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1522         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1523         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1524         (syms_of_mule_charset): Add new function
1525         `find-char-attribute-table' in UTF-2000.
1526
1527         * lrecord.h (enum lrecord_type): Add
1528         `lrecord_type_uint16_byte_table' and
1529         `lrecord_type_uint8_byte_table'.
1530
1531         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1532         (Lisp_Uint8_Byte_Table): New type.
1533         (XUINT8_BYTE_TABLE): New macro.
1534         (XSETUINT8_BYTE_TABLE): New macro.
1535         (UINT8_BYTE_TABLE_P): New macro.
1536         (GC_UINT8_BYTE_TABLE_P): New macro.
1537         (struct Lisp_Uint16_Byte_Table): New structure.
1538         (Lisp_Uint16_Byte_Table): New type.
1539         (XUINT16_BYTE_TABLE): New macro.
1540         (XSETUINT16_BYTE_TABLE): New macro.
1541         (UINT16_BYTE_TABLE_P): New macro.
1542         (GC_UINT16_BYTE_TABLE_P): New macro.
1543
1544 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1545
1546         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1547         (Vcharacter_ideographic_strokes_table): Deleted.
1548         (Vcharacter_total_strokes_table): Deleted.
1549         (Vcharacter_morohashi_daikanwa_table): Deleted.
1550         (Vcharacter_decomposition_table): Deleted.
1551         (Qname): Deleted because it is duplicated.
1552         (Qideographic_radical): Deleted.
1553         (Qideographic_strokes): Deleted.
1554         (Qtotal_strokes): Deleted.
1555         (Qmorohashi_daikanwa): Deleted.
1556         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1557         `ideographic-radical', `ideographic-strokes', `total-strokes',
1558         `morohashi-daikanwa' and `->decomposition'.
1559         (Fget_char_attribute): Likewise.
1560         (Fput_char_attribute): Likewise; use `make-vector' instead of
1561         `make_older_vector' for `->decomposition' value.
1562         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1563         `ideograph-daikanwa'.
1564         (syms_of_mule_charset): Delete builtin symbols `name',
1565         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1566         `morohashi-daikanwa'.
1567         (vars_of_mule_charset): Don't setup
1568         `Vcharacter_ideographic_radical_table',
1569         `Vcharacter_ideographic_strokes_table',
1570         `Vcharacter_total_strokes_table',
1571         `Vcharacter_morohashi_daikanwa_table' and
1572         `Vcharacter_decomposition_table'.
1573
1574 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1575
1576         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1577         `make_older_vector', `make_vector_newer_1' and
1578         `make_vector_newer'.
1579
1580         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1581         `make_older_vector' and `make_vector_newer'.
1582
1583         * config.h.in (HAVE_GGC): New macro.
1584
1585 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1586
1587         * mule-charset.c (struct char_attribute_list_closure): New
1588         structure in UTF-2000.
1589         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1590         (Fchar_attribute_list): Likewise.
1591         (Fset_charset_mapping_table): Use `make_vector_newer'.
1592         (Fdecode_builtin_char): New function in UTF-2000.
1593         (syms_of_mule_charset): Add new function `char-attribute-list' and
1594         `decode-builtin-char' in UTF-2000.
1595
1596         * lisp.h (make_vector_newer): New prototype.
1597
1598         * alloc.c (make_vector_newer_1): New function.
1599         (make_vector_newer): New function.
1600
1601 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1602
1603         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1604         50100)'.
1605
1606 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1607
1608         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1609         (Vcharacter_attribute_table): Deleted.
1610         (Vcharacter_name_table): Deleted.
1611         (put_char_attribute): Deleted.
1612         (remove_char_attribute): Deleted.
1613         (struct char_attribute_alist_closure): New structure.
1614         (add_char_attribute_alist_mapper): New function.
1615         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1616         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1617         (Fget_char_attribute): Likewise.
1618         (Fput_char_attribute): Likewise.
1619         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1620         of `remove_char_attribute'.
1621         (Fdefine_char): Return character.
1622         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1623         and `Vcharacter_name_table'.
1624         (complex_vars_of_mule_charset): Likewise
1625         `Vchar_attribute_hash_table'.
1626
1627 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1628
1629         * character.h (CHARC_CHARSET): New macro.
1630         (CHARC_CHARSET_ID): New macro.
1631         (CHARC_CODE_POINT): New macro.
1632         (CHARC_COLUMNS): New macro.
1633         (CHARC_TO_CHAR): New inline function.
1634         (CHARC_EQ): New inline function.
1635         (CHARC_ASCII_EQ): New inline function.
1636         (CHARC_IS_SPACE): New inline function.
1637         (ASCII_TO_CHARC): New inline function.
1638
1639         * char-ucs.h (encode_char_2): Deleted.
1640         (ENCODE_CHAR): Use `encode_char_1' again.
1641         (breakup_char_1): Likewise.
1642         (CHAR_TO_CHARC): New inline function.
1643
1644         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1645
1646 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1647
1648         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1649         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1650         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1651         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1652         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1653         `CHARC_IS_SPACE'.
1654         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1655
1656         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1657         `CHARC_CODE_POINT'.
1658         (x_output_display_block): Use `CHARC_CHARSET' and
1659         `CHARC_ASCII_EQ'.
1660
1661         * redisplay-tty.c (tty_output_display_block): Use
1662         `CHARC_ASCII_EQ'.
1663         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1664
1665         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1666
1667         * insdel.c (find_charsets_in_charc_string): Use
1668         `CHARC_CHARSET_ID'.
1669         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1670         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1671         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1672         (convert_charc_string_into_malloced_string): Likewise.
1673
1674 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1675
1676         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1677         instead of <Emchar_dynarr *> for buf; use
1678         `convert_bufbyte_string_into_charc_dynarr' instead of
1679         `convert_bufbyte_string_into_emchar_dynarr'; use
1680         `find_charsets_in_charc_string' instead of
1681         `find_charsets_in_emchar_string'.
1682
1683         * redisplay.h:
1684         - Include "character.h".
1685         (struct rune): New member `cglyph'; delete member `chr'.
1686
1687         * redisplay.c (redisplay_text_width_charc_string): New function;
1688         delete `redisplay_text_width_emchar_string'.
1689         (rtw_charc_dynarr): New variable; renamed from
1690         `rtw_emchar_dynarr'.
1691         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1692         `rtw_emchar_dynarr'; use
1693         `convert_bufbyte_string_into_charc_dynarr' instead of
1694         `convert_bufbyte_string_into_emchar_dynarr'; use
1695         `redisplay_text_width_charc_string' instead of
1696         `redisplay_text_width_emchar_string'.
1697         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1698         instead of `rtw_emchar_dynarr'; use
1699         `convert_bufbyte_string_into_charc_dynarr' instead of
1700         `convert_bufbyte_string_into_emchar_dynarr'.
1701         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1702         `redisplay_text_width_charc_string' instead of
1703         `redisplay_text_width_emchar_string'.
1704         (create_text_block): Modify for <struct rune> change.
1705         (generate_formatted_string_db): Likewise.
1706         (create_string_text_block): Likewise.
1707         (pixel_to_glyph_translation): Likewise.
1708
1709         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1710         instead of <const Emchar *>.
1711         (x_text_width): Likewise.
1712         (x_output_display_block): Use <Charc_dynarr *> instead
1713         <Emchar_dynarr *>; modify for <structure rune> change.
1714         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1715         *>.
1716
1717         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1718         <const Emchar *>; use `charc_string_displayed_columns' instead of
1719         `emchar_string_displayed_columns'.
1720         (tty_output_display_block): Use <Charc_dynarr *> instead of
1721         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1722         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1723         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1724         `tty_output_emchar_dynarr_dynarr'.
1725         (tty_output_charc_dynarr): New function; delete
1726         `tty_output_charc_dynarr'.
1727
1728         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1729         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1730         <Emchar_dynarr *> for buf; use
1731         `convert_bufbyte_string_into_charc_dynarr' instead of
1732         `convert_bufbyte_string_into_emchar_dynarr'.
1733
1734         * frame.c (title_string_charc_dynarr): New variable; renamed from
1735         `title_string_emchar_dynarr'.
1736         (generate_title_string): Use `title_string_charc_dynarr' instead
1737         of `title_string_emchar_dynarr'; use
1738         `convert_charc_string_into_malloced_string' instead of
1739         `convert_emchar_string_into_malloced_string'.
1740         (init_frame): Use `title_string_charc_dynarr' instead of
1741         `title_string_emchar_dynarr'.
1742
1743         * console.h:
1744         - Include "character.h".
1745         (struct console_methods): Use <const Charc *> instead of <const
1746         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1747         <Emchar_dynarr *> in output_string_method.
1748
1749         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1750         <Emchar_dynarr *>.
1751
1752         * console-stream.c (stream_text_width): Use <const Charc *>
1753         instead of <const Emchar *>.
1754
1755         * character.h (Charc_dynarr): New type.
1756
1757         * char-ucs.h (structure Charc): New structure; define new type
1758         `Charc'.
1759
1760         * char-lb.h (DECODE_CHAR): New inline function.
1761         (encode_char_1): New inline function.
1762         (ENCODE_CHAR): New macro.
1763         (structure Charc): New structure; define new type `Charc'.
1764
1765         * char-1byte.h (Vcharset_control_1): New macro.
1766         (Vcharset_latin_iso8859_1): New macro.
1767         (DECODE_CHAR): New inline function.
1768         (encode_char_1): New inline function.
1769         (ENCODE_CHAR): New macro.
1770         (structure Charc): New structure; define new type `Charc'.
1771
1772         * insdel.c (find_charsets_in_charc_string): New function; delete
1773         `find_charsets_in_emchar_string'.
1774         (charc_string_displayed_columns): New function; delete
1775         `emchar_string_displayed_columns'.
1776         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1777         `convert_bufbyte_string_into_emchar_dynarr'.
1778         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1779         `convert_charc_string_into_bufbyte_dynarr'.
1780         (convert_charc_string_into_malloced_string): New function; delete
1781         `convert_charc_string_into_malloced_string'.
1782
1783         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1784         `find_charsets_in_emchar_string'.
1785         (charc_string_displayed_columns): New prototype; delete
1786         `emchar_string_displayed_columns'.
1787         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1788         `convert_charc_string_into_bufbyte_dynarr'.
1789         (convert_charc_string_into_malloced_string): New prototype; delete
1790         `convert_charc_string_into_malloced_string'.
1791
1792 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1793
1794         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1795
1796 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1797
1798         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1799
1800         * char-ucs.h: Use <short> for <Charset_ID>.
1801
1802         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1803         <Charset_ID>.
1804
1805 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1806
1807         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1808         to 0.16.
1809
1810 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1811
1812         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1813         variable.
1814         (Qmorohashi_daikanwa): New variable.
1815         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1816         for `morohashi-daikanwa' attribute.
1817         (Fget_char_attribute): Likewise.
1818         (Fput_char_attribute): Likewise.
1819         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1820         has the same value of `ideograph-daikanwa'.
1821         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1822         (vars_of_mule_charset): Setup
1823         `Vcharacter_morohashi_daikanwa_table'.
1824
1825 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1826
1827         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1828         attributes.
1829         (add_charset_to_list_mapper): Add `key' instead of
1830         `XCHARSET_NAME (value)' to return aliases.
1831
1832 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1833
1834         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1835         variable.
1836         (Vcharacter_ideographic_strokes_table): New variable.
1837         (Qideographic_radical): New variable.
1838         (Qideographic_strokes): New variable.
1839         (Fchar_attribute_alist): Use
1840         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1841         attribute; use `Vcharacter_ideographic_strokes_table' for
1842         `ideographic-strokes' attribute.
1843         (Fget_char_attribute): Likewise.
1844         (Fput_char_attribute): Likewise.
1845         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1846         `ideographic-strokes'.
1847         (vars_of_mule_charset): Setup
1848         `Vcharacter_ideographic_radical_table' and
1849         `Vcharacter_ideographic_strokes_table'.
1850
1851 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1852
1853         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1854         (Qtotal_strokes): New variable.
1855         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1856         `total-strokes' attribute.
1857         (Fget_char_attribute): Likewise.
1858         (Fput_char_attribute): Likewise.
1859         (syms_of_mule_charset): Add new symbol `total-strokes'.
1860         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1861
1862 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1863
1864         * mule-charset.c (Vcharacter_decomposition_table): New variable.
1865         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
1866         are found.
1867         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
1868         `->decomposition' attribute.
1869         (Fput_char_attribute): Likewise.
1870         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
1871
1872 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1873
1874         * mule-charset.c (decoding_table_check_elements): New function.
1875         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
1876
1877 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1878
1879         * mule-charset.c (Fset_charset_mapping_table): Use
1880         `put_char_ccs_code_point'.
1881
1882 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1883
1884         * mule-charset.c (decoding_table_put_char): New inline function.
1885         (put_char_ccs_code_point): Use `decoding_table_put_char'.
1886
1887 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1888
1889         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
1890         (XCHARSET_BYTE_SIZE): New macro.
1891         (decoding_table_remove_char): New inline function.
1892         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
1893         `decoding_table_remove_char'.
1894         (remove_char_ccs): Use `decoding_table_remove_char'.
1895         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
1896
1897 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1898
1899         * mule-charset.c (Vcharacter_name_table): New variable.
1900         (Qname): New variable.
1901         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
1902         attribute.
1903         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
1904         `Vcharacter_name_table' for `name' attribute.
1905         (Fremove_char_attribute): Use function `remove_char_ccs'.
1906         (put_char_ccs_code_point): New function.
1907         (remove_char_ccs): New function.
1908         (syms_of_mule_charset): Add new symbol `name'.
1909         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
1910
1911 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1912
1913         * mule-charset.c (make_byte_table): Add new argument `older'.
1914         (make_char_id_table): Likewise.
1915         (copy_char_id_table): Comment out because it is not used.
1916         (put_char_id_table): Modify for `make_byte_table'.
1917         (Fput_char_attribute): Make encoding_table as older object;
1918         inherit older bit of `Vcharacter_composition_table'.
1919         (mark_charset): Don't mark `cs->encoding_table'.
1920         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
1921         normal object; make `Vcharacter_composition_table' as an older
1922         object; delete staticpro for `Vcharacter_composition_table'; make
1923         `Vcharacter_variant_table' as a normal object.
1924
1925         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
1926         (mark_object): Don't check older object in UTF-2000.
1927
1928         * lrecord.h (struct lrecord_header): Add new member `older' in
1929         UTF-2000.
1930         (set_lheader_implementation): Setup `SLI_header->older' in
1931         UTF-2000.
1932         (set_lheader_older_implementation): New macro in UTF-2000.
1933         (OLDER_RECORD_P): New macro in UTF-2000.
1934         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
1935         (alloc_older_lcrecord): New prototype in UTF-2000.
1936         (alloc_older_lcrecord_type): New macro in UTF-2000.
1937
1938 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1939
1940         * mule-charset.c (byte_table_description): Use
1941         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
1942         (char_id_table_description): Delete bogus `, 1'.
1943         (Fget_char_attribute): Refer encoding_table of each coded-charset
1944         to get value of coded-charset attribute of a character.
1945         (Fput_char_attribute): Use `make_older_vector' instead of
1946         `make_vector'; use encoding_table of each coded-charset to store
1947         value of coded-charset attribute of a character.
1948         (Fremove_char_attribute): Use encoding_table of each coded-charset
1949         to store value of coded-charset attribute of a character.
1950         (mark_charset): Mark `cs->encoding_table'; don't mark
1951         `cs->decoding_table'.
1952         (charset_description): Add description of new member
1953         `encoding_table'.
1954         (make_charset): Initialize `encoding_table'.
1955
1956         * char-ucs.h (struct Lisp_Charset): Add new member
1957         `encoding_table'.
1958         (CHARSET_ENCODING_TABLE): New macro.
1959         (XCHARSET_ENCODING_TABLE): New macro.
1960         (charset_code_point): New implementation.
1961         (encode_char_1): Likewise.
1962
1963         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
1964         (disksave_object_finalization_1): Call finalizers of
1965         `all_older_lcrecords' in UTF-2000.
1966         (make_older_vector): New function in UTF-2000.
1967         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
1968         UTF-2000.
1969
1970         * lisp.h (make_older_vector): New prototype in UTF-2000.
1971
1972 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1973
1974         * lrecord.h (enum lrecord_type): Rename
1975         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
1976
1977         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
1978         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
1979         `get_char_code_table'.
1980
1981         * mule-charset.c (mark_char_id_table): Renamed from
1982         `mark_char_code_table'.
1983         (char_id_table_equal): Renamed from `char_code_table_equal'.
1984         (char_id_table_hash): Renamed from `char_code_table_hash'.
1985         (make_char_id_table): Renamed from `make_char_code_table'.
1986         (copy_char_id_table): Renamed from `copy_char_code_table'.
1987         (get_char_id_table): Renamed from `get_char_code_table'.
1988         (put_char_id_table): Renamed from `put_char_code_table'.
1989         (to_char_id): Renamed from `to_char_code'.
1990
1991         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
1992         `Lisp_Char_Code_Table'.
1993         (char_id_table): Renamed from `char_code_table'.
1994         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
1995         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
1996         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
1997         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
1998         (get_char_id_table): Renamed from `get_char_code_table'.
1999
2000 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2001
2002         * lrecord.h (enum lrecord_type): Rename
2003         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2004
2005         * mule-charset.c (mark_byte_table): Renamed from
2006         `mark_char_byte_table'.
2007         (byte_table_equal): Renamed from `char_byte_table_equal'.
2008         (byte_table_hash): Renamed from `byte_table_hash'.
2009         (make_byte_table): Renamed from `make_byte_table'.
2010         (copy_byte_table): Renamed from `copy_char_byte_table'.
2011
2012         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2013         `Lisp_Char_Byte_Table'.
2014         (byte_table): Renamed from `char_byte_table'.
2015         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2016         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2017         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2018         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2019
2020 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2021
2022         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2023         (dfc_convert_to_internal_format): Likewise.
2024         
2025         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2026         * text-coding.c (Fcoding_system_alias_p): New function.
2027         * text-coding.c (Fcoding_system_aliasee): New function.
2028         * text-coding.c (append_suffix_to_symbol): New function.
2029         * text-coding.c (dangling_coding_system_alias_p): New function.
2030         * text-coding.c (Ffind_coding_system):
2031         * text-coding.c (Fcopy_coding_system):
2032         * text-coding.c (encode_coding_no_conversion):
2033         * text-coding.c (syms_of_file_coding):
2034         * text-coding.c (vars_of_file_coding):
2035         Rewrite coding system alias code.
2036         Allow nested aliases, like symbolic links.
2037         Allow redefinition of coding system aliases.
2038         Prevent existence of dangling coding system aliases.
2039         Eliminate convert_to_external_format.
2040         Eliminate convert_to_internal_format.
2041         
2042         * text-coding.c: Change enum eol_type to eol_type_t.
2043
2044 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2045
2046         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2047         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2048
2049         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2050         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2051
2052 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2053
2054         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2055         `ideograph-daikanwa'.
2056
2057         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2058         (Vcharset_ucs_bmp): Likewise.
2059         (Vcharset_mojikyo): Add new extern variable definition.
2060         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2061         (Vcharset_latin_iso8859_3): Likewise.
2062         (Vcharset_latin_iso8859_4): Likewise.
2063         (Vcharset_latin_iso8859_9): Likewise.
2064         (Vcharset_latin_viscii_lower): Likewise.
2065         (Vcharset_latin_viscii_upper): Likewise.
2066         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2067         `mojikyo' code-point is used to decode.
2068         (encode_char_2): New function [to convert `mojikyo' code-point to
2069         Mojikyo font encoding].
2070         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2071         (breakup_char_1): Likewise.
2072         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2073
2074 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2075
2076         * text-coding.c (Fmake_coding_system): Add document about
2077         `disable-composition' property.
2078
2079 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2080
2081         * text-coding.c (Qdisable_composition): New variable; delete
2082         `Qcomposite'.
2083         (Fmake_coding_system): Add new property `disable-composite';
2084         delete property `composite'.
2085         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2086         instead of `!CODING_SYSTEM_COMPOSITE'.
2087         (syms_of_file_coding): Add new symbol `disable-composition';
2088         delete symbol `composite'.
2089
2090         * file-coding.h (struct Lisp_Coding_System): Add
2091         `disable_composition'; delete `enable_composition'.
2092         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2093         `CODING_SYSTEM_COMPOSITE'.
2094         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2095         `XCODING_SYSTEM_COMPOSITE'.
2096
2097 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2098
2099         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2100         to 0.15.
2101
2102 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2103
2104         * text-coding.c (Qcomposite): New variable.
2105         (Fmake_coding_system): Add new property `composite'.
2106         (struct decoding_stream): Add `combined_char_count',
2107         `combined_chars' and `combining_table' in UTF-2000.
2108         (COMPOSE_FLUSH_CHARS): New macro.
2109         (COMPOSE_ADD_CHAR): New macro.
2110         (reset_decoding_stream): Reset `str->combined_char_count' and
2111         `str->combining_table' in UTF-2000.
2112         (decode_coding_iso2022): Modify for character-decomposition.
2113         (syms_of_file_coding): Add new symbol `composite'.
2114
2115 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2116
2117         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2118         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2119         of `Vcharacter_composition_table' if `->decomposition' property
2120         has only 1 element.
2121         (Qlatin_tcvn5712): New variable.
2122         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2123         (complex_vars_of_mule_charset): Add new coded-charset
2124         `latin-tcvn5712'.
2125
2126         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2127
2128 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2129
2130         * file-coding.h (struct Lisp_Coding_System): Add
2131         `enable_composition'.
2132         (CODING_SYSTEM_COMPOSITE): New macro.
2133         (XCODING_SYSTEM_COMPOSITE): New macro.
2134
2135 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2136
2137         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2138
2139 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2140
2141         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2142         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2143
2144 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2145
2146         * mule-charset.c (Vcharset_mojikyo): New variable.
2147         (Fdefine_char): Don't use coded-charset which does not have
2148         non-builtin character range to allocate character-id.
2149         (Qmojikyo): New variable.
2150         (syms_of_mule_charset): Add new symbol `mojikyo'.
2151         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2152
2153         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2154         (LEADING_BYTE_MOJIKYO): New macro.
2155         (MIN_CHAR_MOJIKYO): New macro.
2156         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2157         (MAX_CHAR_MOJIKYO): New macro.
2158
2159 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2160
2161         * mule-charset.c (remove_char_attribute): Fixed.
2162
2163 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2164
2165         * mule-charset.c (remove_char_attribute): New function.
2166         (Fremove_char_attribute): New function.
2167         (encode_builtin_char_1): Comment out builtin-support for
2168         greek-iso8859-7 and cyrillic-iso8859-5.
2169         (Fdecode_char): Check `code' is an integer.
2170         (syms_of_mule_charset): Add `remove-char-attribute'.
2171         (MIN_CHAR_GREEK): Deleted.
2172         (MAX_CHAR_GREEK): Likewise.
2173         (MIN_CHAR_CYRILLIC): Likewise.
2174         (MAX_CHAR_CYRILLIC): Likewise.
2175         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2176         MAX_CHAR_GREEK for `greek-iso8859-7'.
2177
2178         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
2179         (MAX_CHAR_GREEK): Likewise.
2180         (MIN_CHAR_CYRILLIC): Likewise.
2181         (MAX_CHAR_CYRILLIC): Likewise.
2182
2183 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
2184
2185         * mule-charset.c (Fdefine_char): Fix problem when new code-point
2186         format is used without `ucs' property.
2187         (Fdecode_char): Fix problem with GR representation.
2188         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
2189         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
2190
2191 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2192
2193         * mule-charset.c (make_builtin_char): New function.
2194         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
2195         (Fset_charset_mapping_table): Modify for new representation of
2196         code-point.
2197         (Fdecode_char): New function.
2198         (syms_of_mule_charset): Add new builtin function `decode-char' in
2199         UTF-2000.
2200
2201         * char-ucs.h (make_builtin_char): New prototype.
2202         (DECODE_CHAR): New inline function.
2203         (MAKE_CHAR): Use `DECODE_CHAR'.
2204
2205 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
2206
2207         * text-coding.c (parse_charset_conversion_specs): Use
2208         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
2209         `XCHARSET_TYPE'.
2210         (iso2022_designate): Likewise.
2211
2212         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
2213         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
2214
2215         * mule-charset.c (Vcharset_ucs): New variable.
2216         (print_charset): Change design; use `CHARSET_CHARS' and
2217         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
2218         (make_charset): Change signature to specify `chars' and
2219         `dimension' instead of `type'.
2220         (range_charset_code_point): Modify for 256^n-set.
2221         (encode_builtin_char_1): Encode as `ucs' in default.
2222         (Fmake_charset): Modify for `make_charset'.
2223         (Fmake_reverse_direction_charset): Likewise.
2224         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
2225         UTF-2000.
2226         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
2227         for `make_charset'.
2228
2229         * char-ucs.h (Vcharset_ucs): New variable.
2230         (LEADING_BYTE_UCS): New macro.
2231         (struct Lisp_Charset): Delete `type'; change type of `dimension'
2232         and `chars' to `unsigned short' from `unsigned int'.
2233         (CHARSET_TYPE): Deleted.
2234         (XCHARSET_TYPE): Deleted.
2235
2236 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
2237
2238         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
2239
2240         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
2241         (ENCODE_CHAR): New macro.
2242
2243 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2244
2245         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2246         to 0.14 (Kawachi-Katakami).
2247
2248 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2249
2250         * text-coding.c (char_encode_shift_jis): Modify for
2251         `charset_code_point'.
2252         (char_encode_iso2022): Likewise.
2253
2254         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
2255         (integer) instead of list of <Lisp_Object>s (integers) as the
2256         format of code-point of a coded-charset.
2257         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2258         (encode_builtin_char_1): New function; delete
2259         `split_builtin_char'.
2260         (charset_code_point): Return <int> instead of <Lisp_Object>.
2261         (Fsplit_char): Don't use `SPLIT_CHAR'.
2262
2263         * char-ucs.h (encode_builtin_char_1): New prototype; delete
2264         prototype for `split_builtin_char'.
2265         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2266         (charset_code_point): Likewise.
2267         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
2268         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
2269
2270 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
2271
2272         * mule-charset.c (complex_vars_of_mule_charset): Don't define
2273         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
2274
2275 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2276
2277         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
2278
2279         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
2280         (MAX_CHAR_OBS_94x94): Deleted.
2281
2282 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2283
2284         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
2285
2286         * char-ucs.h (MAX_CHAR_BMP): New macro.
2287
2288 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2289
2290         * text-coding.c: Sync with r21-2-24.
2291
2292 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2293
2294         * file-coding.c: Modify for UTF-2000.
2295
2296 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2297
2298         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2299         to 0.13 (Takaida).
2300
2301 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2302
2303         * mule-charset.c (split_builtin_char): Delete builtin support for
2304         `katakana-jisx0201'.
2305         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
2306         BMP area in builtin representation.
2307
2308         * char-ucs.h (MAKE_CHAR): Delete builtin support for
2309         `Vcharset_katakana_jisx0201'.
2310
2311 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
2312
2313         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2314         (Qisolated): New variable.
2315         (Qinitial): New variable.
2316         (Qmedial): New variable.
2317         (Qfinal): New variable.
2318         (Qvertical): New variable.
2319         (Qsmall): New variable.
2320         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2321         `Qvertical' and `Qsmall'.
2322         (Qmojikyo_pj_[1 .. 21]): New variable.
2323         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2324         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2325         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2326         .. 21]'.
2327
2328 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2329
2330         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2331         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2332         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2333
2334 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2335
2336         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2337         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2338         BMP.
2339         (Qjapanese_jisx0208_1990): New variable.
2340         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2341         (complex_vars_of_mule_charset): Add new coded-charset
2342         `japanese-jisx0208-1990'.
2343
2344         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2345         (MIN_CHAR_JIS_X0208_1990): New macro.
2346         (MAX_CHAR_JIS_X0208_1990): New macro.
2347
2348 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2349
2350         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2351         coded-charset is not found.
2352
2353 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2354
2355         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2356         (Fdefine_char): Use `Fmake_char'.
2357
2358 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2359
2360         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2361         (Vcharset_hiragana_jisx0208): Deleted.
2362         (Vcharset_katakana_jisx0208): Deleted.
2363         (Qideograph_daikanwa): New variable.
2364         (Qhiragana_jisx0208): Deleted.
2365         (Qkatakana_jisx0208): Deleted.
2366         (split_builtin_char): Split `ideograph-daikanwa'.
2367         (Fsplit_char): New implementation for UTF-2000.
2368         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2369         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2370         (complex_vars_of_mule_charset): Add new coded-charset
2371         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2372         `katakana-jisx0208'.
2373
2374         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2375         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2376         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2377         (MIN_CHAR_DAIKANWA): New macro.
2378         (MAX_CHAR_DAIKANWA): New macro.
2379
2380 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2381
2382         * data.c (Fstring_to_number): Don't recognize floating point if
2383         base is not 10.
2384
2385 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2386
2387         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2388
2389 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2390
2391         * mule-charset.c (Qsquare): New variable.
2392         (to_char_code): Add `Qsquare'.
2393         (syms_of_mule_charset): Add new symbol `square'.
2394
2395 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2396
2397         * mule-charset.c (Qcircle): New variable.
2398         (to_char_code): Add `Qcircle'.
2399         (syms_of_mule_charset): Add new symbol `circle'.
2400
2401 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2402
2403         * mule-charset.c (Qfont): New variable.
2404         (to_char_code): Add `Qfont'.
2405         (syms_of_mule_charset): Add new symbol `font'.
2406
2407 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2408
2409         * mule-charset.c (Qsub): New variable.
2410         (to_char_code): Add `Qsub'.
2411         (syms_of_mule_charset): Add new symbol `sub'.
2412
2413 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2414
2415         * mule-charset.c (Fput_char_attribute): Convert each element of
2416         VALUE to GL position if ATTRIBUTE is a GR-set,
2417
2418 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2419
2420         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2421         coded-charset is a GR-set.
2422
2423 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2424
2425         * mule-charset.c (Fput_char_attribute): Check each element of
2426         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2427
2428 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2429
2430         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2431         UTF-2000.
2432         (Qethiopic_ucs): New variable in UTF-2000.
2433         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2434         (complex_vars_of_mule_charset): Add new coded-charset
2435         `ethiopic-ucs' in UTF-2000.
2436
2437         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2438         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2439         9)'.
2440         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2441         10)'.
2442         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2443
2444 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2445
2446         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2447         `ascii'.
2448
2449 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2450
2451         * mule-charset.c (Vcharacter_variant_table): New variable.
2452         (Q_ucs): New variable.
2453         (Fchar_variants): New function.
2454         (Fput_char_attribute): Register `->ucs' value to
2455         `Vcharacter_variant_table'.
2456         (syms_of_mule_charset): Add new function `char-variants' and new
2457         symbol `->ucs'.
2458         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2459
2460 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2461
2462         * mule-charset.c (get_char_code_table): Allow negative character
2463         code.
2464         (put_char_code_table): Likewise.
2465         (Vcharacter_composition_table): New variable.
2466         (Q_decomposition): New variable.
2467         (Qwide): New variable.
2468         (Qnarrow): New variable.
2469         (Qcompat): New variable.
2470         (QnoBreak): New variable.
2471         (Qsuper): New variable.
2472         (Qfraction): New variable.
2473         (to_char_code): New function.
2474         (Fget_composite_char): New function.
2475         (Fput_char_attribute): Register `->decomposition' value to
2476         `Vcharacter_composition_table'.
2477         (syms_of_mule_charset): Add new function `get-composite-char', new
2478         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2479         `super' and `fraction'.
2480         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2481
2482 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2483
2484         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2485         character; copy the return value.
2486
2487 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2488
2489         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2490
2491         * mule-charset.c (range_charset_code_point): Must use make_int.
2492         (split_builtin_char): New function.
2493
2494 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2495
2496         * mule-charset.c (char_byte_table): Change name from
2497         "char-code-table" to "char-byte-table".
2498         (mark_char_code_table): New function.
2499         (char_code_table_equal): New function.
2500         (char_code_table_hash): New function.
2501         (char_code_table_description): New constant.
2502         (char_code_table): New type.
2503         (make_char_code_table): New function.
2504         (copy_char_code_table): New function.
2505         (get_char_code_table): Modify for `char_code_table' type.
2506         (put_char_code_table): Likewise.
2507         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2508         (Kashiwara).
2509
2510         * char-ucs.h (char_code_table): New type.
2511         (XCHAR_CODE_TABLE): New macro.
2512         (XSETCHAR_CODE_TABLE): New macro.
2513         (CHAR_CODE_TABLE_P): New macro.
2514         (GC_CHAR_CODE_TABLE_P): New macro.
2515         (struct Lisp_Char_Code_Table): New structure.
2516
2517 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2518
2519         * mule-charset.c (Fmake_charset): Setup byte_offset for
2520         {94|96}^n-set.
2521
2522 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2523
2524         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2525         character.
2526
2527 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2528
2529         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2530         is found.
2531
2532 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2533
2534         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2535         charset, it is regarded as a charset.
2536         (put_char_attribute): New function in UTF-2000.
2537         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2538         charset, mapping-table of the charset is modified.
2539         (Fdefine_char): New function in UTF-2000.
2540         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2541         `Fput_char_attribute'.
2542         (syms_of_mule_charset): Add new function `define-char' and new
2543         symbol `ucs' in UTF-2000.
2544         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2545
2546 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2547
2548         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2549         non-UTF-2000 configuration.
2550
2551 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2552
2553         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2554         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2555
2556         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2557         deleted.
2558         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2559         (Fset_charset_mapping_table): Likewise.
2560
2561         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2562         (CHARSET_ENCODING_TABLE): Delete.
2563         (XCHARSET_ENCODING_TABLE): Delete.
2564         (charset_code_point): New interface.
2565
2566 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2567
2568         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2569         instead of `charset_get_byte1' and `charset_get_byte2'.
2570
2571         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2572         (charset_get_byte2): Deleted.
2573
2574 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2575
2576         * char-ucs.h (SPLIT_CHAR): New inline function.
2577         (breakup_char_1): Use `SPLIT_CHAR'.
2578
2579         * mule-charset.c (range_charset_code_point): New function.
2580         (charset_code_point): New function.
2581
2582         * char-ucs.h (range_charset_code_point): New interface.
2583         (breakup_char_1): Use `range_charset_code_point'.
2584
2585 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2586
2587         * mule-charset.c (Fmake_charset): Delete unused local variable
2588         `code_offset'.
2589
2590         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2591         (breakup_char_1): Find a charset and code-point in
2592         `Vcharacter_attribute_table'.
2593
2594 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2595
2596         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2597         to 0.10 (Yao).
2598
2599 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2600
2601         * mule-charset.c (Vcharacter_attribute_table): New variable.
2602         (Fchar_attribute_alist): New function.
2603         (Fget_char_attribute): New function.
2604         (Fput_char_attribute): New function.
2605         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2606         too.
2607         (syms_of_mule_charset): Add new function `char-attribute-alist',
2608         `get-char-attribute' and `put-char-attribute'.
2609         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2610
2611 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2612
2613         * mule-charset.c (Fmake_charset): Just use
2614         `get_unallocated_leading_byte'.
2615
2616         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2617         sets; don't use final-byte based number for private sets.
2618
2619 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2620
2621         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2622         integer.
2623
2624 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2625
2626         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2627         to 0.9.
2628
2629 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2630
2631         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2632         of `CHAR_LEADING_BYTE' in UTF-2000.
2633
2634         * insdel.c (find_charsets_in_bufbyte_string): Use
2635         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2636         (find_charsets_in_emchar_string): Likewise.
2637
2638         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2639         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2640
2641         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2642         (CHAR_CHARSET_ID): New macro.
2643
2644 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2645
2646         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2647         charset-id - MIN_LEADING_BYTE.
2648         (put_char_table): Likewise.
2649
2650 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2651
2652         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2653         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2654         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2655         (CHARSET_ID_OFFSET): New macro.
2656         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2657         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2658         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2659         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2660         4).
2661         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2662         5).
2663         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2664         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2665         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2666         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2667         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2668
2669 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2670
2671         * mule-charset.c (next_allocated_leading_byte): New variable in
2672         UTF-2000.
2673         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2674         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2675         (get_unallocated_leading_byte): Simply use
2676         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2677         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2678         UTF-2000.
2679
2680         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2681         (MAX_LEADING_BYTE_PRIVATE): New macro.
2682         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2683         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2684
2685 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2686
2687         * mule-charset.c (Fmake_charset): Allocate final-byte based
2688         charset-id for 94-set, 96-set and 94x94-set.
2689
2690 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2691
2692         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2693         ambiguous `else'.
2694         (Fmake_charset): Likewise.
2695         (complex_vars_of_mule_charset): Modify the font registry of
2696         `ucs-bmp' not to match `Ethiopic-Unicode'.
2697
2698 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2699
2700         * mule-charset.c (complex_vars_of_mule_charset): Add font
2701         registory of `ucs-bmp'.
2702
2703 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2704
2705         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2706         coded-charsets in `default-coded-charset-priority-list' when
2707         breaking up a character.
2708
2709         * mule-charset.c (Vcharset_latin_viscii): New variable.
2710         (Qlatin_viscii): New variable.
2711         (make_charset): Don't use `decoding_table'.
2712         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2713         byte_offset.
2714         (Fset_charset_mapping_table): New implementation.
2715         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2716         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2717         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2718         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2719         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2720         charset `latin_viscii'.
2721
2722         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2723         (CHARSET_TYPE_94X94): Change to 1 from 2.
2724         (CHARSET_TYPE_96): Change to 2 from 1.
2725         (CHARSET_TYPE_128): New macro.
2726         (CHARSET_TYPE_128X128): Change to 5 from 4.
2727         (CHARSET_TYPE_256): New macro.
2728         (CHARSET_TYPE_256X256): Change to 7 from 5.
2729         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2730
2731 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2732
2733         * text-coding.c (char_encode_shift_jis): Refer
2734         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2735         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2736
2737         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2738         (char_byte_table_equal): New function in UTF-2000.
2739         (char_byte_table_hash): New function in UTF-2000.
2740         (char_byte_table_description): New constant in UTF-2000.
2741         (char_byte_table): New type in UTF-2000.
2742         (make_char_byte_table): New function in UTF-2000.
2743         (copy_char_byte_table): New function in UTF-2000.
2744         (make_char_code_table): New macro in UTF-2000.
2745         (get_char_code_table): New function in UTF-2000.
2746         (put_char_code_table): New function in UTF-2000.
2747         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2748         (charset_description): Add setting in UTF-2000.
2749         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2750         `CHARSET_TO_BYTE1_TABLE(cs)'.
2751         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2752         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2753         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2754         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2755         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2756         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2757         `CHARSET_TO_BYTE2_TABLE(cs)'.
2758
2759         * char-ucs.h (char_byte_table): New type.
2760         (XCHAR_BYTE_TABLE): New macro.
2761         (XSETCHAR_BYTE_TABLE): New macro.
2762         (CHAR_BYTE_TABLE_P): New macro.
2763         (GC_CHAR_BYTE_TABLE_P): New macro.
2764         (struct Lisp_Char_Byte_Table): New structure.
2765         (get_char_code_table): New interface.
2766         (Emchar_to_byte_table): Deleted.
2767         (get_byte_from_character_table): Deleted.
2768         (struct Lisp_Charset): Add `encoding_table'; delete
2769         `to_byte1_table' and `to_byte2_table'.
2770         (CHARSET_ENCODING_TABLE): New macro.
2771         (CHARSET_TO_BYTE1_TABLE): Deleted.
2772         (CHARSET_TO_BYTE2_TABLE): Deleted.
2773         (XCHARSET_ENCODING_TABLE): New macro.
2774         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2775         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2776
2777 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2778
2779         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2780         `vietnamese-viscii-*'.
2781
2782 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2783
2784         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2785         (Qvietnamese_viscii_upper): New variable.
2786         (Fdefine_charset_alias): New function.
2787         (syms_of_mule_charset): Add new function `define-charset-alias'.
2788         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2789         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2790         `latin-viscii-*'.
2791
2792 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2793
2794         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2795         (MAX_CHAR_OBS_94x94): New macro.
2796         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2797         for 94x94 sets.
2798
2799         * mule-charset.c (put_byte_from_character_table): Change unit size
2800         from 128 to 256.
2801         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2802         not defined.
2803         (Fmake_reverse_direction_charset): Modify dummy argument of
2804         `make_charset' for non-UTF-2000 environment.
2805
2806 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2807
2808         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2809
2810         * mule-charset.c (destroy_byte_from_character_table): New macro.
2811         (latin_jisx0201_to_ucs): Deleted.
2812         (latin_iso8859_2_to_ucs): Deleted.
2813         (latin_iso8859_3_to_ucs): Deleted.
2814         (latin_iso8859_4_to_ucs): Deleted.
2815         (latin_iso8859_9_to_ucs): Deleted.
2816         (latin_viscii_lower_to_ucs): Deleted.
2817         (latin_viscii_upper_to_ucs): Deleted.
2818         (mark_charset): Mark `cs->decoding_table'.
2819         (Fcharset_mapping_table): Fix DOC-string.
2820         (Fset_charset_mapping_table): New function.
2821         (syms_of_mule_charset): Add nwe function
2822         `set-charset-mapping-table'.
2823         (complex_vars_of_mule_charset): Don't setup and use
2824         `latin_*_to_ucs'.
2825
2826 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2827
2828         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2829         charset.
2830
2831 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2832
2833         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2834         (Vcharset_katakana_jisx0208): New variable.
2835         (Qhiragana_jisx0208): New variable.
2836         (Qkatakana_jisx0208): New variable.
2837         (make_charset): Add new argument `byte_offset'.
2838         (charset_get_byte1): Modify for new coded-charset definition; use
2839         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2840         `XCHARSET_BYTE_OFFSET'.
2841         (Fmake_charset): Modify for `make_charset'.
2842         (Fmake_reverse_direction_charset): Likewise.
2843         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2844         `katakana-jisx0208'.
2845         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2846         `.'  in font registry of charset `katakana-jisx0201',
2847         `latin-jisx0201', `vietnamese-viscii-lower' and
2848         `vietnamese-viscii-upper'; modify DOC-string of charset
2849         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2850         registry of charset `japanese-jisx0208' not to use font for JIS
2851         X0208:1990; add new charset `hiragana-jisx0208' and
2852         `katakana-jisx0208'.
2853
2854         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2855         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2856         (struct Lisp_Charset): Add `byte_offset'.
2857         (CHARSET_BYTE_OFFSET): New macro.
2858         (XCHARSET_UCS_MIN): New macro.
2859         (XCHARSET_UCS_MAX): New macro.
2860         (XCHARSET_CODE_OFFSET): New macro.
2861         (XCHARSET_BYTE_OFFSET): New macro.
2862         (MIN_CHAR_HIRAGANA): New macro.
2863         (MAX_CHAR_HIRAGANA): New macro.
2864         (MIN_CHAR_KATAKANA): New macro.
2865         (MAX_CHAR_KATAKANA): New macro.
2866         (MAKE_CHAR): Modify for new coded-charset definition; use
2867         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2868         `XCHARSET_BYTE_OFFSET'.
2869
2870 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2871
2872         * mule-charset.c (CHAR96): Deleted.
2873         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
2874         <Lisp_Object>.
2875         (latin_iso8859_2_to_ucs): Likewise.
2876         (latin_iso8859_3_to_ucs): Likewise.
2877         (latin_iso8859_4_to_ucs): Likewise.
2878         (latin_iso8859_9_to_ucs): Likewise.
2879         (latin_viscii_lower_to_ucs): Likewise.
2880         (latin_viscii_upper_to_ucs): Likewise.
2881         (latin_tcvn5712_to_ucs): Commented out.
2882         (make_charset): Change type of argument `decoding_table' from
2883         <Emchar*> to <Lisp_Object> [vector of characters].
2884         (Fmake_charset): Modify for `make_charset'.
2885         (Fmake_reverse_direction_charset): Likewise.
2886         (Fcharset_mapping_table): New function in UTF-2000.
2887         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
2888         UTF-2000.
2889         (complex_vars_of_mule_charset): Modify for type change of
2890         `*_to_ucs'; modify for `make_charset'.
2891
2892         * char-ucs.h (struct Lisp_Charset): Change type of
2893         `decoding_table' from <Emchar*> to <Lisp_Object>.
2894         (MAKE_CHAR): Modify for new specification of `decoding_table'.
2895
2896 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2897
2898         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
2899         error with non-UTF-2000-Mule.
2900
2901 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
2902
2903         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
2904         in lisp again].
2905         (Vcharset_chinese_cns11643_4): Likewise.
2906         (Vcharset_chinese_cns11643_5): Likewise.
2907         (Vcharset_chinese_cns11643_6): Likewise.
2908         (Vcharset_chinese_cns11643_7): Likewise.
2909         (Qchinese_cns11643_3): Likewise.
2910         (Qchinese_cns11643_4): Likewise.
2911         (Qchinese_cns11643_5): Likewise.
2912         (Qchinese_cns11643_6): Likewise.
2913         (Qchinese_cns11643_7): Likewise.
2914         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
2915         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2916         and `chinese-cns11643-7' to lisp/mule/chinese.el.
2917         (complex_vars_of_mule_charset): Likewise.
2918
2919 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2920
2921         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
2922         96-set.
2923         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
2924         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
2925
2926 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2927
2928         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
2929         0xFF60.
2930         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
2931         (breakup_char_1): Likewise.
2932
2933         * text-coding.c (char_encode_iso2022): Keep designated charsets if
2934         one of them includes the specified character.
2935
2936 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2937
2938         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
2939
2940 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2941
2942         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
2943
2944 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2945
2946         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
2947         definition for non-UTF-2000 Mule.
2948         (latin_iso8859_3_to_ucs): Likewise.
2949         (latin_iso8859_4_to_ucs): Likewise.
2950         (latin_iso8859_9_to_ucs): Likewise.
2951         (latin_jisx0201_to_ucs): Likewise.
2952         (MIN_CHAR_THAI): Likewise.
2953         (MAX_CHAR_THAI): Likewise.
2954         (MIN_CHAR_GREEK): Likewise.
2955         (MAX_CHAR_GREEK): Likewise.
2956         (MIN_CHAR_HEBREW): Likewise.
2957         (MAX_CHAR_HEBREW): Likewise.
2958         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
2959         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
2960         (MIN_CHAR_CYRILLIC): Likewise.
2961         (MAX_CHAR_CYRILLIC): Likewise.
2962
2963 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2964
2965         * char-ucs.h (breakup_char_1): Use
2966         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
2967         thai-tis620 and katakana-jisx0201 area.
2968
2969 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2970
2971         * char-ucs.h (breakup_char_1): Use
2972         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
2973         area.
2974
2975         * text-coding.c (reset_encoding_stream): Fixed.
2976         (char_encode_ucs4): Delete `& 255'.
2977
2978         * char-ucs.h (breakup_char_1): Use
2979         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
2980
2981 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2982
2983         * file-coding.c (Fmake_coding_system): Don't set up
2984         `codesys->fixed.size'.
2985         (encode_coding_no_conversion): Don't refer
2986         `str->codesys->fixed.size'.
2987
2988 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2989
2990         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
2991         (latin_a_char_to_byte1): Deleted.
2992         (latin_a_char_to_byte2): Deleted.
2993
2994 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2995
2996         * mule-charset.c (make_charset): Add new argument `ucs_min',
2997         `ucs_max' and `code_offset'.
2998         (charset_get_byte1): New implementation [delete specific charset
2999         depended implementations].
3000         (Fmake_charset): Modify for `make_charset'.
3001         (Fmake_reverse_direction_charset): Likewise.
3002         (complex_vars_of_mule_charset): Likewise.
3003
3004         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3005         `code_offset'.
3006         (CHARSET_UCS_MIN): New macro.
3007         (CHARSET_UCS_MAX): New macro.
3008         (CHARSET_CODE_OFFSET): New macro.
3009         (MAKE_CHAR): Delete charset depended definitions [except
3010         katakana-jisx0201].
3011
3012 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3013
3014         * char-ucs.h (breakup_char_1): Use
3015         `Vdefault_coded_charset_priority_list' for C0-Controls,
3016         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3017
3018 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3019
3020         * char-ucs.h (charset_get_byte1): New function.
3021         (XCHARSET_GET_BYTE1): Deleted.
3022         (charset_get_byte2): New function.
3023         (XCHARSET_GET_BYTE2): Deleted.
3024         (Vdefault_coded_charset_priority_list): New external variable.
3025         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3026         `Vdefault_preferred_coded_charset_list'.
3027
3028         * mule-charset.c (charset_get_byte1): New function.
3029         (charset_get_byte2): New function.
3030         (Vdefault_coded_charset_priority_list): New variable.
3031         (vars_of_mule_charset): Add new variable
3032         `default-coded-charset-priority-list'.
3033
3034 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3035
3036         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3037         (XCHARSET_GET_BYTE2): New inline function.
3038         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3039         `XCHARSET_GET_BYTE2'.
3040
3041 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3042
3043         * mule-charset.c (make_charset): Initialize
3044         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3045         NULL if table is not defined.
3046
3047 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3048
3049         * text-coding.c (char_encode_shift_jis): Use
3050         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3051         `ucs_to_latin_jisx0201'.
3052
3053         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3054         (ucs_to_latin_iso8859_2): Deleted.
3055         (ucs_to_latin_iso8859_3): Deleted.
3056         (ucs_to_latin_iso8859_4): Deleted.
3057         (ucs_to_latin_iso8859_9): Deleted.
3058         (ucs_to_latin_viscii_lower): Deleted.
3059         (ucs_to_latin_viscii_upper): Deleted.
3060         (ucs_to_latin_tcvn5712): Deleted.
3061         (make_charset): Add new argument `decoding_table'; set up
3062         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3063         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3064         `decoding_table' is defined in UTF-2000.
3065         (Fmake_charset): Modify for `make_charset'.
3066         (Fmake_reverse_direction_charset): Likewise.
3067         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3068         and `GENERATE_96_SET'.
3069
3070         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3071         (ucs_to_latin_jisx0201): Deleted.
3072         (latin_iso8859_2_to_ucs): Deleted.
3073         (ucs_to_latin_iso8859_2): Deleted.
3074         (latin_iso8859_3_to_ucs): Deleted.
3075         (ucs_to_latin_iso8859_3): Deleted.
3076         (latin_iso8859_4_to_ucs): Deleted.
3077         (ucs_to_latin_iso8859_4): Deleted.
3078         (latin_iso8859_9_to_ucs): Deleted.
3079         (ucs_to_latin_iso8859_9): Deleted.
3080         (latin_viscii_lower_to_ucs): Deleted.
3081         (ucs_to_latin_viscii_lower): Deleted.
3082         (latin_viscii_upper_to_ucs): Deleted.
3083         (ucs_to_latin_viscii_upper): Deleted.
3084         (struct Lisp_Charset): Renamed `encoding_table' to
3085         `to_byte1_table'; add `to_byte2_table'.
3086         (CHARSET_DECODING_TABLE): New macro.
3087         (CHARSET_TO_BYTE1_TABLE): New macro.
3088         (CHARSET_TO_BYTE2_TABLE): New macro.
3089         (XCHARSET_DECODING_TABLE): New macro.
3090         (XCHARSET_TO_BYTE1_TABLE): New macro.
3091         (XCHARSET_TO_BYTE2_TABLE): New macro.
3092         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3093         tables.
3094         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3095         don't use `ucs_to_*' tables.
3096
3097 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3098
3099         * text-coding.c (Fmake_coding_system): Don't set up
3100         `codesys->fixed.size'.
3101         (encode_coding_no_conversion): Use `if' instead of `switch'.
3102
3103         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3104
3105 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3106
3107         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3108         (Fmake_charset): Modify for `make_charset'.
3109         (Fmake_reverse_direction_charset): Likewise.
3110         (complex_vars_of_mule_charset): Likewise.
3111
3112 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3113
3114         * text-coding.c (char_encode_shift_jis): Use table
3115         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3116
3117 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3118
3119         * text-coding.c (text_encode_generic): Use `if' instead of
3120         `switch'.
3121         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3122         decode JIS-Latin.
3123
3124 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3125
3126         * text-coding.c (encode_coding_sjis): Deleted.
3127         (char_encode_shift_jis): New function.
3128         (char_finish_shift_jis): New function.
3129         (reset_encoding_stream): Set up `encode_char' and `finish' for
3130         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3131         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3132         (char_encode_utf8): Treat `eol_type'.
3133
3134 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3135
3136         * file-coding.c (decode_coding_iso2022): Use
3137         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3138
3139 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3140
3141         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3142         to 0.7 (Hirano).
3143
3144 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3145
3146         * char-lb.h (CHAR_COLUMNS): New macro.
3147
3148 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3149
3150         * text-coding.c (char_encode_ucs4): New function.
3151         (char_finish_ucs4): New function.
3152         (encode_coding_ucs4): Deleted.
3153         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3154         (text_encode_generic): Delete local variable `charset' and `half'.
3155         (ucs_to_mule_table): Deleted.
3156         (mule_to_ucs_table): Deleted.
3157         (Fset_ucs_char): Deleted.
3158         (ucs_to_char): Deleted.
3159         (Fucs_char): Deleted.
3160         (Fset_char_ucs): Deleted.
3161         (Fchar_ucs): Deleted.
3162         (decode_ucs4): Deleted.
3163         (mule_char_to_ucs4): Deleted.
3164         (encode_ucs4): Deleted.
3165         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3166         (decode_coding_utf8): Likewise.
3167         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3168         (char_encode_iso2022): Fixed.
3169         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3170         `Fset_char_ucs' and `Fchar_ucs'.
3171         (complex_vars_of_file_coding): Don't initialize
3172         `ucs_to_mule_table'.
3173
3174         * objects-tty.c (tty_initialize_font_instance): Don't use
3175         `XCHARSET_COLUMNS'.
3176
3177         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3178         UTF-2000.
3179
3180         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
3181         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3182
3183         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
3184         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3185         (emchar_string_displayed_columns): Likewise.
3186
3187         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
3188         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3189         (string_column_at_point): Likewise.
3190         (Fmove_to_column): Likewise.
3191
3192         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
3193         `encoding_table' and `decoding_table'.
3194         (CHARSET_REP_BYTES): Deleted.
3195         (XCHARSET_REP_BYTES): Deleted.
3196         (XCHARSET_COLUMNS): Deleted.
3197         (CHAR_COLUMNS): New macro.
3198         (lookup_composite_char): Deleted unconditionally.
3199         (composite_char_string): Likewise.
3200
3201 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3202
3203         * char-ucs.h (Emchar_to_byte_table): New type.
3204         (get_byte_from_character_table): New function interface.
3205         (Vcharset_latin_jisx0201): New variable.
3206         (latin_jisx0201_to_ucs): New variable.
3207         (ucs_to_latin_jisx0201): New variable.
3208         (Vcharset_latin_iso8859_2): New variable.
3209         (latin_iso8859_2_to_ucs): New variable.
3210         (ucs_to_latin_iso8859_2): New variable.
3211         (Vcharset_latin_iso8859_3): New variable.
3212         (latin_iso8859_3_to_ucs): New variable.
3213         (ucs_to_latin_iso8859_3): New variable.
3214         (Vcharset_latin_iso8859_4): New variable.
3215         (latin_iso8859_4_to_ucs): New variable.
3216         (ucs_to_latin_iso8859_4): New variable.
3217         (Vcharset_latin_iso8859_9): New variable.
3218         (latin_iso8859_9_to_ucs): New variable.
3219         (ucs_to_latin_iso8859_9): New variable.
3220         (Vcharset_latin_viscii_lower): New variable.
3221         (latin_viscii_lower_to_ucs): New variable.
3222         (ucs_to_latin_viscii_lower): New variable.
3223         (Vcharset_latin_viscii_upper): New variable.
3224         (latin_viscii_upper_to_ucs): New variable.
3225         (ucs_to_latin_viscii_upper): New variable.
3226         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
3227         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
3228         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
3229         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
3230         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
3231         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
3232         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
3233         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
3234         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
3235         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
3236
3237         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
3238         (Vcharset_latin_viscii_upper): New variable.
3239         (make_byte_from_character_table): New function.
3240         (put_byte_from_character_table): New function.
3241         (get_byte_from_character_table): New function.
3242         (CHAR96): New macro.
3243         (ucs_to_latin_jisx0201): New variable.
3244         (latin_jisx0201_to_ucs): New variable.
3245         (ucs_to_latin_iso8859_2): New variable.
3246         (latin_iso8859_2_to_ucs): New variable.
3247         (ucs_to_latin_iso8859_3): New variable.
3248         (latin_iso8859_3_to_ucs): New variable.
3249         (ucs_to_latin_iso8859_4): New variable.
3250         (latin_iso8859_4_to_ucs): New variable.
3251         (ucs_to_latin_iso8859_9): New variable.
3252         (latin_iso8859_9_to_ucs): New variable.
3253         (ucs_to_latin_viscii_lower): New variable.
3254         (latin_viscii_lower_to_ucs): New variable.
3255         (ucs_to_latin_viscii_upper): New variable.
3256         (latin_viscii_upper_to_ucs): New variable.
3257         (ucs_to_latin_tcvn5712): New variable.
3258         (latin_tcvn5712_to_ucs): New variable.
3259         (Qlatin_viscii_lower): New variable.
3260         (Qlatin_viscii_upper): New variable.
3261         (syms_of_mule_charset): Set up new symbol
3262         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
3263         (complex_vars_of_mule_charset): Set up new charset
3264         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
3265         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
3266         `ucs_to_<CHARSET>' tables.
3267
3268 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3269
3270         * text-coding.c: New file.
3271
3272 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3273
3274         * mule-charset.c (Fmake_char): Fix problem of 256-set.
3275
3276         * char-ucs.h (Vcharset_ucs_bmp): New variable.
3277         (MAKE_CHAR): Modify for `ucs-bmp'.
3278         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
3279         non-MULE characters of BMP.
3280
3281 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
3282
3283         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3284         to 0.6.
3285
3286 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3287
3288         * lstream.h:
3289         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
3290         - Include character.h for `CHAR_ASCII_P'.
3291
3292         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
3293
3294         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
3295         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
3296
3297         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
3298         (BYTE_C0_P): Likewise.
3299         (BYTE_C1_P): Likewise.
3300         (Lstream_get_emchar_1): Likewise.
3301         (Lstream_fput_emchar): Likewise.
3302         (Lstream_funget_emchar): Likewise.
3303         (copy_internal_to_external): Likewise.
3304         (copy_external_to_internal): Likewise.
3305
3306         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
3307         (BYTE_C0_P): Likewise.
3308         (BYTE_C1_P): Likewise.
3309         (Lstream_get_emchar_1): Likewise.
3310         (Lstream_fput_emchar): Likewise.
3311         (Lstream_funget_emchar): Likewise.
3312         (copy_internal_to_external): Likewise.
3313         (copy_external_to_internal): Likewise.
3314
3315         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3316         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3317
3318         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3319         (BYTE_ASCII_P): Moved to mb-1byte.h.
3320
3321 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3322
3323         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3324
3325         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3326         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3327         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3328         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3329         (VALIDATE_CHARPTR_FORWARD): Likewise.
3330         (simple_charptr_emchar): Moved to mb-multibyte.h.
3331         (simple_set_charptr_emchar): Likewise.
3332         (simple_charptr_copy_char): Likewise.
3333         (non_ascii_charptr_emchar): Likewise.
3334         (non_ascii_set_charptr_emchar): Likewise.
3335         (non_ascii_charptr_copy_char): Likewise.
3336         (charptr_emchar): Moved to mb-*byte.h.
3337         (set_charptr_emchar): Likewise.
3338         (charptr_copy_char): Likewise.
3339
3340         * mb-1byte.h, mb-multibyte.h: New files.
3341
3342 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3343
3344         * mb-utf-8.h (MULTIBYTE): New macro.
3345         (MAX_EMCHAR_LEN): Moved from buffer.h.
3346         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3347
3348         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3349
3350         * mb-lb.h, multibyte.h: New files.
3351
3352         * char-1byte.h (Charset_ID): Moved from buffer.h.
3353         (MIN_LEADING_BYTE): Likewise.
3354         (LEADING_BYTE_ASCII): Likewise.
3355         (NUM_LEADING_BYTES): Likewise.
3356         (CHARSETP): Likewise.
3357         (CHARSET_BY_LEADING_BYTE): Likewise.
3358         (XCHARSET_LEADING_BYTE): Likewise.
3359         (XCHARSET_GRAPHIC): Likewise.
3360         (XCHARSET_COLUMNS): Likewise.
3361         (XCHARSET_DIMENSION): Likewise.
3362         (CHAR_CHARSET): Likewise.
3363         (CHAR_LEADING_BYTE): Likewise.
3364         (BREAKUP_CHAR): Likewise.
3365         (Vcharset_ascii): Likewise.
3366
3367         * buffer.h: Include multibyte.h unconditionally.
3368         (VALID_CHARPTR_P): Moved to multibyte.h.
3369         (ASSERT_VALID_CHARPTR): Likewise.
3370         (REAL_INC_CHARPTR): Likewise.
3371         (REAL_INC_CHARBYTIND): Likewise.
3372         (REAL_DEC_CHARPTR): Likewise.
3373         (INC_CHARPTR): Likewise.
3374         (INC_CHARBYTIND): Likewise.
3375         (DEC_CHARPTR): Likewise.
3376         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3377         (VALIDATE_CHARPTR_FORWARD): Likewise.
3378         (charptr_n_addr): Likewise.
3379         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3380         (simple_charptr_emchar): Moved to multibyte.h.
3381         (simple_set_charptr_emchar): Likewise.
3382         (simple_charptr_copy_char): Likewise.
3383         (non_ascii_charptr_emchar): Likewise.
3384         (non_ascii_set_charptr_emchar): Likewise.
3385         (non_ascii_charptr_copy_char): Likewise.
3386         (charptr_emchar): Likewise.
3387         (set_charptr_emchar): Likewise.
3388         (charptr_copy_char): Likewise.
3389         (charptr_emchar_n): Likewise.
3390         (Charset_ID): Moved to char-1byte.h.
3391         (Vcharset_ascii): Likewise.
3392         (CHAR_CHARSET): Likewise.
3393         (CHAR_LEADING_BYTE): Likewise.
3394         (LEADING_BYTE_ASCII): Likewise.
3395         (NUM_LEADING_BYTES): Likewise.
3396         (MIN_LEADING_BYTE): Likewise.
3397         (CHARSETP): Likewise.
3398         (CHARSET_BY_LEADING_BYTE): Likewise.
3399         (XCHARSET_LEADING_BYTE): Likewise.
3400         (XCHARSET_GRAPHIC): Likewise.
3401         (XCHARSET_COLUMNS): Likewise.
3402         (XCHARSET_DIMENSION): Likewise.
3403         (BREAKUP_CHAR): Likewise.
3404
3405 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3406
3407         * character.h: Add document about interface for characters.
3408
3409         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3410         (MAKE_CHAR): Delete comment about
3411         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3412         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3413         (BREAKUP_CHAR): Modify name of arguments.
3414         (CHAR_CHARSET): Modify name of argument.
3415
3416         * buffer.h: Delete document about Emchar accessors.
3417
3418 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3419
3420         * character.h (CHAR_INTP): Moved from buffer.h
3421         (CHAR_OR_CHAR_INTP): Likewise.
3422         (XCHAR_OR_CHAR_INT): Likewise.
3423         (CHECK_CHAR_COERCE_INT): Likewise.
3424
3425         * buffer.h (CHAR_INTP): Moved to character.h
3426         (CHAR_OR_CHAR_INTP): Likewise.
3427         (XCHAR_OR_CHAR_INT): Likewise.
3428         (CHECK_CHAR_COERCE_INT): Likewise.
3429
3430 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3431
3432         * character.h:
3433         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3434         - Include char-1byte.h, char-lb.h or char-ucs.h.
3435
3436         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3437
3438         * buffer.h: Include character unconditionally.
3439         (valid_char_p): Moved to char-*.h.
3440         (non_ascii_valid_char_p): Moved to char-lb.h.
3441
3442         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3443
3444 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3445
3446         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3447         in UTF-2000 because it is not ported yet and not to use
3448         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3449         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3450         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3451
3452         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3453         (CHAR_ASCII_P): Moved from character.h.
3454
3455         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3456         (CHAR_ASCII_P): Likewise.
3457         (CHAR_FIELD1_MASK): Deleted.
3458         (CHAR_FIELD2_MASK): Deleted.
3459         (CHAR_FIELD3_MASK): Deleted.
3460         (MAX_CHAR_BASIC_LATIN): New macro.
3461         (CHAR_FIELD1): Deleted.
3462         (CHAR_FIELD2_INTERNAL): Deleted.
3463         (CHAR_FIELD3_INTERNAL): Deleted.
3464         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3465         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3466         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3467         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3468         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3469         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3470         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3471         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3472         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3473         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3474         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3475         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3476         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3477         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3478         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3479         (MIN_CHAR_COMPOSITION): Deleted.
3480         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3481         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3482
3483 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3484
3485         * buffer.h: Include mb-utf-8.h in UTF-2000.
3486
3487         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3488
3489         * mb-utf-8.h: New file.
3490
3491 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3492
3493         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3494         instead of `int'.
3495
3496         * mule-charset.h, buffer.h (Charset_ID): New type.
3497
3498 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3499
3500         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3501         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3502         instead of `MULE_CHAR_PRIVATE_OFFSET',
3503         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3504         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3505         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3506
3507         * character.h (Vcharset_japanese_jisx0212): New variable
3508         definition.
3509
3510 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3511
3512         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3513         (charset_by_attributes): Delete array about direction.
3514         (latin_a_char_to_charset): New variable in UTF-2000.
3515         (latin_a_char_to_byte1): New variable in UTF-2000.
3516         (latin_a_char_to_byte2): New variable in UTF-2000.
3517         (Qucs_bmp): New variable.
3518         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3519         `Bufbyte'.
3520         (next_allocated_2_byte_leading_byte): Likewise.
3521         (non_ascii_set_charptr_emchar): Likewise.
3522         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3523         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3524         `charset_by_attributes'.
3525         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3526         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3527         and `CHARSET_BY_LEADING_BYTE'.
3528         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3529         `utf-2000-version' to `vars_of_mule_charset'.
3530         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3531         define `leading-code-private-11' in UTF-2000; move setting of
3532         `utf-2000-version' from `syms_of_mule_charset'.
3533         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3534         UTF-2000.
3535
3536         * character.h (Charset_ID): New type.
3537         (LEADING_BYTE_UCS_BMP): New macro.
3538         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3539         (CHARSET_ID_OFFSET_94): New macro.
3540         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3541         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3542         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3543         final-byte.
3544         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3545         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3546         (CHARSET_ID_OFFSET_96): New macro.
3547         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3548         CHARSET_ID_OFFSET_96 and final-byte.
3549         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3550         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3551         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3552         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3553         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3554         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3555         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3556         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3557         (LEADING_BYTE_THAI_TIS620): Likewise.
3558         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3559         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3560         (CHARSET_ID_OFFSET_94x94): New macro.
3561         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3562         CHARSET_ID_OFFSET_94x94 and final-byte.
3563         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3564         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3565         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3566         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3567         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3568         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3569         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3570         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3571         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3572         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3573         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3574         (CHARSET_TYPE_128X128): New macro.
3575         (CHARSET_TYPE_256X256): New macro.
3576         (XCHARSET_PRIVATE_P): Delete unconditionally.
3577         (charset_by_attributes): Delete array about direction.
3578         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3579         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3580         (MIN_CHAR_94): New macro.
3581         (MAX_CHAR_94): New macro.
3582         (MIN_CHAR_96): New macro.
3583         (MAX_CHAR_96): New macro.
3584         (MIN_CHAR_94x94): New macro.
3585         (MAX_CHAR_94x94): New macro.
3586         (MIN_CHAR_96x96): New macro.
3587         (MAX_CHAR_96x96): New macro.
3588         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3589         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3590         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3591         - 32)'.
3592         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3593         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3594         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3595         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3596         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3597         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3598         `XCHARSET_LEADING_BYTE' to make code-point.
3599         (latin_a_char_to_charset): New variable.
3600         (latin_a_char_to_byte1): New variable.
3601         (latin_a_char_to_byte2): New variable.
3602         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3603         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3604         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3605
3606         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3607         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3608         (find_charsets_in_emchar_string): Likewise.
3609         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3610
3611         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3612         `int'.
3613         (decode_coding_iso2022): Likewise.
3614
3615         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3616         of `unsigned char'.
3617
3618         * redisplay.c (redisplay_text_width_emchar_string): Use
3619         `Charset_ID' instead of `unsigned char'.
3620         (redisplay_frame_text_width_string): Likewise.
3621
3622         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3623         `unsigned char'.
3624
3625         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3626         instead of `unsigned char'.
3627         (face_cachel_charset_font_metric_info): Likewise.
3628
3629         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3630         (get_non_ascii_char_table_value): Likewise.
3631         (get_char_table): Likewise.
3632         (put_char_table): Likewise.
3633         (map_over_other_charset): Likewise.
3634         (map_char_table): Likewise.
3635
3636         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3637         instead of `unsigned char'.
3638
3639 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3640
3641         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3642         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3643
3644         * mule-charset.c (leading_code_private_11): Don't define in
3645         UTF-2000.
3646
3647         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3648         in UTF-2000 because it is not ported yet and not to use
3649         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3650
3651 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3652
3653         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3654
3655 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3656
3657         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3658         in UTF-2000.
3659
3660         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3661         of unsigned char to store leading-byte.
3662
3663         * chartab.c (get_non_ascii_char_table_value): Don't use
3664         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3665
3666         * file-coding.c (encode_coding_big5): Delete bogus implementation
3667         in UTF2000.
3668
3669         * character.h (LEADING_BYTE_*): Delete definition for
3670         non-UTF-2000.
3671         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3672         (LEADING_BYTE_PREFIX_P): Deleted.
3673         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3674         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3675         (BUFBYTE_LEADING_BYTE_P): Deleted.
3676         (CHARSET_PRIVATE_P): Deleted unconditionally.
3677         (rep_bytes_by_first_byte): Deleted unconditionally.
3678         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3679         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3680         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3681         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3682         (CHAR_FIELD2): Deleted.
3683         (CHAR_FIELD3): Deleted.
3684         (MAKE_CHAR): Delete definition for non-UTF-2000.
3685         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3686         (breakup_char_1): New implementation.
3687         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3688         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3689
3690 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3691
3692         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3693         condition.
3694
3695 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3696
3697         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3698         (CHARSET_PRIVATE_P): Likewise.
3699         (XCHARSET_PRIVATE_P): Likewise.
3700         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3701
3702         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3703         UTF2000.
3704         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3705
3706 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3707
3708         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3709         (NUM_LEADING_BYTES): Changed from 128 to 256.
3710         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3711         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3712         UTF2000.
3713         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3714
3715         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3716         UTF2000.
3717         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3718         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3719         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3720         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3721         (Qchinese_cns11643_3): New variable in UTF2000.
3722         (Qchinese_cns11643_4): New variable in UTF2000.
3723         (Qchinese_cns11643_5): New variable in UTF2000.
3724         (Qchinese_cns11643_6): New variable in UTF2000.
3725         (Qchinese_cns11643_7): New variable in UTF2000.
3726         (syms_of_mule_charset): Define `chinese-cns11643-3',
3727         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3728         and `chinese-cns11643-7' in UTF2000.
3729         (vars_of_mule_charset): Initialize
3730         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3731         + 1 in UTF2000.
3732         (complex_vars_of_mule_charset): Setup charset
3733         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3734         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3735
3736 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3737
3738         * mule-charset.c: Move setting for `leading-code-private-11' from
3739         `syms_of_mule_charset' to `vars_of_mule_charset'.
3740
3741 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3742
3743         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3744         and `NUM_LEADING_BYTES' in assert.
3745
3746 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3747
3748         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3749         instead of 128.
3750         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3751         `NUM_LEADING_BYTES' instead of 128.
3752
3753 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3754
3755         * mule-charset.h (charset_by_leading_byte): Use
3756         `NUM_LEADING_BYTES' instead of 128.
3757         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3758
3759         * mule-charset.c (charset_by_leading_byte): Use
3760         `NUM_LEADING_BYTES' instead of 128.
3761         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3762
3763         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3764         128.
3765
3766 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3767
3768         * mule-charset.c (syms_of_mule_charset): Update to
3769         0.4 (Shin-Imamiya).
3770
3771 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3772
3773         * file-coding.c (encode_coding_sjis): New implementation for
3774         UTF2000.  (decode_coding_sjis): Ditto.
3775
3776 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3777
3778         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3779         Don't define in UTF2000.
3780
3781         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3782         defined.
3783
3784         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3785         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3786         MULE.
3787
3788 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3789
3790         * config.h.in (CHAR_IS_UCS4): New macro.
3791
3792         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3793         conventional MULE representation.
3794         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3795
3796         * mule-charset.h: Reverted to original.
3797
3798         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3799         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3800         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3801
3802         * character.h: New file.
3803
3804         * file-coding.c (Fmake_coding_system): Set 1 to
3805         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3806         defined.
3807         (encode_coding_no_conversion): New implementation for UTF2000.
3808
3809         * file-coding.h (struct Lisp_Coding_System): Add new member
3810         `fixed.size'.
3811
3812 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3813
3814         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3815         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3816         (encode_coding_iso2022): New implementation for UTF2000.
3817
3818 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3819
3820         * mule-canna.c (c2mu): New implementation for UTF2000.
3821         (m2c): Likewise.
3822
3823 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3824
3825         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3826
3827 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3828
3829         * file-coding.c (reset_encoding_stream): Set 0 to
3830         `str->iso2022.current_char_boundary' in UTF2000.
3831         (encode_utf8): Don't define in UTF2000.
3832         (encode_coding_utf8): New implementation for UTF-8 representation
3833         of UTF2000.
3834         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3835
3836 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3837
3838         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3839
3840         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3841         UTF2000.
3842         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3843
3844         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3845
3846         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3847         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3848         as UTF-8 in UTF2000.
3849         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3850         (non_ascii_valid_char_p): Don't define in UTF2000.
3851         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3852         (Lstream_get_emchar_1): Likewise.
3853         (utf-2000-version): New variable in UTF2000.
3854
3855         * lread.c (read_escape): Add new reader `u'.
3856
3857         * insdel.c (three_to_one_table): Don't define in UTF2000.
3858         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3859         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3860         UTF2000.
3861         (bytind_to_bufpos_func): Likewise.
3862         (buffer_mule_signal_inserted_region): Likewise.
3863         (vars_of_insdel): Don't initialize `three_to_one_table'.
3864         (init_buffer_text): Use `buf->text->mule_size' instead of
3865         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3866         UTF2000.
3867
3868         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
3869         UTF-8 representation in UTF2000.
3870         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
3871         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
3872         (decode_coding_iso2022): Don't define local variable `lb' in
3873         UTF2000; don't use LEADING_BYTE in UTF2000; use
3874         `DECODE_ADD_UCS_CHAR' in UTF2000.
3875         (convert_to_external_format): Decode as UTF-8 in UTF2000.
3876
3877         * config.h.in (UTF2000): New macro.
3878
3879         * buffer.h (struct buffer_text): Add new member `mule_size' and
3880         don't add `mule_shifter' and `mule_three_p' in UTF2000.
3881         (valid_char_p): Return always 1 in UTF2000.
3882         (MAX_EMCHAR_LEN): 6 in UTF2000.
3883         (three_to_one_table): Don't define in UTF2000.
3884         (real_bufpos_to_bytind): Modify for UTF-8 representation in
3885         UTF2000.
3886         (real_bytind_to_bufpos): Likewise.
3887
3888         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
3889
3890 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3891
3892         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
3893         representation change.
3894         (Vutf_2000_version): New variable.
3895         (leading_code_private_11): New variable.
3896         (syms_of_mule_charset): Add new variables `utf-2000-version' and
3897         `leading-code-private-11'.
3898
3899         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
3900         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
3901         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
3902         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
3903         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
3904         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
3905         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
3906         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
3907         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
3908         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
3909         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
3910         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
3911         (MIN_CHAR_GREEK): New macro.
3912         (MAX_CHAR_GREEK): New macro.
3913         (MIN_CHAR_CYRILLIC): New macro.
3914         (MAX_CHAR_CYRILLIC): New macro.
3915         (MIN_CHAR_HEBREW): New macro.
3916         (MAX_CHAR_HEBREW): New macro.
3917         (MIN_CHAR_THAI): New macro.
3918         (MAX_CHAR_THAI): New macro.
3919         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
3920         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
3921         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
3922         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
3923         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
3924         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
3925         (CHAR_FIELD2): New inline function.
3926         (CHAR_FIELD3): New inline function.
3927         (MULE_CHAR_PRIVATE_OFFSET): New macro.
3928         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
3929         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
3930         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
3931         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
3932         (MIN_CHAR_COMPOSITION): Likewise.
3933         (CHAR_LEADING_BYTE): Modified for character representation change.
3934         (MAKE_CHAR): Likewise.
3935
3936         * lisp.h (Vcharset_latin_iso8859_1): New variable.
3937         (Vcharset_greek_iso8859_7): Likewise.
3938         (Vcharset_cyrillic_iso8859_5): Likewise.
3939         (Vcharset_hebrew_iso8859_8): Likewise.
3940         (Vcharset_thai_tis620): Likewise.
3941         (Vcharset_katakana_jisx0201): Likewise.
3942
3943 2001-02-08  Martin Buchholz <martin@xemacs.org>
3944
3945         * XEmacs 21.2.44 "Thalia" is released.
3946
3947 2001-02-06  Martin Buchholz  <martin@xemacs.org>
3948
3949         Fixes crashes in kill-emacs on some systems.
3950         * process-unix.c (unix_kill_child_process):
3951         It's OK for kill() to fail with ESRCH.
3952
3953 2001-02-07  Martin Buchholz  <martin@xemacs.org>
3954
3955         Contortions to make .gdbinit tricks work on most systems.
3956         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
3957         * alloc.c (dbg_valmask): Make non-const.
3958         * alloc.c (dbg_typemask): Make non-const.
3959         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
3960         * alloc.c (dbg_valbits): Make non-const.
3961         * alloc.c (dbg_gctypebits): Make non-const.
3962         * .gdbinit (decode_object): Make it work with AIX cc.
3963
3964 2001-02-06  Martin Buchholz  <martin@xemacs.org>
3965
3966         * elhash.c (make_general_lisp_hash_table):
3967         Use simpler and more efficient calloc to clear entries.
3968
3969 2001-02-07  Martin Buchholz  <martin@xemacs.org>
3970
3971         * window.c (window_scroll): Work around an AIX C compiler bug.
3972         Fixes 'scroll-up' does nothing problem with xlC.
3973
3974 2001-02-05  Martin Buchholz  <martin@xemacs.org>
3975
3976         * .gdbinit: Remove obsolete comment.
3977
3978 2001-01-31  Mike Alexander  <mta@arbortext.com>
3979
3980         * select.c (Fown_selection_internal): Set owned_p for device
3981         method correctly.
3982
3983 2001-02-01  Martin Buchholz  <martin@xemacs.org>
3984
3985         Port to g++ 2.97.
3986         "not" cannot be used as a macro name as it is an operator in C++
3987         * config.h.in: Stop #defining `not'.
3988         * chartab.c (check_category_char): not ==> not_p
3989         * chartab.h: Likewise.
3990         * regex.c (re_match_2_internal): Likewise.
3991
3992 2001-02-02  Martin Buchholz  <martin@xemacs.org>
3993
3994         * lisp-disunion.h: Fix up comments.
3995
3996 2001-01-31  Martin Buchholz  <martin@xemacs.org>
3997
3998         * keymap.c (define_key_check_and_coerce_keysym):
3999         (syms_of_keymap):
4000         Support mouse-6 and mouse-7 bindings in the obvious way.
4001
4002 2001-02-01  Martin Buchholz  <martin@xemacs.org>
4003
4004         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
4005
4006 2001-01-30  Martin Buchholz  <martin@xemacs.org>
4007
4008         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
4009         Previous patch missed DEFVAR_INT_MAGIC.
4010         Make sure future DEFVAR_foo use correct types.
4011         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
4012         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
4013         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
4014         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
4015         * (DEFVAR_INT): Likewise.
4016         * redisplay.c (vertical_clip): Should be of type Fixnum.
4017         * redisplay.c (horizontal_clip): Likewise.
4018         * lisp.h (dump_add_opaque_int): New.
4019         (dump_add_opaque_fixnum): New.
4020
4021 2001-01-29  Andy Piper  <andy@xemacs.org>
4022
4023         * glyphs-widget.c (check_valid_int_or_function): allow symbols
4024         since they can be eval'ed
4025
4026 2001-01-29  Martin Buchholz  <martin@xemacs.org>
4027
4028         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
4029         Oops, XEmacs redefines `class'.  Use `typename' instead.
4030
4031 2001-01-28  Martin Buchholz  <martin@xemacs.org>
4032
4033         * dumper.c: Fix C++ compile errors.
4034
4035 2001-01-29  Martin Buchholz  <martin@xemacs.org>
4036
4037         * tparam.c: Use correct prototypes.
4038
4039 2001-01-28  Martin Buchholz  <martin@xemacs.org>
4040
4041         * sysproc.h: #include util.h for NetBSD's openpty.
4042
4043 2001-01-27  Martin Buchholz  <martin@xemacs.org>
4044
4045         More 64-bit correctness.
4046         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
4047         Use a typedef `fixnum' for the type used for DEFVAR_INT.
4048         Fix up comments.
4049         This finally finishes the 64-bit SGI port.
4050         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
4051         * symbols.c: Fix up comments and type casts.
4052         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
4053         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
4054         * symeval.h (Fixnum): New type.
4055         * symeval.h (symbol_value_type): Fix up comment.
4056
4057         * commands.h:
4058         * nt.c:
4059         * emacs.c:
4060         * data.c:
4061         * redisplay.c:
4062         * abbrev.c:
4063         * dired-msw.c:
4064         * event-Xt.c:
4065         * eldap.c:
4066         * window.c:
4067         * sound.c:
4068         * event-stream.c:
4069         * eval.c:
4070         * buffer.c:
4071         * mule-canna.c: A million DEFVAR_INTs here...
4072         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
4073         * extents.c:
4074         * cmdloop.c:
4075         * lisp.h:
4076         * select-x.c:
4077         * console-x.h:
4078         * event-msw.c:
4079         * mule-wnnfns.c:
4080         * hpplay.c:
4081         * ralloc.c:
4082         * alloc.c:
4083         * keymap.c:
4084         * profile.c:
4085         s/int/Fixnum/g in DEFVAR_INT declarations.
4086
4087 2001-01-26  Martin Buchholz  <martin@xemacs.org>
4088
4089         Port pdump to SGI alignment-sensitive environment.
4090         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
4091         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
4092         properly aligned.
4093         Define and use aligned reading and writing macros.
4094         Use buffered stdio instead of posix i/o for faster dumping.
4095         Eliminate kludgy 256 byte space for header.
4096         Read and write from dump file using structs for alignment safety.
4097         * dumper.c (pdump_align_stream): New.
4098         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
4099         * dumper.c (PDUMP_READ_ALIGNED): New.
4100         * dumper.c (PDUMP_WRITE_ALIGNED): New.
4101         * dumper.c (pdump_static_Lisp_Object): New struct.
4102         * dumper.c (pdump_static_pointer): New struct.
4103         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
4104         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
4105         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
4106         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
4107
4108         * dumper.c (pdump_backtrace):
4109         * dumper.c (pdump_get_indirect_count):
4110         * dumper.c (pdump_register_object):
4111         * dumper.c (pdump_register_struct):
4112         * dumper.c (pdump_reloc_one):
4113         * dumper.c (pdump_scan_by_alignment):
4114         * dumper.c (pdump_dump_from_root_struct_ptrs):
4115         * dumper.c (pdump_dump_opaques):
4116         * dumper.c (pdump_dump_rtables):
4117         * dumper.c (pdump_dump_from_root_objects):
4118         * dumper.c (pdump):
4119         * dumper.c (pdump_load_finish):
4120         Use aligned reading and writing.
4121
4122         * dumper.c (pdump_free): Make static.
4123         * dumper.c (pdump_hFile): Likewise.
4124         * dumper.c (pdump_hMap): Likewise.
4125
4126 2001-01-26  Martin Buchholz <martin@xemacs.org>
4127
4128         * XEmacs 21.2.43 "Terspichore" is released.
4129
4130 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4131
4132         Type fiddling for window_config.saved_windows_count
4133         * window.c (struct window_config): 
4134         Make saved_windows_count member unsigned.
4135         * window.c (sizeof_window_config_for_n_windows): 
4136         Make parameter unsigned.
4137         * window.c (mark_window_config):
4138         * window.c (window_config_equal):
4139         * window.c (free_window_configuration):
4140         * window.c (Fset_window_configuration):
4141         * window.c (count_windows):
4142         * window.c (Fcurrent_window_configuration):
4143         * window.c (reinit_vars_of_window):
4144         Update all callers and users.
4145
4146 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4147
4148         Alignment correctness for flexible arrays.
4149         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
4150         Make alignment-correct. Add interesting comments.
4151         * alloc.c (size_vector):
4152         * alloc.c (make_vector_internal):
4153         * alloc.c (make_bit_vector_internal):
4154         * alloc.c (sweep_bit_vectors_1):
4155         * fns.c (size_bit_vector):
4156         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
4157         * window.c (sizeof_window_config_for_n_windows): 
4158         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
4159
4160 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4161
4162         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
4163
4164 2001-01-23  Andy Piper  <andy@xemacs.org>
4165
4166         * select.c (Fown_selection_internal): pass owned_p
4167
4168         * select-msw.c (mswindows_own_selection): New Signature.
4169
4170         * console.h (struct console_methods): add owned_p to
4171         _own_selection.
4172
4173         * select-x.c (x_own_selection): pass owned_p
4174         (hack_motif_clipboard_selection): use owned_p
4175         (vars_of_select_x): new variable -
4176         x_selection_strict_motif_ownership.
4177
4178 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4179
4180         * specifier.h (specifier_data_offset): Remove pointless parens.
4181         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
4182
4183 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4184
4185         Make Lisp_Object sizeof methods be alignment-correct.
4186         pdump must restore objects to the same alignment as the C compiler
4187         assumes.  It really matters on SGIs.
4188         * lstream.c (aligned_sizeof_lstream): New.
4189         (sizeof_lstream): Use aligned_sizeof_lstream.
4190         (Lstream_new): Likewise.
4191         * opaque.c (aligned_sizeof_opaque): New.
4192         (sizeof_opaque): Use aligned_sizeof_opaque.
4193         (make_opaque): Likewise.
4194         * specifier.c (aligned_sizeof_specifier): New.
4195         (sizeof_specifier): Use aligned_sizeof_specifier.
4196         (make_specifier_internal): Likewise.
4197
4198 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4199
4200         * lstream.h (struct lstream): Use max_align_t for trailing data.
4201         * specifier.h (struct Lisp_Specifier): Likewise.
4202
4203 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4204
4205         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
4206         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
4207         (CCL_SUSPEND): Likewise.
4208         (CCL_INVALID_CMD): Likewise.
4209         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
4210         (ccl_driver): Likewise.
4211         (CCL_WRITE_CHAR): Macro hygiene.
4212         (CCL_WRITE_STRING): Macro hygiene.
4213
4214 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4215
4216         Port "portable" dumper to SunOS 4 and HP-UX.
4217         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
4218         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
4219         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
4220
4221 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4222
4223         * lisp.h (ALIGNOF): A better definition for C++.
4224
4225 2001-01-20  Martin Buchholz  <martin@xemacs.org>
4226
4227         Macro hygiene.
4228         Fix printf warnings: int format, long int arg.
4229         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
4230         (PUSH_FAILURE_POINT): Use correct printf formats.
4231         (POP_FAILURE_POINT): Use correct printf formats.  
4232         Use do {...} while (0)
4233
4234 2001-01-20  Martin Buchholz <martin@xemacs.org>
4235
4236         * XEmacs 21.2.42 "Poseidon" is released.
4237
4238 2001-01-20  Martin Buchholz  <martin@xemacs.org>
4239
4240         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
4241
4242 2001-01-19  Martin Buchholz  <martin@xemacs.org>
4243
4244         De-kludgify FIXED_TYPE free list frobbing.
4245         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
4246         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
4247         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
4248         * alloc.c (Lisp_Free): New pseudo lisp object definition.
4249         * alloc.c (LRECORD_FREE_P): New.
4250         * alloc.c (MARK_LRECORD_AS_FREE): New.
4251         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
4252         * alloc.c (STRUCT_FREE_P): Deleted.
4253         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
4254         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
4255         * alloc.c (STRING_CHARS_FREE_P): New.
4256         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
4257         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
4258         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
4259         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
4260         * alloc.c (resize_string): Use new definitions.
4261         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
4262         * alloc.c (verify_string_chars_integrity): Use new definitions.
4263         * alloc.c (compact_string_chars): Use new definitions.
4264         * alloc.c: Update monster comments.
4265         * lrecord.h (lrecord_type): Add some new lrecord types for
4266         alloc.c's use.
4267
4268 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4269
4270         Improve alignment hackery.
4271         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
4272         (max_align_t): Moved from opaque.h - general purpose.
4273         (ALIGN_PTR): Use size_t, not long.
4274         * opaque.h (max_align_t): Move to lisp.h.
4275
4276 2001-01-18  Norbert Koch  <nk@LF.net>
4277
4278         * gui.h: Fix and add prototypes to fix build problems.
4279
4280 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4281
4282         temacs is going away, so `dump-temacs' is now a bad name.
4283         * .dbxrc (dump-temacs): Rename to `dmp'.
4284         * .gdbinit (dump-temacs): Rename to `dmp'.
4285
4286 2001-01-17  Andy Piper  <andy@xemacs.org>
4287
4288         * glyphs.c (print_image_instance): comment to make martin happy.
4289
4290         * glyphs-x.c (x_redisplay_widget): update faces after a frame
4291         change.
4292
4293         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
4294         activation.
4295         (mswindows_tab_control_redisplay): warning suppression.
4296
4297         * glyphs-widget.c (widget_update): re-write to cope with updated
4298         items.
4299         (widget_instantiate): use new gui_item functions.
4300         (tab_control_update): deleted.
4301         (progress_gauge_update): deleted.
4302         (image_instantiator_progress_guage): take out update reference.
4303         (image_instantiator_tree_view): ditto.
4304         (image_instantiator_tab_control): ditto.
4305
4306         * gui.c (widget_gui_parse_item_keywords): new function. Do things
4307         Right the new way.
4308         (gui_item_add_keyval_pair): re-write to cope with descriptors and
4309         return whether anything was changed.
4310         (update_gui_item_keywords): as it sounds.
4311
4312         * gui.h: declare widget_gui_parse_item_keywords.
4313
4314         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
4315         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
4316
4317 2001-01-17  Martin Buchholz <martin@xemacs.org>
4318
4319         * XEmacs 21.2.41 "Polyhymnia" is released.
4320
4321 2001-01-16  Didier Verna  <didier@xemacs.org>
4322
4323         * glyphs.c (image_instantiate): don't use fallbacks when
4324         instantiating a face's background pixmap by inheritance.
4325
4326 2001-01-14  Mike Sperber <mike@xemacs.org>
4327
4328         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
4329         Conditionalize accordingly.
4330
4331 2001-01-16  Martin Buchholz  <martin@xemacs.org>
4332
4333         * dumper.c (pdump_file_get): Fix a compiler warning.
4334
4335 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4336
4337         Make Purify happy when pdumping.
4338         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
4339         iniitalizing all bits of new lisp object memory.
4340         * symbols.c (Fmake_local_variable): Likewise.
4341         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
4342         * symbols.c (Fdefvaralias): Likewise.
4343         * mule-charset.c (vars_of_mule_charset): Likewise.
4344
4345 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4346         Add the `-nd' flag when running pre-dump operations under the debugger.
4347         * .dbxrc (run-temacs): Add `-nd'.
4348         * .dbxrc (update-elc): Likewise.
4349         * .dbxrc (dump-temacs): Likewise.
4350         * .gdbinit (run-temacs): Likewise.
4351         * .gdbinit (check-temacs): Likewise.
4352         * .gdbinit (update-elc): Likewise.
4353         * .gdbinit (dump-temacs): Likewise.
4354
4355 2001-01-14  Martin Buchholz  <martin@xemacs.org>
4356
4357         Allow building 64-bit executables on AIX with GNU malloc, e.g.
4358         export OBJECT_MODE=64
4359         configure --pdump --use-union-type=no
4360         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
4361         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
4362
4363         * miscplay.c (sndcnv8U_2mono):
4364         Avoid two uses of `++' in the same expression.
4365         Suppresses a GCC warning.
4366
4367 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4368
4369         Make sure future compilers don't miscompile alloc.c.
4370         * alloc.c:
4371         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
4372         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
4373
4374 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4375
4376         * dumper.c: A little post-pdump-rename comment fixup.
4377
4378 2001-01-09  Jerry James  <james@eecs.ku.edu>
4379
4380         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
4381
4382 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4383
4384         * *.[ch]: Globally rename symbols using the following `pdump-rename'
4385         script:
4386         #!/bin/sh
4387         replace_symbol () {
4388           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
4389         }
4390
4391         replace_symbol pdump_wire_lists pdump_weak_object_chains
4392         replace_symbol pdump_wire_list dump_add_weak_object_chain
4393
4394         replace_symbol pdump_wires pdump_root_objects
4395         replace_symbol pdump_wire dump_add_root_object
4396
4397         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
4398         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
4399
4400         replace_symbol dumpstructinfos pdump_root_struct_ptrs
4401         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
4402         replace_symbol dumpstructinfo pdump_root_struct_ptr
4403         replace_symbol dumpstruct dump_add_root_struct_ptr
4404
4405         replace_symbol dumpopaque dump_add_opaque
4406         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
4407         replace_symbol dumpopaqueinfos pdump_opaques
4408         replace_symbol dumpopaqueinfo pdump_opaque
4409
4410         replace_symbol nb_structdump nb_root_struct_ptrs
4411         replace_symbol nb_opaquedump nb_opaques
4412
4413         replace_symbol align_table pdump_align_table
4414         replace_symbol dump_header pdump_header
4415
4416         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
4417         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
4418
4419
4420 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4421
4422         * s/aix4.h: Keep the C for AIX compiler from overaggressively
4423         optimizing bytecount_to_charcount().
4424
4425 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4426
4427         * config.h.in:
4428         (HAVE_DLFCN_H): Removed.
4429         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
4430
4431 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4432
4433         Portable dumper maintainability improvements.
4434         * alloc.c (staticpro):
4435         * alloc.c (staticpro_nodump):
4436         * alloc.c (garbage_collect_1):
4437         * alloc.c (reinit_alloc_once_early):
4438         * alloc.c (init_alloc_once_early):
4439         * alloc.c: Move dumper functions to alloc.c.
4440         * dumper.c (pdump_backtrace):
4441         * dumper.c (pdump_dump_structs):
4442         * dumper.c (pdump_dump_opaques):
4443         * dumper.c (pdump_dump_rtables):
4444         * dumper.c (pdump_dump_wired):
4445         * dumper.c (pdump):
4446         * dumper.c (pdump_load_check):
4447         * dumper.c (pdump_load_finish):
4448         * dumper.c (pdump_file_unmap):
4449         * dumper.c (pdump_file_get):
4450         * dumper.c (pdump_resource_free):
4451         * dumper.c (pdump_resource_get):
4452         * dumper.c (pdump_file_free):
4453         * dumper.c (pdump_file_try):
4454         * dumper.c (pdump_load):
4455         Remove fixed size limits on staticpro(), staticpro_nodump(),
4456         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
4457         Remove custom code for dumping lrecord_implementations_table - use
4458         dumpopaque instead.
4459         Remove (most of the) custom code for dumping staticpros - dump it
4460         like any other dynarr.
4461
4462         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
4463         * dumper.c: Moved functions from alloc.c.
4464         * alloc.c (dumpstruct): Moved to dumper.c.
4465         * alloc.c (dumpopaque): Likewise.
4466         * alloc.c (pdump_wire): Likewise.
4467         * alloc.c (pdump_wire_list): Likewise.
4468
4469         * lisp.h (Dynarr_sizeof): New.
4470         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
4471         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
4472         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
4473
4474         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
4475         * lisp.h (dumpopaque): ditto.
4476         * lisp.h (pdump_wire): ditto.
4477         * lisp.h (pdump_wire_list): ditto.
4478
4479 2001-01-09  Martin Buchholz  <martin@xemacs.org>
4480
4481         * make-src-depend (PrintPatternDeps):
4482         Use `sort' to make output independent of perl version.
4483
4484 2001-01-08  Martin Buchholz  <martin@xemacs.org>
4485
4486         Port to Netbsd 1.5.
4487         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
4488         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
4489
4490 2001-01-03  Didier Verna  <didier@xemacs.org>
4491
4492         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
4493         that `focus_frame' is alive before thinking of calling
4494         `redisplay_redraw_cursor' on it.
4495
4496 2001-01-08  Martin Buchholz <martin@xemacs.org>
4497
4498         * XEmacs 21.2.40 is released.
4499
4500 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4501
4502         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
4503
4504 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4505
4506         * alloc.c (dbg_valmask): Make const.
4507         * alloc.c (dbg_typemask): Make const.
4508         * alloc.c (dbg_USE_UNION_TYPE): Make const.
4509         * alloc.c (dbg_valbits): Make const.
4510         * alloc.c (dbg_gctypebits): Make const.
4511
4512 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
4513
4514         * redisplay-x.c (x_bevel_area):
4515         redisplay.h (struct rune):
4516         Typo fixes in comments.
4517
4518 2001-01-05  Andy Piper  <andy@xemacs.org>
4519
4520         * glyphs-x.c (x_redisplay_widget): use size changed for offset
4521         adjustment.
4522
4523         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
4524
4525 2001-01-05  Martin Buchholz  <martin@xemacs.org>
4526
4527         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
4528
4529         * mule-ccl.c (stack_idx_of_map_multiple):
4530         Non const global data must not be initialized!
4531         Found by MIYASHITA Hisashi.
4532
4533 2001-01-02  Andy Piper  <andy@xemacs.org>
4534
4535         * frame.c (change_frame_size): make sure frame size is always
4536         marked as changed.
4537
4538         * glyphs.c (image_instance_layout): minor code reuse.
4539
4540         * window.c (Fcurrent_window_configuration): revert previous
4541         change.
4542
4543 2001-01-02  Martin Buchholz  <martin@xemacs.org>
4544
4545         * glyphs.h:
4546         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
4547
4548 2000-12-31  Andy Piper  <andy@xemacs.org>
4549
4550         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
4551         when widget gets unmapped.
4552
4553         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
4554         function. Make sure widgets losing focus don't just drop it.
4555         (handle_focus_event_1): record the widget with focus.
4556
4557 2000-12-31  Andy Piper  <andy@xemacs.org>
4558
4559         * window.c (allocate_window): use
4560         make_image_instance_cache_hash_table.
4561         (make_dummy_parent): ditto.
4562         (Fset_window_configuration): ditto.
4563
4564         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
4565
4566         * glyphs.c (process_image_string_instantiator): use
4567         INSTANTIATOR_TYPE.
4568         (get_image_instantiator_governing_domain): ditto.
4569         (normalize_image_instantiator): ditto.
4570         (instantiate_image_instantiator): ditto.
4571         (make_image_instance_1): ditto.
4572         (image_instantiate): ditto. Key on glyph *and* instantiator type.
4573         (instantiator_eq_equal): new function for use with instance hash
4574         tables.
4575         (instantiator_eq_hash): ditto.
4576         (make_image_instance_cache_hash_table): create a suitable hash
4577         table for storing image instances.
4578
4579         * elhash.h (hash_table_weakness): new internal weakness type
4580         HASH_TABLE_KEY_CAR_VALUE_WEAK.
4581         declare new functions.
4582
4583         * elhash.c (finish_marking_weak_hash_tables): introduce yet
4584         another weakness type for glyphs.
4585         (make_standard_lisp_hash_table): new function split out from
4586         make_general_lisp_hash_table.
4587         (make_lisp_hash_table): call make_standard_lisp_hash_table.
4588         (hash_table_instantiate): ditto.
4589         (Fmake_hash_table): ditto.
4590
4591 2000-12-31  Martin Buchholz <martin@xemacs.org>
4592
4593         * XEmacs 21.2.39 is released.
4594
4595 2000-12-29  Andy Piper  <andy@xemacs.org>
4596
4597         * menubar.c (menubar_visible_p_changed): signal the frame changed.
4598
4599         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
4600         the frame has changed so that we pick up geometry changes such as
4601         menubar visibility.
4602
4603 2000-12-28  Andy Piper  <andy@xemacs.org>
4604
4605         * lastfile.c (my_ebss): make a char array so we can pad the
4606         bss. Fixes cygwin unexec.
4607
4608         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
4609
4610 2000-12-26  Andy Piper  <andy@xemacs.org>
4611
4612         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
4613         comments and try and be more precise about a non-/SIGIO world.
4614         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
4615         SIGIO.
4616
4617         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
4618         we don't normalize to zero width or height.
4619
4620 2000-12-24  Andy Piper  <andy@xemacs.org>
4621
4622         * Makefile.in.in (ldflags): add -mwindows when appropriate.
4623
4624 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
4625
4626         * s/sco5.h: SCO 5 has pty support.
4627
4628 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
4629
4630         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
4631         input-method-xlib.c contains whole contents of input-method-xfs.c,
4632         so we can use input-method-xlib.c's code for USE_XFONTSET
4633         using #ifdefs.
4634         * input-method-xfs.c: removed.
4635
4636 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
4637
4638         * file-coding.h (enum coding_category_type): reorder enumerators to
4639         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
4640         (now one greater than largest real coding_category_type enumerator).
4641         * file-coding.c (coding_category_symbol, coding_category_by_priority,
4642         coding_category_system, fcd_descriptihon_1, decode_coding_category,
4643         Fcoding_category_list, Fset_coding_priority_list,
4644         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
4645         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
4646
4647 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4648
4649         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
4650         * redisplay-output.c (redisplay_output_window): Clear top of window
4651         when face is changed.
4652         * redisplay-x.c (x_redraw_exposed_window): Call
4653         redisplay_clear_top_of_window.
4654         * redisplay.h: Publish redisplay_clear_top_of_window.
4655
4656 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4657
4658         * buffer.c (Fkill_buffer): Map over all devices.
4659         * window.c (window_loop): Remove UNSHOW_BUFFER code.
4660         (list_windows): New function.
4661         (list_all_windows): Ditto.
4662         (Freplace_buffer_in_windows): Use them.
4663
4664 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4665
4666         * database.c (berkdb_subtype): Recognize new subtype `queue'.
4667         (Fopen_database): Use `db_create' instead of `db_open'.
4668         (syms_of_database): Initialize Qqueue.
4669
4670 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4671
4672         * buffer.c (common_init_complex_vars_of_buffer): Initialize
4673         buffer_local_face_property.
4674         * buffer.h (struct buffer): New member buffer_local_face_property.
4675         * window.c (Fset_window_buffer):  Mark window's face as changed
4676         when buffer has buffer local face.
4677         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
4678         * objects.c (color_after_change): Set buffer_local_face_property
4679         when locale of face specifier is buffer.
4680         * objects.c (font_after_change): Ditto.
4681         * objects.c (face_boolean_after_change): Ditto.
4682         * glyphs.c (image_after_change): Ditto.
4683
4684 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4685
4686         * nt.c (mswindows_fstat): Report file permissions, volume serial
4687         number, etc. Code adapted from FSF Emacs 20.7.
4688
4689 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4690
4691         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
4692         of stat when we don't have symbolic links, to make sure
4693         mswindows_stat is called on mswindows.
4694
4695 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
4696
4697         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
4698
4699 2000-12-12  Martin Buchholz  <martin@xemacs.org>
4700
4701         * doprnt.c (emacs_doprnt_1): More printing fixes.
4702         Make printing of numbers compatible with libc and FSF Emacs.
4703         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
4704         Use the system printf to do most of the hard work of formatting,
4705         instead of doprnt_1().
4706         Calculate memory to allocate for format string.
4707         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
4708         (doprnt_1): Cleaner code and documentation.
4709
4710 2000-12-01  Jerry James  <james@eecs.ukans.edu>
4711
4712         * Makefile.in.in: Use the loop variable to install headers.
4713
4714 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4715
4716         * window.c (Fsplit_window): Don't invalidate face cache.
4717
4718 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4719
4720         * minibuf.c (Fall_completions): Undo the previous change
4721         which removed checking elements start with space.
4722
4723 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4724
4725         * mule-canna.c: Didier suppression.
4726
4727 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4728
4729         * mule-canna.c: rename static unsigned char buf[] to key_buffer
4730         (warning suppression).  Add English comment translations.
4731
4732 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4733
4734         * unexelfsgi.c (unexec): Better test for mmap failure.
4735
4736 2000-12-05  Martin Buchholz <martin@xemacs.org>
4737
4738         * XEmacs 21.2.38 is released.
4739
4740 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4741
4742         * redisplay.c (bar-cursor): Make a user variable.
4743
4744         * symsinit.h: Add init_postgresql_from_environment.
4745
4746 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4747
4748         * regex.c: Convert to clean C.
4749
4750 2000-12-05  Dan Holmsand  <dan@eyebee.com>
4751
4752         * realpath.c:
4753         Don't #include sysfile.h. Revert to duplicating PATH_MAX
4754         initialization.
4755         (sys_readlink): renamed to system_readlink to avoid conflict with
4756         the other sys_readlink.
4757
4758 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
4759
4760         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
4761
4762 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
4763
4764         * postgresql.c (init_postgresql_from_environment): new function.
4765         (vars_of_postgresql): Move code initializing Lisp variables out and
4766         into init_postgresql_from_environment.
4767         emacs.c (main_1): Call init_postgresql_from_environment if and only
4768         if running a dumped XEmacs.
4769
4770 2000-08-31  Dan Holmsand  <dan@eyebee.com>
4771
4772         * buffer.c: Make find-file-compare-truenames default to true on
4773         windows.
4774
4775         * realpath.c (win32_abs_start):
4776         (cygwin_readlink):
4777         (win32_readlink): New functions.
4778         (xrealpath): Return really real filenames on windows.
4779
4780         * fileio.c (Ffile_truename): Make file-truename work on windows.
4781
4782 2000-11-29  Didier Verna  <didier@xemacs.org>
4783
4784         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
4785         * faces.c (update_face_cachel_data): use it.
4786         * faces.c (add_face_cachel): use it. Complete background pixmap
4787         frobbing in face cache if `update_face_cachel_data' has not done so.
4788
4789 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
4790
4791         * search.c (string_match_1): Don't set last_thing_searched
4792         when search failed.
4793
4794 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
4795
4796         * buffer.c: Include casetab.h
4797         (common_init_complex_vars_of_buffer): Use new case-table object.
4798         * buffer.h: Include casetab.h
4799         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
4800         (DOWNCASE_TABLE_OF): Ditto.
4801         * bufslots.h: Remove char-tables and add case-table.
4802         * casetab.c: Include casetab.h
4803         (CASE_TABLE_P): Removed.
4804         (mark_case_table): New function.
4805         (allocate_case_table): New function.
4806         (Fcase_table_p): Use new case-table.
4807         (case_table_char): New function.
4808         (Fget_case_table): Ditto.
4809         (Fput_case_table): Ditto.
4810         (Fput_case_table_pair): Ditto.
4811         (Fcopy_case_table): Ditto.
4812         (Fcurrent_case_table): Return case-table.
4813         (Fstandard_case_table): Return case-table.
4814         (Fset_case_table): Fix doc-string.
4815         (set_case_table): Use case-table
4816         (syms_of_casetab): DEFSUBR new functions.
4817         (complex_vars_of_casetab): Set up standard case-table.
4818         * casetab.h: New file.
4819         * editfns.c: Include casetab.h
4820         (Fcompare_buffer_substrings): Use case-table.
4821         * inline.c: Include casetab.h
4822         * lisp.h: Remove bogus extern.
4823         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
4824         * search.c: Include casetab.h
4825         (TRANSLATE_ASCII): Removed.
4826         (TRANSLATE): Unconditionally translate character.
4827         (looking_at_1): Use case-table.
4828         (string_match_1): Ditto.
4829         (fast_string_match): Ditto.
4830         (search_command): Ditto.
4831         (search_buffer): Separate boyer_moore.  Check whether
4832         boyer_moore is possible.
4833         (simple_search): New function.
4834         (boyer_moore): Separated from search_buffer. Translate char.
4835
4836 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
4837
4838         * regex.c (RE_TR_ASCII): Removed.
4839         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
4840         (PATFETCH): Call PATFETCH_RAW.
4841         (PATFETCH_RAW): Fetch Emchar.
4842         (PATUNFETCH): Decrement charptr.
4843         (GET_BUFFER_SPACE): Rename b to buf_end.
4844         (BUF_PUSH): Ditto.
4845         (BUF_PUSH_2): Ditto.
4846         (BUF_PUSH_3): Ditto.
4847         (EXTEND_BUFFER): Ditto.
4848         (SET_LIST_BIT): Ditto.
4849         (regex_compile): Ditto.  Translate non ASCII char.
4850         (compile_range): Ditto.
4851         (re_search_2): Ditto.
4852         (re_match_2_internal): Compare Emchar.
4853         (bcmp_translate): Ditto.
4854
4855 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
4856
4857         * lisp.h (basic char/int typedefs):  comment improvement.
4858
4859 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
4860
4861         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
4862         unstomp inhibit_site_lisp.  Improve comments.
4863
4864 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
4865
4866         * mule-charset.c (Fcharset_property):  improve type checking, comments.
4867
4868 2000-11-28  Andy Piper  <andy@xemacs.org>
4869
4870         * redisplay-output.c (redisplay_output_subwindow): make sure we do
4871         clipped display for windows in the gutter also.
4872         (redisplay_display_boxes_in_window_p): change semantics of return
4873         codes to be more intuitive.
4874
4875         * gutter.h: declare display_boxes_in_gutter_p.
4876
4877         * gutter.c (display_boxes_in_gutter_p): new function for
4878         redisplay.
4879
4880 2000-11-22  Andy Piper  <andy@xemacs.org>
4881
4882         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
4883         autodetect domain.
4884
4885 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
4886
4887         * callproc.c (Fold_call_process_internal):
4888         * gpm.c (Freceive_gpm_event):
4889         (tty_get_foreign_selection): Might be just warning supression.
4890         * fileio.c (Fwrite_region_internal):
4891         (Fset_visited_file_modtime):
4892         * keymap.c (event_matches_key_specifier_p):
4893         Initialize GCPROed variable.
4894
4895         * menubar-x.c (command_builder_find_menu_accelerator):
4896         Initialize before use.
4897
4898 2000-11-23  Andy Piper  <andy@xemacs.org>
4899
4900         * unexcw.c (unexec): make the resulting executable executable.
4901
4902 2000-11-21  Martin Buchholz  <martin@xemacs.org>
4903
4904         * doc.c (get_doc_string):
4905         Use size_t, not int, for result of XSTRING_LENGTH.
4906
4907         * cmds.c (Fdelete_char):
4908         * cmds.c (Fpoint_at_eol):
4909         * cmds.c (Fself_insert_command):
4910         Use EMACS_INT, not int, for result of XINT.
4911         Someday, someone will want to insert more than 2**31 identical characters.
4912
4913         * cmds.c (Fdelete_char):
4914         * cmds.c (Fdelete_backward_char):
4915         * syntax.c (Fforward_word):
4916         * syntax.c (Fforward_comment):
4917         Make COUNT argument optional, for consistency with forward-char et al.
4918
4919 2000-11-22  Martin Buchholz  <martin@xemacs.org>
4920
4921         * lisp.h:
4922         * print.c (long_to_string):
4923         Return a useful value: the pointer at end of data written.
4924
4925         * doprnt.c:
4926         Use `static const char * const' for constant strings.
4927         (union printf_arg): Delete `i', `ui' members.
4928         (get_doprnt_args):
4929         (emacs_doprnt_1):
4930         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
4931         Do all printf-ing via the `l' specifier.
4932         Use EMACS_INT instead of int.
4933         Optimize.
4934
4935 2000-11-20  Didier Verna  <didier@xemacs.org>
4936
4937         * faces.c (update_face_cachel_data): don't frob the background
4938         pixmap when the window is being created. The face is needed but
4939         does not exist yet.
4940
4941 2000-11-20  Andy Piper  <andy@xemacs.org>
4942
4943         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
4944         messing with a debug environment.
4945
4946 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4947
4948         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
4949
4950 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4951
4952         * casetab.c (Fcase_table_p): Fix compile error and crash.
4953
4954 2000-11-18  Philip Aston  <philipa@mail.com>
4955
4956         * s/cygwin32.h: Cygwin has SVR4-like pty support.
4957
4958 2000-11-18  Martin Buchholz  <martin@xemacs.org>
4959
4960         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
4961         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
4962
4963 2000-11-17  Martin Buchholz  <martin@xemacs.org>
4964
4965         * config.h.in: Define HAVE_ELF_H if elf.h exists.
4966         * unexelf.c: Use HAVE_ELF_H.
4967         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
4968         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
4969         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
4970         Greg Harrington <greg_harrington@hotmail.com> provided a machine
4971         for testing.
4972         So this is an unexelfsgi.c from a different line of development.
4973
4974 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4975
4976         * regex.c (RE_TR_ASCII): New function.
4977         (RE_TRANSLATE): Call it.
4978
4979 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4980
4981         * buffer.h (TRT_TABLE_OF): Remove assert.
4982         (IN_TRT_TABLE_DOMAIN): Removed.
4983
4984 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
4985
4986         * free-hook.c (log_gcpro):
4987         (show_gcprohist): Add support for GCPRO5.
4988
4989 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
4990
4991         * emacs.c (main_1): Improve -sd error message when --pdump=no.
4992
4993 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
4994
4995         * symeval.h: Declare flush_all_buffer_local_cache.
4996
4997         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
4998         (flush_buffer_local_cache): Added.
4999         (flush_all_buffer_local_cache): Added.
5000
5001         * lrecord.h: Remove unused XD_LO_RESET_NIL.
5002
5003         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
5004         (pdump_dump_data): Ditto.
5005         (pdump_reloc_one): Ditto.
5006         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
5007         before dumping.
5008
5009
5010 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
5011
5012         * buffer.c: Remove if 0'ed entry.
5013         * buffer.h: Rewrite TRT to use char-table.
5014         * bufslots.h: Remove mirror tables.
5015         * casetab.c: Remove mirror tables.
5016         (CASE_TABLE_P): New macro.
5017         (Fcase_table_p): Element of a case table is string or char-table.
5018         (make_mirror_trt_table): Removed.
5019         (set_case_table): Setup char-table from strings for backward
5020         compatibility.
5021         * dired.c (Fdirectory_files):
5022         * dired-msw.c: (mswindows_get_files):
5023         * lisp.h: Change prototype of re_pattern_buffer.
5024         * regex.c: (RE_TRANSLATE): New macro.
5025         (TRANSLATE_P): Ditto.
5026         Change translate to type RE_TRANSLATE_TYPE.
5027         * regex.h: Define RE_TRANSLATE_TYPE
5028         * search.c (TRANSLATE): New macro.
5029         (TRANSLATE_ASCII): New macro.
5030         Translate table is changed to Lisp_Object.
5031         (signal_failure): Inhibit return.
5032
5033 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
5034
5035         * device-msw.c:
5036         * eldap.c:
5037         * event-Xt.c:
5038         * event-stream.c:
5039         * print.c:
5040         Do UNGCPRO before return.
5041
5042 2000-11-14  Martin Buchholz <martin@xemacs.org>
5043
5044         * XEmacs 21.2.37 is released.
5045
5046 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
5047
5048         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
5049         Add comments about discarded return value.
5050
5051 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
5052
5053         * callint.c:
5054         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
5055
5056 2000-10-27  Andy Piper  <andy@xemacs.org>
5057
5058         * gutter.c (Fset_default_gutter_position): default left and right
5059         gutters to visible.
5060         (calculate_gutter_size): calculate resonable heuristic for left
5061         and right gutter sizes.
5062         (specifier_vars_of_gutter): change left and right gutter sizes to
5063         autodetect.
5064         (calculate_gutter_size_from_display_lines): new function.
5065         (output_gutter): check for resizing on left and right gutters.
5066         (clear_gutter): don't special case top and left gutters.
5067         (specifier_vars_of_gutter): use new signature for
5068         set_specifier_caching.
5069
5070         * glyphs-x.c (x_redisplay_widget): spelling fix.
5071         * glyphs.c (specifier_vars_of_glyphs):
5072         * menubar.c (specifier_vars_of_menubar):
5073         * redisplay.c (specifier_vars_of_redisplay):
5074         * toolbar.c (specifier_vars_of_toolbar):
5075         * window.c (specifier_vars_of_window):
5076         * scrollbar.c (specifier_vars_of_scrollbar):
5077         (complex_vars_of_scrollbar): use new signature for
5078         set_specifier_caching.
5079
5080         * specifier.c (set_specifier_caching): include recompute flag.
5081         (recompute_one_cached_specifier_in_window): always recompute if
5082         flag set.
5083         (recompute_one_cached_specifier_in_frame): ditto.
5084
5085         * specifier.h (struct specifier_caching): add recompute flag.
5086
5087 2000-10-24  Andy Piper  <andy@xemacs.org>
5088
5089         * unexcw.c (copy_executable_and_dump_data_section): add new
5090         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
5091         5.0 happy.
5092
5093 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5094
5095         * console-x.h (x_device): New member modifier_release_time.
5096         * event-Xt.c (x_handle_sticky_modifiers):
5097         Bound interval modifier keys are sticky.
5098         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
5099         * events.h: extern it.
5100
5101 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5102
5103         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
5104
5105 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5106
5107         * event-stream.c (execute_command_event): Preserve current_events
5108         and the like when event is misc-user-event.
5109         Inhibit quit during the call to maybe_echo_keys.
5110
5111 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5112
5113         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
5114         symlink when buffer is killed.
5115         (inhibit_clash_detection): New variable.
5116
5117 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5118
5119         * console.c (Fset_input_method): Trigger redisplay on tty.
5120
5121 2000-11-07  Martin Buchholz  <martin@xemacs.org>
5122
5123         * process.c (Fprocess_status): Revert to previous behavior:
5124         (process-status "nosuchprocess") ==> nil
5125
5126 2000-11-06  Martin Buchholz  <martin@xemacs.org>
5127
5128         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
5129         Work around another GCC 2.95.2 optimizer bug.
5130
5131 2000-11-02  Martin Buchholz  <martin@xemacs.org>
5132
5133         * process.c (Fget_process): Use LIST_LOOP_2.
5134         (kill_buffer_processes): Use LIST_LOOP_2.
5135
5136         * minibuf.c (Fall_completions):
5137         Delete old non-functional code for FSF fourth argument.
5138
5139         * frame.c (frame_matches_frame_spec):
5140         Renamed from `frame_matches_frametype'.  Update all callers.
5141         (device_matches_device_spec):
5142         Renamed from 'device_matches_console_spec'.  Update all callers.
5143
5144         * doc.c (Fsubstitute_command_keys):
5145         Remove buffer overflow crash.  Small code cleanups.
5146
5147         * casetab.c (check_case_table): Simpler code.
5148
5149         * window.c (Freplace_buffer_in_windows):
5150         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
5151         (and similar implementation) as Fdelete_windows_on.
5152         Update all callers.
5153
5154         * alloc.c (Fmake_list):
5155         * alloc.c (make_vector):
5156         * alloc.c (Fmake_vector):
5157         * alloc.c (make_bit_vector):
5158         * alloc.c (Fmake_bit_vector):
5159         * alloc.c (Fbit_vector):
5160         * alloc.c (Fmake_string):
5161         * alloc.c (Fpurecopy):
5162         * alloc.c (Fmemory_limit):
5163         * buffer.c:
5164         * buffer.c (Fget_buffer):
5165         * buffer.c (Fkill_buffer):
5166         * buffer.c (complex_vars_of_buffer):
5167         * bytecode.c (Fcompiled_function_stack_depth):
5168         * callint.c (Fprefix_numeric_value):
5169         * event-stream.c:
5170         * event-stream.c (Fread_key_sequence):
5171         * casetab.c:
5172         * casetab.c (Fcase_table_p):
5173         * casetab.c (check_case_table):
5174         * casetab.c (Fset_case_table):
5175         * casetab.c (Fset_standard_case_table):
5176         * chartab.c:
5177         * chartab.c (Fchar_table_type):
5178         * chartab.c (Freset_char_table):
5179         * chartab.c (Fget_char_table):
5180         * chartab.c (Fget_range_char_table):
5181         * chartab.c (Fput_char_table):
5182         * chartab.c (Fmap_char_table):
5183         * chartab.c (Fcategory_table_p):
5184         * chartab.c (Fcheck_category_at):
5185         * chartab.c (Fchar_in_category_p):
5186         * chartab.c (Fcategory_table):
5187         * chartab.c (Fcopy_category_table):
5188         * chartab.c (Fset_category_table):
5189         * chartab.c (Fcategory_designator_p):
5190         * chartab.c (Fcategory_table_value_p):
5191         * cmds.c (Fdelete_char):
5192         * cmds.c (Fdelete_backward_char):
5193         * cmds.c (Fself_insert_command):
5194         * cmds.c (Fself_insert_internal):
5195         * console.c (Fvalid_console_type_p):
5196         * console.c (Fcdfw_console):
5197         * console.c (Fconsole_type):
5198         * console.c (Fconsole_name):
5199         * console.c (Fconsole_device_list):
5200         * console.c (Fconsole_on_window_system_p):
5201         * data.c:
5202         * data.c (Feq):
5203         * data.c (Fold_eq):
5204         * data.c (Fsubr_interactive):
5205         * data.c (Fchar_to_int):
5206         * data.c (Fint_to_char):
5207         * data.c (Fsetcar):
5208         * data.c (Fsetcdr):
5209         * data.c (Fnumber_to_string):
5210         * data.c (Fstring_to_number):
5211         * data.c (Frem):
5212         * database.c (mark_database):
5213         * database.c (finalize_database):
5214         * database.c (Fdatabase_live_p):
5215         * database.c (Fdatabasep):
5216         * device-x.c (Fx_get_resource):
5217         * device.c (Fdfw_device):
5218         * dired.c:
5219         * dired.c (Ffile_name_completion):
5220         * dired.c (Ffile_name_all_completions):
5221         * dired.c (Fuser_name_completion):
5222         * dired.c (Fuser_name_completion_1):
5223         * dired.c (Fuser_name_all_completions):
5224         * doc.c (Fdocumentation):
5225         * doc.c (Fdocumentation_property):
5226         * doc.c (Fsubstitute_command_keys):
5227         * editfns.c:
5228         * editfns.c (Fchar_to_string):
5229         * editfns.c (Fstring_to_char):
5230         * editfns.c (Ftemp_directory):
5231         * editfns.c (Finsert_char):
5232         * editfns.c (Fbuffer_substring_no_properties):
5233         * editfns.c (Fnarrow_to_region):
5234         * editfns.c (Fchar_equal):
5235         * editfns.c (Fchar_Equal):
5236         * editfns.c (Ftranspose_regions):
5237         * emacs.c (Fdump_emacs):
5238         * eval.c (Fthrow):
5239         * eval.c (Fcommand_execute):
5240         * eval.c (Fautoload):
5241         * eval.c (Fbacktrace):
5242         * eval.c (Fbacktrace_frame):
5243         * events.c:
5244         * events.c (Fcopy_event):
5245         * events.c (Fcharacter_to_event):
5246         * events.c (Fevent_button):
5247         * events.c (Fevent_process):
5248         * extents.c:
5249         * extents.c (Fnext_extent_change):
5250         * extents.c (Fextent_property):
5251         * faces.c (Ffacep):
5252         * faces.c (Fmake_face):
5253         * file-coding.c:
5254         * file-coding.c (Fencode_shift_jis_char):
5255         * file-coding.c (Fencode_big5_char):
5256         * fileio.c (Ffile_name_directory):
5257         * fileio.c (Ffile_name_nondirectory):
5258         * fileio.c (Ffile_name_as_directory):
5259         * fileio.c (Fdirectory_file_name):
5260         * fileio.c (Ffile_truename):
5261         * fileio.c (Fsubstitute_in_file_name):
5262         * fileio.c (Ffile_modes):
5263         * fileio.c (Fset_file_modes):
5264         * fileio.c (Fset_default_file_modes):
5265         * fileio.c (Fverify_visited_file_modtime):
5266         * floatfns.c (Facos):
5267         * floatfns.c (Fasin):
5268         * floatfns.c (Fatan):
5269         * floatfns.c (Fcos):
5270         * floatfns.c (Fsin):
5271         * floatfns.c (Ftan):
5272         * floatfns.c (Fbessel_j0):
5273         * floatfns.c (Fbessel_j1):
5274         * floatfns.c (Fbessel_jn):
5275         * floatfns.c (Fbessel_y0):
5276         * floatfns.c (Fbessel_y1):
5277         * floatfns.c (Fbessel_yn):
5278         * floatfns.c (Ferf):
5279         * floatfns.c (Ferfc):
5280         * floatfns.c (Flog_gamma):
5281         * floatfns.c (Fexp):
5282         * floatfns.c (Fexpt):
5283         * floatfns.c (Flog):
5284         * floatfns.c (Flog10):
5285         * floatfns.c (Fsqrt):
5286         * floatfns.c (Fcube_root):
5287         * floatfns.c (Facosh):
5288         * floatfns.c (Fasinh):
5289         * floatfns.c (Fatanh):
5290         * floatfns.c (Fcosh):
5291         * floatfns.c (Fsinh):
5292         * floatfns.c (Ftanh):
5293         * floatfns.c (Fabs):
5294         * floatfns.c (Ffloat):
5295         * floatfns.c (Flogb):
5296         * floatfns.c (Fceiling):
5297         * floatfns.c (Ffloor):
5298         * floatfns.c (Fround):
5299         * floatfns.c (Ftruncate):
5300         * floatfns.c (Ffceiling):
5301         * floatfns.c (Fffloor):
5302         * floatfns.c (Ffround):
5303         * floatfns.c (Fftruncate):
5304         * fns.c (Fstring_equal):
5305         * fns.c (Fstring_lessp):
5306         * fns.c (concat2):
5307         * fns.c (concat3):
5308         * fns.c (vconcat2):
5309         * fns.c (vconcat3):
5310         * fns.c (Fsubstring):
5311         * fns.c (Fassoc):
5312         * fns.c (Fold_assoc):
5313         * fns.c (assoc_no_quit):
5314         * fns.c (Fassq):
5315         * fns.c (Fold_assq):
5316         * fns.c (assq_no_quit):
5317         * fns.c (Frassoc):
5318         * fns.c (Fold_rassoc):
5319         * fns.c (Frassq):
5320         * fns.c (Fold_rassq):
5321         * fns.c (rassq_no_quit):
5322         * fns.c (Fremassoc):
5323         * fns.c (remassoc_no_quit):
5324         * fns.c (Fremassq):
5325         * fns.c (remassq_no_quit):
5326         * fns.c (Fremrassoc):
5327         * fns.c (Fremrassq):
5328         * fns.c (remrassq_no_quit):
5329         * fns.c (Fsort):
5330         * fns.c (Fplist_get):
5331         * fns.c (Fplist_put):
5332         * fns.c (Fplist_remprop):
5333         * fns.c (Fplist_member):
5334         * fns.c (Flax_plist_get):
5335         * fns.c (Flax_plist_put):
5336         * fns.c (Flax_plist_remprop):
5337         * fns.c (Flax_plist_member):
5338         * fns.c (Fequal):
5339         * fns.c (Fold_equal):
5340         * fns.c (Frequire):
5341         * fns.c (Fbase64_encode_region):
5342         * fns.c (Fbase64_encode_string):
5343         * fns.c (Fbase64_decode_region):
5344         * frame.c:
5345         * frame.c (frame_matches_frame_spec):
5346         * frame.c (device_matches_device_spec):
5347         * frame.c (next_frame):
5348         * frame.c (previous_frame):
5349         * frame.c (Fnext_frame):
5350         * frame.c (Fprevious_frame):
5351         * frame.c (Fframe_property):
5352         * frame.c (Fset_frame_height):
5353         * frame.c (Fset_frame_size):
5354         * frame.h:
5355         * glyphs.c:
5356         * glyphs.c (if):
5357         * glyphs.c (decode_error_behavior_flag):
5358         * glyphs.c (Fmake_image_instance):
5359         * indent.c (Findent_to):
5360         * intl.c (Fignore_defer_gettext):
5361         * keymap.c (Fkeymapp):
5362         * keymap.c (Flookup_key):
5363         * lread.c:
5364         * lread.c (Fload_internal):
5365         * lread.c (Feval_buffer):
5366         * lread.c (Feval_region):
5367         * macros.c (Fexecute_kbd_macro):
5368         * marker.c (set_marker_internal):
5369         * marker.c (Fset_marker):
5370         * marker.c (set_marker_restricted):
5371         * marker.c (Fcopy_marker):
5372         * marker.c (noseeum_copy_marker):
5373         * menubar.c:
5374         * menubar.c (Fpopup_menu):
5375         * minibuf.c:
5376         * mule-charset.c (Fcharset_name):
5377         * mule-charset.c (Fchar_charset):
5378         * mule-charset.c (Fchar_octet):
5379         * mule-charset.c (Fsplit_char):
5380         * mule-wnnfns.c (Fwnn_open):
5381         * mule-wnnfns.c (Fwnn_dict_comment):
5382         * mule-wnnfns.c (Fwnn_quit_henkan):
5383         * mule-wnnfns.c (Fwnn_word_toroku):
5384         * mule-wnnfns.c (Fwnn_word_sakujo):
5385         * mule-wnnfns.c (Fwnn_word_use):
5386         * mule-wnnfns.c (Fwnn_hindo_set):
5387         * objects.c:
5388         * objects.c (Fmake_color_instance):
5389         * objects.c (Fmake_font_instance):
5390         * print.c (Fwrite_char):
5391         * process.c:
5392         * process.c (mark_process):
5393         * process.c (print_process):
5394         * process.c (get_process_from_usid):
5395         * process.c (Fprocessp):
5396         * process.c (Fprocess_live_p):
5397         * process.c (Fget_process):
5398         * process.c (Fget_buffer_process):
5399         * process.c (get_process):
5400         * process.c (Fprocess_id):
5401         * process.c (Fprocess_name):
5402         * process.c (Fprocess_command):
5403         * process.c (init_process_io_handles):
5404         * process.c (start_process_unwind):
5405         * process.c (Fstart_process_internal):
5406         * process.c (Fopen_multicast_group_internal):
5407         * process.c (Fset_process_window_size):
5408         * process.c (read_process_output):
5409         * process.c (send_process):
5410         * process.c (Fprocess_tty_name):
5411         * process.c (Fset_process_buffer):
5412         * process.c (Fprocess_buffer):
5413         * process.c (Fprocess_mark):
5414         * process.c (set_process_filter):
5415         * process.c (Fset_process_filter):
5416         * process.c (Fprocess_filter):
5417         * process.c (Fprocess_send_region):
5418         * process.c (Fprocess_send_string):
5419         * process.c (exec_sentinel):
5420         * process.c (Fset_process_sentinel):
5421         * process.c (Fprocess_sentinel):
5422         * process.c (status_notify):
5423         * process.c (Fprocess_status):
5424         * process.c (Fprocess_exit_status):
5425         * process.c (process_send_signal):
5426         * process.c (Fprocess_send_eof):
5427         * process.c (deactivate_process):
5428         * process.c (remove_process):
5429         * process.c (Fdelete_process):
5430         * process.c (kill_buffer_processes):
5431         * process.c (Fprocess_kill_without_query):
5432         * process.c (Fprocess_kill_without_query_p):
5433         * rangetab.c:
5434         * rangetab.c (Fget_range_table):
5435         * rangetab.c (Fput_range_table):
5436         * rangetab.c (Fremove_range_table):
5437         * rangetab.c (Fclear_range_table):
5438         * search.c:
5439         * search.c (Fskip_chars_forward):
5440         * search.c (Fskip_chars_backward):
5441         * search.c (Fskip_syntax_forward):
5442         * search.c (Fskip_syntax_backward):
5443         * search.c (search_command):
5444         * search.c (Freplace_match):
5445         * search.c (Fregexp_quote):
5446         * select.c (Fown_selection_internal):
5447         * select.c (Fselection_owner_p):
5448         * select.c (Fselection_exists_p):
5449         * select.c (Fget_selection_internal):
5450         * specifier.c:
5451         * symbols.c:
5452         * symbols.c (Fintern):
5453         * symbols.c (Fintern_soft):
5454         * symbols.c (Funintern):
5455         * symbols.c (Fapropos_internal):
5456         * symbols.c (Fset_default):
5457         * syntax.c:
5458         * syntax.c (Fsyntax_table_p):
5459         * syntax.c (Fcopy_syntax_table):
5460         * syntax.c (Fset_syntax_table):
5461         * syntax.c (Fchar_syntax):
5462         * syntax.c (syntax_match):
5463         * syntax.c (Fmatching_paren):
5464         * syntax.c (Fforward_word):
5465         * syntax.c (scan_lists):
5466         * syntax.c (Fscan_lists):
5467         * syntax.c (Fscan_sexps):
5468         * syntax.c (Fparse_partial_sexp):
5469         * toolbar.c (Fcheck_toolbar_button_syntax):
5470         * tooltalk.doc:
5471         * window.c:
5472         * window.c (Fwindowp):
5473         * window.c (Fwindow_live_p):
5474         * window.c (Fwindow_point):
5475         * window.c (Fdelete_window):
5476         * window.c (Fnext_window):
5477         * window.c (Fprevious_window):
5478         * window.c (Fother_window):
5479         * window.c (window_loop):
5480         * window.c (Fget_lru_window):
5481         * window.c (Fsplit_window):
5482         * window.c (Fenlarge_window):
5483         * window.c (Fenlarge_window_pixels):
5484         * window.c (Fshrink_window):
5485         * window.c (Fshrink_window_pixels):
5486         * window.c (change_window_height):
5487         * window.c (Fwindow_configuration_p):
5488         * window.c (Fcurrent_window_configuration):
5489         * window.h:
5490         * casefiddle.c (casify_object):
5491         * casefiddle.c (Fupcase):
5492         * casefiddle.c (Fdowncase):
5493         * casefiddle.c (Fcapitalize):
5494         * casefiddle.c (Fupcase_initials):
5495         * casefiddle.c (casify_region_internal):
5496         * casefiddle.c (casify_region):
5497         * casefiddle.c (Fupcase_region):
5498         * casefiddle.c (Fdowncase_region):
5499         * casefiddle.c (Fcapitalize_region):
5500         * casefiddle.c (Fupcase_initials_region):
5501         * casefiddle.c (Fupcase_word):
5502         * casefiddle.c (Fdowncase_word):
5503         * casefiddle.c (Fcapitalize_word):
5504         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
5505         Replace 0 with '\0' when working with bytes.
5506         Replace initial "(" with "\(" in docstrings.
5507
5508 2000-11-01  Martin Buchholz  <martin@xemacs.org>
5509
5510         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
5511
5512         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
5513
5514 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5515
5516         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
5517
5518 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5519
5520         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
5521         correctly.
5522
5523 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5524
5525         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
5526         (inhibit_auto_save_session): New variable.
5527         (vars_of_fileio): Declare and initialize them.
5528         * fileio.c (Fdo_auto_save): Don't create session file if
5529         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
5530
5531 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5532
5533         * sgiplay.c (play_internal): C++ compilability.
5534         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
5535         * callproc.c (Fold_call_process_internal):
5536         Remove unused vars `env', `first'.
5537         * scrollbar.c (update_scrollbar_instance):
5538         #### unused var `current_window'.
5539         * redisplay-tty.c: Put currently unused vars insert_mode_on,
5540         etc. within #ifdef NOT_YET.
5541         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
5542         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
5543         * specifier.c (specifier_instance):
5544         #### unused var `tag'.
5545         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
5546
5547 2000-10-27  Martin Buchholz  <martin@xemacs.org>
5548
5549         * fns.c (Fbutlast):
5550         * fns.c (list_sort):
5551         * fns.c (Ffillarray):
5552         * fns.c (bytecode_nconc2):
5553         * fns.c (Fnconc):
5554         * fns.c (mapcar1):
5555         * fns.c (Fmapconcat):
5556         Be pedantically 64-bit correct.  For the time when someone will
5557         want to have a list with length > 2**32.
5558
5559         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
5560         Work around MIPSpro compiler bug.
5561
5562         * process-unix.c (unix_kill_child_process): Add snarky comment.
5563         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
5564
5565         * config.h.in: Oops, _getpt ==> _getpty
5566
5567 2000-10-26  Martin Buchholz  <martin@xemacs.org>
5568
5569         * config.h.in:
5570         * regex.c:
5571         Use void*, not char*, as return type of alloca().
5572
5573         * alloc.c (free_marker): Side effect inside assert expression!
5574
5575 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
5576
5577         * mule-charset.c (Fset_charset_ccl_program): To check
5578         if the given ccl program is valid, use setup_ccl_program()
5579         instead of CHECK_VECTOR().
5580         (Fmake_charset): Likewise.
5581
5582 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
5583
5584         * faces.c (get_extent_fragment_face_cache_index):
5585         Fix cachel.merged_faces memory leak.
5586
5587 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
5588
5589         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
5590         Reset MSB of octets obtained by DECODE_SJIS
5591         because of the incompatibility with Emacs.
5592         (ccl_driver)<CCL_ENCODE_SJIS>:
5593         Set MSB of octets before passing them to
5594         ENCODE_SJIS because of the incompatibility
5595         with Emacs.
5596
5597 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
5598
5599         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
5600         (DECLARE_LRECORD): Undo the last change.
5601         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
5602
5603 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
5604
5605         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
5606         the implementation to lrecord_implementations_table.
5607
5608 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
5609
5610         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
5611         initial value of `lrecord_type_##c_name' and
5612         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
5613         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
5614         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
5615         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
5616         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
5617
5618 2000-10-17  Martin Buchholz  <martin@xemacs.org>
5619
5620         * miscplay.c (sndcnv8S_2mono):
5621         (sndcnv2monounsigned):
5622         (sndcnvULaw_2linear):
5623         (sndcnv16swap):
5624         Remove implementation-defined behavior.
5625
5626 2000-10-12  Martin Buchholz  <martin@xemacs.org>
5627
5628         * input-method-xlib.c: Warning suppression.
5629
5630 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
5631
5632         * mule-ccl.c: Sync up with Emacs 21.0.90.
5633         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
5634         Do nothing.
5635         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
5636         Likewise.
5637         (ccl_driver[WriteMultibyteChar2]): Bug fix.
5638         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
5639         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
5640         leading char belongs to official 2-dimensional charset.
5641         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
5642         write the given character as is.  Otherwise,
5643         if it is a multibyte char, convert it by
5644         non_ascii_set_charptr_emchar, then write it.
5645         (CCL_WRITE_STRING): Likewise.
5646         (ccl_get_compiled_code): New function.
5647         (setup_ccl_program): When ccl_prog is invalid,
5648         return -1.
5649         (Fregister_code_conversion_map): New function.
5650         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
5651
5652         * mule-ccl.h: Sync up with Emacs 21.0.90.
5653         (Fregister_ccl_program): export it.
5654
5655         * redisplay-msw.c (separate_textual_runs):
5656         If ccl program is not valid, don't do ccl conversion.
5657
5658         * redisplay-x.c (separate_textual_runs): Ditto.
5659
5660         * file-coding.c (Fmake_coding_system):
5661         When type is ccl and value is vector, register it
5662         with a proper symbol.  And checks whether the
5663         given ccl program is valid.
5664         (mule_decode): When calling ccl_driver, if src indicates
5665         NULL pointer, set an empty string instead.
5666         (mule_encode): Likewise.
5667
5668 2000-10-11  Martin Buchholz  <martin@xemacs.org>
5669
5670         The following large batch of changes gets us back to a state of
5671         C++ compilability.  Extbyte is now a char, which means that
5672         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
5673
5674         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
5675
5676         * sound.c (Fplay_sound): Type correctness.
5677
5678         * select-x.c (hack_motif_clipboard_selection): Type correctness.
5679         (x_get_window_property): Type correctness.
5680         (receive_incremental_selection): unsigned char ==> Extbyte
5681         (selection_data_to_lisp_data): unsigned char ==> Extbyte
5682         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
5683         (Fx_store_cutbuffer_internal): Type correctness.
5684
5685         * process-unix.c (try_to_initialize_subtty): Type correctness.
5686
5687         * objects-x.c (x_print_color_instance): Type correctness.
5688         (x_print_font_instance): Type correctness.
5689         (x_list_fonts): SExtbyte ==> Extbyte.
5690         (valid_x_font_name_p): SExtbyte ==> Extbyte.
5691         (x_find_charset_font): SExtbyte ==> Extbyte.
5692         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
5693         (truename_via_XListFonts): SExtbyte ==> Extbyte.
5694         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
5695         Use bufbyte_strcmp.
5696
5697         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
5698         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
5699         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
5700         (BYTE_C0_P): Use bit ops for char-signedness safety.
5701         (BYTE_C1_P): Use bit ops for char-signedness safety.
5702         (CHARSET_BY_LEADING_BYTE):
5703         (CHARSET_BY_ATTRIBUTES):
5704         Always use inline function.
5705         Use type_checking_assert.
5706         Hide chlook.
5707
5708         * mule-charset.c (non_ascii_charptr_copy_char):
5709         Modify to work with both ASCII and non-ASCII characters.
5710         Improve docs and variable names.
5711         Replace over-clever fall-through switch with a simple loop.
5712         (Lstream_get_emchar_1):
5713         Replace over-clever fall-through switch with a simple loop.
5714
5715         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5716         Warning suppression.
5717
5718         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
5719         the return value of Lstream_getc, which could be EOF as well.
5720
5721         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
5722
5723         * lisp.h: Make Extbyte a char, not unsigned char, so that external
5724         APIs can be used on Extbytes without casts.  Risky!
5725         (SExtbyte): Remove.
5726         (UExtbyte): Remove.
5727
5728         * input-method-xlib.c (XIM_init_device):
5729         Use Xlib.h instead of IntrinsicP.h.
5730         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
5731         which will break in X11R7.
5732         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
5733         to call XRegisterIMInstantiateCallback with correct types.
5734
5735         * gui-x.c (button_item_to_widget_value): Type correctness.
5736
5737         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
5738
5739         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
5740         (xbm_instantiate_1): Type correctness.
5741         (BUILD_GLYPH_INST):  Type correctness.
5742
5743         * fileio.c (Fsubstitute_in_file_name): Type correctness.
5744
5745         * file-coding.c:
5746         (decode_coding_sjis):
5747         (decode_coding_big5):
5748         (decode_coding_ucs4):
5749         (decode_coding_utf8):
5750         (decode_coding_iso2022):
5751         (decode_coding_no_conversion):
5752         Make all decoding functions take an Extbyte * arg.
5753         (encode_coding_sjis):
5754         (encode_coding_big5):
5755         (encode_coding_ucs4):
5756         (encode_coding_utf8):
5757         (encode_coding_iso2022):
5758         (encode_coding_no_conversion):
5759         Make all encoding functions take a Bufbyte * arg.
5760         Use size_t instead of unsigned int for memory sizes.
5761         Only cast to unsigned char whenever dereferencing Extbyte *.
5762
5763         * doc.c (unparesseuxify_doc_string): Type correctness.
5764
5765         * console-x.c (split_up_display_spec):
5766         Rewrite without using details of internal string representation.
5767         (x_semi_canonicalize_device_connection): Type correctness.
5768
5769         * config.h.in:
5770         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
5771         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
5772         (HAVE_XFREE386): Removed.
5773
5774         * buffer.h (DEC_CHARPTR): `const' correctness.
5775         (bufbyte_strcmp): New.
5776         (bufbyte_memcmp): New.
5777
5778         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
5779
5780         * buffer.h (XCHAR_OR_CHAR_INT):
5781         Always use inline function.
5782         Remove redundant type checking assert() - XINT will abort quite nicely.
5783
5784 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5785
5786         * search.c (Freplace_match): Set newtext to an empty string.
5787
5788 2000-10-10  Martin Buchholz  <martin@xemacs.org>
5789
5790         * s/decosf1-3.h: Remove #include of stropts.h
5791         * s/ptx.h: Remove #include of stropts.h
5792         * s/usg5-4.h: Remove #include of stropts.h
5793         * sysproc.h:
5794         * config.h.in:
5795         Use stropts.h, not sys/stropts.h.
5796         Use strtio.h, not sys/strtio.h.
5797
5798 2000-10-04  Martin Buchholz <martin@xemacs.org>
5799
5800         * XEmacs 21.2.36 is released.
5801
5802 2000-09-21  Andy Piper  <andy@xemacs.org>
5803
5804         * glyphs-x.c (x_redisplay_widget): make sure non-structural
5805         changes still involve copying the widget tree.
5806         (update_widget_face): make sure a change is register in the widget
5807         tree. Call update_tab_widget_face appropriately.
5808         (update_tab_widget_face): ditto.
5809         (x_tab_control_redisplay): make sure non-structural changes still
5810         involve copying the widget tree.
5811
5812 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
5813
5814         * lread.c (locate_file): Check the path element is non-nil.
5815
5816 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5817
5818         * lisp.h: Warning suppression for SCO compilers.
5819
5820         * redisplay-tty.c (reset_tty_modes): Fix crash.
5821         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
5822
5823 2000-09-27  Martin Buchholz  <martin@xemacs.org>
5824
5825         Big signal/process handling overhaul.  Bugs fixed:
5826         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
5827         M-x comint-kill-subjob should work for both values nil and t of
5828         process-connection-type. It was broken on most platforms.
5829         Testing on Irix and Cygwin still needed.  Other plaforms tested.
5830         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
5831         * process-unix.c: Signal/Process handling overhaul.
5832         (pty_name): make 64 bytes, as `expect' does, for paranoia.
5833         (allocate_pty): Use all available modern methods of allocating
5834         ptys, falling back to old style BSD allocation as a last resort.
5835         Use allegedly more secure Unix98 pty allocation by default.
5836         (allocate_pty_the_old_fashioned_way): New. the last resort.
5837         (unix_create_process): Push ptem, ldterm, ttcompat where
5838         available.  Autoconfiscate.
5839         (try_to_initialize_subtty): New.
5840         (unix_kill_child_process): Proper signal handling for ptys on most
5841         platforms, using special knowledge of AIX, BSD, etc...
5842         (unix_create_process): Always disconnect_controlling_terminal() for
5843         subprocesses, whether using ptys or not.
5844         * process.h: Remove old getpt-dependent PTY code.
5845         * process.c (Fprocess_send_signal): New, obvious generic function.
5846         (decode_signal): New.
5847         (Finterrupt_process):
5848         (Fkill_process):
5849         (Fquit_process):
5850         (Fstop_process):
5851         (Fcontinue_process):
5852         (Fsignal_process): Use decode_signal.
5853         (process_send_signal):
5854         Many docstring corrections.
5855         Allow any signal to be sent to a process object.
5856         * config.h.in: Add symbols for big signal/process overhaul.
5857         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
5858         * sysproc.h: Include process-related headers, where available:
5859         sys/stropts.h sys/strtio.h pty.h libutil.h
5860         * s/irix4-0.h:
5861         * s/irix5-0.h:
5862         * s/cygwin32.h:
5863         * s/gnu.h:
5864         * s/linux.h:
5865         * s/hpux.h:
5866         * s/aix3-1.h:
5867         Remove old S&M pty stuff.
5868         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
5869         * systty.h: Simplify cpp hackery, improve comments.
5870         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
5871
5872         * editfns.c (Fformat_time_string):
5873         Be a little more paranoid with the return value of ctime.
5874
5875         * fileio.c (check_executable):
5876         (check_writable):
5877         Use symbolic constants X_OK, W_OK.
5878
5879         * console-x.c (split_up_display_spec): Fix a warning.
5880
5881 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5882
5883         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
5884         * ntproc.c (sys_spawnve): make_string ==> build_string
5885         Small clarity improvements.
5886
5887 2000-09-30  Martin Buchholz  <martin@xemacs.org>
5888
5889         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
5890
5891         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
5892
5893         * config.h.in (HAVE_STRCASECMP): Remove.
5894
5895 2000-09-29  Martin Buchholz  <martin@xemacs.org>
5896
5897         * redisplay-output.c (redisplay_output_pixmap):
5898         Cleaner and possibly more 64-bit correct code.
5899
5900 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5901
5902         * dumper.c (pdump_load_finish): move restoration of
5903         `noninteractive1' to emacs.c (main_1).
5904         * emacs.c (main_1): protect LISP-visible command-line flags
5905         from pdump_load().
5906
5907 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
5908
5909         * Makefile.in.in (versionclean):  Use EXE_TARGET and
5910         DUMP_TARGET instead of literal program names.
5911
5912 2000-09-20  Martin Buchholz  <martin@xemacs.org>
5913
5914         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
5915
5916 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5917
5918         * *: Spelling mega-patch
5919
5920 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5921
5922         * fns.c (bad_bad_turtle):
5923         Delete "Eek!" comment, since we fixed the bug to which it refers.
5924
5925 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5926
5927         * alloca.c: Replace REGISTER with register.
5928
5929 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
5930
5931         * file-coding.c (ucs_to_char): Use countof.
5932
5933 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5934
5935         * file-coding.c: (ucs_to_char):
5936         (complex_vars_of_file_coding):
5937         Use countof instead of sizeof.
5938         Use CHECK_NATNUM instead of CHECK_INT.
5939
5940         * sysdep.c (strcasecmp): Remove.
5941         * device-x.c (ascii_strcasecmp): New.
5942         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
5943         Avoid using non-standard non-portable strcasecmp.
5944
5945 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5946
5947         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
5948         * font-lock.c: remove reference to emacsfns.h.
5949         * search.c: small doc improvement.
5950         * event-Xt.c: correct file names in comments.
5951         * console-x.h Correct file names in comments.
5952         * frame.c: Correct file names in comments.
5953         * event-stream.c: remove Energize from comments.
5954
5955 2000-09-15  Martin Buchholz  <martin@xemacs.org>
5956
5957         * symeval.h (DEFERROR_STANDARD):
5958         (DEFERROR):
5959         (DEFSYMBOL):
5960         (DEFSYMBOL_NO_DUMP):
5961         (DEFSYMBOL_MULTIWORD_PREDICATE):
5962         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
5963         (DEFKEYWORD):
5964         The construct &##name is not sensible C.
5965         Fixes compilation errors with Unixware native compiler.
5966
5967 2000-09-14  Martin Buchholz  <martin@xemacs.org>
5968
5969         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
5970         (next_frame_internal): Removed.  We now just have next_frame.
5971         (next_frame):
5972         Write a simpler and cleaner one-pass algorithm.
5973         Remove called_from_delete_device arg and #ifdefed-out code.
5974         (previous_frame):
5975         Renamed from prev_frame.  Update callers.
5976         Cleaned up to have an analogous implementation to next_frame.
5977         (other_visible_frames_internal): Remove the
5978         called_from_delete_device bogus arg, and hence, remove this
5979         function.  Just use other_visible_frames().
5980
5981         * window.c (Fnext_window):
5982         Prettify docstring.
5983         Since next_frame() is guaranteed to return a frame, remove check
5984         for nil inserted in previous patch.
5985         (Fprevious_window):
5986         Prettify docstring.
5987         Make code look more like Fnext_window.
5988         (window_loop):
5989         Respect the `console' arg when iterating through windows.
5990         Fixes bug: (get-buffer-window buffer t device) not respecting
5991         the `device' arg.
5992         This function needs more work, as others have pointed out.
5993
5994         * frame.h: Rename prev_frame to previous_frame.
5995         device_matches_console_spec no longer takes a `frame' arg.
5996
5997         * s/gnu.h:
5998         * s/linux.h:
5999         * s/hpux.h:
6000         Use EMACS_BLOCK_SIGNAL instead of sigblock.
6001         From "Golubev I. N." <gin@mo.msk.ru>.
6002
6003         * make-src-depend: Fix typo.
6004
6005 2000-09-13  Martin Buchholz  <martin@xemacs.org>
6006
6007         * window.c (Fnext_window):
6008         next_frame() might return nil, not a frame.
6009         Fixes this crash:
6010         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
6011
6012         * frame.c (next_frame_internal):
6013         We've passed a frame if we've passed its device.
6014         Fixes this crash:
6015         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
6016 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
6017
6018 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6019
6020         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6021         Allow option to suppress accelerators in menu/dialog items.
6022         (populate_or_checksum_helper): Pass dialog title through above.
6023
6024 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6025
6026         * event-msw.c (mswindows_key_to_emacs_keysym):
6027         Add "pause" key, fix "menu" key.
6028
6029 2000-09-09  Martin Buchholz  <martin@xemacs.org>
6030
6031         * eval.c (reinit_vars_of_eval):
6032         Increase max_lisp_eval_depth to 1000,
6033         required for thai-xtis.el to byte-compile under some circumstances.
6034
6035 2000-09-04  Martin Buchholz  <martin@xemacs.org>
6036
6037         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
6038         From Kenichi Handa.
6039
6040 2000-09-01  Martin Buchholz  <martin@xemacs.org>
6041
6042         * make-src-depend: Make the generated Makefiles smaller.
6043
6044         * s/hpux.h (SETUP_SLAVE_PTY):
6045         Provide a %d in the format string for the errno argument.
6046
6047         * editfns.c (Ftemp_directory):
6048         Warning fix.
6049         Avoid buffer overrun on very long file name.
6050
6051         * input-method-xlib.c (XIM_init_device):
6052         6th parameter of XRegisterIMInstantiateCallback has different
6053         pointer types on different OSes, so simply cast to (void *).
6054
6055         * unexhp9k800.c: Warning fixes.  Fiddly changes.
6056
6057         * sysdll.c (dll_open):
6058         shl_load will hang hard if passed a NULL filename.
6059         Simply return NULL for compatibility with dlopen.
6060         * sysdll.c: Conform to XEmacs coding standards.
6061
6062         * sysdep.c (get_pty_max_bytes):
6063         Support pty input lines longer than 512 bytes on HP-UX 10.20.
6064
6065 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6066
6067         * tooltalk.c: Add #include <syssignal.h>
6068
6069 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
6070
6071         * s/hpux.h: Don't use undefined function sigunblock().
6072
6073 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6074
6075         * config.h.in: Add HAVE_BALLOON_HELP.
6076         * emacs.c: Use HAVE_BALLOON_HELP.
6077         * Makefile.in.in (x_objs):
6078         Make Balloon Help conditional on finding shape.h.
6079
6080 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
6081
6082         * syntax.c (regex_emacs_buffer_p): New variable.
6083         * syntax.h (regex_emacs_buffer_p): extern.
6084         * search.c (looking_at_1):
6085         (string_match_1):
6086         (fast_string_match):
6087         (search_buffer): Set regex_emacs_buffer_p.
6088         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
6089         when before_dot, at_dot, after_dot.
6090
6091 2000-08-23  Andy Piper  <andy@xemacs.org>
6092
6093         * gui-x.c (popup_selection_callback): Only set action_occurred
6094         when we really have an image instance.
6095         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
6096
6097 2000-08-23  Andy Piper  <andy@xemacs.org>
6098
6099         * gui-msw.c (mswindows_handle_gui_wm_command): set
6100         action_occurred.
6101         * gui-x.c (popup_selection_callback): ditto.
6102
6103         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
6104         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
6105         (struct Lisp_Image_Instance): add action_occurred flag.
6106
6107         * glyphs.c (redisplay_subwindow): use action_occurred flag.
6108         (image_instance_changed): ditto.
6109         (reset_frame_subwindow_instance_cache): only unmap windows - do
6110         not remove them from the cache also.
6111
6112         * glyphs-widget.c (tab_control_update): better debug.
6113         (progress_gauge_update): ditto.
6114         (layout_update): ditto.
6115         (layout_instantiate): ditto.
6116         (tab_control_order_only_changed): cope with null pending items.
6117
6118         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
6119         debug. Force selection of an item when an action occurred. Cope
6120         with null pending_items.
6121         (mswindows_progress_gauge_redisplay): better debug.
6122         * glyphs-x.c (x_tab_control_redisplay): ditto.
6123
6124         * redisplay.c (redisplay_frame): reset the frame cache if the
6125         frame is garbaged.
6126
6127         * window.c (Fset_window_configuration): potentially re-enable
6128         frame cache reset.
6129         (window_unmap_subwindows): need to finalize instances here since
6130         it is only used in mark_window_as_deleted.
6131
6132 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
6133
6134         * nas.c (SndOpenDataForReading):
6135         nas.c (WaveOpenDataForReading):
6136         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
6137         Somehow escaped from the 2000-08-14 patch.
6138
6139 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6140
6141         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
6142         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
6143
6144 2000-08-21  Andy Piper  <andy@xemacs.org>
6145
6146         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
6147         window if it is not already displayed.
6148
6149         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
6150         it is not already displayed.
6151
6152         * window.c (Fset_window_configuration): don't reset the frame
6153         cache.
6154
6155         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
6156         instances from the frame cache if we are actually finalizing them.
6157         (reset_frame_subwindow_instance_cache): reset frame cache only
6158         after unmapping everything.
6159         (map_subwindow): set displayed flag after mapping.
6160
6161 2000-08-21  Martin Buchholz  <martin@xemacs.org>
6162
6163         * data.c (indirect_function):
6164         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
6165
6166         * eval.c (function_argcount):
6167         Use original function when signaling errors.
6168
6169 2000-08-18  Andy Piper  <andy@xemacs.org>
6170
6171         * frame.c (delete_frame_internal): use new
6172         free_frame_subwindow_instances name.
6173
6174         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
6175         (add_tab_item): make return type correct.
6176         (mswindows_tab_control_instantiate): assert index of tab.
6177         (mswindows_tab_control_redisplay): Re-code to use
6178         gui_item_equal_sans_selected and gui_item_list_find_selected.
6179
6180         * glyphs-widget.c (tab_control_update): Correct comment.
6181
6182         * window.c (window_unmap_subwindows): use new
6183         unmap_subwindow_instance_cache_mapper.
6184         (window_unmap_subwindows_cache_mapper): deleted.
6185         (Fset_window_configuration): comparisons should now be with
6186         EQ. Preserve the subwindow instance cache across configuration
6187         changes.
6188         (allocate_window): ditto.
6189         (make_dummy_parent): ditto.
6190
6191         * glyphs.c (free_frame_subwindow_instances): rename from
6192         free_frame_subwindow_instance_cache. finalize all instances rather
6193         than just those in the display cache.
6194         (finalize_all_subwindow_instances): walk windows unmapping and
6195         finalizing subwindows.
6196         (unmap_subwindow_instance_cache_mapper): moved from
6197         window.c. Allow finalization as well as unmapping.
6198
6199         * gui.c (gui_item_list_find_selected): new function.
6200
6201         * gui.h (gui_item_list_find_selected): declare.
6202
6203         * glyphs-x.c (x_tab_control_redisplay): pick tab
6204         explicitly. Re-code to use gui_item_equal_sans_selected and
6205         gui_item_list_find_selected.
6206
6207         * glyphs-x.h: add lwlib-utils.h
6208
6209         * buffer.c (Frecord_buffer): undo previous change.
6210
6211 2000-08-09  Vin Shelton  <acs@xemacs.org>
6212
6213         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
6214         possible.  Create temporary files more securely.  The patch was
6215         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
6216         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
6217         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
6218         for details.
6219
6220 2000-08-07  Ben Wing  <ben@xemacs.org>
6221
6222         * getloadavg.c: remove duplicate (and windows-breaking)
6223         includes of fcntl.h and sys/file.h.
6224
6225         * nt.c: remove duplicate getloadavg() definition.
6226
6227         * sysdll.h (Qdll_filename_encoding): add missing stand-in
6228         encodings.
6229
6230 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6231
6232         * eval.c (function_argcount): If function needs to be autoloaded
6233         actually use the loaded definition.
6234         GCPRO function.
6235
6236 2000-08-05  Ben Wing  <ben@xemacs.org>
6237
6238         * getloadavg.c: add prototype for getloadavg().  remove
6239         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
6240         of the code).  remove duplicate header includes.
6241
6242         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
6243
6244         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
6245         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
6246         useful load average.
6247
6248         * alloc.c (reinit_alloc_once_early): removed references to
6249         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
6250         the lisp vars are the only things referencing the malloc_sbrk_*
6251         vars, and they were already if 0'd out.  these vars only exist
6252         in the older malloc.c, which is basically unused, and they're
6253         only for informational purposes.
6254
6255         * m\*.h: removed useless VIRT_ADDR_VARIES.
6256
6257         * m\powerpc.h: removed stray NO_ARG_ARRAY.
6258
6259 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
6260
6261         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
6262         color if the image is a mono pixmap.
6263
6264 2000-07-30  Ben Wing  <ben@xemacs.org>
6265
6266         * Makefile.in.in (release):
6267         Remove stray @.
6268
6269         * buffer.c (directory_is_current_directory):
6270         * dired-msw.c (mswindows_get_files):
6271         * dired.c:
6272         * dired.c (Fdirectory_files):
6273         * dired.c (file_name_completion_stat):
6274         * dired.c (Ffile_attributes):
6275         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
6276         preprocessor tricks, to avoid problems on some machines
6277         (e.g. SCO).
6278
6279         * callproc.c (egetenv): GC docs.
6280
6281         * console-msw.h:
6282         * console-msw.h (struct mswindows_dialog_id):
6283         * lrecord.h (lrecord_type):
6284         New object for use with MSW dialogs.
6285
6286         * console.h (struct console_methods):
6287         New enable/disable frame methods, for proper modal dialogs.
6288
6289         * device-msw.c (msprinter_default_printer): Fix to follow
6290         proper Mule conventions.
6291
6292         * device-msw.c:
6293         * device-msw.c (signal_open_printer_error):
6294         * device-msw.c (msprinter_init_device):
6295         * device-msw.c (ensure_not_printing):
6296         * device-msw.c (plist_get_margin):
6297         * device-msw.c (Fmsprinter_select_settings):
6298         * device-msw.c (finalize_devmode):
6299         * device-msw.c (Fmsprinter_settings_despecialize):
6300         * device-msw.c (signal_enum_priner_error):
6301         * extents.c (decode_extent):
6302         * extents.c (decode_map_extents_flags):
6303         * extents.c (decode_extent_at_flag):
6304         * extents.c (Fextent_at):
6305         * extents.c (Fextents_at):
6306         * extents.c (symbol_to_glyph_layout):
6307         [[[[2]]]] Use structured errors.
6308
6309         * dialog-msw.c:
6310         * dialog-msw.c (mswindows_is_dialog_msg):
6311         * dialog-msw.c (mark_mswindows_dialog_id):
6312         * dialog-msw.c (dialog_proc):
6313         * dialog-msw.c (handle_question_dialog_box):
6314         * dialog-msw.c (syms_of_dialog_mswindows):
6315         Define new object to clean up marking; use it as a dialog identifier.
6316         Call new delete-dialog-box-hook.
6317
6318         * dialog-x.c (dbox_selection_callback):
6319         * dialog-x.c (dbox_descriptor_to_widget_value):
6320         * dialog-x.c (x_make_dialog_box_internal):
6321         Call new delete-dialog-box-hook.
6322         Return an id.
6323
6324         * dialog.c:
6325         * dialog.c (syms_of_dialog):
6326         * dialog.c (vars_of_dialog):
6327         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
6328
6329         * eval.c:
6330         * eval.c (signal_call_debugger):
6331         when noninteractive, output stack traces on the console instead
6332         of in a (never-seen) buffer.
6333
6334         * eval.c (signal_type_error):
6335         * eval.c (invalid_argument_2):
6336         * lisp.h:
6337         new funs for use w/structured errors.
6338
6339         * event-Xt.c:
6340         * event-Xt.c (x_to_emacs_keysym):
6341         * event-Xt.c (describe_event):
6342         * event-Xt.c (emacs_Xt_event_handler):
6343         * event-Xt.c (vars_of_event_Xt):
6344         * event-msw.c:
6345         * event-msw.c (mswindows_wnd_proc):
6346         * event-msw.c (vars_of_event_mswindows):
6347         rename {x,mswindows}-debug-events to debug-{}-events for
6348         consistency with other debug-foo variables.
6349
6350         * event-stream.c:
6351         document next-event more clearly.
6352
6353         * fileio.c (Ffile_name_directory):
6354         * fileio.c (Ffile_name_nondirectory):
6355         * fileio.c (Funhandled_file_name_directory):
6356         * fileio.c (file_name_as_directory):
6357         * fileio.c (Ffile_name_as_directory):
6358         * fileio.c (directory_file_name):
6359         * fileio.c (Fdirectory_file_name):
6360         * fileio.c (Fmake_temp_name):
6361         * fileio.c (Ffile_truename):
6362         * fileio.c (Fsubstitute_in_file_name):
6363         * fileio.c (expand_and_dir_to_file):
6364         * fileio.c (barf_or_query_if_file_exists):
6365         * fileio.c (check_executable):
6366         * fileio.c (Ffile_exists_p):
6367         * fileio.c (Ffile_writable_p):
6368         * fileio.c (Ffile_directory_p):
6369         * fileio.c (Ffile_regular_p):
6370         * fileio.c (Ffile_modes):
6371         * fileio.c (Ffile_newer_than_file_p):
6372         * fileio.c (Fverify_visited_file_modtime):
6373         * fileio.c (Fset_visited_file_modtime):
6374         * fileio.c (auto_save_1):
6375         (1). (2).
6376         fix up gcpro's.
6377
6378         * frame-msw.c:
6379         * frame-msw.c (mswindows_init_frame_1):
6380         * frame-msw.c (mswindows_enable_frame):
6381         * frame-msw.c (error_frame_unsizable):
6382         * frame-msw.c (msprinter_init_frame_1):
6383         * frame-msw.c (msprinter_init_frame_3):
6384         * frame-msw.c (console_type_create_frame_mswindows):
6385         (2).
6386         implement new enable/disable frame methods.
6387
6388         * frame-x.c:
6389         * frame-x.c (x_enable_frame):
6390         * frame-x.c (console_type_create_frame_x):
6391         implement new enable/disable frame methods.
6392
6393         * frame.c:
6394         * frame.c (Fdisable_frame):
6395         * frame.c (syms_of_frame):
6396         * frame.h (struct frame):
6397         implement new enable/disable frame methods/functions.
6398
6399         * general-slots.h:
6400         add initial-focus.
6401
6402         * glyphs-msw.c (mswindows_widget_instantiate):
6403         comment that initial-focus should be implemented.
6404
6405         * glyphs-widget.c:
6406         * glyphs-widget.c (check_valid_instantiator):
6407         * glyphs-widget.c (check_valid_orientation):
6408         * glyphs-widget.c (check_valid_tab_orientation):
6409         * glyphs-widget.c (check_valid_justification):
6410         * glyphs-widget.c (check_valid_border):
6411         * glyphs-widget.c (check_valid_callback):
6412         * glyphs-widget.c (check_valid_int_or_function):
6413         * glyphs-widget.c (check_valid_string_or_vector):
6414         * glyphs-widget.c (check_valid_item_list_1):
6415         * glyphs-widget.c (widget_validate):
6416         * glyphs-widget.c (combo_box_validate):
6417         * glyphs-widget.c (widget_instantiate):
6418         * glyphs-widget.c (syms_of_glyphs_widget):
6419         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
6420         * glyphs-widget.c (image_instantiator_combo_box):
6421         * glyphs-widget.c (image_instantiator_scrollbar):
6422         * glyphs-widget.c (image_instantiator_tab_control):
6423         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
6424         (2).
6425         support (unimplemented) keyword initial-focus.
6426         reindent long macros.
6427
6428         * glyphs-x.c (x_redisplay_widget):
6429         * glyphs-x.c (x_button_instantiate):
6430         * glyphs-x.c (x_button_redisplay):
6431         * glyphs-x.c (x_progress_gauge_instantiate):
6432         * glyphs-x.c (x_edit_field_instantiate):
6433         * glyphs-x.c (x_combo_box_instantiate):
6434         * glyphs-x.c (x_tab_control_instantiate):
6435         * glyphs-x.c (x_label_instantiate):
6436         * gui-x.c:
6437         * gui-x.c (button_item_to_widget_value):
6438         * gui-x.c (gui_items_to_widget_values_1):
6439         * gui-x.c (gui_item_children_to_widget_values):
6440         * gui-x.c (gui_items_to_widget_values):
6441         * gui-x.h:
6442         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6443         add new flag to gui-parsing routines to indicate whether
6444         accelerator specs should be supported.
6445
6446         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
6447
6448         * glyphs.h (struct Lisp_Image_Instance):
6449         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
6450         add initial-focus flag.
6451
6452         * gui.c:
6453         * gui.c (syms_of_gui):
6454         * gui.c (vars_of_gui):
6455         clean up menu-no-selection-hook.
6456
6457         * gui.h:
6458         support delete-dialog-box-hook.
6459
6460         * lread.c (Fload_internal):
6461         * lread.c (locate_file_in_directory_mapper):
6462         (1).
6463
6464         * lrecord.h:
6465         * lrecord.h (struct toolbar_button):
6466         * lrecord.h (syms_of_toolbar):
6467         document how to create a new object.
6468
6469         * menubar-msw.c (mswindows_char_is_accelerator):
6470         may be called on frames w/o menus.
6471
6472         * menubar.c (vars_of_menubar):
6473         clean up :filter docs.
6474
6475         * nt.c (readdir):
6476         * ntproc.c:
6477         (1).
6478
6479         * process-nt.c:
6480         * process-nt.c (validate_signal_number):
6481         * process-nt.c (signal_cannot_launch):
6482         * process-nt.c (nt_create_process):
6483         * process-nt.c (nt_send_process):
6484         * process-nt.c (nt_kill_child_process):
6485         * process-nt.c (nt_open_network_stream):
6486         * process-nt.c (syms_of_process_nt):
6487         (2).
6488         delete quote-handling.  call new lisp code that does it better.
6489
6490         * process-unix.c (connect_to_file_descriptor):
6491         * process-unix.c (allocate_pty):
6492         * process-unix.c (unix_send_process):
6493         * process-unix.c (unix_kill_child_process):
6494         * process-unix.c (unix_open_network_stream):
6495         * process-unix.c (unix_open_multicast_group):
6496         (1). (2).
6497
6498         * process.c:
6499         * process.c (Fstart_process_internal):
6500         (2).  need to canonicalize process path even if absolute.
6501
6502         * select-msw.c (symbol_to_ms_cf):
6503         * select-msw.c (ms_cf_to_symbol):
6504         * select-msw.c (cf_is_autofreed):
6505         * select-msw.c (mswindows_destroy_selection):
6506         * select.c:
6507         * select.c (syms_of_select):
6508         * select.h:
6509         support dibv5, fix bugs. (from Mike Alexander)
6510
6511         * select.c (Fget_selection_internal):
6512         * select.c (select_convert_out):
6513
6514         * sysdep.c:
6515         * sysdep.c (xemacs_stat):
6516         renamed.
6517
6518         * sysdep.c (mkdir):
6519         * sysdep.c (rmdir):
6520         but keep original stat() here because we provide encapsulation
6521         around these funs.
6522
6523         * sysfile.h:
6524         * sysfile.h (fstat):
6525         remove stat garbage.
6526
6527         * syswindows.h:
6528         fix X/MSW conflict.
6529         don't include tchar.h.  it's inappropriate because it makes
6530         compile-time distinctions when we want runtime distinctions.
6531         (we provide our own tchar replacements)
6532
6533         * toolbar.c:
6534         use default object printer for toolbar-button.
6535
6536         * unexcw.c:
6537         make sure we don't encapsulate.
6538
6539         * window.c (vars_of_window):
6540         emphasize that temp-buffer-show-hook is obsolete.
6541
6542 2000-08-05  Martin Buchholz  <martin@xemacs.org>
6543
6544         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
6545         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
6546
6547         * events.c (Fevent_timestamp_lessp):
6548         Not 64-bit clean.  Use EMACS_INT, not int.
6549
6550 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
6551
6552         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
6553         unsigned int and changed the last enum to
6554         lrecord_type_last_built_in_type.
6555         (lrecord_implementations_table): changed prototype to know how
6556         long the array is supposed to be.
6557         (lrecord_type_count): new unsigned int to keep track of the
6558         current number of lisp lrecord types.
6559         (DEFINE_EXTERNAL_LRECORD):
6560         (DECLARE_EXTERNAL_LRECORD): Added these two for external
6561         dynamic-modules to declare new lisp types. They are the same
6562         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
6563         int for each new type, and increment lrecord_type_count by 1.
6564
6565         * alloc.c (lrecord_implementations_table): Changed to reference
6566         lrecord_type_last_built_in_type for the size of the array.
6567         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
6568
6569 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
6570
6571         * glyphs.h (check_valid_item_list): Renamed from
6572         check_valid_item_list_1.
6573
6574 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
6575
6576         * select.c (Qselect_coerce): New.
6577         * select.c (Vselection_coercion_alist): New.
6578         * select.c (syms_of_select): Declare.
6579         * select.c (get-selection-internal): Use it.
6580         Use the new select-coerce functionality.
6581
6582         * select.c (select_coerce): New.
6583         * select.h (select_coerce): Declare.
6584         New function to coerce one type of data into another.
6585
6586 2000-08-03  Martin Buchholz  <martin@xemacs.org>
6587
6588         * callproc.c (Fcall_process_internal):
6589         (Fcall_process_internal):
6590         * process-unix.c (unix_create_process):
6591         Save and restore the value of errno, so that error messages are accurate.
6592
6593 2000-08-01  Martin Buchholz  <martin@xemacs.org>
6594
6595         * elhash.c (print_hash_table):
6596         Fix printing of hash tables to also use `key-and-value' instead of `t'.
6597         Prettify docstrings and indentation.
6598
6599 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
6600
6601         * window.c (Fwindow_pixel_edges): Subtract frame border and
6602         gutter size.
6603
6604 2000-07-31  Andy Piper  <andy@xemacs.org>
6605
6606         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
6607         will acknowledge the change.
6608
6609         * glyphs.h: declare tab_control_order_only_changed.
6610
6611         * glyphs-x.c (x_tab_control_redisplay): use
6612         tab_control_order_only_changed.
6613
6614         * glyphs-widget.c (tab_control_order_only_changed): new function.
6615
6616         * glyphs-msw.c (mswindows_tab_control_redisplay): use
6617         tab_control_order_only_changed.
6618
6619         * gui.c (gui_item_equal_sans_selected): new function.
6620         (gui_item_equal): use it.
6621
6622         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
6623         :properties in favor of :items..
6624
6625         * glyphs-widget.c (check_valid_item_list): rename from
6626         check_valid_item_list_1.
6627         (check_valid_item_list_1): renamed.
6628         (combo_box_validate): deprecate :properties in favor of :items.
6629         (widget_instantiate): ditto.
6630         (tab_control_update): ditto.
6631         (image_instantiator_combo_box): ditto.
6632         (image_instantiator_tree_view): ditto.
6633         (image_instantiator_tab_control): ditto.
6634         (layout_post_instantiate): remove dead code.
6635
6636         * print.c (debug_print_no_newline): only write to debugger if in
6637         WIN32_NATIVE.
6638
6639         * elhash.c (Fmake_hash_table): update doc string.
6640
6641         * event-msw.c (mswindows_wnd_proc): don't allow processing of
6642         messages whilst in GC. This at least stops XEmacs crashing but has
6643         the potential for wierd behaviour.
6644
6645 2000-07-31  Martin Buchholz  <martin@xemacs.org>
6646
6647         * config.h.in:
6648         Make existence of s&m files optional.
6649
6650         * s/bsd386.h: Remove HAVE_GETLOADAVG.
6651         * s/freebsd.h: Remove HAVE_GETLOADAVG.
6652         * s/gnu.h: Remove HAVE_GETLOADAVG.
6653         * s/netbsd.h: Remove HAVE_GETLOADAVG.
6654         * s/sol2.h: Remove HAVE_GETLOADAVG.
6655         * lisp.h: Remove getloadavg() declaration.
6656         * fns.c:
6657         Include <sys/loadavg.h> if available.
6658         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
6659         * config.h.in:  Group together getloadavg()-related macros.
6660         Use only configure-time tests to detect getloadavg().
6661
6662 2000-07-30  Martin Buchholz  <martin@xemacs.org>
6663
6664         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
6665
6666 2000-07-25  Andy Piper  <andy@xemacs.org>
6667
6668         * syswindows.h: add tchar.h for native builds.
6669
6670         * frame.c (syms_of_frame): remove set-glyph-image.
6671
6672         * general-slots.h: add Qset_glyph_image.
6673
6674         * glyphs-widget.c (layout_update): add domain arg to
6675         set-glyph-image.
6676         (syms_of_glyphs_widget): remove set-glyph-image.
6677
6678 2000-07-23  Ben Wing  <ben@xemacs.org>
6679
6680         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
6681         Vpopup_frame_list.
6682
6683 2000-07-22  Andy Piper  <andy@xemacs.org>
6684
6685         * symsinit.h: add syms_of_win32().
6686
6687         * gui-msw.c (syms_of_gui_mswindows): remove
6688         Fmswindows_shell_execute.
6689         (Fmswindows_shell_execute): moved to win32.c.
6690
6691         * emacs.c (main_1): add syms_of_win32 ().
6692
6693         * win32.c (init_potentially_nonexistent_functions): rewrite in
6694         compiler-friendly terms.
6695         (Fmswindows_shell_execute): move here from gui-msw.c.
6696         (syms_of_win32): new.
6697
6698         * device-msw.c (Fmswindows_printer_list): clean up args to
6699         EnumPrinters.
6700         Don't include tchar under cygwin or mingw.
6701         (msprinter_default_printer): make cygwin-friendly.
6702
6703 2000-07-21  Andy Piper  <andy@xemacs.org>
6704
6705         * glyphs-widget.c (image_instantiator_tree_view): use tab
6706         control's update function.
6707         (layout_property): new function. Retrieve items.
6708
6709         * glyphs-msw.c (mswindows_tree_view_redisplay): new
6710         function. Re-populate the tree view from the pending items.
6711
6712         * glyphs.c (instantiate_image_instantiator): Make sure the domain
6713         is designated the parent if the domain is an image instance. This
6714         is needed so that dirtiness can be cascade up the hierarchy and
6715         thus for layout children to be redisplayed correctly.
6716         (allocate_image_instance): rename glyph -> parent.
6717
6718         * redisplay.h: change redisplay_output_layout signature.
6719
6720         * redisplay-msw.c (mswindows_output_display_block): use domain
6721         arg.
6722
6723         * redisplay-x.c (x_output_display_block): use domain arg.
6724
6725 2000-07-10  Andy Piper  <andy@xemacs.org>
6726
6727         * window.c (Fset_window_configuration): add comment.
6728
6729         * redisplay-output.c (compare_runes):
6730         (redisplay_output_subwindow): redisplay rather than update subwindow.
6731         (redisplay_output_layout): ditto.
6732
6733         * redisplay-msw.c (mswindows_frame_output_end):
6734         (mswindows_frame_output_end): make defer window pos optional.
6735
6736         * lisp.h: add Flast.
6737
6738         * glyphs.h (struct image_instantiator_methods): add dest_mask top
6739         normalize method. Change update method to be for changed
6740         instantiators. Add redisplay method. Change signature of layout
6741         method.
6742         (struct Lisp_Image_Instance): add instantiator.
6743         (IMAGE_INSTANCE_INSTANTIATOR): new.
6744         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
6745         (XIMAGE_INSTANCE_INSTANTIATOR): new.
6746         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
6747
6748         * glyphs.c:
6749         (find_instantiator_differences): new function.
6750         (Fset_instantiator_property): new convenience function.
6751         (check_image_instance_structure): strictly check for vector
6752         instantiators.
6753         (normalize_image_instantiator): make non-static.
6754         (instantiate_image_instantiator): pass on dest_mask and use new
6755         signatures for image_instance_layout and friends.
6756         (mark_image_instance): mark the instantiator. Mark the subwindow
6757         face not the widget face.
6758         (image_instance_equal): add instantiator.
6759         (image_instance_hash): ditto.
6760         (allocate_image_instance): ditto.
6761         (Fset_image_instance_property): removed.
6762         (Fimage_instance_file_name): ditto.
6763         (Fcolorize_image_instance): ditto.
6764         (image_instance_layout): add offsets to be set.
6765         (update_image_instance): new function. update an image instance
6766         from its changed instantiator.
6767         (inherit_normalize): add dest_mask.
6768         (xbm_normalize): ditto.
6769         (xface_normalize): ditto.
6770         (xpm_normalize): ditto.
6771         (text_update): set_property -> update.
6772         (image_instantiate): use the glyph identity as a hash key, not the
6773         instantiator.
6774         (glyph_width): use new image_instance_layout signature.
6775         (glyph_ascent): ditto.
6776         (glyph_descent): ditto.
6777         (glyph_height): ditto.
6778         (glyph_query_geometry): ressurrect.
6779         (glyph_layout): ditto.
6780         (redisplay_subwindow): update -> redisplay.
6781         (syms_of_glyphs): add Fset_instantiator_property.
6782         (image_instantiator_format_create): set_property -> update.
6783
6784         * glyphs-x.c:
6785         (autodetect_normalize): add dest_maks to signature.
6786         (x_redisplay_subwindow): update -> redisplay.
6787         (x_redisplay_widget): ditto.
6788         (x_button_redisplay): ditto.
6789         (x_progress_gauge_redisplay): ditto.
6790         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
6791         stacking order.
6792         (console_type_create_glyphs_x): update -> redisplay.
6793         (image_instantiator_format_create_glyphs_x): ditto.
6794
6795         * glyphs-widget.c:
6796         (check_valid_instantiator): disallow glyphs in the instantiator,
6797         they must now be vectors.
6798         (check_valid_instantiator_list): ditto.
6799         (glyph_instantiator_to_glyph): use internal symbol rather than
6800         intern.
6801         (widget_update): renamed from widget_set_property. Call cascaded
6802         update methods.
6803         (redisplay_widget): renamed from update_widget.
6804         (widget_layout): image_instance_layout now takes position as well
6805         as size.
6806         (widget_normalize): ditto.
6807         (widget_instantiate): ditto.
6808         (tab_control_query_geometry) ditto.:
6809         (tab_control_update): renamed from tab_control_set_property.
6810         (progress_gauge_update): set_property -> update.
6811         (layout_normalize): rewrite so that child instantiators are
6812         normalized also.
6813         (layout_update): new function. Create glyphs from the normalized
6814         children and cope with any other layout keywords. We do not
6815         instantiate children here that will be take care of by
6816         redisplay_output_layout.
6817         (layout_instantiate): call layout_update and not much else.
6818         (layout_post_instantiate): not sure whether this is needed
6819         anymore.
6820         (layout_query_geometry): query glyph geometry rather than
6821         image_instance geometry.
6822         (layout_layout): set offsets from pass in parameters. Use glyph
6823         geometry and layout functions rather than image instance ones.
6824         (native_layout_layout): ditto.
6825         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
6826         (image_instantiator_widget): set_property -> update.
6827         (image_instantiator_buttons): ditto.
6828         (image_instantiator_progress_guage): ditto.
6829         (image_instantiator_tab_control): ditto.
6830         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
6831         (image_instantiator_layout): add update method.
6832
6833         * glyphs-msw.c (bmp_normalize):
6834         (mswindows_resource_normalize): add dest_mask so that it can be
6835         proprogated by layout_normalize.
6836         (begin_defer_window_pos): make optional because it may not be the
6837         right thing to do and it introduces differences with X.
6838         (mswindows_unmap_subwindow): ditto.
6839         (mswindows_map_subwindow): ditto.
6840         (mswindows_redisplay_subwindow): renamed from
6841         mswindows_update_subwindow.
6842         (mswindows_redisplay_widget): ditto.
6843         (mswindows_button_redisplay): renamed from
6844         mswindows_button_update. Update is now what the instantiation
6845         function does for a changed instantiator.
6846         (mswindows_progress_gauge_instantiate): set the progress value
6847         here if appropriate.
6848         (mswindows_tab_control_redisplay): cope with re-ordering of the
6849         members of the tab widget by simply selecting the new top
6850         widget. This makes things appear ok if you click on a tab.
6851         (mswindows_combo_box_instantiate): image_instance_layout now takes
6852         position as well as size.
6853         (mswindows_progress_gauge_redisplay): renamed from
6854         mswindows_progress_gauge_update.
6855         (console_type_create_glyphs_mswindows): fix update -> redisplay.
6856         (image_instantiator_format_create_glyphs_mswindows): ditto.
6857
6858         * glyphs-eimage.c (jpeg_normalize):
6859         (gif_normalize):
6860         (png_normalize):
6861         (tiff_normalize): add dest_mask so that it can be proprogated by
6862         layout_normalize.
6863
6864         * elhash.c:
6865         (print_hash_table):
6866         (hash_table_weakness_validate):
6867         (decode_hash_table_weakness):
6868         (Fhash_table_weakness):
6869         (Fhash_table_type):
6870         (syms_of_elhash): use Ben's naming scheme for hashtable types..
6871
6872         * console.h (struct console_methods): move update_* to
6873         redisplay_*.
6874
6875 2000-07-20  Ben Wing  <ben@xemacs.org>
6876
6877         * *.[ch] (XSETOBJ): remove unused middle argument.
6878         lisp-disunion.h: correct wrap_object() to one argument.
6879
6880 2000-07-15  Ben Wing  <ben@xemacs.org>
6881
6882         * s/cygwin32.h:
6883         * s/cygwin32.h (CYGWIN_CONV_PATH):
6884         Add missing logb prototype for v1.1.
6885         Use post-b20 names and alias to pre-b20 names when pre-b20.
6886
6887         * s/windowsnt.h: [5].
6888
6889 2000-07-15  Ben Wing  <ben@xemacs.org>
6890
6891         * Makefile.in.in (x_objs):
6892         * Makefile.in.in (sheap_objs):
6893         * Makefile.in.in (objs):
6894         added win32.o, cosmetic cleanups.
6895
6896         * alloc.c (Fmake_byte_code):
6897         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
6898         etc. macros which declare their own args now.
6899
6900         * alloc.c (syms_of_alloc):
6901         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
6902
6903         * buffer.c:
6904         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
6905
6906         * buffer.c (Fget_file_buffer):
6907         Fixed GCPRO problem.
6908
6909         * buffer.c (get_truename_buffer):
6910         Fixed comment about GC checking.
6911
6912         * buffer.c (syms_of_buffer):
6913         Undeclared those dedicated frame funs.
6914         [2].
6915
6916         * buffer.h:
6917         Define convenience macros for internal/external conversions.
6918         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
6919         and Qenvironment_variable_encoding for cleaner code.
6920
6921         * bufslots.h:
6922         Remove dedicated-frame; in lisp.
6923
6924         * bytecode.c (funcall_compiled_function):
6925         [1].
6926
6927         * bytecode.c (syms_of_bytecode):
6928         [2].
6929
6930         * console-msw.c:
6931         * console-msw.c (mswindows_show_console): Rewrote.
6932
6933         * console-msw.c (Fmswindows_debugging_output): New.
6934         Sends to OutputDebugString (special MSWin debugger interface).
6935
6936         * console-msw.c (Fmswindows_message_box):
6937         Fixed stupid bugs so it works when called from kill-emacs.
6938
6939         * console-msw.c (syms_of_console_mswindows):
6940         Declare Fmswindows_debugging_output.
6941
6942         * console-msw.h:
6943         New MSWin prototypes.
6944
6945         * console-msw.h (struct mswindows_frame):
6946         New entry last-click-mods for improved button-modifier support.
6947
6948         * console-msw.h (FRAME_MSWINDOWS_POPUP):
6949         New struct entry `popup' with corresponding accessor.
6950
6951         * console-x.c:
6952         * console-x.c (split_up_display_spec):
6953         * console-x.c (get_display_arg_connection):
6954         * console-x.c (x_semi_canonicalize_console_connection):
6955         * console-x.c (x_canonicalize_device_connection):
6956         [[[6]]]: Change char to more specific type.
6957         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
6958
6959         * console-x.c (x_semi_canonicalize_console_connection):
6960         * console-x.c (x_canonicalize_device_connection):
6961         [[[9]]]: Fix up error signalling to use new structured error system.
6962
6963         * console-x.h:
6964         [[[4]]]: Define codesys aliases:
6965         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
6966         Qx_color_name_encoding, Qx_display_name_encoding.
6967
6968         * console.h (struct console_methods):
6969         New method make_dialog_box_internal supersedes older
6970         popup_dialog_box method.
6971
6972         * data.c:
6973         Define many new errors, part of new structured errors.
6974
6975         * data.c (init_errors_once_early):
6976         * data.c (syms_of_data):
6977         [2].
6978
6979         * device-msw.c (mswindows_init_device):
6980         [[[5]]]: Cleanup to support NT 3.51.
6981
6982         * device-msw.c (decode_devmode): Cleanup.
6983
6984         * device-msw.c (mswindows_handle_print_setup_dialog_box):
6985         * device-msw.c (mswindows_handle_print_dialog_box):
6986         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6987         * device-msw.c (syms_of_device_mswindows):
6988         Delete the dialog box primitives recently introduced by Kirill and
6989         instead interface to general dialog box interface.
6990
6991         * device-x.c:
6992         * device-x.c (compute_x_app_name):
6993         * device-x.c (x_init_device):
6994         * device-x.c (Fx_valid_keysym_name_p):
6995         * device-x.c (Fx_set_font_path):
6996         [6].
6997         [7].
6998
6999         * device.h (wrap_device): New.
7000         First of its kind; meant to replace XSETDEVICE.
7001
7002         * dialog-msw.c: Many file-dialog symbols.
7003
7004         * dialog-msw.c (mswindows_register_popup_frame): New.
7005         * dialog-msw.c (mswindows_is_dialog_msg): New.
7006         For supporting kbd traversal in dialog boxes.
7007
7008         * dialog-msw.c (dialog_proc):
7009         Support hitting ESC in dialogs.
7010
7011         * dialog-msw.c (struct):
7012         Common dialog box errors.
7013
7014         * dialog-msw.c (handle_file_dialog_box): New.
7015         Add file dialog code.
7016
7017         * dialog-msw.c (handle_question_dialog_box):
7018         Redo existing code to support new question dialog syntax.
7019
7020         * dialog-msw.c (console_type_create_dialog_mswindows):
7021         We support new dialog console method.
7022
7023         * dialog-msw.c (syms_of_dialog_mswindows):
7024         * dialog-msw.c (vars_of_dialog_mswindows):
7025         New file dialog symbols, vars.
7026
7027         * dialog-x.c:
7028         * dialog-x.c (maybe_run_dbox_text_callback):
7029         * dialog-x.c (dbox_descriptor_to_widget_value):
7030         * dialog-x.c (x_make_dialog_box_internal):
7031         * dialog-x.c (console_type_create_dialog_x):
7032         Mule-ize entire file.
7033         Redo to support question dialog syntax.
7034         [6].
7035
7036         * dialog.c:
7037         * dialog.c (Fmake_dialog_box_internal):
7038         * dialog.c (syms_of_dialog):
7039         Kill old popup-dialog-box, replace with new primitive.
7040         Just call device method or signal error.
7041
7042         * eldap.c (Fldap_open):
7043         * eldap.c (Fldap_search_basic):
7044         * eldap.c (Fldap_add):
7045         * eldap.c (Fldap_modify):
7046         [1].
7047         [7].
7048
7049         * emacs.c:
7050         * emacs.c (make_arg_list_1):
7051         * emacs.c (make_arg_list):
7052         Mule-ize call to dll_init().
7053         [6].
7054         [8].
7055
7056         * emacs.c (make_argc_argv):
7057         * emacs.c (free_argc_argv):
7058         * emacs.c (init_cmdargs):
7059         * emacs.c (main_1):
7060         * emacs.c (Fkill_emacs):
7061         * emacs.c (Fdump_emacs):
7062         Update comments about what can be used in syms_* etc.
7063         Call init_win32() when necessary.
7064         Fix up MS Win dialog box in kill-buffer to actually work right.
7065         [7].
7066
7067         * eval.c:
7068         * eval.c (For):
7069         * eval.c (Fand):
7070         * eval.c (Fprogn):
7071         * eval.c (Fprog1):
7072         * eval.c (Fprog2):
7073         * eval.c (FletX):
7074         * eval.c (Flet):
7075         * eval.c (condition_case_3):
7076         * eval.c (Feval):
7077         * eval.c (function_argcount):
7078         * eval.c (funcall_lambda):
7079         [1].
7080
7081         * eval.c (type_error): New.
7082         * eval.c (maybe_type_error): New.
7083         * eval.c (continuable_type_error): New.
7084         * eval.c (maybe_continuable_type_error): New.
7085         * eval.c (type_error_with_frob): New.
7086         * eval.c (maybe_type_error_with_frob): New.
7087         * eval.c (continuable_type_error_with_frob): New.
7088         * eval.c (maybe_continuable_type_error_with_frob): New.
7089         New functions for use with structured errors.
7090
7091         * event-Xt.c:
7092         * event-Xt.c (x_event_to_emacs_event):
7093         Buttons are now modifiers too.
7094
7095         * event-Xt.c (emacs_Xt_current_event_timestamp):
7096         Implement new event method.
7097         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
7098
7099         * event-msw.c:
7100         * event-msw.c (ntpipe_shove_writer): [5].
7101         * event-msw.c (mswindows_enqueue_mouse_button_event):
7102         * event-msw.c (mswindows_drain_windows_queue):
7103         * event-msw.c (mswindows_wnd_proc): [7].
7104         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
7105         * event-msw.c (mswindows_modifier_state):
7106         Throughout: support new button modifiers.
7107
7108         * event-msw.c (emacs_mswindows_current_event_timestamp):
7109         Implement new event method.
7110         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
7111
7112         * event-stream.c:
7113         * event-stream.c (event_stream_current_event_timestamp): New.
7114         * event-stream.c (maybe_kbd_translate): New functionality.
7115         * event-stream.c (vars_of_event_stream):
7116         Document new kbd-translate-table functionality.
7117
7118         * event-stream.c (Fcurrent_event_timestamp): New.
7119         New primitive for use in fabricated events.
7120         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
7121
7122         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
7123
7124         * events.c:
7125         * events.c (Fmake_event):
7126         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
7127         [1].
7128         [9].
7129
7130         * events.c (format_event_object): fix gcc warnings.
7131
7132         * events.c (Fevent_timestamp): Document new primitives.
7133
7134         * events.c (TIMESTAMP_HALFSPACE): New.
7135
7136         * events.c (Fevent_timestamp_lessp): New.  New primitive for
7137         comparing timestamps correctly (half-space algorithm).
7138
7139         * events.c (Fevent_modifier_bits): Doc fix.
7140
7141         * events.c (Fevent_modifiers): Major doc addition.
7142         * events.c (event_x_y_pixel_internal): Typo fix.
7143         * events.c (syms_of_events): Declare new primitives.
7144
7145         * events.h:
7146         Update long comment for button modifiers, timestamps.
7147
7148         * events.h (struct event_stream):
7149         New current_event_timestamp method.
7150
7151         * extents.c:
7152         * extents.c (extent_in_region_p):
7153         * extents.c (decode_extent):
7154         * extents.c (Fset_extent_parent):
7155         * extents.c (decode_map_extents_flags):
7156         Fix gcc warnings.
7157         [9].
7158
7159         * extents.c (struct extent_at_arg):
7160         * extents.c (decode_extent_at_flag):
7161         * extents.c (extent_at_mapper):
7162         * extents.c (extent_at_bytind):
7163         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
7164         * extents.c (Fextents_at): New primitive. [9].
7165         * extents.c (symbol_to_glyph_layout): [9].
7166         Support new primitive `extents-at'.
7167
7168
7169         * extents.c (get_text_property_bytind):
7170         extent_at_bytind has another arg.
7171         [9].
7172
7173         * extents.c (syms_of_extents): New primitive.
7174
7175         * file-coding.c (Fmake_coding_system): [1].
7176         * file-coding.c (subsidiary_coding_system): fix gcc warning
7177         * file-coding.c (syms_of_file_coding): [2].
7178
7179         * fileio.c (Fexpand_file_name):
7180         * fileio.c (Fsysnetunam):
7181         * fileio.c (Ffile_exists_p):
7182         * fileio.c (Ffile_executable_p):
7183         * fileio.c (Fverify_visited_file_modtime):
7184         Clean up GCPROing.
7185
7186         * fileio.c (syms_of_fileio): [2].
7187
7188         * filelock.c (lock_file_1):
7189         * filelock.c (current_lock_owner):
7190         * filelock.c (lock_if_free):
7191         * filelock.c (lock_file):
7192         * filelock.c (unlock_file):
7193         Clean up GCPROing.
7194
7195         * fns.c (concat): Fix gcc warning.
7196
7197         * fns.c (Fmember):
7198         * fns.c (Fold_member):
7199         * fns.c (Fmemq):
7200         * fns.c (Fold_memq):
7201         * fns.c (memq_no_quit):
7202         * fns.c (Fassoc):
7203         * fns.c (Fold_assoc):
7204         * fns.c (Fassq):
7205         * fns.c (Fold_assq):
7206         * fns.c (assq_no_quit):
7207         * fns.c (Frassoc):
7208         * fns.c (Fold_rassoc):
7209         * fns.c (Frassq):
7210         * fns.c (Fold_rassq):
7211         * fns.c (rassq_no_quit):
7212         * fns.c (Fdelete):
7213         * fns.c (Fold_delete):
7214         * fns.c (Fdelq):
7215         * fns.c (Fold_delq):
7216         * fns.c (delq_no_quit):
7217         * fns.c (Fremassoc):
7218         * fns.c (Fremassq):
7219         * fns.c (remassq_no_quit):
7220         * fns.c (Fremrassoc):
7221         * fns.c (Fremrassq):
7222         * fns.c (remrassq_no_quit):
7223         * fns.c (Freverse):
7224         * fns.c (mapcar1):
7225         [1].
7226
7227         * frame-msw.c (mswindows_init_frame_1):
7228         * frame-msw.c (mswindows_delete_frame):
7229         Register popups with dialog code so keyboard traversing works.
7230
7231         * frame-tty.c (tty_raise_frame_no_select): [1].
7232
7233         * frame-x.c:
7234         * frame-x.c (x_set_frame_text_value):
7235         * frame-x.c (x_set_frame_properties):
7236         * frame-x.c (x_create_widgets):
7237         [7].
7238
7239         * frame.c:
7240         * frame.c (Fmouse_pixel_position): Minor doc fixes.
7241
7242         * frame.h (wrap_frame): New.
7243         Macro like wrap_device.
7244
7245         * general.c:
7246         * general.c (SYMBOL):
7247         * general.c (syms_of_general):
7248         Major reorg.  This is now just a wrapper and symbols themselves
7249         are listed in general-slots.h.
7250
7251         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
7252         * glyphs-msw.c (mswindows_resource_instantiate): [5].
7253
7254         * glyphs-msw.c (mswindows_native_layout_instantiate):
7255         Add DS_CONTROL so keyboard traversal will work.
7256
7257         * glyphs-widget.c:
7258         * glyphs-widget.c (syms_of_glyphs_widget):
7259         Move some symbols to general-slots.h.
7260
7261         * glyphs-x.c:
7262         * glyphs-x.c (xbm_instantiate_1):
7263         * glyphs-x.c (x_xbm_instantiate):
7264         * glyphs-x.c (x_xface_instantiate):
7265         * glyphs-x.c (autodetect_instantiate):
7266         * glyphs-x.c (cursor_font_instantiate):
7267         * glyphs-x.c (x_update_widget):
7268         * glyphs-x.c (x_widget_instantiate):
7269         * glyphs.c (bitmap_to_lisp_data):
7270         * glyphs.c (pixmap_to_lisp_data):
7271         [7].
7272
7273         * glyphs.c (syms_of_glyphs):
7274         [2].
7275
7276         * gui-x.c:
7277         * gui-x.c (print_widget_value):
7278         * gui-x.c (menu_separator_style_and_to_external):
7279         * gui-x.c (add_accel_and_to_external):
7280         * gui-x.c (button_item_to_widget_value):
7281         * gui-x.c (gui_items_to_widget_values_1):
7282         * gui-x.c (gui_items_to_widget_values):
7283         * gui-x.c (syms_of_gui_x):
7284         * gui-x.c (vars_of_gui_x):
7285         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
7286         [9].
7287
7288         * gui-x.h:
7289         Muleize, prototype changes matching gui-x.c.
7290
7291         * gui.c:
7292         * gui.c (separator_string_p):
7293         * gui.c (gui_item_add_keyval_pair):
7294         * gui.c (make_gui_item_from_keywords_internal):
7295         * gui.c (signal_too_long_error):
7296         * gui.c (parse_gui_item_tree_item):
7297         * gui.c (syms_of_gui):
7298         * gui.c (vars_of_gui):
7299         * gui.h:
7300         menu-no-selection-hook moved here (used by MSWin).
7301         Move some symbols to general-slots.h.
7302         [6].
7303         [9].
7304
7305         * insdel.c (get_buffer_pos_char):
7306         * insdel.c (get_buffer_range_char):
7307         Add GC comments.
7308
7309         * keymap.c (keymap_lookup_directly):
7310         * keymap.c (keymap_store):
7311         * keymap.c (ensure_meta_prefix_char_keymapp):
7312         * keymap.c (describe_map):
7313         * keymap.h:
7314         Support new button modifiers.
7315
7316         * lisp-disunion.h (wrap_object):
7317         * lisp-disunion.h (XSETOBJ):
7318         Rename make_obj to wrap_object.
7319
7320         * lisp-union.h:
7321         * lisp-union.h (make_int):
7322         * lisp-union.h (make_char):
7323         Support wrap_object.
7324
7325         * lisp.h:
7326         * lisp.h (LIST_LOOP):
7327         * lisp.h (EXTERNAL_LIST_LOOP):
7328         * lisp.h (LIST_LOOP_2):
7329         * lisp.h (EXTERNAL_LIST_LOOP_1):
7330         * lisp.h (EXTERNAL_LIST_LOOP_2):
7331         * lisp.h (EXTERNAL_LIST_LOOP_3):
7332         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
7333         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
7334         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
7335         * lisp.h (EXTERNAL_ALIST_LOOP_5):
7336         * lisp.h (EXTERNAL_ALIST_LOOP_6):
7337         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
7338         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
7339         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
7340         * lisp.h (struct Lisp_Symbol):
7341         * lisp.h (maybe_continuable_error_with_frob):
7342         Fix up section comments.
7343         Add new types for char to indicate usage.
7344         Delete symbols auto-generated from general-slots.h.
7345         Add prototypes for structured error functions.
7346         Add long comments describing looping macros and change interface
7347         so that lvalues are automatically declared.
7348         Add NO_DECLARE macro in case callers want to declare lvalues
7349         themselves.
7350
7351         * lread.c (read_syntax_error):
7352         * lread.c (continuable_read_syntax_error):
7353         * lread.c (read_structure):
7354         * lread.c (sequence_reader):
7355         * lread.c (read_list_conser):
7356         * lread.c (read_compiled_function):
7357         Rename syntax_error and continuable_syntax_error to avoid clash
7358         with same-named structured error functions.
7359
7360         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7361         * menubar-msw.c (populate_menu_add_item):
7362         * menubar-msw.c (populate_or_checksum_helper):
7363         [5].
7364         [9].
7365
7366         * menubar-x.c:
7367         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
7368         Mule-ize whole file.
7369
7370         * menubar.c (Fnormalize_menu_item_name): Add optimization.
7371
7372         * mule-charset.c (Fmake_charset):
7373         * mule-wnnfns.c (Fwnn_set_param):
7374         [1].
7375
7376         * ntproc.c (create_child):
7377         * ntproc.c (Fwin32_set_current_locale):
7378         Add comments portending doom.
7379
7380         * objects-msw.c:
7381         * objects-msw.c (old_font_enum_callback_2):
7382         * objects-msw.c (font_enum_callback_1):
7383         * objects-msw.c (mswindows_enumerate_fonts):
7384         [5].
7385
7386         * objects-x.c:
7387         * objects-x.c (allocate_nearest_color):
7388         * objects-x.c (x_parse_nearest_color):
7389         * objects-x.c (x_initialize_color_instance):
7390         * objects-x.c (x_print_color_instance):
7391         * objects-x.c (x_finalize_color_instance):
7392         * objects-x.c (x_valid_color_name_p):
7393         * objects-x.c (x_initialize_font_instance):
7394         * objects-x.c (x_print_font_instance):
7395         * objects-x.c (valid_x_font_name_p):
7396         * objects-x.c (truename_via_FONT_prop):
7397         * objects-x.c (truename_via_random_props):
7398         * objects-x.c (truename_via_XListFonts):
7399         * objects-x.c (x_font_truename):
7400         * objects-x.c (x_font_instance_truename):
7401         * objects-x.c (x_font_instance_properties):
7402         * objects-x.c (x_list_fonts):
7403         * objects-x.c (x_find_charset_font):
7404         Mule-ize entire file.
7405         [7].
7406
7407         * objects-x.h:
7408         Mule-verify.
7409
7410         * print.c:
7411         * print.c (std_handle_out_external):
7412         * print.c (debug_print_no_newline):
7413         * print.c (syms_of_print):
7414         Output to all debugger kinds in debug-print.
7415         Fix console-output code under MSWin to actually work.
7416
7417         * process-nt.c (send_signal):
7418         * process-nt.c (nt_create_process):
7419         Use newer Unicode macros.
7420
7421         * process-unix.c (unix_create_process):
7422         * process-unix.c (unix_canonicalize_host_name):
7423         * process-unix.c (unix_open_network_stream):
7424         [7].
7425
7426         * scrollbar-x.c:
7427         Mule-verify.
7428
7429         * search.c (syms_of_search):
7430         [2].
7431
7432         * select-msw.c (mswindows_destroy_selection):
7433         Use LIST_LOOP_2.
7434
7435         * select-x.c (symbol_to_x_atom):
7436         [7].
7437
7438         * select.c (syms_of_select):
7439         [2].
7440
7441         * sound.c (Fplay_sound_file):
7442         [7].
7443
7444         * specifier.c:
7445         * specifier.c (decode_specifier_type):
7446         * specifier.c (Fvalid_specifier_locale_type_p):
7447         * specifier.c (check_valid_locale_or_locale_type):
7448         * specifier.c (decode_locale):
7449         * specifier.c (decode_locale_type):
7450         * specifier.c (decode_locale_list):
7451         * specifier.c (check_valid_domain):
7452         * specifier.c (decode_specifier_tag_set):
7453         * specifier.c (Fcanonicalize_tag_set):
7454         * specifier.c (Fdefine_specifier_tag):
7455         * specifier.c (Fspecifier_tag_predicate):
7456         * specifier.c (check_valid_inst_list):
7457         * specifier.c (check_valid_spec_list):
7458         * specifier.c (decode_how_to_add_specification):
7459         * specifier.c (check_modifiable_specifier):
7460         * specifier.c (specifier_add_spec):
7461         * specifier.c (boolean_validate):
7462         * specifier.c (display_table_validate):
7463         [9].
7464
7465         * specifier.c (syms_of_specifier):
7466         Move some symbols to general-slots.h.
7467         [2].
7468
7469         * symbols.c:
7470         * symbols.c (Fmapatoms):
7471         * symbols.c (Fapropos_internal):
7472         Add GCPROs.
7473
7474         * symbols.c (set_default_buffer_slot_variable):
7475         * symbols.c (set_default_console_slot_variable):
7476         [1].
7477
7478         * symbols.c (defsymbol_massage_name_1):
7479         * symbols.c (defkeyword_massage_name):
7480         * symbols.c (deferror_1):
7481         * symbols.c (deferror):
7482         * symbols.c (deferror_massage_name_and_message):
7483         * symeval.h:
7484         * symeval.h (DEFSYMBOL):
7485         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
7486
7487         * symbols.c (syms_of_symbols):
7488         [2].
7489
7490         * symsinit.h:
7491         * symsinit.h (init_win32): New.
7492         Also new is syms_of_dialog_mswindows.
7493
7494         * syswindows.h:
7495         Add new Unicode macros, missing Cygwin wide-char functions,
7496         convenience conversion macros for Qmswindows_tstr, macros for
7497         encapsulating required MSWin <-> Cygwin filename conversions,
7498         prototype for dynamically-extracted (not in NT 3.51) functions.
7499
7500         * toolbar-x.c:
7501         Mule-verify.
7502
7503         * tooltalk.c (Fadd_tooltalk_message_arg):
7504         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
7505         * tooltalk.c (Fadd_tooltalk_pattern_arg):
7506         [7].
7507
7508         * tooltalk.c (syms_of_tooltalk):
7509         [2].
7510
7511         * unexnt.c:
7512         * unexnt.c (unexec):
7513         Fix up headers, declaration of unexec() to be more standard.
7514
7515 2000-07-20  Martin Buchholz  <martin@xemacs.org>
7516
7517         * offix.h: Revert change to guard macros - they're used in offix.c!
7518
7519 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7520
7521         * lisp.h: Defsubred Fdelete.
7522
7523         * console-msw.h:  (msprinter_default_printer): Added.
7524
7525         * console-msw.c (msprinter_canonicalize_console_connection):
7526         (msprinter_canonicalize_device_connection): Added.
7527
7528         * device-msw.c (msprinter_default_printer):
7529         (Fmswingows_get_default_printer):
7530         (signal_enum_priner_error):
7531         (Fmswingows_printer_list): Added.
7532
7533 2000-07-19  Martin Buchholz <martin@xemacs.org>
7534
7535         * XEmacs 21.2.35 is released.
7536
7537 2000-07-19  Martin Buchholz  <martin@xemacs.org>
7538
7539         * select-x.c (x_handle_selection_request):
7540         Text selected in xemacs and pasted into xterm failed to appear.
7541         Spelling fixes and cosmetic changes.
7542
7543 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7544
7545         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
7546         XEmacs frame (fix for doubling chars in dialog boxes).
7547
7548 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7549
7550         * select.c (select_convert_in, select_convert_out):
7551         Don't call intern() every time.
7552
7553         * select.c (Qselect_convert_in, Qselect_convert_out): New.
7554         * select.c (vars_of_select): Initialise them.
7555
7556 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7557
7558         * select.c (selection-coercible-types): New.
7559
7560         * select.c (own-selection-internal):
7561         * select.c (get-selection-internal):
7562         MULE bug fix - these should default to COMPOUND_TEXT and not
7563         STRING for MULE. I think.
7564
7565         * select.c (select_convert_out): Use selection-coercible-types
7566         to find types that we can attempt to perform coercions on.
7567
7568 2000-07-18  Martin Buchholz  <martin@xemacs.org>
7569
7570         * mule-wnnfns.c:
7571         * mule-canna.c:
7572         Add coding: cookie to identify encoding.
7573
7574         * mule-canna.c (CANNA_mode_keys): make static.
7575         Use proper prototypes, even for functions of no arguments.
7576         Remove external prototype for Fding().
7577
7578         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
7579
7580         * select.c (syms_of_select): Add missing DEFSUBR.
7581
7582 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7583
7584         * select.c (get_selection_internal, own_selection_internal):
7585         Make the type default to STRING, rather than placing a nil type
7586         into Vselection_alist.
7587
7588 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7589
7590         * gpmevent.c (tty_selection_exists_p):
7591         * gpmevent.c (tty_own_selection):
7592         Updated parameter lists.
7593
7594 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
7595
7596         * select.h (selection-alist): Removed declaration.
7597
7598         * select.h (get_local_selection):
7599         * select.c (get_local_selection):
7600         Made static.
7601
7602         * select.h (convert_selection): Removed declaration.
7603         * select.c (convert_selection): Removed.
7604         This function belongs in Lisp.
7605
7606         * select.h (select_convert_in): Declare.
7607         * select.h (select_convert_out): Declare.
7608         * select.c (select_convert_in): New.
7609         * select.c (select_convert_out): New.
7610         New conversion functions for other files to call.
7611
7612         * select.h (select_notify_buffer_kill): Declare.
7613         * select.c (select_notify_buffer_kill): New.
7614         New functions that get called from kill-buffer.
7615
7616         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
7617         X-specific lisp code.
7618
7619         * select.h: Declare some of the lisp-visible functions for
7620         external use.
7621
7622         * select.c (clean_local_selection_data): Removed. This was
7623         a disgusting function, and previously should have been in
7624         select-x.c in any case. The functionality is now provided
7625         in select-convert-from-integer (select.el).
7626
7627         * select.c (available-selection-types): Fixed stupidity where
7628         INTEGER and ATOM got added twice. Also add STRING when we see an
7629         extent.
7630
7631         * select.c (get-selection-internal): Removed symbol stripping. No
7632         longer causes conversion when data comes from the internal cache.
7633
7634         * select.c (syms_of_select): Added new functions.
7635
7636         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
7637         error checking - previously this called abort!
7638
7639         * select-x.c (x_own_selection): Changed comment.
7640
7641         * select-x.c (x_handle_selection_request): Use select_convert_out.
7642         Don't mess with selection-alist; it's an internal variable of select.c.
7643
7644         * select-x.c (x_get_foreign_selection): Use select_convert_in.
7645
7646         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
7647         rather than messing with selection-alist.
7648
7649         * select-msw.c (mswindows_get_foreign_selection):
7650         Use TO_INTERNAL_FORMAT rather than hacking.
7651
7652 2000-07-14  Martin Buchholz  <martin@xemacs.org>
7653
7654         * process-unix.c (unix_open_multicast_group):
7655         (unix_open_multicast_group): Remove useless casts.
7656
7657 2000-07-13  Martin Buchholz  <martin@xemacs.org>
7658
7659         * sound.c (Fplay_sound): Fix `unused variable' warning.
7660
7661         * emacs.c (main): Use correct type for _environ on SCO5.
7662
7663 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
7664
7665         * console.h (own_selection_method):
7666         * console.h (selection_exists_p_method):
7667         * console.h (available_selection_types_method): New.
7668         * console.h (register_selection_data_type_method): New.
7669         * console.h (selection_data_type_name): New.
7670
7671         * console-msw.h (mswindows_destroy_selection): Declare it.  New
7672         function & alist to track GlobalAlloc()'d handles that need
7673         releasing when the clipboard data gets replaced or emptied.
7674
7675         * event-msw.c (mswindows_wnd_proc): Call it.
7676
7677         * lisp.h, general.c (Qappend): New symbol representing a
7678         `how-to-add' mode.
7679
7680         * select.c (own-selection-internal):
7681         * select.c (selection-exists-p):
7682         * select.c (available-selection-types): New.
7683         * select.c (register-selection-data-type): New.
7684         * select.c (selection-data-type-name): New.  New functions to deal
7685         with device-specific selection data formats.
7686         * select.c (selection-converter-out-alist): Renamed.
7687         * select.c (selection-converter-in-alist): New.
7688         * select.c (selection-appender-alist): New.  Added new alists.
7689         * select.c (syms_of_select, vars_of_select): Added new symbols &
7690         variables.
7691         * select.c (get_local_selection): Split.
7692         * select.c: Removed spurious type checking - selections may now be
7693         of any type, not just strings.
7694         * select.c (own-selection-internal):
7695
7696         * select.h, select.c (convert_selection): New. Created
7697         convert_selection() function based on get_local_selection().
7698         * select.h, select.c (QCF_*): New symbols representing mswindows
7699         clipboard formats.
7700         * select.h, select.c (Qreplace_all, Qreplace_existing): New
7701         symbols representing `how-to-add' modes.
7702
7703         * select-msw.c (x_sym_p): New.
7704         * select-msw.c (symbol_to_ms_cf): New.
7705         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
7706         symbols & clipboard formats. Can also handle string names.
7707         * select-msw.c (mswindows_own_selection):
7708         * select-msw.c (mswindows_selection_exists_p):
7709         Added `data-type' parameter. Use it.
7710         * select-msw.c (mswindows_available_selection_types): New.
7711         * select-msw.c (mswindows_register_selection_data_type): New.
7712         * select-msw.c (mswindows_selection_data_type_name): New.
7713         * select-msw.c (mswindows_own_selection):
7714         * select-msw.c (mswindows_get_foreign_selection):
7715         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
7716         * select-msw.c (console_create_select_mswindows): Added new methods.
7717         * select-msw.c (mswindows_destroy_selection): New.
7718         * select-msw.c (Vhandle_alist): New list.
7719         * select-msw.c (mswindows_own_selection):
7720
7721         * select-x.c (x_own_selection):
7722         * select-x.c (x_selection_exists_p):
7723         * select-x.c: Added some comments about maybe using new
7724         functionality.
7725         * select-x.c (x_own_selection):
7726
7727         * specifier.c: Remove definition of Qappend (now in general.c)
7728         * specifier.c (syms_of_specifier): Remove Qappend.
7729
7730 2000-07-12  Martin Buchholz  <martin@xemacs.org>
7731
7732         * config.h.in: Add socklen_t.
7733
7734         * s/decosf4-0.h: No special compiler flags needed or desired.
7735         In particular, undefine _BSD for DEC OSF 4.0.
7736
7737 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7738
7739         * redisplay-msw.c (msprinter_frame_output_end): Added.
7740         (console_type_create_redisplay_mswindows): Referred the above.
7741
7742         * frame.c (setup_frame_without_minibuffer): Do not create a
7743         default minibuffer frame on a printer device.
7744
7745         * frame-msw.c (apply_dc_geometry): Added.
7746         (msprinter_start_page):
7747         (msprinter_init_frame_3):
7748         (msprinter_eject_page): Use it.
7749
7750         * console-msw.h (struct msprinter_frame): Added pix_left and top,
7751         and removed residual duplex and orientation properties.
7752
7753 2000-07-11  Martin Buchholz  <martin@xemacs.org>
7754
7755         * eval.c (function_argcount): Work around a DEC CC compiler bug.
7756
7757         * unexalpha.c: Remove system prototypes from C sources!
7758
7759 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
7760
7761         * eval.c: Remove references to M-x edit-options in DEFUNs for
7762         `defvar' and `defconst'.
7763
7764 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7765
7766         * config.h.in: Remove SMART_INCLUDE hackery.
7767
7768         PostgreSQL hacking:
7769         * config.h.in: Don't use SMART_INCLUDE.
7770
7771         * postgresql.h: Include libpq-fe.h here.  Fix typo.
7772         * inline.c: Simply #include "postgresql.h"
7773         * postgresql.c:
7774         - Don't use SMART_INCLUDE
7775         - Use simply "const".
7776         - Use standard doc string conventions.
7777         - Use correct type for result of PQstatus.
7778
7779 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7780
7781         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
7782
7783         C++ compilation changes.
7784         * config.h.in (EXTERN_C): Define.
7785         * config.h.in (not): This is also a C++ keyword.
7786         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
7787         * cm.c: Use EXTERN_C.
7788         * redisplay-tty.c: Use EXTERN_C.
7789         * sysdep.c: Use EXTERN_C.  Remove Gould support.
7790
7791 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7792
7793         * general.c: Remove duplicate definition for Qfunction.
7794
7795 2000-07-08  Ben Wing  <ben@xemacs.org>
7796
7797         * device-msw.c (msprinter_init_device):
7798         * device-msw.c (sync_printer_with_devmode):
7799         * device-msw.c (handle_devmode_changes):
7800         * device-msw.c (print_dialog_worker):
7801         * device-msw.c (Fmsprinter_apply_settings):
7802         * device-msw.c (hash_devmode):
7803         * device-msw.c (Fmsprinter_settings_despecialize):
7804         use Qmswindows_tstr, not Qctext.
7805
7806         * vm-limit.c (check_memory_limits):
7807         avoid infinite loop printing warning messages.
7808
7809 2000-07-05  Craig Lanning  <lanning@scra.org>
7810
7811         * Makefile.in.in: Add support for including the Windows resources
7812         when building with the cygwin and mingw targets.
7813
7814         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
7815         not set or not correct.
7816         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
7817         (init_initial_directory): Don't try to use $PWD on the
7818         WIN32_NATIVE target.
7819
7820         * s\cygwin32.h:
7821         [[Add -mwindows to eliminate console window.]] not required --ben
7822         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7823         (MAIL_USE_POP): removed; now handled by configure.
7824
7825         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
7826         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
7827         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7828         (MAIL_USE_POP): removed; now handled by configure.
7829         (ENCAPSULATE_STAT): from Dan Holmsand, added.
7830         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
7831         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
7832         constant string.
7833         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
7834         up from <winsock.h> via systime.h.
7835         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
7836         (getpagesize): from Dan Holmsand, added.
7837         Added #endif which was left dangling by Ben's mega patch; added
7838         comment to help prevent this in the future.
7839
7840         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
7841
7842 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7843
7844         * console-msw.h (struct mswindows_device): Removed unnecessary
7845         cached device geometry values.
7846         Added update_tick and an accessor macro.
7847         (Lisp_Devmode): Added lrecord declaration.
7848         (struct msprinter_device): Contain devmode as a Lisp object.
7849         Added mswindows_get_selected_frame_hwnd();
7850
7851         * console.h (struct console_methods): Indentation nitpicking.
7852
7853         * device-msw.c (mswindows_init_device): Do not initialize geometry
7854         cache. Initialize update tick.
7855         (mswindows_device_system_metrics): Ask the device for its geometry.
7856         (global_free_2_maybe):
7857         (devmode_to_hglobal):
7858         (handle_printer_changes):
7859         (ensure_not_printing):
7860         (print_dialog_worker):
7861         (Fmsprinter_print_setup_dialog):
7862         (Fmsprinter_print_dialog):
7863         (plist_get_margin):
7864         (plist_set_margin):
7865         (Fmsprinter_page_setup_dialog): Added functions.
7866         (sync_printer_with_devmode):
7867         (handle_devmode_changes):
7868         (Fmsprinter_get_settings):
7869         (Fmsprinter_select_settings):
7870         (Fmsprinter_apply_settings):
7871         (allocate_devmode):
7872         (Fmsprinter_settings_copy):
7873         (Fmsprinter_settings_despecialize):
7874         (print_devmode):
7875         (finalize_devmode):
7876         (equal_devmode):
7877         (hash_devmode): Added functions
7878         (syms_of_device_mswindows): Init devmode lrecord class.
7879
7880         * device.h: Added an exfun for find-device.
7881
7882         * event-msw.c (mswindows_wnd_proc): Do not update the cached
7883         geometry; although, recreate the device compatible DC.
7884
7885         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
7886         (msprinter_init_frame_3):
7887         (msprinter_frame_property):
7888         (msprinter_internal_frame_property_p):
7889         (msprinter_frame_properties):
7890         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
7891         print job properties (will move to device settings).
7892
7893         * lisp.h: Added symbols.
7894
7895         * general.c (syms_of_general): Declared them.
7896
7897         * hash.c (string_hash): Added.
7898
7899         * lrecord.h (lrecord_type): Added devmode lrecord type.
7900
7901 2000-07-02  Mike Sperber <mike@xemacs.org>
7902
7903         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
7904         FreeBSD 4.0.
7905
7906 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
7907
7908         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
7909         integer.
7910
7911 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
7912
7913         * data.c (Fstring_to_number): Don't recognize floating point if
7914         base is not 10.
7915
7916 2000-06-22  Martin Buchholz  <martin@xemacs.org>
7917
7918         * glyphs-widget.c (tab_control_query_geometry):
7919         (widget_query_geometry):
7920         (button_query_geometry):
7921         * glyphs.c (text_query_geometry):
7922         Enforce type correctness.
7923
7924 2000-06-18  Martin Buchholz  <martin@xemacs.org>
7925
7926         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
7927         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
7928
7929 2000-06-17  Martin Buchholz  <martin@xemacs.org>
7930
7931         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
7932         conflicts with gcc's fixincluded version of FOO.h.
7933
7934         * glyphs.h (image_instance_geometry): Remove trailing `,'
7935
7936 2000-06-08  Mike Alexander  <mta@arbortext.com>
7937
7938         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
7939         (shove_thread): Don't write the same output twice
7940         (make_ntpipe_output_stream): Increase priority of shove thread
7941         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
7942         chance to run
7943         (ntpipe_shove_closer): Don't delete the pipe until we're done with
7944         it.
7945
7946 2000-06-12  Ben Wing  <ben@xemacs.org>
7947
7948         * s\mingw32.h (sigset):
7949         * s\windowsnt.h (sigset):
7950         rename msw_ to mswindows_ for consistency with general convention.
7951
7952 2000-06-12  Ben Wing  <ben@xemacs.org>
7953
7954         * console-msw.c:
7955         * console-msw.c (mswindows_get_console_hwnd):
7956         * console-msw.c (mswindows_ensure_console_allocated):
7957         * console-msw.c (mswindows_hide_console):
7958         * console-msw.c (mswindows_show_console):
7959         * console-msw.c (mswindows_ensure_console_buffered):
7960         * console-msw.c (mswindows_output_console_string):
7961         * console-msw.c (mswindows_windows9x_p):
7962         * console-msw.h:
7963         * device-msw.c (mswindows_get_workspace_coords):
7964         * device-msw.c (mswindows_device_system_metrics):
7965         * dialog-msw.c (mswindows_popup_dialog_box):
7966         * event-msw.c (mswindows_wnd_proc):
7967         * frame-msw.c (mswindows_size_frame_internal):
7968         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7969         * menubar-msw.c (displayable_menu_item):
7970         * menubar-msw.c (mswindows_char_is_accelerator):
7971         * nt.c:
7972         * nt.c (mswindows_sigset):
7973         * nt.c (mswindows_sigrelse):
7974         * nt.c (mswindows_sigpause):
7975         * nt.c (mswindows_raise):
7976         * nt.c (timer_proc):
7977         * ntproc.c:
7978         * ntproc.c (find_child_console):
7979         * ntproc.c (sys_kill):
7980         * print.c:
7981         * print.c (std_handle_out_external):
7982         * process-nt.c (find_child_console):
7983         * process-nt.c (send_signal_the_95_way):
7984         * process-nt.c (ensure_console_window_exists):
7985         * process-nt.c (nt_create_process):
7986         * syssignal.h:
7987         rename msw_ to mswindows_ for consistency with general convention.
7988
7989         * emacs.c:
7990         * dumper.c:
7991         include nt.h, not syswindows.h.
7992
7993         * nt.c (mswindows_fstat):
7994         * nt.c (mswindows_stat):
7995         prefix mswindows_ instead of attempting to directly override the
7996         library functions.  fix declarations.
7997
7998         * nt.h:
7999         include syswindows.h.  move some sysdep.h stuff here.
8000
8001         * ntheap.h:
8002         include syswindows.h, not <windows.h>.
8003
8004         * ntplay.c:
8005         clean up headers.
8006
8007         * sysdep.c:
8008         clean up headers.
8009
8010         * sysdep.c (sys_fstat):
8011         * sysdep.c (sys_stat):
8012         call mswindows versions when appropriate.
8013
8014         * sysdep.h:
8015         move mswin decls to nt.h.
8016
8017         * syswindows.h:
8018         add long comment describing appropriate use of the various windows
8019         headers.
8020
8021 2000-06-11  Ben Wing  <ben@xemacs.org>
8022
8023         * device-x.c: Correct doc string for sixth arg of x-get-resource.
8024
8025 2000-06-10  Ben Wing  <ben@xemacs.org>
8026
8027         * Makefile.in.in (release):
8028         Correction to make sure xemacs.exe always dumped when correct.
8029
8030         * alloca.c:
8031         * balloon_help.c:
8032         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
8033
8034         * buffer.c (set_buffer_internal):
8035         [[[[2]]]]: Remove HAVE_FEP code.
8036
8037         * buffer.c (init_initial_directory):
8038         [3].
8039
8040         * bytecode.c:
8041         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
8042         individual files.
8043
8044         * callproc.c:
8045         * callproc.c (call_process_cleanup):
8046         * callproc.c (Fold_call_process_internal):
8047         * callproc.c (child_setup):
8048         * callproc.c (getenv_internal):
8049         * callproc.c (init_callproc):
8050         * callproc.c (vars_of_callproc):
8051         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
8052         __CYGWIN32__ -> CYGWIN.
8053         DOS_NT -> WIN32_NATIVE.
8054         Remove MSDOS support/references, converting to WIN32_NATIVE
8055           where correct.
8056         __MINGW32__ -> MINGW.
8057         Fix windows.h includes.
8058         Remove bogus HAVE_NTGUI.
8059
8060         * config.h.in:
8061         [2].
8062
8063         * console-msw.c:
8064         mswindows_message_outputted added for use in allowing startup
8065         errors on the console to be seen.
8066
8067         * console-msw.c (msw_ensure_console_allocated):
8068         * console-msw.c (msw_output_console_string):
8069         * console-msw.c (DHEADER):
8070         * console-msw.c (DOPAQUE_DATA):
8071         * console-msw.c (DEVENT):
8072         * console-msw.c (DCONS):
8073         * console-msw.c (DCONSCDR):
8074         * console-msw.c (DSTRING):
8075         * console-msw.c (DVECTOR):
8076         * console-msw.c (DSYMBOL):
8077         * console-msw.c (DSYMNAME):
8078         Fix warnings.
8079
8080         * console-stream.c (stream_init_console):
8081         Fix text/binary problems.
8082
8083         * device-msw.c:
8084         * device-msw.c (mswindows_finish_init_device):
8085         * device-msw.c (mswindows_delete_device):
8086         [1].
8087
8088         * device.c (handle_asynch_device_change):
8089         [3].
8090
8091         * dgif_lib.c:
8092         * dgif_lib.c (DGifOpenFileName):
8093         * dgif_lib.c (DGifOpenFileHandle):
8094         * dgif_lib.c (DGifGetLine):
8095         * dgif_lib.c (DGifGetPixel):
8096         Added config.h/lisp.h, fix up includes.
8097         [1].
8098
8099         * dired-msw.c:
8100         [4].
8101
8102         * dired.c:
8103         * dired.c (file_name_completion):
8104         * dired.c (Ffile_attributes):
8105         * dired.c (syms_of_dired):
8106         [1].
8107
8108         * dumper.c:
8109         * dumper.c (pdump_file_unmap):
8110         * dumper.c (pdump_load):
8111         [1].
8112
8113         * editfns.c:
8114         * editfns.c (Ftemp_directory):
8115         * editfns.c (user_login_name):
8116         * editfns.c (Fuser_real_login_name):
8117         * editfns.c (get_home_directory):
8118         [1].
8119
8120         * elhash.c (finish_marking_weak_hash_tables):
8121         [[[[5]]]]: Fix GCC warnings.
8122
8123         * emacs.c:
8124         * emacs.c (mswindows_handle_hardware_exceptions):
8125         * emacs.c (make_arg_list_1):
8126         * emacs.c (main_1):
8127         * emacs.c (Fkill_emacs):
8128         * emacs.c (Fdump_emacs):
8129         [1].
8130         Fix problems with nested crashes, add long comment.
8131
8132         * event-Xt.c (init_event_Xt_late):
8133         [1].
8134
8135         * event-msw.c:
8136         * event-msw.c (mswindows_dde_callback):
8137         * event-msw.c (mswindows_handle_sticky_modifiers):
8138         * event-msw.c (mswindows_wnd_proc):
8139         [1].
8140         [5].
8141
8142         * events.c (character_to_event):
8143         [1].
8144
8145         * fileio.c:
8146         * fileio.c (Ffile_name_directory):
8147         * fileio.c (Ffile_name_nondirectory):
8148         * fileio.c (directory_file_name):
8149         * fileio.c (Fexpand_file_name):
8150         * fileio.c (Fsubstitute_in_file_name):
8151         * fileio.c (Ffile_name_absolute_p):
8152         * fileio.c (check_executable):
8153         * fileio.c (Ffile_readable_p):
8154         * fileio.c (Ffile_accessible_directory_p):
8155         * fileio.c (Ffile_modes):
8156         * fileio.c (Funix_sync):
8157         * fileio.c (vars_of_fileio):
8158         [1]. [4].
8159
8160         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
8161
8162         Expand getdefdir defn.
8163         Fix bogus rename() comment.
8164
8165         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
8166         to use standard XEmacs include files, e.g. sysfile.h, rather
8167         than system-specific includes.
8168
8169         * fns.c:
8170         * fns.c (Fsubseq):
8171         [5]. [6].
8172
8173         * frame.c (vars_of_frame):
8174         [1].
8175
8176         * getloadavg.c:
8177         * getloadavg.c (getloadavg):
8178         [1]. [6].
8179         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
8180         (We don't use it elsewhere in the code; just add a comment.)
8181
8182         * gif_io.c:
8183         [6].
8184         Add config.h.
8185
8186         * glyphs-msw.c:
8187         * glyphs-msw.c (mswindows_resource_instantiate):
8188         [1].
8189
8190         * glyphs-x.c (x_native_layout_instantiate):
8191         [5].
8192
8193         * gui-msw.c (Fmswindows_shell_execute):
8194         [1].
8195
8196         * insdel.c:
8197         [4].
8198
8199         * lisp.h:
8200         [4]. [5].
8201
8202         * lread.c (locate_file_in_directory_mapper):
8203         [1].
8204
8205         * lstream.c:
8206         [4].
8207
8208         * mem-limits.h:
8209         * mem-limits.h (get_lim_data):
8210         [1].
8211
8212         * menubar-msw.c:
8213         [4].
8214
8215         * ndir.h:
8216         [1].
8217
8218         * nt.c:
8219         * nt.c (getwd):
8220         * nt.c (closedir):
8221         * nt.c (rva_to_section):
8222         * nt.c (mswindows_executable_type):
8223         [1]. [6].
8224         Fix closedir() defn.
8225
8226         * nt.h:
8227         [[[[8]]]]: *_OK defs moved to sysfile.h.
8228
8229         * ntproc.c:
8230         [6]. [7].
8231
8232         * objects-x.c:
8233         [4].
8234
8235         * print.c:
8236         * print.c (std_handle_out_external):
8237         [1]. [4].
8238
8239         * process-nt.c:
8240         * process-nt.c (nt_create_process):
8241         [6].
8242         try to fix process quoting somewhat.
8243
8244         * process-unix.c (unix_create_process):
8245         [1].
8246
8247         * process.c:
8248         * process.c (vars_of_process):
8249         Add Vnull_device.
8250
8251         * process.h:
8252         [1].
8253
8254         * realpath.c:
8255         * realpath.c (xrealpath):
8256         [1].
8257
8258         * redisplay-tty.c (init_tty_for_redisplay):
8259         [3].
8260
8261         * redisplay.c:
8262         [4]. [6].
8263
8264         * scrollbar-msw.c:
8265         [4].
8266
8267         * sheap.c:
8268         * sheap.c (more_static_core):
8269         * sheap.c (report_sheap_usage):
8270         [5]. [6].
8271
8272         * signal.c:
8273         * signal.c (alarm_signal):
8274         [1]. [6].
8275
8276         * sound.c:
8277         [6].
8278
8279         * strftime.c:
8280         * strftime.c (zone_name):
8281         [1]. [5].
8282
8283         * symsinit.h (init_sunpro):
8284         [1].
8285
8286         * syscommctrl.h:
8287         commctrl.h not in Cygwin b20.1.
8288
8289         * sysdep.c:
8290         * sysdep.c (endif):
8291         * sysdep.c (sys_subshell):
8292         * sysdep.c (init_baud_rate):
8293         * sysdep.c (emacs_get_tty):
8294         * sysdep.c (emacs_set_tty):
8295         * sysdep.c (tty_init_sys_modes_on_device):
8296         * sysdep.c (init_system_name):
8297         * sysdep.c (sys_open):
8298         * sysdep.c (interruptible_open):
8299         * sysdep.c (sys_fopen):
8300         * sysdep.c (sys_mkdir):
8301         * sysdep.c (sys_rename):
8302         * sysdep.c (get_process_times_1):
8303         [1]. [6].
8304
8305         * sysdep.h:
8306         [1].
8307
8308         * sysdir.h:
8309         * sysdir.h (DIRENTRY_NONEMPTY):
8310         [1]. [6].
8311
8312         * sysdll.c (dll_init):
8313         * sysdll.h:
8314         [1].
8315
8316         * sysfile.h:
8317         [1]. [6]. [8].
8318         added text/binary defs.
8319
8320         * sysfloat.h:
8321         [1].
8322
8323         * sysproc.h:
8324         * sysproc.h (EDESTADDRREQ):
8325         * sysproc.h (poll_fds_for_input):
8326         [1]. [6].
8327
8328         * syspwd.h:
8329         [6].
8330
8331         * syssignal.h:
8332         [1].
8333
8334         * systime.h:
8335         [1]. [6].
8336
8337         * systty.h:
8338         [1].
8339
8340         * syswindows.h:
8341         [1].
8342         Always define WIN32_LEAN_AND_MEAN.
8343
8344         * unexcw.c (unexec):
8345         [5].
8346
8347         * unexec.c:
8348         * unexec.c (copy_text_and_data):
8349         * unexec.c (adjust_lnnoptrs):
8350         [1].
8351
8352         * unexnt.c:
8353         * unexnt.c (_start):
8354         [1].
8355
8356 2000-06-07  Ben Wing  <ben@xemacs.org>
8357
8358         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
8359         was used only as a model.  We've long since extracted any useful
8360         logic or code out of this. (I just did an exhaustive search.)
8361
8362         * s\msdos.h: Removed.
8363
8364         * s\windows95.h: Removed.
8365
8366 2000-06-10  Ben Wing  <ben@xemacs.org>
8367
8368         * s\cygwin32.h:
8369         [1]. [5].
8370         Don't use extern with fun defs.
8371
8372         * s\mingw32.h:
8373         [1]. [7].
8374         Remove nt\inc include.
8375         Remove getdisk, getdefdir. (The former is unused, the latter
8376         expanded in fileio.h.)
8377
8378         * s\windowsnt.h:
8379         * s\windowsnt.h (WIN32_NATIVE):
8380         * s\windowsnt.h (HAVE_STRCASECMP):
8381         [1]. [7].
8382         Add long comment about preprocessor changes.
8383         Remove getdisk, getdefdir. (The former is unused, the latter
8384         expanded in fileio.h.)
8385
8386 2000-06-10  Ben Wing  <ben@xemacs.org>
8387
8388         * m\arm.h:
8389         * m\delta.h:
8390         * m\intel386.h:
8391         * m\sequent.h:
8392         * m\template.h:
8393         * m\windowsnt.h:
8394         [1].
8395         Remove bogus/unused NO_SOCK_SIGIO.
8396
8397 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
8398
8399         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
8400         not an Emchar.
8401
8402 2000-06-04  Mike Sperber <mike@xemacs.org>
8403
8404         * casetab.c (set_case_table): For `set-standard-case-table',
8405         actually deposit the new case tables where the rest of XEmacs can
8406         see them.
8407
8408 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
8409
8410         * data.c (Faset): Don't cast XCHAR() to unsigned char.
8411
8412 2000-06-05  Ben Wing  <ben@xemacs.org>
8413
8414         * callproc.c (child_setup): Don't do close_load_descs() under
8415         MS Windows.  Put in a comment explaining why.
8416
8417 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
8418
8419         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
8420         Toolkit shell" which breaks `kill-compilation' on Windows NT
8421         native, retaining STDERR handling improvements.
8422
8423 2000-06-01  Andreas Jaeger  <aj@suse.de>
8424
8425         * s/s390.h: Support for S390, based on a patch by Martin
8426         Schwidefsky <schwidefsky@de.ibm.com>.
8427
8428 2000-05-30  Andy Piper  <andy@xemacs.org>
8429
8430         * window.c (allocate_window):
8431         (make_dummy_parent):
8432         (Fset_window_configuration): use new hashtable type.
8433
8434         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
8435         (struct image_instantiator_methods):
8436         (struct Lisp_Image_Instance): make instance geometry signed.
8437
8438         * glyphs.c (instantiate_image_instantiator):
8439         (image_instance_query_geometry):
8440         (image_instance_layout):
8441         (image_instance_layout):
8442         (query_string_geometry):
8443         (text_query_geometry):
8444         (image_instantiate):
8445         (image_instantiate):
8446         (cache_subwindow_instance_in_frame_maybe):
8447         (subwindow_query_geometry): make instance geometry signed.
8448
8449         * glyphs-widget.c (widget_query_geometry):
8450         (widget_layout):
8451         (button_query_geometry):
8452         (tree_view_query_geometry):
8453         (tab_control_query_geometry):
8454         (layout_query_geometry):
8455         (layout_layout):
8456         (native_layout_layout): make instance geometry signed.
8457
8458 2000-05-29  Olivier Galibert  <galibert@pobox.com>
8459
8460         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
8461         constant.
8462
8463         * general.c (syms_of_general): Add Qfull_assoc symbol.
8464
8465         * data.c (finish_marking_weak_lists): Mark full-assoc lists
8466         correctly.
8467         (decode_weak_list_type): Decode full-assoc type.
8468         (encode_weak_list_type): Encode full-assoc type.
8469         (Fmake_weak_list): Update doc string.
8470
8471 2000-05-30  Andy Piper  <andy@xemacs.org>
8472
8473         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
8474
8475         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
8476         (decode_hash_table_weakness): ditto.
8477         (Fhash_table_weakness): ditto.
8478         (Fhash_table_type): ditto.
8479         (finish_marking_weak_hash_tables): ditto.
8480         (hash_table_weakness_validate): ditto.
8481         (syms_of_elhash): ditto.
8482
8483 2000-05-28  Martin Buchholz <martin@xemacs.org>
8484
8485         * XEmacs 21.2.34 is released.
8486
8487 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8488
8489         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
8490         start cache.
8491         (updating_line_start_cache): Gone.
8492         (regenerate_window): Replace resetting of VERTICAL_CLIP by
8493         generic code to force a minimum of 1 line laid out in the
8494         CMOTION_DISP case.
8495
8496 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8497
8498         * glyphs.c (instantiate_image_instantiator): Check for initialized
8499         height & width no longer special cases IMAGE_NOTHING.
8500         (nothing_instantiate): Set height and width of instance.
8501
8502 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8503
8504         * unexelf.c (unexec): Search for ".data" section.
8505         Initialize new_data2_offset from old_data_index.
8506         Remove redundant check for ElfW.
8507
8508 2000-05-23  Andy Piper  <andy@xemacs.org>
8509
8510         * glyphs.c (get_image_instantiator_governing_domain): allow more
8511         specific domains as the governing domain rather than expecting an
8512         exact match. This fixes problems with layouts.
8513
8514 2000-05-22  Andy Piper  <andy@xemacs.org>
8515
8516         * redisplay-output.c (compare_runes): check for non-images
8517
8518         * glyphs.c (set_glyph_dirty_p): ditto.
8519         (update_glyph_cachel_data): ditto.
8520
8521         * glyphs-widget.c (layout_post_instantiate): ditto.
8522         (layout_post_instantiate): ditto.
8523
8524         * event-msw.c (mswindows_wnd_proc): warning removal.
8525
8526 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
8527
8528         * s\mingw32.h: Added #undef for CLASH_DETECTION.
8529
8530         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
8531
8532         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
8533
8534         * nt.c (rva_to_section): mingw32 needs rva_to_section.
8535         (mswindows_executable_type): mingw32 now has enough headers for
8536         this to work.
8537
8538 2000-05-20  Andy Piper  <andy@xemacs.org>
8539
8540         * console-msw.c (mswindows_output_last_error): ; -> ,
8541
8542 2000-05-12  Andy Piper  <andy@xemacs.org>
8543
8544         * console-msw.c (FROB): compare ints with ints.
8545
8546 2000-05-11  Andy Piper  <andy@xemacs.org>
8547
8548         * glyphs-x.c (x_finalize_image_instance): make minimal build
8549         happy.
8550
8551 2000-05-20  Ben Wing  <ben@xemacs.org>
8552
8553         * event-Xt.c:
8554         * event-Xt.c (vars_of_event_Xt):
8555         move modifier-keys-are-sticky to event-stream.c.
8556
8557         * event-msw.c:
8558         * event-msw.c (mswindows_enqueue_mouse_button_event):
8559         * event-msw.c (key_needs_default_processing_p):
8560         * event-msw.c (XEMSW_LCONTROL):
8561         * event-msw.c (mswindows_handle_sticky_modifiers):
8562         * event-msw.c (FROB):
8563         * event-msw.c (clear_sticky_modifiers):
8564         * event-msw.c (output_modifier_keyboard_state):
8565         * event-msw.c (output_alt_keyboard_state):
8566         * event-msw.c (mswindows_wnd_proc):
8567         * event-msw.c (mswindows_modifier_state):
8568         * event-msw.c (emacs_mswindows_handle_magic_event):
8569         implement sticky modifiers.
8570
8571         * event-stream.c:
8572         * event-stream.c (vars_of_event_stream):
8573         move modifier-keys-are-sticky here.
8574
8575         * lisp.h:
8576         add CHECK_FUNCTION.
8577
8578         * rangetab.c:
8579         implement map-range-table.
8580
8581
8582 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
8583
8584         * redisplay-tty.c (reset_tty_modes):
8585         (tty_redisplay_shutdown): Adjust argument type to
8586         tty_frame_output_end.
8587
8588 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8589
8590         * eval.c (Fbacktrace): Don't output a line with only right
8591         parenthesis.
8592
8593 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
8594
8595         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
8596         (Fpq_reset_poll): Ditto.
8597
8598 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
8599
8600         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
8601
8602 2000-05-16  Ben Wing  <ben@xemacs.org>
8603
8604         * buffer.c:
8605         * buffer.c (dfc_convert_to/from_internal_format):
8606         * buffer.c (reinit_vars_of_buffer):
8607         Fix conversion functions to allow reentrancy.
8608
8609         * console-msw.c:
8610         * console-msw.c (mswindows_output_last_error):
8611         New fun, generally useful -- output a human-readable
8612         version of GetLastError() on the console.
8613
8614         * console-msw.h:
8615         * console-msw.h (struct mswindows_frame):
8616         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
8617
8618         * console-stream.c (stream_output_begin):
8619         * console-stream.c (stream_output_end):
8620         * console-stream.c (stream_output_vertical_divider):
8621         * console-stream.c (stream_clear_region):
8622         * console-stream.c (stream_flash):
8623         * console-stream.c (console_type_create_stream):
8624         Delete blank stream methods, not needed.
8625
8626         * console.h (struct console_methods):
8627         Split begin/end methods into window and frame.
8628
8629         * event-msw.c:
8630         * event-msw.c (mswindows_handle_paint):
8631         * event-msw.c (output_alt_keyboard_state):
8632         * event-msw.c (mswindows_wnd_proc):
8633         * event-msw.c (vars_of_event_mswindows):
8634         Comment about problems with ignored-expose.
8635         Define mswindows-debug-events; not really implemented.
8636
8637         * frame-msw.c (mswindows_init_frame_1):
8638         random cleanups.
8639
8640         * glyphs-msw.c:
8641         * glyphs-msw.c (begin_defer_window_pos):
8642         * glyphs-msw.c (mswindows_unmap_subwindow):
8643         * glyphs-msw.c (mswindows_map_subwindow):
8644         * glyphs-msw.c (mswindows_resize_subwindow):
8645         Use DeferWindowPos to reduce flashing when mapping/unmapping.
8646
8647         * glyphs.c (make_image_instance_1):
8648         Fix crash.
8649
8650         * gutter.c (Fredisplay_gutter_area):
8651         Use new begin/end methods.
8652
8653         * lisp.h (Dynarr_new2):
8654         New creation fun.
8655
8656         * redisplay-msw.c:
8657         * redisplay-msw.c (mswindows_frame_output_begin):
8658         * redisplay-msw.c (mswindows_frame_output_end):
8659         * redisplay-msw.c (console_type_create_redisplay_mswindows):
8660         New begin/end methods -- handle DeferWindowPos.
8661
8662         * redisplay-output.c (redisplay_move_cursor):
8663         * redisplay-output.c (redraw_cursor_in_window):
8664         * redisplay-output.c (redisplay_update_line):
8665         * redisplay-output.c (redisplay_output_window):
8666         New begin/end methods.
8667
8668         * redisplay-tty.c:
8669         * redisplay-tty.c (tty_frame_output_begin):
8670         * redisplay-tty.c (tty_frame_output_end):
8671         * redisplay-tty.c (console_type_create_redisplay_tty):
8672         New begin/end methods.
8673
8674         * redisplay-x.c:
8675         * redisplay-x.c (x_window_output_begin):
8676         * redisplay-x.c (x_window_output_end):
8677         * redisplay-x.c (console_type_create_redisplay_x):
8678         New begin/end methods.
8679
8680         * redisplay.c (redisplay_frame):
8681         * redisplay.c (Fredisplay_echo_area):
8682         New begin/end methods.
8683         use MAYBE_DEVMETH for clear_frame; it may not exist.
8684
8685         * window.h (WINDOW_XFRAME):
8686         WINDOW_XFOO macros -- get locale and decode struct pointer.
8687
8688
8689 2000-05-12  Ben Wing  <ben@xemacs.org>
8690
8691         * emacs.c:
8692         * emacs.c (ensure_no_quitting_from_now_on):
8693         * emacs.c (fatal_error_signal):
8694         * emacs.c (mswindows_handle_hardware_exceptions):
8695         * emacs.c (main):
8696         * emacs.c (Fkill_emacs):
8697         * emacs.c (shut_down_emacs):
8698         * emacs.c (assert_failed):
8699         various improvements in fatal error handling.
8700
8701         * eval.c:
8702         move preparing_for_armageddon to emacs.c.
8703
8704         * lisp.h:
8705         declare fatal_error_in_progress.
8706
8707         * print.c:
8708         * print.c (std_handle_out_external):
8709         * print.c (std_handle_out_va):
8710         * print.c (stderr_out):
8711         * print.c (stdout_out):
8712         use console under mswin when no standard output.
8713         don't do code conversion during fatal error.
8714
8715         * scrollbar.c (Fscrollbar_page_up):
8716         * scrollbar.c (Fscrollbar_page_down):
8717         fix missing else.  reindent.
8718
8719 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
8720
8721         Emergency fix.
8722
8723         * glyphs.h (GLYPH_CACHEL_DESCENT):
8724         (GLYPH_CACHEL_DESCENT):
8725         (GLYPH_CACHEL_DESCENT):
8726         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
8727         used in case these are inline functions.
8728         Use more absurd values to error check.
8729
8730         include window.h for error check functions.
8731
8732 2000-05-11  Ben Wing  <ben@xemacs.org>
8733
8734         * cmdloop.c (Freally_early_error_handler):
8735         Display message box under windows; otherwise, message will disappear
8736         before it can be viewed.
8737
8738         * console-msw.c:
8739         * console-msw.c (Fmswindows_message_box):
8740         * console-msw.c (FROB):
8741         * console-msw.c (syms_of_console_mswindows):
8742         Define new fun `mswindows-message-box'.
8743         #### I will merge this into `popup-dialog-box'; just give me
8744         a bit of time.
8745
8746         * general.c:
8747         * general.c (syms_of_general):
8748         Some new symbols used in `mswindows-message-box'.
8749
8750         * glyphs.c:
8751         * glyphs.c (Fset_image_instance_property):
8752         put warning in this fun.
8753
8754         * glyphs.h:
8755         * glyphs.h (GLYPH_CACHEL_WIDTH):
8756         * glyphs.h (GLYPH_CACHEL_ASCENT):
8757         * glyphs.h (GLYPH_CACHEL):
8758         * glyphs.h (GLYPH_CACHEL_GLYPH):
8759         define error-checking versions to try to catch a bug i've seen --
8760         redisplay gets in an infinite loop because the glyph width of the
8761         continuation glyph is 65535.
8762
8763         * lisp.h:
8764         Extern message-box stuff.
8765
8766         * window.c (allocate_window):
8767         * window.c (make_dummy_parent):
8768         * window.c (Fset_window_configuration):
8769         Use EQUAL not EQ for subwindow caches to make them work a bit
8770         better. (Something is still very broken.)
8771
8772
8773 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8774
8775         * glyphs.c (image_instantiate): Suppress gcc warnings.
8776         (Fmake_image_instance): Fix doc string.
8777         * specifier.c (Fmake_specifier): Ditto.
8778
8779 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
8780
8781         * paths.h.in (PATH_LOCK): Removed.
8782         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
8783         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
8784
8785 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8786
8787         * fns.c (Ffeaturep): Update e-mail address in doc-string.
8788         Document (featurep '(and xemacs 21.02)).
8789
8790 2000-05-09  Ben Wing  <ben@xemacs.org>
8791
8792         * buffer.c (complex_vars_of_buffer):
8793         update modeline-format doc.
8794
8795         * device.h:
8796         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
8797
8798         * emacs.c:
8799         timeline of all released versions of Emacs, for use in creating
8800         authorship comments and in synching up.
8801
8802         * glyphs-widget.c (image_instantiator_buttons):
8803         * glyphs-widget.c (image_instantiator_edit_fields):
8804         * glyphs-widget.c (image_instantiator_combo_box):
8805         * glyphs-widget.c (image_instantiator_scrollbar):
8806         * glyphs-widget.c (image_instantiator_progress_guage):
8807         * glyphs-widget.c (image_instantiator_tree_view):
8808         * glyphs-widget.c (image_instantiator_tab_control):
8809         * glyphs-widget.c (image_instantiator_labels):
8810         * glyphs-widget.c (image_instantiator_layout):
8811         * glyphs-widget.c (image_instantiator_native_layout):
8812         rename decode_domain method to governing_domain.
8813
8814         * glyphs.c:
8815         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
8816         * glyphs.c (add_entry_to_device_ii_format_list):
8817         make sure we don't put an entry more than once into the list.
8818         * glyphs.c (check_instance_cache_mapper):
8819         *************************************************************
8820         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8821         HAVE BEEN GETTING.
8822         *************************************************************
8823         * glyphs.c (get_image_instantiator_governing_domain):
8824         clean up, expand on new concept of governing domain.
8825         * glyphs.c (instantiate_image_instantiator):
8826         * glyphs.c (allocate_image_instance):
8827         use governing_domain instead of cache_domain in naming.
8828         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
8829         * glyphs.c (make_image_instance_1):
8830         * glyphs.c (Fmake_image_instance):
8831         allow for any domain (not just device), and process the
8832         governing domain correctly.  very big doc fix.
8833         * glyphs.c (Fimage_instance_domain):
8834         new primitive, to retrieve the governing domain of an image instance.
8835         * glyphs.c (image_instantiate):
8836         use new governing_domain stuff.  this fixes a crash you could get
8837         by instantiating certain widget glyphs in frame locales. (should
8838         signal an error instead of crashing.)
8839         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
8840         * glyphs.c (Fglyphp): clean up doc.
8841         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
8842         * glyphs.c (syms_of_glyphs):
8843         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
8844         * glyphs.c (image_instantiator_format_create): add some comments about
8845         bogus code.
8846         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
8847         for current-display-table. (Apparently Hrjove implemented in 1998 a
8848         design I wrote up in 1996, but didn't update the doc string.)
8849
8850         * glyphs.h: clean up a doc string.
8851         * glyphs.h (governing_domain):
8852         * glyphs.h (struct image_instantiator_methods):
8853         changes for governing_domain stuff.
8854
8855         * gutter.c:
8856         * gutter.c (Fgutter_specifier_p):
8857         * gutter.c (Fgutter_size_specifier_p):
8858         * gutter.c (Fgutter_visible_specifier_p):
8859         * objects.c:
8860         * objects.c (Fcolor_specifier_p):
8861         * objects.c (Ffont_specifier_p):
8862         * objects.c (Fface_boolean_specifier_p):
8863         doc strings moved to make-*-specifier.
8864
8865         * redisplay.c (add_disp_table_entry_runes_1):
8866         * redisplay.c (generate_fstring_runes):
8867         * redisplay.c (screen):
8868         add random comments and doc strings.
8869
8870         * specifier.c:
8871         * specifier.c (Fmake_specifier):
8872         major overhaul of this doc string.
8873
8874         * specifier.c (Fvalid_specifier_domain_p):
8875         comment about the bogosity of image instances being domains.
8876         * specifier.c (decode_domain):
8877         now non-static, used in glyphs.c.
8878         * specifier.c (specifier_instance):
8879         comment about the bogosity of image instances being domains.
8880         * specifier.c (Fgeneric_specifier_p):
8881         move doc string to make-generic-specifier.
8882         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
8883         rebackslashify.
8884
8885         * specifier.h:
8886         * specifier.h (DOMAIN_FRAME):
8887         * specifier.h (DOMAIN_LIVE_P):
8888         * specifier.h (DOMAIN_XDEVICE):
8889         rebackslashify.
8890         add comments about problems with these macros.
8891         prototype for decode_domain.
8892
8893         * toolbar.c:
8894         * toolbar.c (Ftoolbar_specifier_p):
8895         move doc string to `make-toolbar-specifier'.
8896
8897         * window.c (window_unmap_subwindows_cache_mapper):
8898         *************************************************************
8899         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8900         HAVE BEEN GETTING.
8901         *************************************************************
8902
8903 2000-05-09  Andy Piper  <andy@xemacs.org>
8904
8905         * glyphs.h: declare reset_frame_subwindow_instance_cache.
8906
8907         * window.c (Fset_window_configuration): reset the frame subwindow
8908         cache and re-initialize the window subwindow caches.
8909
8910         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
8911
8912 2000-05-09  Ben Wing  <ben@xemacs.org>
8913
8914         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
8915         DWORD.
8916
8917 2000-04-26  Mike Woolley  <mike@bulsara.com>
8918
8919         * ntheap.c: Changed recreate_heap to limit the amount reserved
8920         for the heap to that which is actually available. Also now
8921         displays a message box (with some dignostics) in the event that
8922         it still can't start.
8923
8924 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
8925
8926         * callproc.c (Fold_call_process_internal): GCPRO path
8927
8928 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
8929
8930         Patch by Bill Perry.
8931
8932         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
8933         back data instead of #ifdef.
8934         (Fscrollbar_page_down): ditto.
8935
8936 2000-05-07  Ben Wing  <ben@xemacs.org>
8937
8938         * buffer.h:
8939         Kludge for defining Qmswindows_tstr.
8940
8941         * nt.c:
8942         * nt.c (open_input_file):
8943         * nt.c (open_output_file):
8944         * nt.c (rva_to_section):
8945         * nt.c (mswindows_executable_type):
8946         Move all memory-mapped-file routines here (some were in unexnt.c,
8947         which is bad because they are used by process-nt.c, and unexnt
8948         won't be around when portable dumping).  Synched the above routines
8949         with FSF 20.6.
8950
8951         * nt.h:
8952         Removed ifdef'd out bogus code.
8953         Fixed some prototypes.
8954
8955         * nt.h (file_data):
8956         * nt.h (OFFSET_TO_RVA):
8957         * nt.h (RVA_TO_OFFSET):
8958         * nt.h (RVA_TO_PTR):
8959         Moved the memory-mapped-file structures, macros and prototypes
8960         here, to parallel nt.c.  ntheap.h should really be removed
8961         entirely, and it's a non-portable-dumper specific file.
8962
8963         * ntheap.h (round_to_next):
8964         Moved the memory-mapped-file structures, macros and prototypes
8965         to nt.h.
8966
8967         * ntproc.c (compare_env):
8968         Moved rva_to_section and mswindows_executable_type to nt.c.
8969         Moved compare_env to process-nt.c.
8970         ntproc.c will die, one day.
8971
8972         * ntproc.c (sys_spawnve):
8973         Account for win32_ -> mswindows_.
8974
8975         * process-nt.c:
8976         * process-nt.c (struct nt_process_data):
8977         * process-nt.c (ensure_console_window_exists):
8978         * process-nt.c (compare_env):
8979         * process-nt.c (nt_create_process):
8980         * process-nt.c (nt_kill_process_by_pid):
8981         * process-nt.c (syms_of_process_nt):
8982         * process-nt.c (vars_of_process_nt):
8983         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
8984         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
8985         changes).  Eliminate our old `nt-quote-process-args' mechanism.
8986         Synch up nt_create_process with FSF 20.6 sys_spawnve.
8987         Move compare_env here from ntproc.c.
8988
8989         * process.c (Fprocess_send_region):
8990         Takes an optional fourth argument, BUFFER, which should fix some
8991         problems with call-process.
8992
8993         * syscommctrl.h:
8994         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
8995
8996         * syswindows.h:
8997         Move ICC_BAR_CLASSES to syscommctrl.h.
8998         Add preliminary macros for MSWindows/Mule.  More to come.
8999
9000         * unexnt.c:
9001         * unexnt.c (unexec):
9002         open_output_file moved to nt.c.
9003
9004
9005 2000-05-05  Andy Piper  <andy@xemacs.org>
9006
9007         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
9008         instance from the frame cache also since GC may catch up too late
9009         to make frame deletion sane.
9010
9011 2000-05-04  Andy Piper  <andy@xemacs.org>
9012
9013         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
9014         (x_finalize_image_instance): ungcpro on deletion.
9015
9016         * glyphs.c (image_instantiator_format_create): give pointers a
9017         query geometry method so that the geometry is at least set.
9018
9019         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
9020         initialize layouts if using widgets.
9021
9022 2000-05-03  Andy Piper  <andy@xemacs.org>
9023
9024         * nt.c: remove bogus reference to sysmmsystem.h
9025
9026         * gui-x.c (popup_selection_callback): fix no selection abort.
9027
9028 2000-05-02  Andy Piper  <andy@xemacs.org>
9029
9030         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
9031         (mswindows_widget_instantiate): ditto.
9032
9033         * glyphs-widget.c (initialize_widget_image_instance): initialize
9034         children correctly.
9035         (widget_instantiate): cope with children and items in the same
9036         instance.
9037
9038         * glyphs.c (mark_image_instance): cope with children as a first
9039         class member.
9040         (image_instance_equal): ditto.
9041         (image_instance_hash): ditto.
9042         (image_instance_changed): ditto.
9043
9044 2000-04-30  Andy Piper  <andy@xemacs.org>
9045
9046         * glyphs.c (subwindow_query_geometry): new function. Return some
9047         defaults.
9048         (subwindow_instantiate): don't assign dimensions if none have been
9049         given.
9050         (image_instantiator_format_create): add subwindow_query_geometry.
9051         (print_image_instance): cope with layouts as widgets.
9052
9053 2000-04-29  Andy Piper  <andy@xemacs.org>
9054
9055         * frame.c (delete_frame_internal): call
9056         free_frame_subwindow_instance_cache so that all subwindows are
9057         finalized before their parent.
9058         (mark_frame): remove subwindow_cachels.
9059         (Fmake_frame): remove subwindow_cachel manipulation.
9060         (allocate_frame_core): subwindow_instance_cache is a weak list.
9061         (delete_frame_internal): set subwindow_instance_cache to nil.
9062
9063         * glyphs-msw.c (mswindows_finalize_image_instance): make double
9064         finalization safe.
9065         (mswindows_finalize_image_instance): use the device
9066         not the domain as the domain may have died already.
9067
9068         * glyphs-x.c (x_finalize_image_instance): ditto.
9069         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
9070         HEIGHT.
9071
9072         * redisplay-output.c (redisplay_unmap_subwindows): update for
9073         subwindow instance cache as a weak list.
9074         (redisplay_unmap_subwindows_maybe): ditto.
9075         (redisplay_unmap_subwindows_except_us): ditto.
9076
9077         * glyphs.c (unmap_subwindow): error checking will check the domain
9078         so don't deal with it here. Don't use cachels anymore.
9079         (map_subwindow): ditto.
9080         (update_subwindow_cachel_data): remove old accessor names.
9081         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
9082         (Fresize_subwindow): don't update cachel.
9083         (mark_subwindow_cachels):
9084         (update_subwindow_cachel_data):
9085         (add_subwindow_cachel):
9086         (get_subwindow_cachel_index):
9087         (update_subwindow_cachel):
9088         (reset_subwindow_cachels):
9089         (mark_subwindow_cachels_as_not_updated): deleted.
9090         (cache_subwindow_instance_in_frame_maybe): new function. Add a
9091         subwindow instance to the frame cache.
9092         (find_matching_subwindow): update for subwindow instance cache as
9093         a weak list.
9094         (update_widget_instances): ditto.
9095         (image_instance_type_to_mask):inlined.
9096         (free_frame_subwindow_instance_cache): new function. finalize all
9097         subwindows that are instantiated.
9098
9099         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
9100         of cachel information.
9101         (IMAGE_INSTANCE_DISPLAY_X):
9102         (IMAGE_INSTANCE_DISPLAY_Y):
9103         (IMAGE_INSTANCE_DISPLAY_WIDTH):
9104         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
9105         (XIMAGE_INSTANCE_DISPLAY_X):
9106         (XIMAGE_INSTANCE_DISPLAY_Y):
9107         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
9108         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
9109         remove subwindow_cachel structure and function references.
9110         (image_instance_type_to_mask): inline from glyphs.c
9111
9112         * redisplay.c (redisplay_frame): remove subwindow_cachel
9113         references.
9114
9115         * frame.h (struct frame): remove subwindow_cachels.
9116         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
9117
9118         * frameslots.h: add subwindow_instance_cache.
9119
9120         * window.c (replace_window): check subwindow cache of replacement.
9121         (window_unmap_subwindows_cache_mapper):
9122         (window_unmap_subwindows): new functions. Unmap all subwindows
9123         cached on this window.
9124         (mark_window_as_deleted): unmap all subwindows.
9125
9126 2000-04-27  Andy Piper  <andy@xemacs.org>
9127
9128         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
9129
9130         * glyphs-widget.c (widget_layout): return something.
9131         (layout_layout): return something. Fail if not initialized.
9132         (layout_query_geometry): ditto.
9133         (image_instantiator_native_layout): new function. Initialized the
9134         native layout type.
9135         (widget_instantiate): don't do layout stuff here.
9136
9137         * glyphs.c (instantiate_image_instantiator): reorded calling or
9138         instantiate and post_instantiate with layout in between.
9139         (image_instance_layout): be more selective about deciding whether
9140         the layout has been done or not.
9141
9142         * glyphs.h (struct image_instantiator_methods): return a value
9143         from layout_method.
9144
9145 2000-04-26  Andy Piper  <andy@xemacs.org>
9146
9147         * glyphs.c (allocate_image_instance): make initial width and
9148         height unspecified. Set initialized to 0.
9149
9150         * syscommctrl.h new file. Encapsulates commctrl.h.
9151
9152         * syswindows.h new file. Encapsulates windows.h.
9153
9154         * ntplay.c: use new syswindows.h and syscommctrl.h header.
9155         * nt.c: ditto.
9156         * console-msw.h: ditto.
9157
9158         * redisplay-tty.c (tty_output_display_block): remove layout references.
9159
9160         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
9161         window handle rather than just the frame.
9162
9163         * glyphs.c (mark_image_instance): remove layout references.
9164         (print_image_instance): ditto.
9165         (image_instance_equal): ditto.
9166         (image_instance_hash): ditto.
9167         (decode_image_instance_type): ditto.
9168         (encode_image_instance_type): ditto.
9169         (image_instantiate): ditto.
9170         (allocate_glyph): ditto.
9171         (Fimage_instance_height): ditto.
9172         (Fimage_instance_width): ditto.
9173         (update_subwindow): ditto.
9174
9175         * redisplay-x.c (x_output_display_block): recode for layouts as
9176         widgets.
9177
9178         * redisplay-output.c (redisplay_output_layout): recode for layouts
9179         as widgets.
9180         (compare_runes): remove layout references.
9181
9182         * redisplay-msw.c (mswindows_output_display_block): recode for
9183         layouts as widgets.
9184
9185         * glyphs-widget.c (image_instantiator_layout): remove
9186         layout_possible_dest_types.
9187         (layout_possible_dest_types): deleted.
9188
9189         * glyphs.h (image_instance_type): remove layout references.
9190         (struct Lisp_Image_Instance): ditto. Add initialized flag.
9191         (IMAGE_INSTANCE_INITIALIZED): new accessor.
9192         (XIMAGE_INSTANCE_INITIALIZED): ditto.
9193
9194 2000-04-25  Andy Piper  <andy@xemacs.org>
9195
9196         * glyphs-widget.c (image_instantiator_buttons):
9197         (image_instantiator_edit_fields):
9198         (image_instantiator_combo_box):
9199         (image_instantiator_scrollbar):
9200         (image_instantiator_progress_guage):
9201         (image_instantiator_tree_view):
9202         (image_instantiator_tab_control):
9203         (image_instantiator_labels):
9204         (image_instantiator_layout): call default post_instantiate method.
9205         (widget_post_instantiate): new function. Simply lays out the
9206         widgets.
9207
9208         * glyphs.h (struct image_instantiator_methods): add
9209         post_instantiate method.
9210
9211         * glyphs.c (instantiate_image_instantiator): add post_instantiate
9212         method calls.
9213
9214 2000-04-23  Andy Piper  <andy@xemacs.org>
9215
9216         * glyphs.h (struct image_instantiator_methods): add
9217         decode_domain_method.
9218         (struct Lisp_Image_Instance): remove subwindow frame - it can be
9219         derived from the domain.
9220         (IMAGE_INSTANCE_FRAME): new accessor.
9221         (XIMAGE_INSTANCE_FRAME): ditto.
9222
9223         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
9224         instead of _SUBWINDOW_FRAME.
9225         (finalize_image_instance): ditto.
9226         (Fimage_instance_foreground): ditto.
9227         (Fimage_instance_background): ditto.
9228         (image_instantiate): ditto.
9229         (update_subwindow_cachel): ditto.
9230         (update_subwindow): ditto.
9231         (unmap_subwindow): ditto.
9232         (map_subwindow): ditto
9233         (subwindow_instantiate): ditto.
9234         * glyphs-msw.c (mswindows_update_widget): ditto.
9235         (mswindows_progress_gauge_instantiate): ditto.
9236         (mswindows_tab_control_update): ditto.
9237         * glyphs-x.c (x_update_widget): ditto.
9238         (x_widget_instantiate): ditto.
9239         (x_tab_control_instantiate): ditto.
9240         (x_tab_control_update): ditto.
9241         * event-msw.c (mswindows_wnd_proc): ditto
9242
9243         * glyphs-widget.c (image_instantiator_layout): use
9244         subwindow_decode_domain.
9245         (image_instantiator_buttons): ditto.
9246         (image_instantiator_edit_fields): ditto.
9247         (image_instantiator_combo_box): ditto.
9248         (image_instantiator_scrollbar): ditto.
9249         (image_instantiator_progress_guage): ditto.
9250         (image_instantiator_tree_view): ditto.
9251         (image_instantiator_tab_control): ditto.
9252         (image_instantiator_labels): ditto.
9253         (image_instantiator_layout): ditto.
9254
9255         * glyphs.c: add instance error checking to many functions.
9256         (instantiate_image_instantiator): decode device from cache_domain.
9257         (image_instantiate): partially rewrite by using
9258         decode_image_instantiator_domain to determine what domain the
9259         instance needs to be cached in.
9260         (decode_image_instantiator_domain): new function. Determine what
9261         domain the image needs to be cached in.
9262         (check_window_subwindow_cache): new error checking function.
9263         (check_instance_cache_mapper): ditto.
9264         (check_image_instance_structure): ditto.
9265         (subwindow_decode_domain): new function. Encodes a window as a
9266         subwindow's cache domain.
9267         (image_instantiator_format_create): use it for text and
9268         subwindows.
9269
9270 2000-04-21  Andy Piper  <andy@xemacs.org>
9271
9272         * glyphs.c (image_instance_device): new function.
9273         (image_instance_frame): new function.
9274         (image_instance_window): new function.
9275         (image_instance_live_p): new function.
9276
9277         * window.c (mark_window_as_deleted): reset the subwindow_instance_
9278         cache to nil.
9279
9280         * glyphs.h (struct Lisp_Image_Instance): device->domain.
9281         (IMAGE_INSTANCE_DOMAIN): new accessor.
9282         (XIMAGE_INSTANCE_DOMAIN): ditto.
9283
9284         * glyphs-x.c (x_finalize_image_instance): device->domain.
9285
9286         * glyphs-msw.c (init_image_instance_geometry): device->domain.
9287         (mswindows_finalize_image_instance): ditto.
9288
9289         * glyphs-eimage.c (jpeg_instantiate): device->domain.
9290         (gif_instantiate): ditto.
9291         (png_instantiate): ditto.
9292         (tiff_instantiate): ditto.
9293
9294         * glyphs.c (instantiate_image_instantiator): use domain rather
9295         than device.
9296         (mark_image_instance): device -> domain.
9297         (print_image_instance): ditto.
9298         (finalize_image_instance): ditto.
9299         (image_instance_equal): ditto.
9300         (allocate_image_instance): ditto.
9301         (Fcolorize_image_instance): ditto.
9302         (query_string_geometry): ditto.
9303         (image_instantiate): ditto
9304         (query_string_font): ditto.
9305         (image_instantiate): ditto.
9306         (update_subwindow): ditto.
9307         (unmap_subwindow): ditto.
9308         (map_subwindow): ditto.
9309         (subwindow_instantiate): ditto.
9310
9311         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
9312         (DOMAIN_FRAME): ditto.
9313         (DOMAIN_WINDOW): ditto.
9314         (DOMAIN_LIVE_P): ditto.
9315         (XDOMAIN_DEVICE): ditto.
9316         (XDOMAIN_FRAME): ditto.
9317         (XDOMAIN_WINDOW): ditto.
9318
9319         * specifier.c (Fvalid_specifier_domain_p): add image instances as
9320         a valid specifier domain.
9321
9322 2000-04-19  Andy Piper  <andy@xemacs.org>
9323
9324         * glyphs-widget.c (syms_of_glyphs_widget): remove
9325         widget-callback-current-channel.
9326         (vars_of_glyphs_widget): ditto.
9327         * glyphs.h: ditto
9328
9329         * gui.c (get_gui_callback): revert to previous behaviour.
9330
9331 2000-04-18  Andy Piper  <andy@xemacs.org>
9332
9333         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
9334         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
9335         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
9336
9337         * glyphs.c (image_instance_equal): add margin_width.
9338         (image_instance_hash): ditto.
9339
9340         * glyphs-widget.c (widget_instantiate): deal with margin-width.
9341         (layout_query_geometry): ditto.
9342         (layout_layout): ditto.
9343         (syms_of_glyphs_widget): add margin-width.
9344         (image_instantiator_layout): allow margin-width.
9345
9346         * glyphs.c (update_widget_instances): make a normal function.
9347         (syms_of_glyphs): remove Qupdate_widget_instances.
9348         * glyphs.h: ditto.
9349
9350         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
9351         so that we don't corrupt ideas about the last event or
9352         command. Remove widget-callback-current-channel fiddling.
9353         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9354
9355 2000-05-01  Martin Buchholz <martin@xemacs.org>
9356
9357         * XEmacs 21.2.33 is released.
9358
9359 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
9360
9361         * make-src-depend: Allow dots in header file name.
9362
9363 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
9364
9365         * mule-charset.h (struct charset_lookup): Add
9366         next_allocated_1_byte_leading_byte and
9367         next_allocated_2_byte_leading_byte.
9368         * mule-charset.c: Move above two variables so that those values
9369         will be dumped.
9370
9371 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
9372
9373         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
9374         when string length is zero.
9375         (find_charsets_in_emchar_string): Ditto.
9376
9377 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
9378
9379         * lisp.h: extern Qdialog and Qmenubar.
9380
9381         * gui-x.c: added events.h.
9382                 also fixed typo which made the file uncompilable.
9383
9384         * general.c: Added Qmenubar and Qdialog
9385
9386 2000-04-28  Ben Wing  <ben@xemacs.org>
9387
9388         * frame-msw.c (mswindows_init_frame_1):
9389         * frame-msw.c (mswindows_mark_frame):
9390         * event-msw.c (mswindows_enqueue_dispatch_event):
9391         * console-msw.h:
9392         * console-msw.h (struct mswindows_frame):
9393         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
9394         there are now three hash tables for callbacks.
9395         mswindows_enqueue_dispatch_event is no longer static.
9396
9397         * dialog-x.c (maybe_run_dbox_text_callback):
9398         * dialog-x.c (dbox_descriptor_to_widget_value):
9399         switch to new cons3 form for callbacks.
9400
9401         * glyphs-msw.c (mswindows_register_gui_item):
9402         * glyphs-msw.c (mswindows_widget_instantiate):
9403         * glyphs-msw.c (add_tree_item):
9404         * glyphs-msw.c (add_tab_item):
9405         new image instance parameter, so it can be passed to callback-ex.
9406         respect :callback-ex as well as :callback.
9407
9408         * glyphs-widget.c (VALID_GUI_KEYWORDS):
9409         add :callback-ex.
9410
9411         * glyphs.c (print_image_instance):
9412         prettify, e.g. now prints widget type.
9413
9414         * gui-x.h:
9415         certain funs have new image instance parameter.
9416
9417         * gui.c:
9418         * gui.c (get_gui_callback):
9419         * gui.c (gui_item_add_keyval_pair):
9420         * gui.c (gui_item_init):
9421         * gui.c (gui_add_item_keywords_to_plist):
9422         * gui.c (mark_gui_item):
9423         * gui.c (gui_item_hash):
9424         * gui.c (gui_item_equal):
9425         * gui.c (copy_gui_item):
9426         * gui.c (syms_of_gui):
9427         recognize callback-ex in a number of places.
9428         also, fix the annoying "can't get out of yes-no dialog" bug.
9429
9430         * gui.h:
9431         * gui.h (struct Lisp_Gui_Item):
9432         recognize callback-ex in a number of places.
9433
9434         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9435         new parameter in button_item_to_widget_value.
9436
9437         * glyphs-x.c (x_update_widget):
9438         * glyphs-x.c (x_button_instantiate):
9439         * glyphs-x.c (x_button_update):
9440         * glyphs-x.c (x_progress_gauge_instantiate):
9441         * glyphs-x.c (x_edit_field_instantiate):
9442         * glyphs-x.c (x_combo_box_instantiate):
9443         * glyphs-x.c (x_tab_control_instantiate):
9444         * glyphs-x.c (x_label_instantiate):
9445         new image instance parameter in various places.
9446
9447         * event-Xt.c:
9448         * event-Xt.c (enqueue_Xt_dispatch_event):
9449         this fun gets exported.
9450
9451         * gui-msw.c:
9452         * gui-msw.c (mswindows_handle_gui_wm_command):
9453         handle both :callback and :callback-ex, and generate our own
9454         event because it's one of the callback-ex arguments.
9455
9456         * gui-x.c:
9457         * gui-x.c (popup_selection_callback):
9458         handle both :callback and :callback-ex, and generate our own
9459         event because it's one of the callback-ex arguments.
9460         * gui-x.c (button_item_to_widget_value):
9461         * gui-x.c (gui_items_to_widget_values_1):
9462         * gui-x.c (gui_item_children_to_widget_values):
9463         * gui-x.c (gui_items_to_widget_values):
9464         new image instance parameter in various places.
9465
9466         * fns.c (Freplace_list):
9467         fix small typo in doc string.
9468
9469         * lisp.h:
9470         declare enqueue_Xt_dispatch_event.
9471
9472 2000-04-28  Ben Wing  <ben@xemacs.org>
9473
9474         * buffer.c:
9475         * buffer.c (Frecord_buffer):
9476         * buffer.c (syms_of_buffer):
9477         delete record-buffer-hook.
9478
9479         * fns.c:
9480         * fns.c (Freplace_list):
9481         * fns.c (syms_of_fns):
9482         new primitive replace-list.
9483
9484         * frameslots.h:
9485         slot for old buffer-alist.
9486
9487         * lisp.h:
9488         exfun replace-list.
9489
9490         * redisplay.c:
9491         * redisplay.c (redisplay_frame):
9492         * redisplay.c (syms_of_redisplay):
9493         * redisplay.c (vars_of_redisplay):
9494         new hook buffer-list-changed-hook.
9495         call it.
9496
9497 2000-04-27  Ben Wing  <ben@xemacs.org>
9498
9499         * extents.h: extern in_modeline_generation.
9500
9501         * redisplay.c (generate_formatted_string_db): set
9502         in_modeline_generation.
9503
9504         * extents.c (extent_changed_for_redisplay): don't mark redisplay
9505         flags if in modeline generation.  otherwise frame-modified-tick
9506         is ticked far too often.
9507         Declare in_modeline_generation.
9508
9509 2000-04-26  Ben Wing  <ben@xemacs.org>
9510
9511         * emacs.c (vars_of_emacs): document quick-build "error-checking"
9512         option.
9513         (vars_of_emacs): add quick-build as an error-checking option.
9514         A bit kludgy, but there doesn't seem much point in creating
9515         a real var for this.
9516
9517         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
9518
9519 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9520
9521         * redisplay.h (struct display_line): Add a new variable,
9522         line_continuation.
9523
9524         * redisplay.c (create_text_block): Set dl->line_continuation if
9525         the line continues.
9526         (create_string_text_block): Ditto.
9527         (regenerate_window_incrementally): Use line_continuation instead
9528         of searching continuation glyph.
9529         (add_margin_runes): Call add_glyph_rune.
9530         (add_glyph_rune): Handle margin glyph.
9531
9532 2000-04-20  Martin Buchholz  <martin@xemacs.org>
9533
9534         * filelock.c (fill_in_lock_file_name):
9535         ANSIfy.
9536         Check for IS_ANY_SEP instead of '/'.
9537         (lock_file_1):
9538         Avoid generating gratuitous garbage.  Call user_login_name() directly.
9539         Never check errno without first seeing that system call failed.
9540         (unlock_file): Add GCPRO.
9541         (Flock_buffer): Fix docstring.
9542         (Ffile_locked_p): Fix docstring.  Add GCPRO.
9543
9544 2000-04-19  Martin Buchholz  <martin@xemacs.org>
9545
9546         * sysdep.c (get_pty_max_bytes):
9547         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
9548         strings longer than 252 bytes.
9549
9550         * md5.c: Unconditionally include ANSI header <limits.h>
9551
9552         * glyphs-x.c (convert_EImage_to_XImage):
9553         * lisp-union.h (union Lisp_Object):
9554         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
9555
9556 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9557
9558         * filelock.c (current_lock_owner): Remove unused variable o, p.
9559
9560 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
9561
9562         * callint.c: Remove multiply defined symbol Qlet
9563         (syms_of_callint): ditto.
9564
9565 2000-04-14  Andy Piper  <andy@xemacs.org>
9566
9567         * general.c (syms_of_general): add last-command, this-command, let
9568         and funcall.
9569
9570         * lisp.h: declare various symbols.
9571
9572         * glyphs.h: declare Qwidget_callback_current_channel;
9573
9574         * glyphs-widget.c (syms_of_glyphs_widget): add
9575         Qgui_callback_current_channel.
9576         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
9577
9578         * gui-msw.c (mswindows_handle_gui_wm_command): bind
9579         widget-callback-current-channel when invoking the interactive
9580         arg. Also bind last-command and next-command when invoking the
9581         widget updates.
9582         * gui-x.c (popup_selection_callback): ditto.
9583
9584         * gui.c (get_gui_callback): massage args so that we are always
9585         calling eval. This allows us to add our own variable bindings
9586         outside.
9587
9588         * glyphs-x.c (x_button_instantiate): use
9589         gui_items_to_widget_values since this is GC safe.
9590         (x_progress_gauge_instantiate): ditto.
9591         (x_edit_field_instantiate): ditto.
9592         (x_label_instantiate): ditto.
9593
9594         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
9595         (emacs_Xt_event_widget_focus_out): new function
9596         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
9597         focus.
9598         (emacs_Xt_event_add_widget_actions): new function. add focus
9599         functions as actions.
9600         (init_event_Xt_late): use it.
9601
9602 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
9603
9604         * event-stream.c (Fdispatch_event): Doc fix.
9605
9606 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
9607
9608         * postgresql.c: Remove all references to PQsetenv*.
9609
9610         * postgresql.h: Remove references to PGsetenvHandler object.
9611         * lrecord.h (lrecord_type): Ditto.
9612
9613 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9614
9615         * glyphs-msw.h (struct mswindows_image_instance_data): Added
9616         real_heigh and real_width members, and accessor macros for these.
9617
9618         * glyphs-msw.c (init_image_instance_geometry): New function.
9619         (init_image_instance_from_dibitmap): Use it.
9620         (mswindows_resource_instantiate): Use it.
9621         (init_image_instance_from_xbm_inline): Use it.
9622         (mswindows_initialize_image_instance_mask): Use real bitmap
9623         geometry.
9624         (mswindows_create_resized_bitmap): Ditto.
9625         (mswindows_create_resized_mask): Ditto.
9626
9627         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
9628         and bitmap to their surface size.
9629
9630 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
9631
9632         * process-unix.c (unix_send_process): Guard against process MIA
9633         after Faccept_process_output.
9634
9635 2000-04-11  Ben Wing  <ben@xemacs.org>
9636
9637         * eval.c (unbind_to_hairy): fix brokenness introduced by
9638         nanosecond speed improvements.
9639
9640 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
9641
9642         * sunplay.c (init_device): To play sounds correctly, the device
9643         apparently needs to be initialized at least once by XEmacs.  Make
9644         it so.
9645
9646 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9647
9648         * redisplay.c (add_margin_runes): Add text image glyph
9649           handling.
9650
9651 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9652
9653         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
9654         gcc is newer than 2.5.
9655
9656 2000-04-06  Colin Rafferty  <colin@xemacs.org>
9657
9658         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
9659
9660         * fns.c (size_bit_vector):
9661         * alloc.c (size_vector):
9662         (make_vector_internal):
9663         (make_bit_vector_internal):
9664         (sweep_bit_vectors_1):
9665         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
9666
9667 2000-04-06  Andy Piper  <andy@xemacs.org>
9668
9669         * gmalloc.c (malloc): undo previous change.
9670         (malloc): ditto.
9671         (free): ditto.
9672         (realloc): ditto.
9673
9674 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
9675
9676         * line-number.c (buffer_line_number): Revert to former version.
9677
9678 2000-04-06  Andy Piper  <andy@xemacs.org>
9679
9680         * gmalloc.c (malloc): add error checking.
9681         (malloc): ditto.
9682         (free): ditto.
9683         (realloc): ditto.
9684
9685         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
9686         button_item_to_widget_value arg.
9687
9688         * glyphs-x.c (x_button_instantiate): add extra
9689         button_item_to_widget_value arg.
9690         (x_progress_gauge_instantiate): ditto.
9691         (x_edit_field_instantiate): ditto.
9692         (x_label_instantiate): ditto.
9693
9694         * gui-x.c (gui_items_to_widget_values_1): add extra
9695         button_item_to_widget_value arg.
9696         (button_item_to_widget_value): add extra menu_item_p arg.
9697
9698         * gui-x.h: change signature of button_item_to_widget_value.
9699
9700         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
9701         button_item_to_widget_value arg.
9702
9703 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9704
9705         * buffer.h (struct buffer): auto_save_modified should be long.
9706
9707 2000-04-05  Andy Piper  <andy@xemacs.org>
9708
9709         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
9710         type.
9711         (button_query_geometry): give a little more room so that athena
9712         buttons fit.
9713
9714 2000-04-05  Andy Piper  <andy@xemacs.org>
9715
9716         * faces.c (complex_vars_of_faces): The widget face should inherit
9717         the font of the gui-element face.
9718
9719 2000-04-04  Andy Piper  <andy@xemacs.org>
9720
9721         * glyphs-x.c (x_button_update): new function. unconditionally
9722         update a button's state when the instance is dirty.
9723         (image_instantiator_format_create_glyphs_x): add x_button_update.
9724         (x_widget_instantiate): remove old resize cruft.
9725
9726 2000-04-02  Andy Piper  <andy@xemacs.org>
9727
9728         * frame.c (change_frame_size_1): The introduction of gutters means
9729         that we need to allow 0 as a potential frame dimension.
9730
9731 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9732
9733         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
9734         image glyph if allow_cursor.
9735         (add_hscroll_rune): Don't allow cursor to border glyph.
9736         (create_text_block): Ditto.
9737
9738         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
9739         text not in buffer.
9740         (redisplay_output_layout): Call ensure_face_cachel_complete for
9741         text image glyph.
9742
9743
9744 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9745
9746         * redisplay.c (add_glyph_rune): Adding text image as text runes.
9747
9748         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
9749         not in buffer
9750
9751         * redisplay-tty.c (tty_output_display_block): Delete the routine
9752         for text image glyph
9753         * redisplay-x.c (x_output_display_block): ditto
9754         * redisplay-msw.c (mswindows_output_display_block): ditto
9755
9756 2000-02-02  Mike Alexander  <mta@arbortext.com>
9757
9758         Note: Some of these were committed by accident as part of other
9759         patches.
9760
9761         * regex.c (regex_compile): Avoid compiler warnings.
9762
9763         * ntproc.c (sys_spawnve): Avoid compiler warnings.
9764
9765         * nt.h: Declare term_ntproc correctly.
9766
9767         * nt.c: Remove incorrect declaration of get_home_directory which
9768         is declared correctly in lisp.h.
9769
9770         * keymap.c (get_keyelt): Avoid compiler warnings.
9771         (raw_lookup_key_mapper): Avoid compiler warnings.
9772
9773         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
9774
9775         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
9776
9777         * filemode.c (mode_string): Avoid compiler warnings.
9778
9779         * file-coding.c (Fcoding_system_aliasee): Add return statement to
9780         avoid warning.
9781
9782         * events-mod.h: Undef some things that winuser.h defines differently.
9783
9784         * data.c (Faset): Avoid compiler warnings.
9785
9786         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
9787
9788 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9789
9790         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
9791         Fall through to simple beep on error.
9792         Replace "extern" by real header file.
9793
9794         * linuxplay.c: Use nativesound.h
9795         (play_sound_data): Return error code. Be less verbose on error.
9796
9797         * sunplay.c: Use nativesound.h
9798         (play_sound_data): Return error code. Be less verbose on error.
9799
9800         * ntplay.c: Use nativesound.h
9801         (play_sound_data): Return fake error code
9802
9803         * sgiplay.c: Use nativesound.h
9804         (play_sound_data): Return error code
9805
9806         * hpplay.c: Use nativesound.h, partially implement
9807         new error code. Break compilation until finished.
9808         (play_sound_data): error code.
9809
9810         * nativesound.h (play_sound_file):
9811           (play_sound_data): Prototype in new header.
9812
9813 2000-03-31  Andy Piper  <andy@xemacs.org>
9814
9815         * glyphs-widget.c: (button_query_geometry): new function. Adjust
9816         for toggle and radio buttons.
9817         (image_instantiator_buttons): use it.
9818
9819 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9820
9821         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
9822         (x_update_horizontal_scrollbar_callback): Return if no mirror was
9823         found. Scrollbar event probably belonged to some old config.
9824
9825 2000-03-31  Andy Piper  <andy@xemacs.org>
9826
9827         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
9828         than 1.
9829         (initialize_widget_image_instance): default layout to
9830         LAYOUT_HORIZONTAL rather than 0.
9831         (widget_instantiate): reverse the item list at the end rather than
9832         every iteration.
9833         (layout_layout): re-code for the border text at the front of the
9834         item list rather than at the end.
9835         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
9836         provided by the user.
9837         (widget_query_geometry): comment.
9838
9839 2000-03-30  Andy Piper  <andy@xemacs.org>
9840
9841         * glyphs-widget.c (image_instantiator_layout): allow standard
9842         widget keywords in layouts.
9843
9844         * gutter.c (output_gutter): cope with nil gutter contents.
9845
9846         * frame.c (Fset_frame_properties): add gutter docs.
9847
9848 2000-03-29  Andy Piper  <andy@xemacs.org>
9849
9850         * toolbar-msw.c (TBSTYLE_FLAT): add.
9851         (mswindows_output_toolbar): minor fiddling.
9852
9853 2000-03-29  Andy Piper  <andy@xemacs.org>
9854
9855         * gutter.c (output_gutter): force gutter size recalculation if
9856         what we are trying to display won't fit.
9857         (update_gutter_geometry): new function. A per-gutter version of
9858         update_frame_gutter_geometry.
9859         (update_frame_gutter_geometry): use it.
9860         (redraw_exposed_gutter): add extra debugging output.
9861
9862 2000-03-28  Mike Alexander  <mta@arbortext.com>
9863
9864         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
9865         (pdump_file_unmap): Implement it on Windows
9866         (pdump_file_get): Save alocated handles for pdump_file_unmap
9867
9868 2000-03-28  Andy Piper  <andy@xemacs.org>
9869
9870         * gui.c (get_gui_callback): treat Quit specially.
9871
9872 2000-03-27  Andy Piper  <andy@xemacs.org>
9873
9874         * glyphs.c (image_instantiate): be careful to check in the same
9875         way we assigned.
9876
9877 2000-03-27  Didier Verna  <didier@xemacs.org>
9878
9879         * config.h.in: define the proper SMART_INCLUDE macro.
9880         handle renaming of `foo_h_path' to `foo_h_file'.
9881
9882         * database.c: ditto.
9883
9884         * emacs.c: ditto.
9885
9886         * linuxplay.c: ditto.
9887
9888         * terminfo.c: ditto.
9889
9890         * tooltalk.h: ditto.
9891
9892 2000-03-27  Andy Piper  <andy@xemacs.org>
9893
9894         * glyphs-msw.c (mswindows_update_widget): make sure the widget
9895         gets updated whenever the face might have changed.
9896
9897 2000-03-26  Mike Alexander  <mta@arbortext.com>
9898
9899         * dumper.c (pdump_resource_free): Fix the comment.
9900
9901 2000-03-21  Olivier Galibert  <galibert@pobox.com>
9902
9903         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
9904
9905 2000-03-22  Mike Alexander  <mta@arbortext.com>
9906
9907         * dumper.c: Include Windows headers on Windows
9908         (pdump_resource_free): Add a body to the function
9909         (pdump_load): exe_name -> exe_path and add some comments.
9910
9911 2000-03-25  Mike Alexander  <mta@arbortext.com>
9912
9913         * gui.c (copy_gui_item_tree): Return a value in all cases
9914
9915 2000-03-21  Didier Verna  <didier@xemacs.org>
9916
9917         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
9918         lwlib/config.h.in.
9919         (SMART_INCLUDE): new macro.
9920         (POSTGRES_INCLUDE): new macro to include postgresql headers from
9921         the proper location.
9922
9923         * postgresql.c: use it.
9924
9925         * inline.c: ditto.
9926
9927 2000-03-24  Andy Piper  <andy@xemacs.org>
9928
9929         * gutter.c (redraw_exposed_gutters): must be "in display" when we
9930         do this.
9931
9932 2000-03-24  Andy Piper  <andy@xemacs.org>
9933
9934         * redisplay-output.c (compare_runes): use image_instance_changed
9935         to detect changes. Do not depend on glyphs_changed, only depend on
9936         dirtiness.
9937          (redisplay_output_layout): add debug messages.
9938         (compare_runes): ditto.
9939
9940         * glyphs.h: declare new functions.
9941         (struct Lisp_Image_Instance): remove percent and associated
9942         accessors.
9943
9944         * gui.h: declare new copying functions.
9945
9946         * gui.c (copy_gui_item_tree): new function.
9947         (copy_gui_item): new function.
9948         (gui_item_id_hash): revert to standard hash.
9949         (gui_item_hash): ditto.
9950         (gui_item_hash_internal): deleted.
9951         (mark_gui_item): mark value.
9952         (gui_item_add_keyval_pair): add value.
9953         (gui_item_init): ditto.
9954         (gui_add_item_keywords_to_plist): ditto.
9955         (gui_item_equal): ditto.
9956         (syms_of_gui): add Q_value.
9957
9958         * glyphs-x.c (x_progress_gauge_update): use pending items and
9959         value for setting the state.
9960         (x_update_widget): don't set items from pending here.
9961
9962         * glyphs-widget.c (update_widget): update items here.
9963         (progress_gauge_set_property): use items for storing value. Put
9964         new value in pending items.
9965
9966         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
9967         items for new value. Convert percent -> value.
9968         (mswindows_tab_control_update): don't update items here.
9969
9970         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
9971         (update_subwindow): ditto.
9972         (image_instance_changed): new function. Compare hash values and
9973         past and present widget items.
9974         (image_instantiate): We more careful about where we instantiate
9975         things.
9976         (image_instantiate): add error checking.
9977
9978         * gutter.c (syms_of_gutter): use -hook.
9979
9980 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
9981
9982         * console-tty.c (Fset_console_tty_input_coding_system): Use
9983         Qkeyboard.
9984         (Fset_console_tty_output_coding_system): Use Qterminal.
9985         (tty_init_console): Use Qkeyboard and Qterminal.
9986
9987 2000-03-21  Ben Wing  <ben@xemacs.org>
9988
9989         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
9990         From Mike Alexander <mta@arbortext.com>.
9991
9992 2000-03-21  Ben Wing  <ben@xemacs.org>
9993
9994         * event-msw.c (mswindows_need_event): Horrible kludge to fix
9995         process brokenness.  Proper implementation to come.
9996         * callproc.c:
9997         Rename call-process-internal to old-call-process-internal.
9998         New impl. in process.el.
9999
10000 2000-03-21  Martin Buchholz  <martin@xemacs.org>
10001
10002         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
10003
10004 2000-03-20  Andy Piper  <andy@xemacs.org>
10005
10006         * glyphs.c (full_list_hash): make hashes of the same elements in
10007         different orders return different values.
10008
10009 2000-03-20  Martin Buchholz <martin@xemacs.org>
10010
10011         * XEmacs 21.2.32 is released.
10012
10013 2000-03-20  Martin Buchholz  <martin@xemacs.org>
10014
10015         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
10016         (DFC_MALLOC_USE_CONVERTED_DATA):
10017         Add aliasing-safe casts to allow use with char* or unsigned char*
10018         lvalues.
10019
10020         * eldap.c (Fldap_open):
10021         (Fldap_search_basic):
10022         (Fldap_add):
10023         (Fldap_modify):
10024         Make C++-compilable.
10025         Make sure GCPRO'ed variables are initialized.
10026         Use temp variables to avoid repeated calls to Flength.
10027
10028 2000-03-16  Martin Buchholz  <martin@xemacs.org>
10029
10030         * sysfile.h:
10031         Make sure PATH_MAX is always defined.
10032         Include limits.h for PATH_MAX.
10033         Deprecate use of MAXPATHLEN.
10034
10035 2000-03-10  Martin Buchholz  <martin@xemacs.org>
10036
10037         * emacs.c: Add reinit_vars_of_fileio.
10038         * symsinit.h: Add reinit_vars_of_fileio.
10039         * fileio.c (reinit_vars_of_fileio): New.
10040         * fileio.c (Fmake_temp_name):
10041         Initialize temp_name random number from microseconds to make
10042         collisions even less likely.  Initialize always at process startup
10043         time.  (make-temp-name) used to return the same file name twice in
10044         a row when PDUMP.
10045         Random stylistic fiddling.
10046         Comment fixes.
10047
10048 2000-03-20  Andy Piper  <andy@xemacs.org>
10049
10050         * glyphs.c (image_instantiate): allow text glyphs to be
10051         instantiated in the minibuffer window.
10052
10053 2000-03-19  Andy Piper  <andy@xemacs.org>
10054
10055         * glyphs.c (image_instance_hash): be careful about which items we
10056         hash on.
10057
10058         * glyphs-widget.c (tab_control_set_property): record into pending
10059         items rather than the actual items.
10060
10061         * glyphs-x.c (x_update_widget): use pending items to update with.
10062
10063         * glyphs-msw.c (mswindows_tab_control_update): use pending items
10064         to update with.
10065
10066         * glyphs.c (mark_image_instance): mark pending items.
10067
10068         * window.c (Fset_window_configuration): record the buffer.
10069         (Fselect_window): totally revert previous change which breaks many
10070         things.
10071
10072 2000-03-18  Andy Piper  <andy@xemacs.org>
10073
10074         * glyphs-msw.c (mswindows_tab_control_update): force selected
10075         item.
10076
10077         * glyphs.c (image_instantiate): don't allow the minibuffer as a
10078         window domain cache, otherwise we get inconsistencies at
10079         startup. There is something fishy at startup which can lead to the
10080         minibuffer being the selected window when the gutter content is
10081         instantiated.
10082
10083         * gui.c (parse_gui_item_tree_list): add probably unnecessary
10084         gcpros.
10085         (parse_gui_item_tree_children): ditto.
10086         (parse_gui_item_tree_item): ditto.
10087
10088         * glyphs.c (Fupdate_widget_instances): return something.
10089
10090 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
10091
10092         * window.c (Fselect_window): Undo 2000-03-17 change.
10093
10094 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
10095
10096         * postgresql.c (Fpq_setenv): Remove this turkey when linking
10097         against v7.0 libraries.  Insta-coredump city until the postgres
10098         folks fix it.
10099
10100 2000-03-17  Andy Piper  <andy@xemacs.org>
10101
10102         * faces.c (complex_vars_of_faces): don't give the widget face an
10103         inherited background pixmap.
10104
10105         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
10106         selected item.
10107
10108         * event-stream.c (Fdispatch_non_command_events): return something.
10109
10110         * gutter.c (output_gutter): use widget face.
10111         (clear_gutter): ditto.
10112
10113         * NEWS: adjust again.
10114
10115         * window.c (Fselect_window): make sure this runs to completion to
10116         avoid oddities with Fset_window_configuration.
10117         (Fcurrent_window_configuration): in general do not save the
10118         minibuffer as the selected window.
10119
10120         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
10121
10122 2000-03-16  Olivier Galibert  <galibert@pobox.com>
10123
10124         * emacs.c (Frunning_temacs_p): Revert previous patch.
10125         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
10126
10127 2000-03-16  Andy Piper  <andy@xemacs.org>
10128
10129         * glyphs-x.c (x_tab_control_update): if no widget values then
10130         return.
10131
10132         * NEWS: update for new features.
10133
10134         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
10135         synthetic event to the native system.
10136         (reinit_vars_of_event_Xt): set force_event_pending to
10137         emacs_Xt_force_event_pending.
10138
10139         * events.h (struct event_stream): add force_event_pending.
10140
10141         * specifier.c (recompute_one_cached_specifier_in_window): add
10142         comment.
10143
10144         * redisplay.c (redisplay_frame): don't call
10145         update_frame_subwindows. Reset subwindow cachels when
10146         subwindows_changed, removing this was an optimization too far.
10147
10148         * redisplay-output.c (compare_runes): reorganize so that we catch
10149         glyph changes when we want them. Set optimize_output when this
10150         would help layouts.
10151         (redisplay_output_layout): remove frame_really_changed, use
10152         optimize_output instead.
10153
10154         * redisplay-msw.c (mswindows_output_display_block): reset
10155         optimize_output after outputting a glyph.
10156         * redisplay-x.c (x_output_display_block): ditto.
10157         * redisplay-tty.c (tty_output_display_block): ditto.
10158
10159         * gutter.c: (specifier_vars_of_gutter): use new spec changed
10160         functions.
10161         (gutter_specs_changed): do specific gutter positions.
10162         (top_gutter_specs_changed): new function. Only update the
10163         specified gutter specs.
10164         (bottom_gutter_specs_changed): ditto.
10165         (left_gutter_specs_changed): ditto.
10166         (right_gutter_specs_changed): ditto.
10167
10168         * gui.c (gui_item_hash_internal): new function, does a real hash.
10169         (gui_item_id_hash): use it.
10170         (gui_item_hash): hash the eval'ed gui_item.
10171
10172         * gui-x.c (popup_selection_callback): send an eval event to call
10173         Fupdate_widget_instances.
10174
10175         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
10176         to call Fupdate_widget_instances.
10177
10178         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
10179         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
10180
10181         * glyphs.c: (update_frame_subwindows): deleted.
10182         (Fupdate_widget_instances): new function for updating the dirty
10183         state of widgets that might have changed.
10184         (syms_of_glyphs): add Qupdate_widget_instances.
10185         (full_list_hash): hash a list completely.
10186         (image_instance_hash): use it for items and properties.
10187
10188         * frame-msw.c (mswindows_size_frame_internal): remove unused
10189         variable.
10190
10191         * faces.h (struct face_cachel): fix comment.
10192
10193         * event-stream.c (Fdispatch_non_command_events): new
10194         function. Process non-command events, forcing an event cycle
10195         beforehand.
10196         (syms_of_event_stream): declare.
10197         (event_stream_force_event_pending): new function. Force an event
10198         on the native event queue so that an event cycle will occur next
10199         time we check.
10200
10201         * event-msw.c:
10202         (struct ntpipe_shove_stream):
10203         (mswindows_enqueue_dispatch_event):
10204         (mswindows_dequeue_dispatch_event):
10205         (mswindows_cancel_dispatch_event):
10206         (mswindows_pump_outstanding_events):
10207         (mswindows_drain_windows_queue):
10208         (mswindows_handle_paint):
10209         (mswindows_wnd_proc):
10210         (mswindows_key_to_emacs_keysym):
10211         (get_process_input_waitable):
10212         (emacs_mswindows_delete_stream_pair): re-indent file.
10213         (mswindows_need_event): do not process further fds if the windows
10214         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
10215         fixes the 100% cpu problem.
10216         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
10217
10218 2000-03-15  Olivier Galibert  <galibert@pobox.com>
10219
10220         * alloc.h: New.
10221         * dumper.h: New.
10222         * dumper.c: New.
10223
10224         * emacs.c: Moved dump file searching to dumper.c.
10225         (Frunning_temacs_p): Fixed.
10226
10227         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
10228         last_lrecord_type_index_assigned.
10229
10230 2000-02-20  Olivier Galibert  <galibert@pobox.com>
10231
10232         * symsinit.h: Added reinit parameter to init_console_stream
10233         declaration.
10234
10235         * lisp.h: Added file parameter to pdump_load declaration.
10236
10237         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
10238         support.  Added dump file searching.
10239
10240         * config.h.in: Added EMACS_PROGNAME.
10241
10242         * console-stream.c (init_console_stream): Fix reinitialisation
10243         when running from temacs.
10244
10245         * alloc.c (pdump): Add id support.
10246         (pdump_load): Add file parameter and signature/id support.
10247
10248         * Makefile.in.in: Add full pdump support.
10249
10250 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
10251
10252         * postgresql.c: Update documentation to reflect latest code
10253         status.
10254         (print_result): Show tuple counts in printed representation when
10255         appropriate.
10256         (Fpq_put_nbytes): MULE-ize.
10257         (Fpq_get_line_async): Ditto.
10258
10259 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10260
10261         * postgresql.c (Fpq_lo_import): Fix return value.
10262         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
10263
10264 2000-03-13  Ben Wing  <ben@xemacs.org>
10265
10266         * alloc.c (pdump_load):
10267         Fix compile warning under mswin.
10268
10269 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10270
10271         * postgresql.c: Mule-ization, bug fixes.
10272         Use PG_CODING to encapsulate coding system name changes.
10273         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
10274         (pg-coding-system): Create.
10275
10276         (Fpq_conn_defaults): Mule-ize.
10277         (Fpq_connectdb): Mule-ize & bug fix.
10278         (Fpq_connect_start): Mule-ize.
10279         (Fpq_set_client_encoding): Mule-ize.
10280         (Fpq_finish): Document `DEAD' connection status.
10281         (Fpq_clear): Ditto.
10282         (Fpq_pgconn): Mule-ize.
10283         (Fpq_exec): Mule-ize & bug fix.
10284         (Fpq_send_query): Ditto.
10285         (Fpq_get_result): Ditto.
10286         (Fpq_res_status): Mule-ize.
10287         (Fpq_result_error_message): Mule-ize.
10288         (Fpq_ntuples): fix comments.
10289         (Fpq_fname): Mule-ize.
10290         (Fpq_fnumber): Mule-ize.
10291         (Fpq_ftype): fix comments.
10292         (Fpq_get_value): Mule-ize.
10293         (Fpq_cmd_status): Ditto.
10294         (Fpq_cmd_tuples): Ditto.
10295         (Fpq_oid_value): Ditto.
10296         (Fpq_notifies): Ditto.
10297         (Fpq_lo_import): Ditto.
10298         (Fpq_lo_export): Ditto.
10299         (Fpq_get_line): Ditto.
10300         (Fpq_put_line): Mule-ize and bug fix.
10301         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
10302
10303 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10304
10305         * postgresql.c (vars_of_postgresql): Mule-ize.
10306         (Fpq_conn_defaults): Ditto.
10307
10308 2000-03-12  Ben Wing  <ben@xemacs.org>
10309
10310         * alloc.c (Fmake_byte_code):
10311         * alloc.c (debug_string_purity_print):
10312         * alloc.c (pdump_backtrace):
10313         * alloc.c (pdump_get_indirect_count):
10314         * alloc.c (pdump_register_sub):
10315         * alloc.c (pdump_register_object):
10316         * alloc.c (pdump_register_struct):
10317         * alloc.c (pdump_dump_data):
10318         * alloc.c (pdump_reloc_one):
10319         Minor cleanups.
10320
10321         * console-msw.c:
10322         * console-msw.c (GetConsoleHwnd):
10323         * console-msw.c (msw_hide_console):
10324         * console-msw.c (msw_show_console):
10325         * console-msw.c (msw_ensure_console_buffered):
10326         * console-msw.c (msw_output_console_string):
10327         * console-msw.c (console_type_create_mswindows):
10328
10329         a) Added functions to manipulate the console window for use with
10330         shell support.
10331
10332         b) Added support for writing text to the console, which is now
10333         used under Windows when xemacs is not being run non-interactively,
10334         to write text that would otherwise be destined for stdout because
10335         under these circumstances, text written to stdout tends to
10336         disappear and not be seen.
10337
10338         * console-msw.h:
10339         * event-Xt.c:
10340         * event-Xt.c (x_event_to_emacs_event):
10341         * event-Xt.c (describe_event_window):
10342         * events-mod.h (XEMACS_MOD_CONTROL):
10343         * events.c:
10344         * events.c (Fmake_event):
10345         * events.c (character_to_event):
10346         * events.c (event_to_character):
10347         * events.c (format_event_object):
10348         * events.c (Fevent_modifiers):
10349         * events.h:
10350         * events.h (struct key_data):
10351         * events.h (struct button_data):
10352         * events.h (struct misc_user_data):
10353         * frame-x.c (Fcde_start_drag_internal):
10354         * frame-x.c (Foffix_start_drag_internal):
10355         * gpmevent.c (Freceive_gpm_event):
10356         * keymap.c:
10357         * keymap.c (bucky_sym_to_bucky_bit):
10358         * keymap.c (control_meta_superify):
10359         * keymap.c (make_key_description):
10360         * keymap.c (keymap_lookup_directly):
10361         * keymap.c (create_bucky_submap):
10362         * keymap.c (keymap_store):
10363         * keymap.c (define_key_check_and_coerce_keysym):
10364         * keymap.c (define_key_parser):
10365         * keymap.c (define_key_alternate_name):
10366         * keymap.c (Fdefine_key):
10367         * keymap.c (raw_lookup_key_mapper):
10368         * keymap.c (struct map_keymap_unsorted_closure):
10369         * keymap.c (map_keymap_unsorted_mapper):
10370         * keymap.c (map_keymap_sort_predicate):
10371         * keymap.c (map_keymap_sorted):
10372         * keymap.c (accessible_keymaps_mapper_1):
10373         * keymap.c (where_is_recursive_mapper):
10374         * keymap.c (describe_map_mapper):
10375         * keymap.c (describe_map_sort_predicate):
10376         * keymap.c (describe_map):
10377         * keymap.c (complex_vars_of_keymap):
10378         And a number of other files, the key modifier preprocessor
10379         constants that xemacs uses have names that conflict with constants
10380         defined under MS Windows for other purposes, so they were renamed
10381         to begin with the prefix XEMACS_. The variables that hold such
10382         modifiers were changed to consistently be of type int to fix
10383         various compile warnings.
10384
10385         * console.c (complex_vars_of_console):
10386         * device.c:
10387         * device-msw.c:
10388         * device-msw.c (mswindows_finish_init_device):
10389         * device-msw.c (msw_get_workspace_coords):
10390         * device-msw.c (mswindows_device_system_metrics):
10391         and various other files, added support for a new
10392         device property called offset-workspace which returns the position
10393         of the upper left corner of the workspace area and goes along with
10394         the existing size-workspace property.
10395
10396         * dialog-msw.c:
10397         * dialog-msw.c (push_bufbyte_string_as_unicode):
10398         * dialog-msw.c (mswindows_popup_dialog_box):
10399         Added support for XEmacs-style accelerator specifications in
10400         button text.  Note: I didn't add support for this under X Windows,
10401         and somebody needs to do this.
10402
10403         * dialog.c:
10404         * dialog.c (Fpopup_dialog_box):
10405         Documented the support for accelerators that was just mentioned.
10406
10407         editfns.c (get_home_directory): Changed behavior under Windows
10408         when HOME not defined; former behavior was irretrievably broken.
10409
10410         * emacs.c:
10411         * emacs.c (main_1):
10412         * emacs.c (main):
10413         * minibuf.c (clear_echo_area_internal):
10414         * minibuf.c (echo_area_append):
10415         * print.c:
10416         * print.c (std_handle_out_external):
10417         * print.c (std_handle_out_va):
10418         * print.c (fatal):
10419         * print.c (write_string_to_stdio_stream):
10420         * print.c (output_string):
10421         * print.c (debug_print):
10422         * print.c (debug_backtrace):
10423         * print.c (debug_short_backtrace):
10424         Cleaned up the code that prints text to stdout so that this can be
10425         changed to output into a console window instead under MS Windows,
10426         as described above.
10427
10428         * eval.c:
10429         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
10430         * eval.c (internal_catch):
10431         * eval.c (unwind_to_catch):
10432         * eval.c (throw_or_bomb_out):
10433         * eval.c (condition_case_1):
10434         * eval.c (signal_1):
10435         * eval.c (check_error_state_sanity):
10436         * eval.c (call_with_suspended_errors_1):
10437         * eval.c (call_with_suspended_errors):
10438         * eval.c (reinit_vars_of_eval):
10439         Added code to catch throw loops and check for a pesky bug that may
10440         be gone now.
10441
10442         * event-msw.c:
10443         * event-msw.c (key_needs_default_processing_p):
10444         * event-msw.c (mswindows_wnd_proc):
10445         * event-msw.c (mswindows_modifier_state):
10446         * event-msw.c (emacs_mswindows_quit_p):
10447         * event-msw.c (vars_of_event_mswindows):
10448         a) Added support for using the alt key to select menu items as is
10449         standard under MS Windows.  This is controlled using the variable
10450         menu-accelerator-enabled, just like under X Windows.  There is an
10451         option on the options menu to turn this support on.  I really
10452         think that it should be on by default under Windows, but I'm not
10453         going to make this change yet.
10454
10455         b)  Added support for dynamic display size changes under Windows.
10456
10457         * event-stream.c:
10458         * event-stream.c (maybe_echo_keys):
10459         * event-stream.c (Fnext_event):
10460         * event-stream.c (command_builder_find_leaf):
10461         * event-stream.c (lookup_command_event):
10462         * event-stream.c (execute_command_event):
10463         * event-stream.c (pre_command_hook):
10464         * event-stream.c (post_command_hook):
10465         * event-stream.c (syms_of_event_stream):
10466         * event-stream.c (vars_of_event_stream):
10467         * event-stream.c (complex_vars_of_event_stream):
10468         * events.h (struct command_builder):
10469
10470         a) Tried to clean up a little bit the horribly written x-specific
10471         accelerator code that crept into this file.  I moved this code
10472         into menubar-x.c where it belongs. I also needed to move the
10473         command builder structure into the file events.h because it is
10474         accessed directly by this accelerator code.  What I didn't do, but
10475         which should be done at some point, is to properly abstract this
10476         code using device methods instead of the kludgy way that it
10477         currently hooks into the event code.
10478
10479         b) Added the lisp variables this-command-properties and
10480         last-command- properties, which should be used to synchronize two
10481         adjacent commands in preference to playing games with the variable
10482         this-command, which is typically what happens.
10483
10484         c) Added some slightly nasty code to hook into the lisp support
10485         for shifted- motion-key selection.  This is actually necessary for
10486         somewhat complicated reasons, which are described in
10487         simple.el. (NB: I think the proper thing would be to have the code
10488         that calls the pre and post command hooks also call out to generic
10489         lisp functions in simple.el, where all built-in stuff could be
10490         added.  I will think about this more.)
10491
10492         * event-unixoid.c (poll_fds_for_input):
10493         * lread.c (readchar):
10494         * redisplay-tty.c (tty_clear_frame):
10495         * redisplay-x.c (x_get_gc):
10496         * signal.c (interrupt_signal):
10497         And a whole bunch of other files: fixed up places that printed
10498         directly to stderr to instead call the function stderr_out so that
10499         the changes I made under Windows work correctly.
10500
10501         * filemode.c (mode_string):
10502         Warning fixes.
10503
10504         * frame-msw.c:
10505         * frame-msw.c (mswindows_size_frame_internal):
10506         Fixed the computation of frame size and position to keep the frame
10507         within the workspace area, rather than within the physical
10508         dimensions of the screen, so that the frame doesn't overlap window
10509         manager decorations, such as the start menu and toolbar, typically
10510         at the bottom of the screen.
10511
10512         * frame.c (vars_of_frame):
10513         Changed the default frame title format under MS Windows to consist
10514         of buffername-XEmacs, which is standard under MS Windows.  I think
10515         it might be a good idea to change this everywhere because I think
10516         it is superior to the current frame title format, but this is the
10517         kind of change that is likely to cause some people to get annoyed,
10518         so I'm not making it.
10519
10520         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
10521
10522         * gui-msw.c (mswindows_handle_gui_wm_command):
10523         Fixed compile warnings.
10524
10525         * gui-x.c:
10526         * gui-x.c (strdup_and_add_accel):
10527         * gui-x.c (button_item_to_widget_value):
10528         * gui-x.h:
10529         Added code to automatically put an accelerator onto the beginning
10530         of menu items that don't have one as is now the standard, and is
10531         described more later.  Also fixed things so that the menu item
10532         name can be an evaluated expression, again a new standard.
10533
10534         * gui.c:
10535         * gui.c (gui_item_add_keyval_pair):
10536         * gui.c (make_gui_item_from_keywords_internal):
10537         * gui.c (gui_add_item_keywords_to_plist):
10538         * gui.c (gui_item_accelerator):
10539         * gui.c (gui_name_accelerator):
10540         * gui.c (gui_item_included_p):
10541         * gui.c (gui_item_display_flush_left):
10542         * gui.c (gui_item_display_flush_right):
10543         * gui.c (parse_gui_item_tree_item):
10544         * gui.c (parse_gui_item_tree_children):
10545         * gui.c (parse_gui_item_tree_list):
10546         Mule-ized.  Cleanup.  GCPRO addition.
10547
10548         * line-number.c (buffer_line_number):
10549         * lisp.h:
10550         * lisp.h (EMACS_INT_MAX):
10551         Added the manifest constant EMACS_INT_MIN corresponding to the
10552         existing constant EMACS_INT_MAX.  This is partially to fix compile
10553         warnings under Windows, and partly for cleanliness.
10554
10555         * menubar-msw.c:
10556         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
10557         * menubar-msw.c (msw_translate_menu_or_dialog_item):
10558         * menubar-msw.c (displayable_menu_item):
10559         * menubar-msw.c (populate_menu_add_item):
10560         * menubar-msw.c (populate_or_checksum_helper):
10561         * menubar-msw.c (populate_menu):
10562         * menubar-msw.c (update_frame_menubar_maybe):
10563         * menubar-msw.c (prune_menubar):
10564         * menubar-msw.c (msw_char_is_accelerator):
10565         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
10566         * menubar-msw.c (mswindows_handle_wm_command):
10567         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
10568         * menubar-msw.c (mswindows_handle_wm_initmenu):
10569         * menubar-msw.c (mswindows_update_frame_menubars):
10570         * menubar-msw.c (mswindows_free_frame_menubars):
10571         * menubar-msw.c (mswindows_popup_menu):
10572         Fixed a bug in handling accelerators where an extra character
10573         would be displayed in the menu item.  Also generalized the
10574         function displayable_menu_item because it is now used by the
10575         dialog box code as well.  And finally, added code in the functions
10576         that create the menubar to extract a list of accelerators for the
10577         top level menubar, which is used in the event code to determine
10578         whether a particular alt-key combination should be used to invoke
10579         a menu item, or should be passed through to access the standard
10580         XEmacs keymap binding for this key combination.
10581
10582         Much needed GCPROing.
10583
10584         * menubar-x.c:
10585         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10586         * menubar-x.c (menu_item_descriptor_to_widget_value):
10587         * menubar-x.c (restore_in_menu_callback):
10588         * menubar-x.c (x_popup_menu):
10589         * menubar-x.c (menu_move_up):
10590         * menubar-x.c (menu_move_down):
10591         * menubar-x.c (menu_move_left):
10592         * menubar-x.c (menu_move_right):
10593         * menubar-x.c (menu_select_item):
10594         * menubar-x.c (command_builder_operate_menu_accelerator):
10595         * menubar-x.c (menu_accelerator_junk_on_error):
10596         * menubar-x.c (command_builder_find_menu_accelerator):
10597         * menubar-x.c (Faccelerate_menu):
10598         * menubar.h:
10599         Moved a whole bunch of code here that was previously in
10600         event-stream.c as described above.  There is also code connected
10601         to the new standard of adding an accelerator to the beginning of
10602         menu items that don't have one as described above and below.
10603
10604         * menubar.c:
10605         * menubar.c (menu_parse_submenu_keywords):
10606         * menubar.c (Fmenu_find_real_submenu):
10607         * menubar.c (Fnormalize_menu_item_name):
10608         * menubar.c (syms_of_menubar):
10609         * menubar.c (vars_of_menubar):
10610         * menubar.c (complex_vars_of_menubar):
10611
10612         a) Cleaned up a bunch of documentation and improved it.
10613
10614         b) XEmacs now automatically adds an accelerator onto the beginning
10615         of any menu items that don't have one.  I did this because there
10616         will inevitably be some menu items on the main menubar that don't
10617         have accelerators on them because the package that adds that
10618         particular menu item hasn't yet been fixed up to have accelerators
10619         in them and it looked rather strange to have some items with and
10620         some items without accelerators, especially since even in items
10621         without accelerators, you can, at least under windows, still
10622         access the item through an accelerator corresponding to the first
10623         character in the item's name.  If people don't like this behavior,
10624         I can add a variable to turn it off optionally, but I'm not sure
10625         this is a good idea because we really do need to have accelerators
10626         on all of the menu items, and if a package doesn't like the
10627         accelerators being put on the first character, then it should put
10628         the accelerators where they belong.
10629
10630         c) I made a behavior change, which is that the descriptor that
10631         specifies the text of the menu item, which formerly was just a
10632         string, can now also be an evaluated expression.  This makes this
10633         descriptor parallel with all of the others, which could also be
10634         evaluated expressions.  This also obviates the need for the
10635         keyword :label, which was previously listed in the documentation
10636         as unimplemented, and which was for the same purpose.
10637
10638         d) GCPROing.
10639
10640         * ntproc.c:
10641         * ntproc.c (new_child):
10642         * ntproc.c (sys_spawnve):
10643         * ntproc.c (find_child_console):
10644         * ntproc.c (sys_kill):
10645         Fixed compile warnings.  By the way, this file should really go
10646         away entirely, and this will happen as soon as Kirill makes his
10647         final round of process cleanups, which affect the function
10648         call-process.
10649
10650         * process-nt.c:
10651         * process-nt.c (struct nt_process_data):
10652         * process-nt.c (find_process_from_pid):
10653         * process-nt.c (send_signal_the_nt_way):
10654         * process-nt.c (enable_child_signals):
10655         * process-nt.c (find_child_console):
10656         * process-nt.c (send_signal_the_95_way):
10657         * process-nt.c (nt_finalize_process_data):
10658         * process-nt.c (ensure_console_window_exists):
10659         * process-nt.c (nt_create_process):
10660         * process-nt.c (nt_kill_child_process):
10661         * process-nt.c (nt_kill_process_by_pid):
10662         * process-nt.c (nt_open_network_stream):
10663         * process-nt.c (vars_of_process_nt):
10664         Copied over code from Emacs 20.5 to correctly send signals to sub-
10665         processes under Windows 95.  Also added code to automatically
10666         create and hide console window when a sub-process is created under
10667         Windows 95, which obviates the need for the separate runemacs.exe
10668         executable, and finally implemented some variables that were
10669         implemented in Emacs 20.5, but previously not in XEmacs.  These
10670         include mswindows- start-process-share-console and
10671         mswindows-start-process-inherit-error-mode. (Both of these only
10672         apply to Windows 95.)
10673
10674         * regex.c (regex_compile): Fixed a compile warning.
10675
10676         * select-msw.c:
10677         * select-msw.c (mswindows_own_selection):
10678         * select-msw.c (mswindows_get_foreign_selection):
10679         * select-msw.c (mswindows_disown_selection):
10680         * select-msw.c (console_type_create_select_mswindows):
10681         * select-msw.c (syms_of_select_mswindows):
10682         Cleaned up the file and implemented the device method
10683         selection_exists_p, which had accidentally been left out.  Also
10684         removed four lisp functions that were remnants from before the
10685         time when the selection code was properly device abstracted.
10686         These functions are no longer needed because there are generic
10687         equivalents, and because they were added recently and don't exist
10688         in FSF Emacs, I don't think there's any problem with just deleting
10689         them.
10690
10691         * sysdep.c:
10692         * sysdep.c (sys_subshell):
10693         Fixed a compile warning, although in this case there's probably
10694         something wrong with this code, and it ought to be looked into
10695         more thoroughly by somebody who understands it.
10696
10697         * window.c:
10698         * window.c (Fwindow_text_area_height):
10699         * window.c (Fwindow_width):
10700         * window.c (Fwindow_full_width):
10701         * window.c (Fwindow_pixel_width):
10702         * window.c (debug_print_window):
10703         * window.c (syms_of_window):
10704         Added functions window-text-area-height and window-full-width,
10705         which are functions for returning various width and height
10706         characteristics of a window. (One of these functions is necessary
10707         for making the file dialog box work correctly, and the other one
10708         was added for completeness.)  Also added a table to the
10709         documentation for window-height which describes the entire scheme
10710         for accessing width and height characteristics of a window.
10711
10712 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10713
10714         * nt.c (fstat): Added a comment for another problem with
10715         non-encapsulated [f]stat(), reported by Adrian Aichner
10716         <aichner@ecf.teradyne.com>.
10717
10718 2000-03-11  Andy Piper  <andy@xemacs.org>
10719
10720         * window.c (make_dummy_parent): initialize subwindow instance
10721         cache.
10722         (Fset_window_configuration): zero extent_modiff.
10723
10724 2000-03-10  Andy Piper  <andy@xemacs.org>
10725
10726         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
10727         more changes can be triggered.
10728         (Fredisplay_frame): ditto.
10729         (Fredraw_device): ditto.
10730         (Fredisplay_device): ditto.
10731         (redisplay_frame): make non-static.
10732         (redisplay_frame): call update_frame_gutter_geometry outside of
10733         display proper.
10734
10735         * gutter.h: declare update_frame_gutter_geometry.
10736
10737         * redisplay.h: declare redisplay_frame.
10738
10739         * gutter.c (update_frame_gutter_geometry): move geometry changes
10740         in update_frame_gutters here. Geometry changes can only occur
10741         outside of redisplay.
10742         (update_frame_gutters): remove geometry change code.
10743         (Fredisplay_gutter_area): make sure that we are in display when we
10744         update and that we have flushed any size changes.
10745
10746 2000-03-11  Andy Piper  <andy@xemacs.org>
10747
10748         * alloc.c (pdump_dump_data): remove i & count shadows.
10749
10750 2000-02-27  Mike Alexander  <mta@arbortext.com>
10751
10752         * sysdep.h: Declare pdump_read_file
10753
10754         * sysdep.c (pdump_read_file): New function
10755
10756         * alloc.c (pdump_load): Call pdump_read_file to get the portable
10757         dump data
10758
10759 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10760
10761         * lrecord.h: add `lrecord_type_pgsetenv'.
10762
10763 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
10764
10765         * symsinit.h: declare (vars|syms)_of* functions.
10766         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
10767
10768 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
10769
10770         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
10771
10772         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
10773         GCCs.
10774
10775         * emacs.c (main_1): Call postgres initialization code.
10776
10777         * postgresql.h: New file.  PostgreSQL RDBMS support.
10778         * postgresql.c: New file.
10779
10780 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10781
10782         * redisplay-output.c (redisplay_output_display_block): Disable
10783         redundant code.
10784
10785 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10786
10787         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
10788         (Fcanna_henkan_next): Ditto.
10789         (Fcanna_bunsetu_henkou): Ditto.
10790         (Fcanna_henkan_kakutei): Ditto.
10791         (Fcanna_henkan_end): Ditto.
10792         (Fcanna_henkan_quit): Ditto.
10793         (Fcanna_henkan_next): Set retun value correctly.
10794         (c2mu): Use unsigned char instead of signed char.
10795
10796 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10797
10798         * emacs.c (main_1): Always call syms_of_gui.
10799         * inline.c: include gui.h
10800
10801 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10802
10803         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
10804         converted to Lisp_Object.
10805         (Qtop_bottom): New variable.
10806         (syms_of_redisplay): Initialize it.
10807         * redisplay.h (Vvisible_bell): Ditto.
10808         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
10809         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
10810         only flash top and bottom.
10811
10812 2000-03-08  Andy Piper  <andy@xemacs.org>
10813
10814         * buffer.c (Frename_buffer): record new buffer name the right way.
10815
10816 2000-03-08  Andy Piper  <andy@xemacs.org>
10817
10818         * glyphs.c (update_subwindow): increase hash depth so that widget
10819         items get picked up properly.
10820
10821         * redisplay-output.c (compare_runes): increase hash depth so that
10822         widget items get picked up properly.
10823
10824 2000-03-08  Andy Piper  <andy@xemacs.org>
10825
10826         * gutter.c (output_gutter): add some debug.
10827
10828         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
10829         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
10830         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
10831
10832         * redisplay-output.c (compare_runes): use display_hash to
10833         determine if glyphs really are not the same.
10834
10835         * glyphs.c (update_subwindow): check display_hash to see if
10836         anything really needs to be updated. If not then do
10837         nothing. Record the display_hash after updating.
10838         (image_instance_equal): compare the image_instance face also.
10839
10840 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
10841
10842         * redisplay.h: Fix comment style.
10843
10844 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10845
10846         * consle-msw.h (struct mswindows_frame):
10847         Added new member paint_pending to indicate whether a WM_PAINT
10848         magic event has been queued for this frame.
10849
10850         * event-msw.c (mswindows_drain_windows_queue):
10851         Don't queue a WM_PAINT magic event if one is already queued.
10852         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
10853
10854         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
10855
10856 2000-03-07  Didier Verna  <didier@xemacs.org>
10857
10858         * dired.c: #include `regex.h' after `sysfile.h'.
10859
10860 2000-03-06  Martin Buchholz  <martin@xemacs.org>
10861
10862         * sound.c (init_nas_sound): Fix compiler warning.
10863
10864         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
10865         (FREE_STRUCT_P):
10866         (MARK_STRUCT_AS_FREE):
10867         (MARK_STRUCT_AS_NOT_FREE):
10868         Make `gcc -fstrict-aliasing' work properly.
10869
10870 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10871
10872         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
10873         (mswindows_delete_device): Call CoUnnitialize().
10874
10875         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
10876
10877 2000-02-25    <CraigL@DyCon.com>
10878
10879         * process-nt.c: MinGW now has <shellapi.h>, but still needs
10880         <errno.h>.
10881
10882         * sysdep.c: This extern declaration for environ prevents MinGW
10883         from finding the variable in CRTDLL.DLL.
10884
10885         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
10886         windows headers.
10887         (SHGFI_EXETYPE): ..
10888         (WM_MOUSEWHEEL): ..
10889         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
10890         definitions.
10891         (MMRESULT): Removed, now defined in cygwin's windows headers.
10892         (TIMECAPS): ..
10893         (uid_t,gid_t,pid_t,ssize_t): ..
10894         (_timeb): Removed, MinGW defines both _timeb and timeb.
10895         (HAVE_H_ERRNO): Added.
10896         (HAVE_TZNAME): Added, configure is not detecting this.
10897
10898 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
10899
10900         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
10901         * syntax.c (syntax_match): Use it.
10902
10903         * cmds.c: Import auto-fill-chars from FSF Emacs.
10904         (Vauto_fill_chars): New variables.
10905         (internal_self_insert): Check Vauto_fill_chars.
10906         (vars_of_cmds):
10907         Declare auto-fill-chars as a Lisp variable and initialize it.
10908
10909 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10910
10911         * fileio.c (Fmake_symbolic_link):
10912         (Ffile_symlink_p):
10913         Run handlers even if local machine doesn't have symlinks.
10914
10915 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10916
10917         * event-msw.c (mswindows_drain_windows_queue):
10918         Don't generate paint magic events for non-XEmacs frames.
10919
10920 2000-03-05  Andy Piper  <andy@xemacs.org>
10921
10922         * redisplay.c (redisplay_frame): generate_displayable_area and
10923         friends assumes that we are not in GC, we therefore have to make
10924         sure that this doesn't happen.
10925
10926         * gutter.c (calculate_gutter_size): generate_displayable_area
10927         assumes that we are not in GC, we therefore have to make sure that
10928         this doesn't happen.
10929
10930 2000-03-05  Martin Buchholz  <martin@xemacs.org>
10931
10932         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
10933
10934 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10935
10936         * redisplay.c (regenerate_window): Make sure we set a sane value
10937         for end_pos even if we jump out of the loop.
10938         (regenerate_window): Answer Ben's question :-).
10939         (start_end_of_last_line): Add may_error argument.
10940         (start_of_last_line):
10941         (end_of_last_line): Pass may_error = 0.
10942         (end_of_last_line_may_error): New function.
10943         (pixel_to_glyph_translation): Use it, so we don't crash in
10944         event_to_glyph.
10945
10946 2000-03-04  Andy Piper  <andy@xemacs.org>
10947
10948         * window.h (struct window): add gutter_extent_modiff.
10949
10950         * window.c (allocate_window): zero out gutter_extent_modiff.
10951
10952         * redisplay.h: declare sync_display_line_structs.
10953
10954         * redisplay.c (add_glyph_rune): add a better comment.
10955
10956         * redisplay-output.c (sync_display_line_structs): made non-static.
10957         (compare_runes): remove unneccesary glyph cachel access.
10958
10959         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
10960
10961         * gutter.c (output_gutter): don't output the gutter if extent
10962         changes only involve extents in buffers. use 4 sets of display
10963         lines.
10964         (gutter_extent_signal_changed_region_maybe): new function. Mark
10965         extents in gutters as changed.
10966         (update_frame_gutters): use 4 sets of display lines.
10967         (reset_gutter_display_lines): ditto.
10968         (free_frame_gutters): ditto.
10969         (redraw_exposed_gutter): force output of gutters.
10970
10971         * frame.h (struct frame): add 4 sets of gutter display lines.
10972
10973         * extents.c: (extent_changed_for_redisplay): signal changes to
10974         extents in strings in the gutter as well as extents in buffers.
10975
10976 2000-03-02  Andy Piper  <andy@xemacs.org>
10977
10978         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
10979
10980         * frame.c (Fmake_frame): make sure the gutters get initialized
10981         after the frame is visible.
10982         (set_frame_selected_window): re-arrange compilation macros a
10983         little.
10984         (change_frame_size_1): mark gutters changed.
10985
10986         * device.c (Fset_device_class): mark gutters changed.
10987
10988 2000-03-01  Andy Piper  <andy@xemacs.org>
10989
10990         * window.c (window_top_frame_gutter_height): deleted.
10991         (window_bottom_frame_gutter_height): ditto.
10992         (window_left_frame_gutter_height): ditto.
10993         (window_right_frame_gutter_height): ditto.
10994         (window_top_gutter_height): don't use them.
10995         (window_bottom_gutter_height): ditto.
10996         (window_left_gutter_width): ditto.
10997         (window_right_gutter_width): ditto.
10998         (Fsplit_window): ditto.
10999         (Fwindow_pixel_edges): don't use border dimensions here.
11000
11001         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
11002         (update_scrollbar_instance): ditto.
11003
11004         * redisplay.c (generate_modeline): don't take gutters into account.
11005         (generate_modeline): ditto.
11006         (redisplay_frame): small gutter display optimization.
11007
11008         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
11009
11010         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
11011         gutters into account.
11012
11013         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
11014         for window position and type.
11015
11016         * gutter.c (get_gutter_coords): fix for frame gutters.
11017         (update_frame_gutters): update frame geometry if the gutters have
11018         changed.
11019         (init_frame_gutters): record current gutter geometries.
11020
11021         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
11022         var.
11023         (mswindows_widget_instantiate): ditto.
11024
11025         * frame.h (struct frame): add current_gutter_bounds.
11026
11027         * frame.c (change_frame_size_1): position window and minibuffer
11028         appropriately taking into account the frame gutters.
11029
11030         * frame-x.c: (x_initialize_frame_size): take into account the
11031         frame gutters.
11032
11033 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
11034
11035         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
11036
11037 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
11038
11039         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
11040
11041 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11042
11043         * file-coding.c (reset_decoding_stream): Clear previous
11044         detection state when autodetect.
11045
11046 2000-02-29  Didier Verna  <didier@xemacs.org>
11047
11048         * extents.c (set_extent_glyph_1): don't require extents to be
11049         attached.
11050
11051 2000-02-27  Andy Piper  <andy@xemacs.org>
11052
11053         * gutter.c (Fset_default_gutter_position): don't default left and
11054         right gutter visibility to t.
11055         (Fset_default_gutter_position): run
11056         default-gutter-position-changed-hook.
11057         (syms_of_gutter): add default-gutter-position-changed-hook.
11058
11059 2000-02-26  Andy Piper  <andy@xemacs.org>
11060
11061         * specifier.c (Fmake_specifier): add gutter references.
11062
11063         * gutter.h (RAW_WINDOW_GUTTER): new macro.
11064
11065         * lisp.h: declare Fvalid_plist_p.
11066
11067         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
11068         as changed.
11069         (default_gutter_visible_p_changed_in_window): invalidate gutter as
11070         well as its visibility so that it gets reconstructed.
11071         (construct_window_gutter_spec): new function. Construct a string
11072         to be displayed in the gutter from a plist of strings. Take care
11073         to only use elements that are declared as visible.
11074         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
11075         WINDOW_GUTTER.
11076         (gutter_validate): allow plists of strings in the specifier.
11077         (gutter_specs_changed): construct the real_gutter from the gutter
11078         specs using construct_window_gutter_spec.
11079         (gutter_visible_validate): gutter-visible is a new specifier type.
11080         (Fgutter_visible_specifier_p): new function for the new specifier.
11081         (syms_of_gutter): declare gutter-visible and
11082         Fgutter_visible_specifier_p.
11083         (specifier_type_create_gutter): intitalize new gutter-visible
11084         specifier.
11085         (reinit_specifier_type_create_gutter): ditto.
11086         (specifier_vars_of_gutter): use new specifier type for gutter
11087         visibility.
11088         (init_frame_gutters): construct real_gutter correctly.
11089         (Fgutter_specifier_p): beef up documentation.
11090         (Fgutter_size_specifier_p): ditto.
11091
11092         * winslots.h: add real_gutter slots.
11093
11094 2000-02-25  Andy Piper  <andy@xemacs.org>
11095
11096         * device-msw.c: Be kind to older cygwin versions. From Raymond
11097         Toy <toy@rtp.ericsson.se>.
11098
11099         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
11100         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
11101
11102 2000-02-25  Martin Buchholz  <martin@xemacs.org>
11103
11104         * elhash.c (MARK_OBJ): Practice macro hygiene.
11105
11106 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11107
11108         * miscplay.c: s/__inline__/inline/g;
11109         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
11110         (get_device_compdc): INLINE ==> static inline
11111         * *.[ch]: Change INLINE to INLINE_HEADER globally.
11112         find -name '*.h' | \
11113         xargs global-replace \
11114         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
11115
11116 2000-02-25  Andy Piper  <andy@xemacs.org>
11117
11118         * window.c (window_top_frame_gutter_height): new function.
11119         (window_top_window_gutter_height): ditto.
11120         (window_top_gutter_height): use them.
11121         (window_bottom_frame_gutter_height): new function.
11122         (window_bottom_window_gutter_height): ditto.
11123         (window_bottom_gutter_height): use them.
11124         (window_left_window_gutter_width): new function.
11125         (window_left_frame_gutter_width): ditto.
11126         (window_left_gutter_width): use them.
11127         (window_right_window_gutter_width): new function.
11128         (window_right_frame_gutter_width): ditto.
11129         (window_right_gutter_width): use them.
11130         (window_pixel_height): new function. calulate window pixel height
11131         with frame gutter involvement.
11132         (Fsplit_window): calculate new sizes taking frame gutters into
11133         account.
11134         (window_char_height_to_pixel_height): don't include frame gutters.
11135         (window_char_height): use window_pixel_height.
11136         (window_pixheight): rename from window_pixel_height.
11137         (change_window_height): use it.
11138         (window_pixel_height_to_char_height): don't include frame gutters.
11139         (window_char_width_to_pixel_width): ditto.
11140
11141 2000-02-25  Andy Piper  <andy@xemacs.org>
11142
11143         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
11144         if it is.
11145
11146 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11147
11148         * alloc.c (staticpro):
11149         (staticpro_nodump):
11150         (dumpstruct):
11151         (dumpopaque):
11152         (pdump_wire):
11153         (pdump_wire_list):
11154         (compact_string_chars):
11155         (pdump_dump_wired):
11156         Convert:  if (foo) abort();  ==>  assert (! foo);
11157
11158         * eldap.c (Fldap_search_basic):
11159         (Fldap_add):
11160         (Fldap_modify):
11161         (Fldap_delete):
11162         Fix compiler warnings, and possible crashes if (random) return
11163         value were to be used.
11164
11165 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11166
11167         * device-msw.c: Workaround ResetDC failure.
11168
11169         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
11170         applying a devmode.
11171
11172         * redisplay-msw.c (get_frame_dc): Added start_page_p.
11173         (mswindows_text_width): Do not start printer page.
11174
11175         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
11176
11177         * glyphs-msw.c: Added image methods to msprinter console and
11178         msprinter-specific image instantiation.
11179
11180 2000-02-20  Mike Alexander  <mta@arbortext.com>
11181
11182         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
11183         to avoid crashes when selection-sets-clipboard is on
11184         (mswindows_own_selection): ditto
11185
11186 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11187
11188         * glyphs-msw.c:
11189         * redisplay-msw.c (get_frame_dc):
11190         (get_frame_compdc):
11191         * console-msw.h:
11192         * device-msw.c (mswindows_init_device):
11193         (mswindows_delete_device):
11194         (msprinter_init_device):
11195         (msprinter_delete_device):
11196         * frame-msw.c (mswindows_init_frame_1):
11197         (mswindows_delete_frame):
11198         (msprinter_init_frame_3):
11199         (msprinter_delete_frame): Move compatible DC to device object from
11200         frame object, for both mswindows and msprinter. Only one at a time
11201         is needed, it is a real waste to have one per frame!
11202
11203 2000-02-23  Andy Piper  <andy@xemacs.org>
11204
11205         * glyphs.c: add dynamic width and height elements.
11206         (image_instance_equal): ditto.
11207
11208         * glyphs-widget.c (widget_query_geometry): calculate width and
11209         height dynamically if required.
11210         (initialize_widget_image_instance): initialize dynamic dimensions.
11211         (widget_instantiate): pick-up dynamic dimensions.
11212
11213         * glyphs.h (struct Lisp_Image_Instance): add width and height for
11214         dynamic determination. Add appropriate macros.
11215
11216         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
11217         dimensions safe.
11218         (WINDOW_GUTTER_SIZE): ditto.
11219         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
11220
11221         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
11222         inline.
11223         (get_frame_dc): ditto.
11224
11225         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
11226         here.
11227
11228 2000-02-23  Martin Buchholz <martin@xemacs.org>
11229
11230         * XEmacs 21.2.31 is released.
11231
11232 2000-02-22  Ben Wing <ben@xemacs.org>
11233
11234         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
11235
11236 2000-02-22  Andy Piper  <andy@xemacs.org>
11237
11238         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
11239
11240 2000-02-21  Mike Sperber <mike@xemacs.org>
11241
11242         * .dbxrc:
11243         * .gdbinit:
11244         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
11245         variables.
11246
11247 2000-02-21  Mike Sperber <mike@xemacs.org>
11248
11249         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
11250
11251 2000-02-21  Martin Buchholz <martin@xemacs.org>
11252
11253         * XEmacs 21.2.30 is released.
11254
11255 2000-02-20  Martin Buchholz  <martin@xemacs.org>
11256
11257         Performance hacking.
11258         * *.c (syms_of_*):
11259         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
11260         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
11261         * emacs.c (main_1):
11262         * lisp.h (DEFUN):
11263         * console.c (DEFVAR_CONSOLE_LOCAL_1):
11264         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
11265         * symeval.h (DEFVAR_SYMVAL_FWD):
11266         * symbols.c (guts_of_unbound_marker):
11267         Make all c_readonly objects also lisp_readonly and marked for life.
11268         * lrecord.h (struct lrecord_implementation):
11269         Document flags better.
11270         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
11271         * lrecord.h (DECLARE_LRECORD):
11272         * lrecord.h (XSETRECORD):
11273         * lrecord.h (RECORDP):
11274         * lrecord.h (RECORD_TYPEP):
11275         * lrecord.h (RECORD_MARKER): New.
11276         * lrecord.h (error_check_*):
11277         * lrecord.h (CONCHECK_NONRECORD):
11278         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
11279         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
11280         * lrecord.h (set_lheader_implementation):
11281         * lrecord.h (enum lrecord_type): New.
11282         * symeval.h (SYMBOL_VALUE_MAGIC_P):
11283         * alloc.c (disksave_object_finalization_1):
11284         * alloc.c (mark_object):
11285         * alloc.c (lrecord_type_index):
11286         * alloc.c (tick_lcrecord_stats):
11287         * alloc.c (Fgarbage_collect):
11288         * alloc.c (init_alloc_once_early):
11289         * alloc.c (pdump_load):
11290         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
11291         * alloc.c (lrecord_type_index): Delete.
11292         Make lisp object type indexes be constant.
11293           Makes (byte-compile) 5% faster.
11294         Put all marker functions into their own array.
11295           Makes (garbage-collect) 5% faster.
11296         Optimize SYMBOL_VALUE_MAGIC_P.
11297           Makes (byte-compile) 2-3% faster.
11298         * config.h.in (gc_checking_assert): New.
11299         * alloc.c: Use gc_checking_assert().
11300         * .dbxrc: Make compatible with new object type implementation.
11301         * .gdbinit: Make compatible with new object type implementation.
11302         * alloc.c: Delete all symbols defined only for debugging, such as
11303         Lisp_Type_Vector and lrecord_charset.
11304
11305 2000-02-21  Andy Piper  <andy@xemacs.org>
11306
11307         * gui-msw.c (Fmswindows_shell_execute): fix file location
11308         problems.
11309
11310         * buffer.c (Fkill_buffer): remove buffer from alist buffer
11311         unshowing so that set_window_buffer doesn't undo
11312         kill_buffer_hook's hard work.
11313
11314         * glyphs-widget.c (tab_control_query_geometry): don't count the
11315         first item when calculating geometry.
11316
11317         * glyphs.c (map_subwindow): remove redundant code.
11318         (update_frame_subwindows): be more circumspect about when to
11319         update subwindows.
11320
11321         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
11322         when items haven't changed. Update faces if faces have changed as
11323         well as just the widget face.
11324         (x_tab_control_update): Update faces if faces have changed as well
11325         as just the widget face.
11326
11327 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11328
11329         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
11330         registration.
11331         (build_syscolor_string): Use mswindows_color_to_string to try to
11332         get a named color.
11333         (mswindows_device_system_metrics): Reverse the foreground and
11334         background colors so that they match the documentation.
11335
11336         * objects-msw.c: (mswindows_X_color_map): tweak some values so
11337         they match the default Windows palette.
11338         (mswindows_color_to_string): New function.
11339
11340 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11341
11342         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
11343
11344 2000-02-18  Olivier Galibert  <galibert@pobox.com>
11345
11346         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
11347         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
11348
11349         * symbols.c (init_symbols_once_early): Removed obsolete
11350         DATA_SEG_BITS related kludge.
11351         (defvar_magic): Ditto.
11352
11353         * malloc.c: Removed obsolete DATA_SEG_BITS
11354         * ralloc.c: Ditto.
11355         * mem-limits.h: Ditto.
11356
11357         * Makefile.in.in: Removed obsolete HAVE_SHM
11358         * emacs.c: Ditto.
11359
11360 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11361
11362         *  device-msw.c (mswindows_delete_device): Free DDE string
11363         handles.
11364
11365 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11366
11367         * keymap.c (get_keyelt):
11368         * unexnt.c (unexec):
11369         * vm-limit.c (memory_warnings):
11370         * ntheap.c (recreate_heap):
11371         * ntheap.h (UNINIT_PTR):
11372         * select-msw.c (Fmswindows_get_clipboard):
11373         (Fmswindows_set_clipboard):
11374         * objects-msw.h (MSWINDOWS_BAD_HFONT):
11375         * objects-msw.c:
11376         * menubar-msw.c (displayable_menu_item):
11377         * glyphs-msw.c:
11378         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
11379         * sysdep.c (sys_subshell):
11380         * process-nt.c (nt_create_process):
11381         * nt.c (normalize_filename):
11382         (dostounix_filename):
11383         (unixtodos_filename):
11384         * ntproc.c (win32_executable_type):
11385         * ntplay.c (play_sound_data_1):
11386         (play_sound_file):
11387         * editfns.c (get_home_directory):
11388         * event-msw.c (struct winsock_stream):
11389         (mswindows_dde_callback):
11390         * device-msw.c (msprinter_init_device):
11391         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
11392
11393         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
11394         mswindows_clear_toolbar were swapped!
11395
11396         * objects-msw.c:(colormap_t):
11397         (fontmap_t):
11398         * emacs.c (struct standard_args): Fixed const jumble.
11399
11400         * glyphs-widget.c (update_widget): Fixed comparison notation.
11401
11402         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
11403
11404         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
11405         __declspec(noreturn) syntax.
11406
11407 2000-02-19  Martin Buchholz  <martin@xemacs.org>
11408
11409         * eldap.c (Fldap_open):
11410         (Fldap_search_basic):
11411         (Fldap_add):
11412         (Fldap_modify):
11413         Use new coding system conversion macros.
11414
11415 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11416
11417         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
11418
11419 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
11420
11421         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
11422         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11423
11424         * eldap.c (Qadd, Qreplace): New constant symbols
11425         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
11426         interruptions by XEmacs signals
11427         Remove unnecessary calls to slow_down_interrupts and
11428         speed_up_interrupts
11429         (Fldap_search_basic): Renamed from Fldap_search_internal
11430         Added new optional parameter VERBOSE that triggers the
11431         display of progress messages
11432         Remove unnecessary calls to slow_down_interrupts and
11433         speed_up_interrupts
11434         LDAP result code analysis rewritten
11435         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11436         (syms_of_eldap): Define the new symbols and functions
11437
11438
11439 2000-02-17  Martin Buchholz  <martin@xemacs.org>
11440
11441         * realpath.c: Determine PATH_MAX maximally portably.
11442
11443         * insdel.c (bytecount_to_charcount): Optimize.
11444         The function used to be optimized for entirely ASCII sequences.
11445         Now it is optimized for successive characters from the same
11446         charset.  This also wins big for _mostly_ ASCII sequences.
11447
11448         * fileio.c (Ffile_truename): convert return from realpath() using
11449         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
11450         - Rewrite GCPROing slightly.
11451
11452         * sysdep.c (sys_open): Do filename conversion, like all other
11453         sys_* functions.  Fixes bug:
11454         (let ((file-name-coding-system 'iso-8859-2))
11455            (write-region x y latin2-name))
11456         ==> writes filename using internal encoding.
11457
11458 2000-02-18  Martin Buchholz  <martin@xemacs.org>
11459
11460         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
11461         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
11462         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
11463         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
11464         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
11465         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
11466         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
11467         (CONST_IF_NOT_DEBUG): Delete.
11468         * alloc.c (this_one_is_unmarkable): Delete.
11469         (mark_object): Don't check for this_one_is_unmarkable. Use the
11470         c_readonly flag instead.
11471         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
11472
11473 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11474
11475         * event-msw.c (mswindows_drain_windows_queue):
11476         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
11477         away redundant repaint events.
11478
11479 2000-02-17  Andy Piper  <andy@xemacs.org>
11480
11481         * redisplay.h: declare mark_redisplay_structs.
11482
11483         * redisplay.c (redisplay_window):
11484         (redisplay_frame): don't check subwindows_state_changed.
11485         (mark_redisplay): mark gutters here.
11486
11487         * glyphs.c: (instantiate_image_instantiator): always layout if we
11488         haven't done so already.
11489         (allocate_image_instance): don't mark as dirty.
11490         (update_subwindow): bind inhibit_quit.
11491
11492         * gutter.c (mark_gutters): new function.
11493
11494         * glyphs-x.c (x_update_widget): Always resize to get round a
11495         widget bug.
11496
11497         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
11498         breaking absolutely everything.
11499
11500         * gutter.h: declare mark_gutters.
11501
11502 2000-02-16  Martin Buchholz <martin@xemacs.org>
11503
11504         * XEmacs 21.2.29 is released.
11505
11506 2000-02-15  Olivier Galibert  <galibert@pobox.com>
11507
11508         * fns.c (size_bit_vector): Fix computation of the size.
11509
11510 2000-02-15  Martin Buchholz  <martin@xemacs.org>
11511
11512         * *.[ch]: Change CONST to const globally.
11513         find -name '*.[ch]' | \
11514         xargs global-replace \
11515         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
11516         - Remove vestigial references to CONST_IS_LOSING
11517
11518 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11519
11520         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
11521         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
11522         events instead of dispatching them directly.
11523         (mswindows_handle_paint): New function to do repainting.
11524         (mswindows_wnd_proc):
11525         (emacs_mswindows_handle_magic_event): Call above function.
11526
11527 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11528
11529         * objects-msw.c (mswindows_create_font_variant): Return the new
11530         font handle.
11531         (initialize_font_instance): Get font metrics from the underlined
11532         variant of the font to cope with the case where the underlined
11533         font has a bigger descent.
11534
11535 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11536
11537         * gui.c (gui_item_accelerator): Return the first underlined
11538         character in item name.
11539
11540 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11541
11542         * lisp.h: Added Qprinter.
11543
11544         * general.c (syms_of_general): Initialized it.
11545
11546         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
11547         (get_frame_dc):
11548         (get_frame_compdc): Made inline.
11549
11550         * console.h (struct console_methods): Added eject_page method.
11551
11552         * frame.h: Added FRAME_DISPLAY_P and friends.
11553         Aligned backslahes in many macros in more readable fashion.
11554         Added page_number to struct frame, and an accessor macro
11555         for it.
11556
11557         * defice.h: Added DEVICE_DISPLAY_P and friends.
11558
11559         * device.c (Fdevice_printer_p): Used these.
11560
11561         * frame.c (allocate_frame_core): Initialize page number.
11562         (Fprint_job_page_number):
11563         (Fprint_job_eject_page): Implemented.
11564
11565         * frame-msw.c (msprinter_eject_page): Added method.
11566         (msprinter_start_page): Added.
11567
11568         * window.c (Fwindow_truncated_p): Fixed docstring.
11569         (Fwindow_last_line_visible_height): Implemented.
11570
11571 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11572
11573         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
11574
11575 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11576
11577         * syntax.c (scan_words): Always advance at least one character.
11578
11579 2000-02-13  Andy Piper  <andy@xemacs.org>
11580
11581         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
11582         to make sure the glyph is in the cachels.
11583
11584         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
11585         global image instance flag.
11586         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
11587         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
11588
11589         * glyphs.c (allocate_image_instance): set dirty bits correctly.
11590         (Fset_image_instance_property): mark layout as changed.
11591         (invalidate_glyph_geometry_maybe): mark layout as changed.
11592         (glyph_width): use new NEEDS_LAYOUT macro.
11593         (glyph_ascent): ditto.
11594         (glyph_descent): ditto.
11595         (glyph_height): ditto.
11596         (image_instance_layout): mark layout as clean after laying out.
11597         (update_subwindow): don't mark layout as clean here.
11598
11599         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
11600         should no longer be needed.
11601
11602         * glyphs-x.c (x_update_widget): sanitize asserts.
11603         (x_finalize_image_instance): sanitize assignment to widgets.
11604
11605         * glyphs-widget.c (widget_instantiate): don't need to clear the
11606         layout flag here.
11607
11608 2000-02-13  Martin Buchholz  <martin@xemacs.org>
11609
11610         * sysdep.c (getcwd): Use standard prototype.
11611         * sysdep.h (getcwd): Use standard prototype.
11612
11613         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
11614         (sequence, start, end).
11615         Remove redundant type checking.
11616         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
11617         view of `caller-protects') to avoid a crash where the real fix was
11618         found elsewhere.
11619
11620 2000-02-12  Martin Buchholz  <martin@xemacs.org>
11621
11622         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
11623
11624         * s/sol2.h: Remove feature macro initialization.
11625
11626         * alloc.c (alloc_lcrecord): Add more type checking assertions.
11627         (vector_hash): New.  Code from internal_hash.
11628         * lrecord.h:
11629         Fix up allocation subsystem comments.
11630
11631         * config.h.in: Add __EXTENSIONS__ for Solaris.
11632
11633         * systime.h (EMACS_GETTIMEOFDAY): New.
11634         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
11635         Remove Solaris-specific code.
11636         Use void* for the (ignored) second arg for gettimeofday().
11637
11638         * elhash.c (hash_table_hash): Implement it, finally.
11639         * elhash.c:  Use hashcode_t.
11640
11641         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
11642         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
11643
11644         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
11645         * fns.c (size_bit_vector):
11646         * alloc.c (size_vector):
11647         (make_vector_internal):
11648         (make_bit_vector_internal):
11649         (sweep_bit_vectors_1):
11650         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
11651
11652 2000-02-10  Martin Buchholz  <martin@xemacs.org>
11653
11654         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
11655         Include strings.h to avoid warnings for bzero and strcasecmp.
11656
11657 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11658
11659         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
11660         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
11661
11662         * fns.c (size_bit_vector): New.  Declare bit vectors as a
11663         sequence.
11664
11665 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11666
11667         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
11668         use a value field instead.
11669         (symbol_value_forward_forward): Use value field.
11670         (DEFVAR_SYMVAL_FWD): Use value field.
11671         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
11672         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
11673         (DEFVAR_CONST_INT): Ditto.
11674         (DEFVAR_BOOL): Ditto.
11675         (DEFVAR_CONST_BOOL): Ditto.
11676         (DEFVAR_INT_MAGIC): Ditto.
11677         (DEFVAR_BOOL_MAGIC): Ditto.
11678
11679         * symbols.c (guts_of_unbound_marker): Use value field.
11680         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
11681         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
11682
11683         * lisp.h: Declare dumpopaque and noninteractive1.
11684
11685         * alloc.c (dumpopaque): Added.
11686         (pdump_dump_opaquevec): Added.
11687         (pdump): Call pdump_dump_opaquevec to dump opaque data.
11688         (pdump_load): Reload opaque data.  Sync noninteractive1 with
11689         noninteractive.
11690
11691 2000-02-10  Andy Piper  <andy@xemacs.org>
11692
11693         * glyphs.c (image_instance_layout): if the size changes, mark it
11694         as such.
11695
11696         * redisplay-output.c (redisplay_output_layout): Update the
11697         subwindow here.
11698         (redisplay_output_subwindow): ditto.
11699
11700         * glyphs.c (update_subwindow): make sure we reset flags for
11701         layouts as well as everything else.
11702
11703         * glyphs-widget.c (layout_layout): don't need to set the instances
11704         dimensions here.
11705
11706 2000-02-09  Martin Buchholz  <martin@xemacs.org>
11707
11708         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
11709         not HAVE_DLOPEN, which is a lower-level thing.
11710
11711         * .cvsignore: Ignore gmon.out
11712
11713 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
11714
11715         * .cvsignore: Ignore portable dumper xemacs.dmp file
11716
11717 2000-02-09  Andy Piper  <andy@xemacs.org>
11718
11719         * redisplay-output.c (redisplay_output_layout): be more clever
11720         about when we output based on the changed flags.
11721
11722         * glyphs.h (struct image_instantiator_methods): add update_method.
11723         (struct Lisp_Image_Instance): add changed flags. Declare new
11724         macros for manipulating them.
11725
11726         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
11727         (image_instance_parent_glyph): find an image_instance's parent
11728         glyph or image_instance.
11729         (image_instance_layout): mark the size as changed.
11730         (set_image_instance_dirty_p): new function. mark an image
11731         instance, plus all of its parents, as dirty.
11732         (Fset_image_instance_property): use it.
11733         (Fglyph_animated_timeout_handler): use it.
11734         (update_subwindow): call update_widget and device methods for
11735         update_subwindow. Mark all changed flags as clean.
11736         (Fresize_subwindow): mark size as changed.
11737
11738         * glyphs-x.c (x_finalize_image_instance): try and detect gc
11739         failures.
11740         (x_update_subwindow): only resize subwindows here.
11741         (x_update_widget): new function. Update all changed properties of
11742         a widget.
11743         (x_resize_subwindow): deleted.
11744         (x_widget_set_property): deleted.
11745         (x_progress_gauge_set_property): deleted.
11746         (x_progress_gauge_update): new function. Implement recorded
11747         changes.
11748         (x_tab_control_update): ditto.
11749         (x_tab_control_set_property): deleted.
11750         (console_type_create_glyphs_x): declare new functions.
11751         (image_instantiator_format_create_glyphs_x): ditto.
11752
11753         * glyphs-widget.c (widget_set_property): mark text changed.
11754         (update_widget): new function. Update properties of a widget.
11755         (widget_instantiate): for layouts make sure we set their
11756         children's parent correctly.
11757         (tab_control_set_property): new function. Record changes that will
11758         take place under redisplay's control.
11759         (progress_gauge_set_property): ditto.
11760         (image_instantiator_progress_guage): declare new functions.
11761         (image_instantiator_tab_control): ditto.
11762
11763         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
11764         now.
11765         (mswindows_update_widget): new function. Update all properties on
11766         a widget that have changed.
11767         (mswindows_button_update): new function. Update a button's set
11768         state.
11769         (mswindows_tab_control_update): new function. Update the items in
11770         a tab.
11771         (mswindows_tab_control_set_property): deleted.
11772         (mswindows_progress_gauge_update): new function. Update the
11773         progress gauge's progress.
11774         (mswindows_widget_set_property): deleted. This is all done
11775         asynchronously now.
11776         (mswindows_progress_gauge_set_property): ditto.
11777         (console_type_create_glyphs_mswindows): declare new methods.
11778         (image_instantiator_format_create_glyphs_mswindows): ditto.
11779
11780         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
11781         (msprinter_set_frame_properties): ditto.
11782
11783         * console.h (struct console_methods): Add update_widget_method.
11784
11785 2000-02-09  Andy Piper  <andy@xemacs.org>
11786
11787         * gui-msw.c (Fmswindows_shell_execute): Make
11788         mswindows-shell-execute industrial strength.
11789
11790 2000-02-08  Martin Buchholz  <martin@xemacs.org>
11791
11792         * lrecord.h: Make macro argument `props' match member function `plist'.
11793         * fns.c (Fget):
11794         * fns.c (Fput):
11795         * fns.c (Fremprop):
11796         * fns.c (Fobject_plist):
11797         * alloc.c:
11798         * symbols.c:
11799         Object property list frobbing cleanup.
11800         - Allow any lisp object (compared with `eq'), not just symbols, as
11801           keys in object plists.
11802         - Move symbol plist frobbing into symbols.c, where it belongs.
11803         - Move string plist frobbing into alloc.c, where it belongs.
11804         - Everything's an lrecord now, so no need to test for symbolp, etc.
11805         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
11806
11807         * extents.c: Reorder code to remove declarations.
11808
11809         * frame.h (store_in_alist): Remove useless declaration.
11810
11811 2000-02-07  Martin Buchholz  <martin@xemacs.org>
11812
11813         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
11814         * config.h.in: Add HAVE_XCONVERTCASE.
11815
11816 2000-02-07  Andy Piper  <andy@xemacs.org>
11817
11818         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
11819         it breaks many things.
11820
11821 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11822
11823         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
11824         actually can start a common comment type.
11825         * src/syntax.h (SYNTAX_END_P): ditto for end.
11826
11827 2000-02-07  Martin Buchholz <martin@xemacs.org>
11828
11829         * XEmacs 21.2.28 is released.
11830
11831 2000-02-06  Martin Buchholz  <martin@xemacs.org>
11832
11833         * event-Xt.c (x_keysym_to_character): New.
11834         (maybe_define_x_key_as_self_inserting_character): New.
11835         (x_has_keysym): New.
11836         Auto-define all keys on the keyboard as self-insert-key.
11837
11838 2000-02-02  Martin Buchholz  <martin@xemacs.org>
11839
11840         * menubar.c (vars_of_menubar): A small code simplification.
11841
11842         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
11843
11844         * ExternalShell.c:
11845         * ExternalClient.c:
11846         * EmacsShell-sub.c:
11847         * EmacsManager.c:
11848         * EmacsFrame.c:
11849         Use consistent style for specifying X resources.
11850
11851         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
11852         This makes (dontusethis-set-symbol-value-handler) actually usable.
11853
11854         * lrecord.h (lrecord_decription_type):
11855         * alloc.c (pdump_register_sub):
11856         (pdump_dump_data):
11857         (pdump_reloc_one):
11858         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
11859         Comply with XEmacs coding style.
11860         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
11861         args, and XD_LISP_OBJECT_ARRAY with 3 args.
11862
11863         * keymap.c (Faccessible_keymaps):
11864         Make (accessible-keymaps map "\C-h") do the Right Thing.
11865         Make (accessible-keymaps map []) do the Right Thing.
11866         Make (accessible-keymaps map "") do the Right Thing.
11867         (check_keymap_definition_loop): New function.
11868         (keymap_store_internal): Keep luser from shooting self in foot,
11869           via (define-key ctl-x-4-map "p" global-map).
11870         Remove fullness slot from struct Lisp_Keymap, since hash tables
11871         are now reliable.
11872         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
11873
11874 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11875
11876         * redisplay.c (init_redisplay): Fix small memory leak.
11877         * elhash.h:
11878         * elhash.c (pdump_reorganize_hash_table):
11879         Rename from reorganize_hash_table. Change prototype.
11880         Reuse the original memory for hentries.  Save 100k.
11881         * alloc.c (PDUMP_READ): new macro.
11882         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
11883         * alloc.c: No need to #ifndef before #undef.
11884
11885         * print.c: Allow debug_print() to print readably by modifying
11886         debug_print_readably.  Use consistent variable names.
11887
11888         * .dbxrc: Try to get things to work even if stopped in a function
11889         without source available by explicitly specifying source files.
11890 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11891
11892         * unexnt.c (_start): Removed bogus code which caused loading heap
11893         from differrent executable file.
11894         Removed bogus assignment to _fmode, which caused inconsistencies.
11895
11896 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11897
11898         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
11899         Have spawnve encapsulation regard DONT_ENCAPSULATE.
11900         Do not preliminary `#define signal sigset'.
11901
11902         * systime.h: Do not prototype environ on windows nt and cygwin,
11903         this conflicts with system header.
11904
11905         * syssignal.h: Use correct define for WINDOWSNT
11906
11907         * sysdep.h: Do not prototype environ on windows nt, this conflicts
11908         with system header.
11909
11910         * sysdep.c (near start of file): Fixed commentary and rearranged
11911         ifdefs in readable order.
11912         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
11913         (start_of_text):
11914         (end_of_text):
11915         (end_of_data): Do not compile in if using PDUMP.
11916
11917         * symsinit.h: Prototyped vars_of_nt().
11918
11919         * ntproc.c (windows9x_p): Added, instead of os_subtype.
11920         (find_child_console): Use it.
11921         (sys_kill): Use it.
11922
11923         * ntheap.h: Do not extern os_subtype.
11924
11925         * ntheap.c (cache_system_info): Do not cache unneeded:
11926         nt_major_version, nt_minor_version and os_subtype.
11927         (recreate_heap): Do not compile in when PDUMPing.
11928
11929         * nt.c (geteuid and friends): Use the new varibale
11930         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
11931         (init_user_info): Removed the above mentioned hackery.
11932         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
11933         stat has been fixed in the C runtime.
11934         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
11935
11936         * file-coding.c (struct file_coding_dump): Do not define
11937         ucs_to_mule_table in the struct if not MULE.
11938         (struct struct lrecord_description fcd_description_1): Do not dump
11939         the above.
11940
11941         * emacs.c (main_1): Call vars_of_nt().
11942         (right before Fdump_emacs_data): Don't need lastfile if using both
11943         portabe dumper and system malloc.
11944
11945         * alloc.c (Fmemory_limit): Conditionalized out.
11946         (pdump): Use OPEN_BINARY for the portable dump file.
11947         (pdump_load): Ditto.
11948
11949 2000-02-02  Mike Alexander  <mta@arbortext.com>
11950
11951         * nt.c (convert_time): Set tm_isdst before calling mktime and
11952         avoid calling it at all if the compiler supports 64 bit integers.
11953         Also initialize utc_base_ft before using it.
11954
11955 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11956
11957         * frame.c (change_frame_size_1): Take f->internal_border_width
11958         into consideration when calculating the width of the frame.
11959
11960 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11961
11962         * window.c (frame_min_height):
11963         (frame_size_valid_p):
11964         (frame_pixsize_valid_p): Added.
11965         (check_frame_size): Generalized.
11966
11967         * window.h: Prototyped the above.
11968
11969         * lisp.h:
11970         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
11971         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
11972         Deleted Vwin32_* and Vbinary_process_* unused variables.
11973
11974         * device-msw.c (msprinter_init_device): Do not get printer font
11975         list; Added DEVMODE functions.
11976
11977         * frame-msw.c: Added lots of printer code.
11978
11979         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
11980         general.c.
11981
11982         * console-msw.h: Added more msprinter device private slots.
11983
11984 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11985
11986         * event-msw.c (key_needs_default_processing_p): Added.
11987         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
11988
11989 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11990
11991         * glyphs.c (image_instance_layout): Mark image instance as clean
11992         after layout.
11993         (glyph_dirty_p): Removed redundant function.
11994         (invalidate_glyph_geometry_maybe): Added.
11995         (update_glyph_cachel_data): Call it.
11996
11997         * glyphs.h: Prototyped it.
11998
11999         * redisplay.c (add_glyph_rune): Call it.
12000         (redisplay_window): Reset glyphs cachels when frame faces have
12001         changed, thus forcing recomputation of built-in border glyphs.
12002
12003 2000-01-30  Martin Buchholz  <martin@xemacs.org>
12004
12005         * Makefile.in.in: Make portable dumper and purify play well together.
12006         Add imperfect, but better than nothing, support for pdump.
12007         Remove xemacs.dmp when temacs is re-generated.
12008         Don't ignore errors when dumping xemacs.
12009
12010         * symbols.c (maybe_call_magic_handler): Remove one magic number.
12011
12012 2000-01-28  Andy Piper  <andy@xemacs.org>
12013
12014         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
12015         (setup_normal_frame): ditto.
12016         (setup_frame_without_minibuffer): ditto.
12017         (setup_minibuffer_frame): ditto.
12018         (delete_frame_internal): ditto.
12019         (Fmake_frame_invisible): ditto.
12020         (Ficonify_frame): ditto.
12021
12022         * window.h: change Fset_window_buffer signature.
12023
12024         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
12025         (Fset_window_buffer): allow recording of buffer if the window is
12026         the selected window.
12027         (window_loop): Use new Fset_window signature.
12028
12029 2000-01-23  Daniel Pittman  <daniel@danann.net>
12030
12031         * config.h.in: Added template for `HAVE_ATHENA_3D'
12032
12033 2000-01-29  Andy Piper  <andy@xemacs.org>
12034
12035         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
12036
12037         * gutter.c (output_gutter): Don't output if the window isn't live.
12038
12039 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12040
12041         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
12042         of 01/12/00: Moved SetFocus back here where it belongs.
12043
12044 2000-01-23  Andy Piper  <andy@xemacs.org>
12045
12046         * s/cygwin32.h: declare printer things.
12047
12048 2000-01-26  Andy Piper  <andy@xemacs.org>
12049
12050         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
12051         Alexander.
12052
12053 2000-01-24  Andy Piper  <andy@xemacs.org>
12054
12055         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
12056         (mswindows_button_instantiate): Make sure glyph is a pixmap.
12057
12058         * glyphs-widget.c (widget_instantiate): Avoid shadows.
12059
12060         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
12061
12062         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
12063
12064         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
12065         (mswindows_output_display_block): Avoid local shadows.
12066
12067         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
12068         (mswindows_enqueue_mouse_button_event): ditto.
12069         (mswindows_handle_gui_wm_command): remove declaration.
12070
12071         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
12072         warnings.
12073
12074         * console-msw.h: Avoid shadows.
12075         (mswindows_get_toolbar_button_text):
12076         (emacs_mswindows_create_stream_pair):
12077         (emacs_mswindows_delete_stream_pair):
12078         (mswindows_handle_toolbar_wm_command): declare.
12079
12080         * device-msw.c (build_syscolor_string): Avoid shadows.
12081
12082 2000-01-23  Andy Piper  <andy@xemacs.org>
12083
12084         * glyphs-widget.c (widget_instantiate): reverse the items for
12085         layouts so that children are in the expected order.
12086
12087 2000-01-28  Martin Buchholz  <martin@xemacs.org>
12088
12089         * ralloc.c: safe_bcopy ==> memmove
12090         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
12091         * s/msdos.h: Remove BCOPY macros.
12092         * insdel.c (gap_right): Remove BCOPY conditional code.
12093         * insdel.c (gap_left): Remove BCOPY conditional code.
12094         XEmacs demands a working ANSI C compiler - hence memmove.
12095
12096         * regex.c (regex_compile): Remove accidental use of trigraphs.
12097
12098 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12099
12100         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
12101         event timestamp.
12102
12103 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12104
12105         * event-msw.c (mswindows_drain_windows_queue): Added the
12106         parameter.
12107         (mswindows_need_event): Commented the call to
12108         mswindows_drain_windows_queue().
12109         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
12110         only.
12111
12112         * console-msw.h: Moved a few function prototypes here from
12113         event-msw.c.
12114
12115         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
12116         parameter from unsigned short to unsigned long.
12117         (Fmswindows_shell_execute): Added return value.
12118
12119 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12120
12121         * sysdep.c (init_system_name):
12122           process-unix.c (unix_canonicalized_host_name):
12123         Don't call freeaddrinfo() if getaddrinfo() fails.
12124
12125         * process-unix.c (unix_open_unix_network_stream):
12126         Moved the code to get a port # into address loop.
12127
12128 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12129
12130         * buffer.c (reinit_vars_of_buffer):
12131         The right place to initialize conversion_in_dynarr and
12132         conversion_out_dynarr.
12133
12134         * alloc.c (pdump): Use the real open() till sys_open() is functional.
12135
12136         * process-unix.c (unix_canonicalize_host_name): Muleize.
12137         (unix_open_network_stream): Muleize.
12138
12139         * buffer.h: Fix up prototypes for ralloc.c functions.
12140
12141 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12142         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
12143         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
12144                 instead of gethostbyname()
12145         * process-unix.c: In unix_canonicalize_host_name() and
12146                 unix_open_network_stream(), add code to use getaddrinfo()
12147                 instead of gethostbyname().
12148
12149 2000-01-27  Daniel Pittman <daniel@danann.net>
12150
12151         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
12152         libs when built with flat Athena.
12153
12154 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12155
12156         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
12157         Use coding standards for function prototypes.
12158
12159 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12160
12161         * dialog-msw.c (push_lisp_string_as_unicode):
12162         * doc.c (unparesseuxify_doc_string):
12163         * dired.c (Fuser_name_completion_1):
12164         * dired.c (Fuser_name_all_completions):
12165         * dired.c (free_user_cache):
12166         * dired.c (user_name_completion):
12167         * console-x.c (get_display_arg_connection):
12168         * minibuf.c (clear_echo_area_internal):
12169         * minibuf.c (echo_area_append):
12170         * eldap.c (Fldap_open):
12171         * eldap.c (Fldap_search_internal):
12172         * frame-x.c (x_set_frame_text_value):
12173         * frame-x.c (x_set_frame_properties):
12174         * frame-x.c (x_create_widgets):
12175         * redisplay-tty.c (term_get_fkeys_1):
12176         * objects-x.c (x_parse_nearest_color):
12177         * objects-x.c (x_valid_color_name_p):
12178         * objects-x.c (x_initialize_font_instance):
12179         * objects-x.c (x_list_fonts):
12180         * objects-x.c (x_find_charset_font):
12181         * tooltalk.c (Fadd_tooltalk_message_arg):
12182         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12183         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12184         * process-unix.c (unix_create_process):
12185         * ntproc.c (sys_spawnve):
12186         * sound.c (Fplay_sound_file):
12187         * sound.c (Fplay_sound):
12188         * buffer.c (init_initial_directory):
12189         * buffer.c (init_buffer):
12190         * editfns.c (init_editfns):
12191         * editfns.c (Ftemp_directory):
12192         * editfns.c (Fuser_full_name):
12193         * editfns.c (uncache_home_directory):
12194         * editfns.c (get_home_directory):
12195         * editfns.c (Fuser_home_directory):
12196         * editfns.c (Fformat_time_string):
12197         * editfns.c (Fcurrent_time_string):
12198         * gui-x.c (button_item_to_widget_value):
12199         * database.c (Fopen_database):
12200         * event-Xt.c (x_to_emacs_keysym):
12201         * event-Xt.c (x_event_to_emacs_event):
12202         * event-Xt.c (describe_event_window):
12203         * event-msw.c (mswindows_wnd_proc):
12204         * glyphs-eimage.c (jpeg_instantiate):
12205         * glyphs-eimage.c (gif_instantiate):
12206         * glyphs-eimage.c (png_instantiate):
12207         * glyphs-eimage.c (tiff_instantiate):
12208         * glyphs-x.c (xbm_instantiate_1):
12209         * glyphs-x.c (x_xbm_instantiate):
12210         * glyphs-x.c (x_xface_instantiate):
12211         * glyphs-x.c (autodetect_instantiate):
12212         * glyphs-x.c (cursor_font_instantiate):
12213         * glyphs-x.c (x_widget_instantiate):
12214         * glyphs-x.c (x_widget_set_property):
12215         * glyphs-x.c (x_widget_property):
12216         * glyphs-x.c (BUILD_GLYPH_INST):
12217         * print.c (write_string_to_stdio_stream):
12218         * print.c (output_string):
12219         * print.c (Falternate_debugging_output):
12220         * print.c (Fexternal_debugging_output):
12221         * glyphs-msw.c (extract_xpm_color_names):
12222         * glyphs-msw.c (mswindows_xpm_instantiate):
12223         * glyphs-msw.c (bmp_instantiate):
12224         * glyphs-msw.c (resource_name_to_resource):
12225         * glyphs-msw.c (mswindows_resource_instantiate):
12226         * glyphs-msw.c (xbm_instantiate_1):
12227         * glyphs-msw.c (mswindows_xbm_instantiate):
12228         * glyphs-msw.c (mswindows_xface_instantiate):
12229         * glyphs-msw.c (mswindows_widget_instantiate):
12230         * glyphs-msw.c (add_tree_item):
12231         * glyphs-msw.c (add_tab_item):
12232         * glyphs-msw.c (mswindows_combo_box_instantiate):
12233         * glyphs-msw.c (mswindows_widget_property):
12234         * glyphs-msw.c (mswindows_combo_box_property):
12235         * glyphs-msw.c (mswindows_widget_set_property):
12236         * console.c (stuff_buffered_input):
12237         * objects-msw.c (mswindows_initialize_color_instance):
12238         * objects-msw.c (mswindows_valid_color_name_p):
12239         * objects-msw.c (mswindows_list_fonts):
12240         * objects-msw.c (mswindows_font_instance_truename):
12241         * bytecode.c (optimize_compiled_function):
12242         * select-x.c (symbol_to_x_atom):
12243         * select-x.c (x_atom_to_symbol):
12244         * select-x.c (hack_motif_clipboard_selection):
12245         * select-x.c (selection_data_to_lisp_data):
12246         * select-x.c (lisp_data_to_selection_data):
12247         * select-x.c (Fx_get_cutbuffer_internal):
12248         * select-x.c (Fx_store_cutbuffer_internal):
12249         * buffer.h (TO_EXTERNAL_FORMAT): New function.
12250         * buffer.h (TO_INTERNAL_FORMAT): New function.
12251         * emacs.c (make_arg_list_1):
12252         * emacs.c (make_argc_argv):
12253         * emacs.c (main_1):
12254         * emacs.c (Fdump_emacs):
12255         * emacs.c (split_string_by_emchar_1):
12256         * file-coding.h:
12257         * lisp.h:
12258         * lstream.h:
12259         * symsinit.h:
12260         * device-x.c (x_init_device):
12261         * device-x.c (Fx_valid_keysym_name_p):
12262         * device-x.c (Fx_get_font_path):
12263         * device-x.c (Fx_set_font_path):
12264         * glyphs.c (bitmap_to_lisp_data):
12265         * glyphs.c (pixmap_to_lisp_data):
12266         * alloc.c (make_ext_string): Use coding system arguments.  Update
12267         all callers.
12268         * alloc.c (build_string):
12269         * callproc.c (child_setup):
12270         * callproc.c (init_callproc):
12271         * fileio.c (lisp_strerror):
12272         * fileio.c (directory_file_name):
12273         * fileio.c (Fexpand_file_name):
12274         * fileio.c (Ffile_truename):
12275         * fileio.c (Fsysnetunam):
12276         * fileio.c (Fdo_auto_save):
12277         * sysdep.c (sys_readdir):
12278         * tests.c: New file.  Allow adding C tests.
12279         Replace GET_* macros with a more comprehensible and flexible
12280         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
12281         Modify all calls.
12282         Any coding system can be used to do format conversion.
12283         Eliminate enum external_data_format.
12284         Eliminate convert_to_external_format.
12285         Eliminate convert_to_internal_format.
12286         Make sure file-name, keyboard, terminal, and ctext are always
12287         defined as coding systems or aliases.  Make
12288         file-name-coding-system, terminal-coding-system, and
12289         keyboard-coding-system magical variables that are equivalent to
12290         defining the corresponding coding system aliases.
12291
12292         * file-coding.c (Fcoding_system_canonical_name_p): New function.
12293         * file-coding.c (Fcoding_system_alias_p): New function.
12294         * file-coding.c (Fcoding_system_aliasee): New function.
12295         * file-coding.c (append_suffix_to_symbol): New function.
12296         * file-coding.c (dangling_coding_system_alias_p): New function.
12297         * file-coding.c (Ffind_coding_system):
12298         * file-coding.c (Fcopy_coding_system):
12299         * file-coding.c (encode_coding_no_conversion):
12300         * file-coding.c (syms_of_file_coding):
12301         * file-coding.c (vars_of_file_coding):
12302         Rewrite coding system alias code.
12303         Allow nested aliases, like symbolic links.
12304         Allow redefinition of coding system aliases.
12305         Prevent existence of dangling coding system aliases.
12306
12307         * dired.c (Fuser_name_completion_1):
12308         * dired.c (Fuser_name_all_completions):
12309         A crash would happen if user did QUIT in the middle of building
12310         user_name_cache.  Remove redundant code in mainline and unwind_protect.
12311
12312         * lisp.h:
12313         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
12314
12315         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
12316         an unsigned char *.  Update all callers.
12317
12318 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12319
12320         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
12321
12322 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12323
12324         * elhash.c (hentry_description): Use more portable definition.
12325         (resize_hash_table): Initialize new hentries using
12326         xnew_array_and_zero, thereby simplifying the code.
12327
12328         * mule-charset.c (make_charset): Make sure entire object is
12329         initialized, to avoid Purify warnings.
12330
12331         * alloc.c (resize_string): Fix unlikely crash with big strings.
12332
12333 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12334
12335         * realpath.c (xrealpath):
12336         Don't call getwd().
12337
12338 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12339
12340         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
12341
12342 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
12343
12344         * unexelfsgi.c (unexec): Change the way we decide which segment
12345         should be extended.
12346
12347         Assumption that .bss section should be outside the PT_LOADable
12348         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
12349         it's present) is inside the 'data' segment. This would fail the
12350         test which was used to find a segment to grow and cover new
12351         heap. Instead of this assumption, I created another one - on IRIX
12352         the segment to grow should start below .bss and it's address
12353         should extent above the end of .bss. Once this segment is
12354         identified, it's grown to accommodate the new heap and new
12355         zero-length .bss section is added at the end of .data2.
12356
12357 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12358
12359         * eval.c (Feval): Wrong number of arguments should use original
12360         function, not the indirect_function version of it.
12361
12362 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
12363
12364         * glyphs-x.c (x_button_instantiate): Don't add image if
12365         it is not a pixmap.
12366         (x_locate_pixmap_file): Call Fexpand_file_name when file name
12367         is relative.
12368
12369 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
12370
12371         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
12372         declaration.
12373         (DEFVAR_INT_MAGIC): Ditto.
12374         (DEFVAR_BOOL_MAGIC): Ditto.
12375         * glyphs.h: Reindent backslash.
12376
12377 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12378
12379         * glyphs-widget.c (layout_query_geometry):
12380         (layout_layout): Use correct types for gheight, gwidth.
12381
12382 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12383
12384         * EmacsManager.c (QueryGeometry): Purified.
12385
12386 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12387
12388         * alloc.c (make_float): Make sure entire object is initialized, to
12389         avoid Purify warnings.
12390         (pdump_register_sub): Remove useless assignment.
12391         (pdump): Use xmalloc, not malloc.
12392         (pdump_load): Use xmalloc, not malloc.
12393
12394 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12395
12396         * callproc.c:
12397         * dired-msw.c:
12398         * fileio.c:
12399         * process-nt.c:
12400         * redisplay-msw.c:
12401         * sysdep.c: Removed redundant #include <windows.h>
12402
12403 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12404
12405         * frame.c (delete_frame_internal): Do not delete device when its
12406         implementation so declares.
12407         (delete_frame_internal): Set device selected frame to nil when
12408         last frame goes away.
12409
12410         * device-msw.c (msprinter_device_system_metrics): Implemented.
12411         (mswindows_device_system_metrics): Added 'device-dpi property.
12412
12413         * device.c: (Fdevice_printer_p): Added.
12414         Added 'offset-workspace device metric.
12415
12416         * console.h (device_metrics): Declared DM_offset_workspace.
12417
12418 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12419
12420         * fileio.c (Ffile_truename): Remove pointless and confusing
12421         initialization of elen.
12422
12423         * glyphs-widget.c: Compiler warning fixes.
12424
12425 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
12426
12427         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
12428         instead of a Lisp_Object as argument to make it consistent with
12429         the other LIVE_P macros.
12430         (CHECK_LIVE_PROCESS): New macro.
12431
12432         * process.c: Declare Qprocess_live_p.
12433         (Fprocess_live_p): New function.
12434         (create_process): Use PROCESS_LIVE_P.
12435         (read_process_output): Ditto.
12436         (set_process_filter): Ditto.
12437         (Fdelete_process): Ditto.
12438         (kill_buffer_processes): Ditto
12439         (process_send_signal): Use CHECK_LIVE_PROCESS.
12440         (Fprocess_input_coding_system): Check whether process is still
12441         alive (fix PR#1061).
12442         (Fprocess_output_coding_system): Ditto.
12443         (Fprocess_coding_system): Ditto.
12444         (Fset_process_input_coding_system): Ditto.
12445         (Fset_process_output_coding_system): Ditto.
12446
12447 2000-01-23  Andy Piper  <andy@xemacs.org>
12448
12449         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
12450         layout and widget.
12451
12452         * glyphs.c (mark_image_instance): take into account changed
12453         image_instance format.
12454         (image_instance_equal): ditto.
12455         (image_instance_hash): ditto.
12456
12457         * glyphs-widget.c (widget_instantiate): Incorporate layout
12458         instantiation here. Delay layout of the layout until later.
12459         (layout_instantiate): deleted.
12460         (layout_query_geometry): new function. get the geometry of a
12461         layout.
12462         (layout_layout): layout a layout dynamically.
12463         (image_instantiator_widget): New function - splitting up
12464         image_instantiator_format_create_glyphs_widget for netwinder
12465         compilation.
12466         (image_instantiator_buttons):
12467         (image_instantiator_edit_fields):
12468         (image_instantiator_combo_box):
12469         (image_instantiator_scrollbar):
12470         (image_instantiator_progress_guage):
12471         (image_instantiator_tree_view):
12472         (image_instantiator_tab_control):
12473         (image_instantiator_labels):
12474         (image_instantiator_layout): ditto.
12475         (image_instantiator_format_create_glyphs_widget): Call preceding
12476         functions.
12477
12478 2000-01-22  Martin Buchholz  <martin@xemacs.org>
12479
12480         * process.c (Fset_process_coding_system):
12481         * device-x.c (Fx_keysym_hash_table):
12482         Docstring fixes.
12483
12484         * lstream.c (Lstream_write): Return documented value, not 0.
12485
12486         * fileio.c (directory_file_name):
12487         (Fsubstitute_in_file_name):
12488         (Fsubstitute_insert_file_contents_internal):
12489         (Fwrite_region_internal):
12490         * emacs.c:
12491         * sysdep.c:
12492         * getloadavg.c:
12493         * systty.h:
12494         Remove vestigial APOLLO-conditional code.
12495
12496 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12497
12498         * getpagesize.h: Add guard macros.
12499         * libsst.h: Add guard macros.
12500         * libst.h: Add guard macros.
12501         * line-number.h: Add guard macros.
12502         * ndir.h: Add guard macros.
12503         * sysfloat.h: Add guard macros.
12504         * sysfile.h: Add guard macros.
12505         * sysproc.h: Add guard macros.
12506         * syswait.h: Add guard macros.
12507         * xintrinsic.h: Add guard macros.
12508         * xintrinsicp.h: Add guard macros.
12509         * xmmanager.h: Add guard macros.
12510         * xmmanagerp.h: Add guard macros.
12511         * xmprimitive.h: Add guard macros.
12512         * xmu.h: Add guard macros.
12513         * gpmevent.h: Add copyright statement. Add guard macros.
12514         * miscplay.h: Add guard macros.
12515         * *.h: Use consistent C-standards-approved guard macro names.
12516
12517         * opaque.c (make_opaque): Switch parameter order.
12518         * opaque.h (make_opaque): Switch parameter order.
12519         Update all callers.
12520         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
12521
12522         * config.h.in (type_checking_assert): Added.
12523         (bufpos_checking_assert): Added.
12524
12525 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12526
12527         * alloc.c: Harmless pdump changes.
12528         - Use countof().
12529         - spell alignment correctly.
12530         * sysdep.c: Use countof()
12531
12532 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12533
12534         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
12535         initially_selected_for_input() console method, default to 0.
12536         (semi_canonicalize_console_connection): Try to delegate to
12537         canonicalize_console_connection if no such console method.
12538         (canonicalize_console_connection): Vice versa.
12539         (print_console): Do not print nil connection.
12540
12541         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
12542         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
12543         (XDEVIMPF_FRAMELESS_OK): Added.
12544         (CONSOLE_INHERITS_METHOD): Added.
12545
12546         * console-msw.c (mswindows_canonicalize_console_connection):
12547         Added.
12548         (mswindows_canonicalize_device_connection): Added.
12549
12550         * console-msw.h (struct msprinter_device): Added this struct and
12551         accessor macros.
12552         (mswindows_device): Made fontlist a lisp object.
12553
12554         * device.c (semi_canonicalize_device_connection):  Try to delegate
12555         to canonicalize_device_connection if no such console method.
12556         (canonicalize_device_connection): Vice versa.
12557         (print_device): Do not print nil connection.
12558
12559         * device-msw.c (mswindows_init_device): Call InitCommonControls
12560         when have widgets.
12561         (mswindows_delete_device): Removed fontlist deallocation.
12562         (mswindows_mark_device): Added.
12563
12564         * events.c (event_equal): Added abort() at unreached code.
12565         (event_hash): Ditto.
12566
12567         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
12568         fallback tags of Windows devices.
12569
12570         * general.c (syms_of_general): Initialized Qmsprinter.
12571
12572         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
12573         of fallback tags of Windows devices.
12574
12575         * lisp.h: Declared Qmsprinter.
12576
12577         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
12578         of strings.
12579         (mswindows_list_fonts): Ditto.
12580         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
12581         that it can be used by both mswindows and msprinter devices.
12582         (initialize_font_instance): Added.
12583         (mswindows_initialize_font_instance): Use it.
12584         (msprinter_initialize_font_instance): Added.
12585
12586         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
12587         and implementation flags check.
12588         (redisplay_without_hooks): Changed the call to the above.
12589         (Fredraw_device): Ditto.
12590         (Fredisplay_device): Ditto.
12591
12592         * redisplay-msw.c (get_frame_dc): Implemented.
12593         (get_frame_compdc): Implemented.
12594         (many functions): Use the two functions above to get device
12595         contexts, ether for a window or a printer.
12596
12597 2000-01-21  Olivier Galibert  <galibert@pobox.com>
12598
12599         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
12600         initialization here.
12601         (init_symbols_once_early): Call it.
12602         * emacs.c (main_1): Call it.
12603         * symsinit.h: Declare it.
12604
12605 2000-01-19  Olivier Galibert  <galibert@pobox.com>
12606
12607         * alloc.c: Use a lrecord_header * in the backtrace instead of a
12608         Lisp_Object.
12609         (pdump_backtrace): Ditto.
12610         (pdump_register_object): Ditto.  Cleanup use of the pointers.
12611         (pdump_get_entry): Abort if trying to register a null pointer.
12612         (pdump_dump_data): Cleanup types when relocating.
12613         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
12614         (pdump_dump_rtables): Remove bad casts.
12615         (pdump_load): Cleanup relocation w.r.t union type.  Use a
12616         Lisp_Object instead of a EMACS_INT for the hashtable
12617         reorganization.
12618
12619 2000-01-20  Martin Buchholz  <martin@xemacs.org>
12620
12621         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
12622
12623         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
12624
12625         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
12626
12627         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
12628
12629 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12630
12631         * faces.h (FACE_STRIKETHRU_P): Added.
12632
12633         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
12634         of font variants.
12635
12636         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
12637         (mswindows_set_dc_font): New function, aware of font variants,
12638         separated from mswindows_update_dc.
12639
12640         * objects-msw.h (struct mswindows_font_instance_data): Added
12641         definition.
12642
12643         * objects-msw.c (mswindows_finalize_font_instance): Delete all
12644         cached fonts and the data structure.
12645         (mswindows_initialize_font_instance): Added creation of font data
12646         structure.
12647         (mswindows_print_font_instance): Print at least something.
12648         (mswindows_create_font_variant): Implemented.
12649         (mswindows_get_hfont): Implemented.
12650
12651 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
12652
12653         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
12654         prototyping problem with msvc.
12655
12656         * emacs.c (main_1): added syms_of_gui_mswindows() call
12657
12658         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
12659         syms_of_gui_mswindows() function
12660
12661         * symsinit.h: added the prototype for syms_of_gui_mswindows()
12662
12663 2000-01-18  Martin Buchholz <martin@xemacs.org>
12664
12665         * XEmacs 21.2.27 is released.
12666
12667 2000-01-18  Martin Buchholz  <martin@xemacs.org>
12668
12669         * glyphs-eimage.c (struct tiff_error_struct):
12670         (tiff_error_func):
12671         (tiff_warning_func):
12672         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
12673
12674         * unexmips.c:
12675         * unexhp9k3.c:
12676         * unexfreebsd.c:
12677         * unexec.c: Remove vestigial Lucid C code.
12678         * unexalpha.c:
12679         * unexaix.c:
12680         * termcap.c:
12681         * libsst.c: Ansify.
12682         Remove declarations of errno and strerror().
12683
12684         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
12685
12686         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
12687
12688 2000-01-16  Martin Buchholz  <martin@xemacs.org>
12689
12690         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
12691         Optimize.
12692
12693 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12694
12695         * md5.c:
12696         * file-coding.c:
12697         * file-coding.h:
12698         Change enum eol_type to eol_type_t.
12699
12700 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12701
12702         * gui.c (get_gui_callback): Check cons before accessing car.
12703
12704 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12705
12706         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
12707         (XSETSPECIFIER_TYPE): Ditto.
12708
12709 2000-01-17  Didier Verna  <didier@xemacs.org>
12710
12711         * redisplay.c (generate_fstring_runes): compute string size in
12712         characters, not bytes.
12713
12714 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12715
12716         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
12717
12718 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
12719
12720         * print.c (print_error_message): Call print_prepare().
12721
12722 2000-01-14  Martin Buchholz  <martin@xemacs.org>
12723
12724         * .dbxrc: Renamed from dbxrc.
12725
12726         * events.c (event_to_character):
12727         Use `assert (foo)' instead of `if (!foo) abort()'
12728
12729         * .gdbinit (xtype): Add documentation.
12730         * .gdbinit (check-temacs): New function.
12731         * .gdbinit (check-xemacs): New function.
12732         * dbxrc (check-xemacs): New function.
12733         * dbxrc (check-xemacs): New function.
12734
12735 2000-01-14  Andy Piper  <andy@xemacs.org>
12736
12737         * glyphs-widget.c (widget_query_geometry): Make sure that we
12738         calculate default dimensions correctly.
12739
12740 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12741
12742         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
12743
12744         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
12745         pdump_wire'd variable.
12746
12747         * emacs.c: (main_1): Conditionalized calls to
12748         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
12749
12750 2000-01-13  Martin Buchholz  <martin@xemacs.org>
12751
12752         * window.c (Fset_window_configuration):
12753         * sysdep.c (_start):
12754         * input-method-motif.c (res):
12755         * event-Xt.c (Xt_process_to_emacs_event):
12756         Simple compiler warning fixes.
12757
12758         * bytecode.c (funcall_compiled_function): Use the original
12759         function symbol on the backtrace list in preference to the
12760         compiled_function object in error messages.
12761
12762 2000-01-13  Andy Piper  <andy@xemacs.org>
12763
12764         * glyphs-x.c (update_widget_face): Make sure we update the widget
12765         background as well as foreground.
12766
12767 2000-01-13  Andy Piper  <andy@xemacs.org>
12768
12769         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
12770         fields to subwindow.
12771         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
12772         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
12773         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12774         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12775
12776         * glyphs-widget.c (check_valid_tab_orientation): new function.
12777         (initialize_widget_image_instance): zero orientation and
12778         justification.
12779         (widget_instantiate): pick up orientation.
12780         (tab_control_query_geometry): return appropriate values for
12781         vertical tabs.
12782
12783         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
12784         appropriate creation flags for left, right and bottom tabs.
12785
12786         * s/cygwin32.h: add tab definitions.
12787
12788 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12789
12790         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
12791         frame upon hiding a subwindow.
12792         (mswindows_button_instantiate): Changed the push button style to
12793         BS_PUSHBUTTON.
12794         (mswindows_button_instantiate): Removed button BS_NOTIFY
12795         style.
12796         (mswindows_button_instantiate): Removed redundant check for
12797         a disabled gui item.
12798         (mswindows_button_instantiate): Made use of WS_TABSTOP
12799         consistent: "operable" controls (edit, button, tree, scroll) have
12800         this style, "display-only" ones (static, progress gauge) do
12801         not. This style is currently ignored by XEmacs though. Also,
12802         removed the WS_EX_CONTROLPARENT style - it is not for children,
12803         it is for their parents!
12804         (mswindows_edit_field_instantiate): Ditto.
12805         (mswindows_progress_gauge_instantiate): Ditto.
12806         (mswindows_tree_view_instantiate): Ditto.
12807         (mswindows_tab_control_instantiate): Ditto.
12808         (mswindows_scrollbar_instantiate): Ditto.
12809         (mswindows_combo_box_instantiate): Ditto.
12810         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
12811         style to the "clip" window.
12812         (mswindows_button_instantiate): Removed compilation warning by
12813         equally typing terms of the ?: operator.
12814
12815 2000-01-12  Didier Verna  <didier@xemacs.org>
12816
12817         * redisplay.c (generate_fstring_runes): new parameter holding the
12818         last modeline-format extent.
12819         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
12820         extent, fill the glyph block with it.
12821         (generate_fstring_runes): handle these parameters.
12822         (generate_formatted_string_db): ditto.
12823
12824         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
12825         glyphs'extents in the modeline.
12826
12827 1999-01-11  Mike Woolley  <mike@bulsara.com>
12828
12829         * ntheap.c: Reduced the reserved heap space from 1Gb down to
12830         256Mb, as a workaround for the non-starting problem many people
12831         have experienced.
12832
12833 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12834
12835         * console-tty.c (Fset_console_tty_output_coding_system):
12836         Force redrawing tty frame.
12837
12838 2000-01-10  Didier Verna  <didier@xemacs.org>
12839
12840         * redisplay.c (generate_fstring_runes): fix size computation bug.
12841
12842 2000-01-09  William M. Perry <wmperry@aventail.com>
12843
12844         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
12845
12846 2000-01-09  Andy Piper  <andy@xemacs.org>
12847
12848         * glyphs-msw.c: index -> i to avoid shadows.
12849         (xbm_create_bitmap_from_data): make static.
12850         (check_valid_string_or_int): deleted.
12851         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
12852
12853         * glyphs-x.c (x_update_subwindow): remove unused args.
12854
12855         * glyphs.c (glyph_image_instance): return the thing. Don't set the
12856         back pointer - this is done in allocate_image_instance.
12857         (query_string_font): return Qnil to make the compiler happy.
12858         (unmap_subwindow): set to ~0 to make the compiler happy.
12859         (glyph_query_geometry): comment out until used.
12860         (glyph_layout): ditto.
12861
12862 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12863
12864         * insdel.c (signal_after_change): Remove extraneous unbind_to().