(JX2-2D32): Unify U-00022B46.
[chise/xemacs-chise.git-] / src / ChangeLog
1 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2
3         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
4         and `COMPOSE_ADD_CHAR'.
5         (decode_coding_iso2022): Use `decode_flush_er_chars'.
6
7 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
8
9         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
10         instead of `DECODE_ADD_UCS_CHAR'.
11         (COMPOSE_ADD_CHAR): Likewise.
12
13 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
14
15         * text-coding.c (decode_flush_er_chars): New inline function.
16         (decode_add_er_char): New function.
17         (decode_coding_utf8): Use `decode_flush_er_chars' and
18         `decode_add_er_char'.
19
20 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
21
22         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
23         done before `decode_output_utf8_partial_char'.
24
25         * mule-charset.c (complex_vars_of_mule_charset): Specify
26         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
27         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
28
29 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
30
31         * mule-charset.c (decode_defined_char): New function; search
32         mother.
33         (decode_builtin_char): Don't search mother if
34         XCHARSET_MAX_CODE(charset) == 0.
35         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
36         == 0 even if code >= XCHARSET_MAX_CODE(charset).
37         (Fdecode_char): Use `decode_defined_char' instead of
38         `DECODE_DEFINED_CHAR'.
39         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
40         mother of `Vcharset_ucs_jis'.
41
42         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
43         instead of `DECODE_DEFINED_CHAR'.
44
45         * char-ucs.h (decode_defined_char): Renamed from
46         `DECODE_DEFINED_CHAR'; changed to normal function.
47         (DECODE_CHAR): Use `decode_defined_char' instead of
48         `DECODE_DEFINED_CHAR'.
49
50         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
51
52 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
53
54         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
55
56         * text-coding.c (Vcoded_charset_entity_reference_alist): New
57         variable.
58         (Quse_entity_reference): New variable.
59         (Qd): New variable.
60         (Qx): New variable.
61         (QX): New variable.
62         (coding_system_description): Add description for
63         `ccs_priority_list'.
64         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
65         (allocate_coding_system): Initialize `ccs_priority_list' in
66         UTF-2000.
67         (Fmake_coding_system): Add description about
68         'use-entity-reference; setup
69         CODING_SYSTEM_USE_ENTITY_REFERENCE(codesys).
70         (Fcoding_system_property): Accept `disable-composition' and
71         `use-entity-reference' in UTF-2000.
72         (struct decoding_stream): Add new member `er_counter' and `er_buf'
73         in UTF-2000.
74         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
75         (decode_coding_utf8): Decode entity-reference if
76         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
77         (char_encode_utf8): Encode non-Unicode characters as
78         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
79         (str->codesys).
80         (syms_of_file_coding): Add new symbols `use-entity-reference',
81         `d', `x', `X'.
82         (vars_of_file_coding): Add new variable
83         `coded-charset-entity-reference-alist'.
84         (complex_vars_of_file_coding): Declare `disable-composition' and
85         `use-entity-reference' to be coding-system-properties in UTF-2000.
86
87         * file-coding.h (struct Lisp_Coding_System): Add new member
88         `use_entity_reference' and `ccs_priority_list'.
89         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
90         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
91         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
92
93 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
94
95         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
96
97 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
98
99         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
100         `XCHARSET_GRAPHIC(ccs)'.
101
102 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
103
104         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
105         for decoding-table.
106
107 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
108
109         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
110         instead of `XCHARSET_CHARS'.
111
112 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
113
114         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
115         (XCHARSET_BYTE_SIZE): Likewise.
116
117         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
118         mule-charset.c].
119         (XCHARSET_BYTE_SIZE): Likewise.
120
121 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
122
123         * char-ucs.h (decoding_table_check_elements): Delete prototype.
124         (get_ccs_octet_table): New inline function.
125         (put_ccs_octet_table): Likewise.
126         (decoding_table_put_char): Use `get_ccs_octet_table' and
127         `put_ccs_octet_table'.
128         (decoding_table_remove_char): Use `decoding_table_put_char'.
129         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
130
131         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
132         into encoding_table.
133         (make_charset): Use Qunbound instead Qnil as initial value of
134         decoding_table.
135
136 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
137
138         * mule-charset.c (put_char_ccs_code_point): Modify for
139         `decoding_table_remove_char' and `decoding_table_put_char'.
140         (remove_char_ccs): Modify for `decoding_table_remove_char'.
141
142         * char-ucs.h (decoding_table_remove_char): Change arguments to
143         hide decoding_table vector.
144         (decoding_table_put_char): Likewise.
145
146 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
147
148         * mule-charset.c (decoding_table_remove_char): Moved to
149         char-ucs.h.
150         (decoding_table_put_char): Likewise.
151
152         * char-ucs.h (decoding_table_check_elements): New prototype [moved
153         from mule-charset.c].
154         (decoding_table_remove_char): New inline function [moved from
155         mule-charset.c].
156         (decoding_table_put_char): Likewise.
157
158 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
159
160         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
161         instead of `DECODE_CHAR' for mother; don't use special code for
162         chinese-big5 to use code space of chinese-big5-1 and
163         chinese-big5-2.
164         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
165         `MAX_CHAR_BIG5_CDP' for chinese-big5.
166
167         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
168         (MAX_CHAR_BIG5_CDP): Revival.
169
170 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
171
172         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
173         the XLFD registry-encoding name of `chinese-big5'.
174
175 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
176
177         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
178         (Qchinese_big5_cdp): Deleted.
179         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
180         (complex_vars_of_mule_charset): Delete coded-charset
181         `chinese-big5-cdp'.
182
183         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
184         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
185         `CHARSET_ID_OFFSET - n' for private CCS.
186         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
187         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
188         of `MIN_LEADING_BYTE'.
189         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
190         `(CHARSET_ID_OFFSET - 97)'.
191         (MIN_CHAR_BIG5_CDP): Deleted.
192         (MAX_CHAR_BIG5_CDP): Deleted.
193
194 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
195
196         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
197         extension.
198
199 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
200
201         * mule-charset.c (decode_builtin_char): Support mother charsets.
202
203 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
204
205         * mule-charset.c (Q94x94x60): New variable.
206         (charset_code_point): Support conversion `94x94x60'.
207         (Fmake_charset): Likewise.
208         (syms_of_mule_charset): Add new symbol `94x94x60'.
209
210         * char-ucs.h (CONVERSION_94x94x60): New macro.
211
212 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
213
214         * mule-charset.c (charset_code_point): Unify code about
215         `code-offset'.
216
217 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
218
219         * mule-charset.c (charset_code_point): Merge code about builtin
220         characters into code about mother charsets; don't use
221         `range_charset_code_point'.
222         (range_charset_code_point): Deleted.
223
224 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
225
226         * mule-charset.c (Qcode_offset): New variable.
227         (Fmake_charset): Use `XUINT' to get value of `min-code' and
228         `max-code'; accept new property `code-offset'.
229         (syms_of_mule_charset): Add new symbol `code-offset'.
230
231 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
232
233         * mule-charset.c (range_charset_code_point): Fixed.
234
235 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
236
237         * mule-charset.c (decode_builtin_char): Change semantics of
238         code-offset of coded-charset.
239         (charset_code_point): Likewise.
240         (range_charset_code_point): Likewise.
241         (complex_vars_of_mule_charset): Modify for the change.
242
243 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
244
245         * mule-charset.c (Fencode_char): Reverse arguments.
246
247         * mule-charset.c (charset_code_point): Fixed.
248
249 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
250
251         * mule-charset.c (Vcharset_mojikyo): Deleted.
252         (Vcharset_mojikyo_2022_1): Deleted.
253         (Vcharset_mojikyo_pj_{1..21}): Deleted.
254         (Qmin_code): New variable in UTF-2000.
255         (Qmax_code): Likewise.
256         (Qmother): Likewise.
257         (Qconversion): Likewise.
258         (Q94x60): Likewise.
259         (Qmojikyo): Deleted.
260         (Qmojikyo_2022_1): Deleted.
261         (Qmojikyo_pj_{1..22}): Deleted.
262         (mark_charset): Mark `cs->mother'.
263         (charset_description): Add description for `mother'.
264         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
265         new arguments `mother' and `conversion'; use
266         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
267         (charset_code_point): Moved from char-ucs.h; support `mother'
268         charset feature.
269         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
270         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
271         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
272         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
273         allow 2 as the value of `graphic' in UTF-2000; add new properties
274         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
275         require `final' in UTF-2000; modify for `make_charset'.
276         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
277         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
278         (Fcharset_property): Support `mother', `min-code' and `max-code'.
279         (Fencode_char): New function.
280         (syms_of_mule_charset): Add new builtin function `encode-char' in
281         UTF-2000; add new symbols `min-code', `max-code', `mother',
282         `conversion' and `94x60'; delete symbols `mojikyo',
283         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
284         (complex_vars_of_mule_charset): Modify for `make_charset' change;
285         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
286         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
287
288         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
289         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
290
291         * char-ucs.h (Vcharset_mojikyo): Deleted.
292         (Vcharset_mojikyo_2022_1): Deleted.
293         (LEADING_BYTE_MOJIKYO): Deleted.
294         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
295         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
296         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
297         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
298         add new member `mother'; add new member `conversion'.
299         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
300         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
301         (CHARSET_MOTHER): New macro.
302         (CHARSET_CONVERSION): New macro.
303         (CONVERSION_IDENTICAL): New macro.
304         (CONVERSION_94x60): New macro.
305         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
306         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
307         (XCHARSET_MOTHER): New macro.
308         (XCHARSET_CONVERSION): New macro.
309         (MIN_CHAR_MOJIKYO): Deleted.
310         (MAX_CHAR_MOJIKYO): Deleted.
311         (DECODE_MOJIKYO_2022): Deleted.
312         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
313         (charset_code_point): Changed to non-inline function.
314         (encode_char_1): Use `charset_code_point'.
315         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
316
317 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
318
319         * lread.c (read_compiled_function): Fix prototype.
320         (read_vector): Likewise.
321
322 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
323
324         * lrecord.h (struct lrecord_header): Delete `older'.
325         (set_lheader_implementation): Delete code for `older'.
326         (set_lheader_older_implementation): Deleted.
327         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
328         (OLDER_RECORD_P): Deleted.
329         (OLDER_RECORD_HEADER_P): Deleted.
330         (alloc_older_lcrecord): Deleted.
331         (alloc_older_lcrecord_type): Deleted.
332
333         * alloc.c (all_older_lcrecords): Deleted.
334         (alloc_older_lcrecord): Deleted.
335         (disksave_object_finalization_1): Delete code for older objects.
336         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
337         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
338
339 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
340
341         * mule-charset.c (decoding_table_put_char): Use `make_vector'
342         instead of `make_older_vector'.
343         (put_char_ccs_code_point): Likewise.
344         (mark_charset): Mark `cs->decoding_table'.
345         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
346
347         * lisp.h (make_older_vector): Deleted.
348         (make_vector_newer): Deleted.
349
350         * config.h.in (HAVE_GGC): Deleted.
351
352         * alloc.c (make_older_vector): Deleted.
353         (make_vector_newer_1): Deleted.
354         (make_vector_newer): Deleted.
355
356 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
357
358         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
359         (Qideograph_daikanwa_2): New variable.
360         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
361         (complex_vars_of_mule_charset): Add new coded-charset
362         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
363         `LEADING_BYTE_DAIKANWA'.
364
365         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
366         (LEADING_BYTE_DAIKANWA_1): New macro.
367         (LEADING_BYTE_DAIKANWA_2): New macro.
368         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
369
370 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
371
372         * mule-charset.c (complex_vars_of_mule_charset): Change
373         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
374         the second revised version.
375
376 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
377
378         * mule-charset.c (Vcharset_ucs_smp): New variable.
379         (Vcharset_ucs_sip): New variable.
380         (Qucs_smp): New variable.
381         (Qucs_sip): New variable.
382         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
383         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
384         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
385         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
386         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
387         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
388
389         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
390         (LEADING_BYTE_UCS_SIP): New macro.
391         (MIN_CHAR_SMP): New macro.
392         (MAX_CHAR_SMP): New macro.
393         (MIN_CHAR_SIP): New macro.
394         (MAX_CHAR_SIP): New macro.
395
396 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
397
398         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
399         utf-2000.
400
401 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
402
403         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
404         value; don't store value into `encoding_table' of `Lisp_Charset'.
405         (mark_charset): `encoding_table' was deleted.
406         (charset_description): Likewise.
407         (make_charset): Likewise.
408         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
409         `put_char_ccs_code_point'.
410
411         * chartab.h (Fput_char_attribute): New EXFUN.
412
413         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
414         is unified with normal symbol space.
415         (Fget_char_attribute): Likewise.
416         (Fput_char_attribute): Likewise; behavior of
417         `put_char_ccs_code_point' is changed.
418
419         * char-ucs.h: Include "elhash.h".
420         (Vchar_attribute_hash_table): New external variable.
421         (struct Lisp_Charset): Delete `encoding_table'.
422         (CHARSET_ENCODING_TABLE): New implementation; refer
423         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
424         `Lisp_Charset'.
425
426 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
427
428         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
429         (cs) == 0.
430
431 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
432
433         * text-coding.c (char_encode_big5): Prefer charset-g1 than
434         `chinese-big5'.
435
436 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
437
438         * chartab.c (uint8_byte_table_description): New constant.
439         (uint8-byte-table): Use `uint8_byte_table_description'.
440         (uint16_byte_table_description): New constant.
441         (uint16-byte-table): Use `uint16_byte_table_description'.
442
443 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
444
445         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
446         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
447
448 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
449
450         * mule-charset.c (Vcharset_ucs_ks): New variable.
451         (Qucs_ks): New variable.
452         (syms_of_mule_charset): Add new symbol `ucs-ks'.
453         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
454
455         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
456
457 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
458
459         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
460         (Fdecode_char): Likewise.
461
462         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
463         chartab.h.
464         (Fdefine_char): Modify for Fdecode_char.
465         (Ffind_char): Likewise.
466
467         * mule-charset.c (Fdecode_char): Add new optional argument
468         `defined-only'.
469         (Fdecode_builtin_char): Modify for `Fdecode_char'.
470
471 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
472
473         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
474         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
475         (allocate_coding_system): Initialize initial-charsets of
476         CODESYS_BIG5 in XEmacs UTF-2000.
477         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
478         CODESYS_BIG5 in XEmacs UTF-2000.
479         (decode_coding_big5): Use initial-charset-g0 and -g1 of
480         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
481
482         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
483         variables.
484         (Qideograph_hanziku_{1 .. 12}): Likewise.
485         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
486         .. 12}'.
487         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
488         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
489         `ideograph-hanziku-{1 .. 12}'.
490
491         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
492         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
493         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
494         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
495         (DECODE_DEFINED_CHAR): New inline function.
496         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
497
498 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
499
500         * mule-charset.c (Vcharset_china3_jef): Renamed from
501         `Vcharset_japanese_jef_china3'.
502         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
503         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
504         `{MIN|MAX}_CHAR_JEF_CHINA3'..
505         (syms_of_mule_charset): Rename `china3-jef' from
506         `japanese-jef-china3'.
507         (complex_vars_of_mule_charset): Likewise; rename
508         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
509
510         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
511         `LEADING_BYTE_JEF_CHINA3'.
512         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
513         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
514
515 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
516
517         * mule-charset.c (encode_builtin_char_1): Comment out special code
518         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
519
520         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
521         (MAX_CHAR_MOJIKYO_0): Comment out.
522         (MIN_CHAR_CBETA): Changed to 0x00E20000.
523         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
524         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
525         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
526
527 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
528
529         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
530         (Qideograph_cbeta): New variable.
531         (encode_builtin_char_1): Comment out special code for
532         coded-charset `mojikyo' and `japanese-jef-china3'.
533         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
534         (complex_vars_of_mule_charset): Add new coded-charset
535         `ideograph-cbeta'.
536
537         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
538         (MIN_CHAR_CBETA): New macro.
539         (MAX_CHAR_CBETA): New macro.
540
541 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
542
543         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
544         (LEADING_BYTE_JEF_CHINA3): New macro.
545         (MIN_CHAR_JEF_CHINA3): New macro.
546         (MAX_CHAR_JEF_CHINA3): Likewise.
547         (DECODE_CHAR): Fixed.
548
549 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
550
551         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
552         (Qjapanese_jef_china3): New variable.
553         (encode_builtin_char_1): Support `japanese-jef-china3'.
554         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
555         (complex_vars_of_mule_charset): Add new coded-charset
556         `japanese-jef-china3'.
557
558 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
559
560         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
561         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
562         94^4, 96^3, 96^4, 128^n and 256^n set.
563         (put_char_table): Use `XCHARSET_CELL_RANGE'.
564         (map_char_table): Likewise.
565
566 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
567
568         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
569         UTF-2000.
570
571 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
572
573         * chartab.h (get_char_id_table): New inline function.
574
575         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
576         function.
577
578 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
579
580         * chartab.h (decode_char_table_range): New prototype in XEmacs
581         UTF-2000.
582         (put_char_id_table): New inline function in XEmacs UTF-2000.
583
584         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
585         function.
586         (decode_char_table_range): Delete static declaration in XEmacs
587         UTF-2000.
588
589 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
590
591         * chartab.c (put_char_id_table): Use `put_char_table'.
592
593 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
594
595         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
596         (map_over_uint16_byte_table): Likewise.
597         (map_over_byte_table): Likewise.
598         (map_char_table): Modify for `map_over_uint8_byte_table',
599         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
600         UTF-2000.
601
602 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
603
604         * chartab.c (struct map_char_table_for_charset_arg): New
605         structure.
606         (map_char_table_for_charset_fun): New function.
607         (map_char_table): Use `map_char_table' for encoding_table of
608         `range->charset'.
609
610 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
611
612         * chartab.c (map_char_table): Check a character is found in
613         range->charset instead of non default value is defined in
614         char-table when range is CHARTAB_RANGE_ROW.
615
616 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
617
618         * chartab.c (map_char_id_table): Deleted.
619         (Fmap_char_attribute): Use `map_char_table' instead of
620         `map_char_id_table'.
621
622 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
623
624         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
625         UTF-2000.
626         (update_syntax_table): Deleted in XEmacs UTF-2000.
627
628         * syntax.c (find_defun_start): Use `syntax_table' instead of
629         `mirror_syntax_table' in XEmacs UTF-2000.
630         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
631         UTF-2000.
632         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
633         XEmacs UTF-2000.
634         (Fmatching_paren): Likewise.
635         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
636         in XEmacs UTF-2000.
637         (find_start_of_comment): Likewise.
638         (find_end_of_comment): Likewise.
639         (Fforward_comment): Likewise.
640         (scan_lists): Likewise.
641         (char_quoted): Likewise.
642         (Fbackward_prefix_chars): Likewise.
643         (scan_sexps_forward): Likewise.
644         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
645         (update_syntax_table): Likewise.
646
647         * search.c (skip_chars): Use `syntax_table' instead of
648         `mirror_syntax_table' in XEmacs UTF-2000.
649         (wordify): Likewise.
650         (Freplace_match): Likewise.
651
652         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
653         `mirror_syntax_table' in XEmacs UTF-2000.
654         (WORDCHAR_P_UNSAFE): Likewise.
655         (re_match_2_internal): Likewise.
656
657         * font-lock.c (find_context): Use `buf->syntax_table' instead of
658         `buf->mirror_syntax_table' in XEmacs UTF-2000.
659
660         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
661         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
662
663         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
664         XEmacs UTF-2000.
665
666         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
667         UTF-2000.
668         (print_char_table): Print `default_value' in XEmacs UTF-2000.
669         (char_table_description): Delete `mirror_table' in XEmacs
670         UTF-2000.
671         (fill_char_table): Don't call `update_syntax_table' in XEmacs
672         UTF-2000.
673         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
674         (Fcopy_char_table): Likewise.
675         (put_char_table): Don't call `update_syntax_table' in XEmacs
676         UTF-2000.
677
678         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
679         `buf->mirror_syntax_table' in XEmacs UTF-2000.
680         (casify_region_internal): Likewise.
681
682         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
683
684         * buffer.c (common_init_complex_vars_of_buffer): Don't use
685         `mirror_syntax_table' in XEmacs UTF-2000.
686
687         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
688         `buf->mirror_syntax_table' in XEmacs UTF-2000.
689         (Fexpand_abbrev): Likewise.
690
691 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
692
693         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
694
695 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
696
697         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
698         (map_over_uint16_byte_table): Likewise.
699         (map_over_byte_table): Likewise.
700         (get_char_id_table): Refer `cit->default_value'.
701         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
702         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
703         of character-id ranges.
704         (mark_char_table): Mark `ct->default_value'.
705         (char_table_description): Add `default_value'.
706         (fill_char_table): Use `default_value'.
707         (decode_char_table_range): Decode `nil' as
708         `CHARTAB_RANGE_DEFAULT'.
709         (get_char_id_table): Refer `cit->default_value'.
710         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
711         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
712         temporary hack; check value of char-table is bound or not.
713         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
714
715         * chartab.h (struct Lisp_Char_Table): Add new member
716         `default_value' in XEmacs UTF-2000.
717         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
718         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
719         UTF-2000.
720
721 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
722
723         * chartab.h (Lisp_Char_ID_Table): Deleted.
724
725         * chartab.c (char_table_description): Fix typo.
726         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
727         `Lisp_Char_ID_Table'.
728
729 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
730
731         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
732         `CHAR_ID_TABLE_P'.
733
734         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
735         `CHAR_ID_TABLE_P'.
736
737         * chartab.h (XCHAR_ID_TABLE): Deleted.
738         (XSETCHAR_ID_TABLE): Deleted.
739         (CHAR_ID_TABLE_P): Deleted.
740
741         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
742         `CHAR_ID_TABLE_P'.
743         (Fget_composite_char): Likewise.
744         (put_char_table): Likewise.
745         (add_char_attribute_alist_mapper): Fixed.
746         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
747         `CHAR_ID_TABLE_P'.
748         (Fget_char_attribute): Likewise.
749         (Fget_char_attribute): Likewise.
750         (Fmap_char_attribute): Likewise.
751
752         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
753         `CHAR_ID_TABLE_P'.
754         (encode_char_1): Likewise.
755
756 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
757
758         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
759         `XCHAR_ID_TABLE'.
760
761         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
762         instead of `XCHAR_ID_TABLE'.
763         (remove_char_ccs): Likewise.
764
765         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
766         `XCHAR_ID_TABLE'.
767         (Fget_composite_char): Likewise.
768         (Fchar_variants): Likewise.
769         (put_char_table): Likewise.
770         (add_char_attribute_alist_mapper): Likewise.
771         (Fchar_attribute_alist): Likewise.
772         (Fget_char_attribute): Likewise.
773         (Fput_char_attribute): Likewise.
774         (Fmap_char_attribute): Likewise.
775         (Fmap_char_attribute): Likewise.
776
777         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
778         `XCHAR_ID_TABLE'.
779         (encode_char_1): Likewise.
780
781 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
782
783         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
784         `Lisp_Char_ID_Table'.
785         (mark_char_id_table): Deleted.
786         (print_char_id_table): Likewise.
787         (char_id_table_equal): Likewise.
788         (char_id_table_hash): Likewise.
789         (char_id_table_description): Likewise.
790         (char_id_table): Likewise.
791         (make_char_id_table): Use `Fmake_char_table' and
792         `fill_char_table'.
793         (get_char_id_table): Use `Lisp_Char_Table' instead of
794         `Lisp_Char_ID_Table'.
795         (put_char_id_table): Likewise.
796         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
797         `XCHAR_ID_TABLE'.
798         (Fremove_char_attribute): Likewise.
799         (syms_of_chartab): Don't define type `char-id-table'.
800
801         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
802         (char_id_table): Likewise.
803         (GC_CHAR_ID_TABLE_P): Likewise.
804         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
805         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
806         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
807         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
808         (get_char_id_table): Use `Lisp_Char_Table' instead of
809         `Lisp_Char_ID_Table'.
810         (put_char_id_table_0): Likewise.
811         (put_char_id_table): Likewise.
812
813 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
814
815         * chartab.h: Lisp_Byte_Table related codes are moved from
816         chartab.h.
817
818         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
819
820 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
821
822         * chartab.h: Don't include "chartab.h".
823         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
824         (Lisp_Char_ID_Table): Likewise.
825         (char_id_table): Likewise.
826         (XCHAR_ID_TABLE): Likewise.
827         (XSETCHAR_ID_TABLE): Likewise.
828         (CHAR_ID_TABLE_P): Likewise.
829         (GC_CHAR_ID_TABLE_P): Likewise.
830         (get_char_id_table): Likewise.
831
832         * char-ucs.h: Include "chartab.h".
833         (struct Lisp_Char_ID_Table): Moved to chartab.h.
834         (Lisp_Char_ID_Table): Likewise.
835         (char_id_table): Likewise.
836         (XCHAR_ID_TABLE): Likewise.
837         (XSETCHAR_ID_TABLE): Likewise.
838         (CHAR_ID_TABLE_P): Likewise.
839         (GC_CHAR_ID_TABLE_P): Likewise.
840         (get_char_id_table): Likewise.
841
842 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
843
844         * chartab.c (copy_uint8_byte_table): New function.
845         (copy_uint16_byte_table): New function.
846         (copy_byte_table): New function.
847         (map_over_uint8_byte_table): Modify to avoid huge numbers of
848         characters to call.
849         (map_over_uint16_byte_table): Likewise.
850         (map_over_byte_table): Likewise.
851         (get_byte_table): Move prototype to chartab.h.
852         (put_byte_table): Likewise.
853         (put_char_id_table_0): Moved to chartab.h.
854         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
855         (char_table_entry_equal): Likewise.
856         (char_table_entry_hash): Likewise.
857         (char_table_entry_description): Likewise.
858         (char_table_entry): Likewise.
859         (make_char_table_entry): Likewise.
860         (copy_char_table_entry): Likewise.
861         (get_non_ascii_char_table_value): Likewise.
862         (map_over_charset_ascii): Likewise.
863         (map_over_charset_control_1): Likewise.
864         (map_over_charset_row): Likewise.
865         (map_over_other_charset): Likewise.
866         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
867         (print_char_table): Likewise.
868         (char_table_equal): Likewise.
869         (char_table_hash): Likewise.
870         (char_table_description): Likewise.
871         (fill_char_table): Likewise.
872         (Fcopy_char_table): Likewise.
873         (get_char_table): Likewise.
874         (Fget_range_char_table): Likewise.
875         (put_char_table): Likewise.
876         (map_char_table): Likewise.
877         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
878         UTF-2000.
879
880 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
881
882         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
883         `Vauto_fill_chars' in XEmacs UTF-2000.
884
885         * chartab.h (get_byte_table): New prototype [moved from
886         chartab.c].
887         (put_byte_table): Likewise [moved from chartab.c].
888         (put_char_id_table_0): New inline function [moved from chartab.c].
889         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
890         (Lisp_Char_Table_Entry): Likewise.
891         (char_table_entry): Likewise.
892         (XCHAR_TABLE_ENTRY): Likewise.
893         (XSETCHAR_TABLE_ENTRY): Likewise.
894         (CHAR_TABLE_ENTRYP): Likewise.
895         (CHECK_CHAR_TABLE_ENTRY): Likewise.
896         (NUM_ASCII_CHARS): Likewise.
897         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
898         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
899
900 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
901
902         * chartab.c (get_char_id_table): Change interface.
903         (put_char_id_table_0): New function.
904         (put_char_id_table): Change interface; new implementation.
905         (Fget_composite_char): Modify for interface change of
906         `get_char_id_table'.
907         (Fchar_variants): Likewise.
908         (add_char_attribute_alist_mapper): Likewise.
909         (Fchar_attribute_alist): Likewise.
910         (Fget_char_attribute): Likewise.
911         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
912         as same as character as the first argument like `put-char-table';
913         modify for interface change of `put_char_id_table'.
914         (Fremove_char_attribute): Modify for interface change of
915         `put_char_id_table'.
916
917 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
918
919         * text-coding.c: Sync up with XEmacs 21.2.41.
920         (COMPOSE_ADD_CHAR): Modify for interface change of
921         `get_char_id_table'.
922
923         * mule-charset.c (put_char_ccs_code_point): Modify for interface
924         change of `put_char_id_table'.
925         (remove_char_ccs): Likewise.
926
927         * chartab.h (put_char_id_table): Change interface.
928
929         * char-ucs.h (get_char_id_table): Change interface.
930         (charset_code_point): Modify for interface change of
931         `get_char_id_table'.
932         (encode_char_1): Likewise.
933
934 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
935
936         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
937         argument `ccs'.
938         (map_over_uint16_byte_table): Likewise.
939         (map_over_byte_table): Likewise.
940         (map_char_id_table): Add new argument `range' like
941         `map_char_table'.
942         (Fmap_char_attribute): Add new argument `range' like
943         `Fmap_char_table'.
944
945 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
946
947         * chartab.c (map_over_uint8_byte_table): Change interface of
948         mapping function to use struct chartab_range instead of Emchar.
949         (map_over_uint16_byte_table): Likewise.
950         (map_over_byte_table): Likewise.
951         (map_char_id_table): Likewise.
952         (struct slow_map_char_id_table_arg): Deleted.
953         (slow_map_char_id_table_fun): Deleted.
954         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
955         function `slow_map_char_table_fun' instead of struct
956         `slow_map_char_id_table_arg' and function
957         `slow_map_char_id_table_fun'.
958
959 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
960
961         * mule-charset.c: Move char-it-table related codes to chartab.c.
962         (Vutf_2000_version): Moved to chartab.c.
963         (Fdefine_char): Likewise.
964         (Ffind_char): Likewise.
965         (syms_of_mule_charset): Move types `uint8-byte-table',
966         `uint16-byte-table', `byte-table' and `char-id-table' to
967         chartab.c; move functions `char_attribute_list,
968         `find_char_attribute_table, `char_attribute_alist,
969         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
970         `map_char_attribute, `define_char, `find_char, `char_variants and
971         `get_composite_char to chartab.c; move symbols `=>ucs',
972         `->decomposition', `compat', `isolated', `initial', `medial',
973         `final', `vertical', `noBreak', `fraction', `super', `sub',
974         `circle', `square', `wide', `narrow', `small' and `font' to
975         chartab.c.
976         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
977         setting codes for `Vcharacter_composition_table' and
978         `Vcharacter_variant_table' to chartab.c.
979         (complex_vars_of_mule_charset): Move setting code for
980         `Vchar_attribute_hash_table' to chartab.c.
981
982         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
983         (make_char_id_table): New prototype.
984         (put_char_id_table): Likewise.
985         (Fget_char_attribute): Likewise.
986
987         * chartab.c: Move char-id-table related code from mule-charset.c.
988         (Vutf_2000_version): Moved from mule-charset.c.
989
990         * char-ucs.h (Qucs): New external variable.
991         (put_char_ccs_code_point): New prototype.
992         (remove_char_ccs): Likewise.
993
994 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
995
996         * mule-charset.c (Vcharset_ucs_jis): New variable.
997         (Qucs_jis): Likewise.
998         (syms_of_mule_charset): Add new symbol `ucs-jis'.
999         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1000
1001         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1002
1003 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1004
1005         * mule-charset.c (map_over_uint8_byte_table): New function.
1006         (map_over_uint16_byte_table): Likewise.
1007         (map_over_byte_table): Likewise.
1008         (map_char_id_table): Likewise.
1009         (slow_map_char_id_table_fun): Likewise.
1010         (Fmap_char_attribute): Likewise.
1011         (syms_of_mule_charset): Add new function `map-char-attribute'.
1012
1013 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1014
1015         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1016         (syms_of_mule_charset): Add new function `find-char'.
1017
1018 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1019
1020         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1021         XEmacs UTF-2000.
1022         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1023         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1024         XEmacs UTF-2000.
1025         (complex_vars_of_mule_charset): Add new coded-charset
1026         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1027         `ideograph-gt-pj-*'.
1028
1029         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1030
1031 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1032
1033         * mule-charset.c (encode_builtin_char_1): Purge codes about
1034         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1035         {MIN|MAX}_CHAR_HEBREW.
1036         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1037         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1038
1039         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1040         (MAX_CHAR_GREEK): Purged.
1041         (MIN_CHAR_CYRILLIC): Purged.
1042         (MAX_CHAR_CYRILLIC): Purged.
1043         (MIN_CHAR_HEBREW): Commented out.
1044         (MAX_CHAR_HEBREW): Likewise.
1045
1046 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1047
1048         * mule-charset.c (Qto_ucs): New variable.
1049         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1050         (Fdefine_char): Likewise.
1051         (syms_of_mule_charset): Add new symbol `=>ucs'.
1052
1053 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1054
1055         * mule-charset.c (Fdecode_char): Fixed.
1056
1057 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1058
1059         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1060         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1061         "tcvn5712-1".
1062
1063 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1064
1065         * mule-charset.c (Vcharset_ucs_big5): New variable.
1066         (Qucs_big5): Likewise.
1067         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1068         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1069
1070         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1071
1072 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1073
1074         * mule-charset.c (decode_builtin_char): Check Big5 code range
1075         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1076
1077 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1078
1079         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1080         (Qchinese_gb12345): Likewise.
1081         (Fdecode_builtin_char): Fixed.
1082         (syms_of_mule_charset): Add `chinese-gb12345'.
1083         (complex_vars_of_mule_charset): Add coded-charset
1084         `chinese-gb12345'.
1085
1086         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1087         (LEADING_BYTE_CHINESE_GB12345): New macro.
1088
1089 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1090
1091         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1092         and `latin-viscii-upper' for `latin-viscii'.
1093
1094 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1095
1096         * mule-charset.c (Fdecode_builtin_char): Comment out
1097         regularization code for ISO-IR GR representation.
1098
1099 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1100
1101         * mule-charset.c (decode_builtin_char): New function; renamed from
1102         `make_builtin_char'; return -1 instead of signal.
1103         (Fdecode_builtin_char): Use `decode_builtin_char'.
1104
1105         * char-ucs.h (decode_builtin_char): New prototype; renamed from
1106         `make_builtin_char'.
1107         (DECODE_CHAR): Use `decode_builtin_char' instead of
1108         `make_builtin_char'; use mapping table of `chinese-big5' for
1109         `chinese-big5-{1,2}'.
1110
1111 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1112
1113         * text-coding.c (char_encode_big5): New function.
1114         (char_finish_big5): Likewise.
1115         (reset_encoding_stream): Use `char_encode_big5' and
1116         `char_finish_big5' for CODESYS_BIG5.
1117         (mule_encode): Don't use `encode_coding_big5'.
1118         (encode_coding_big5): Deleted.
1119
1120 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1121
1122         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
1123         0x81- in XEmacs UTF-2000.
1124         (detect_coding_big5): Likewise.
1125
1126 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1127
1128         * mule-charset.c (Fdefine_char): Don't use a CCS property to
1129         generate character-id if the CCS property does not have
1130         corresponding predefined character.
1131         (make_builtin_char): Return -1 if corresponding predefined
1132         character is not found.
1133         (Fdecode_char): Return nil if corresponding character is not
1134         found.
1135         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
1136         don't map to builtin ucs space.
1137
1138 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1139
1140         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
1141         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
1142
1143 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1144
1145         * mule-charset.c (Vcharset_ideograph_gt): New variable.
1146         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
1147         (Qideograph_gt): Likewise.
1148         (Qideograph_gt_pj_{1..11}): Likewise.
1149         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
1150         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
1151         `ideograph-gt-pj-11'.
1152         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
1153         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
1154         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
1155
1156         * char-ucs.h (LEADING_BYTE_GT): New macro.
1157         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
1158         (MIN_CHAR_GT): Likewise.
1159         (MAX_CHAR_GT): Likewise.
1160
1161 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1162
1163         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
1164         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
1165
1166         * doprnt.c (unsigned_int_converters): Add `c'.
1167         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
1168
1169         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
1170         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
1171         `MIN_CHAR_MOJIKYO'.
1172         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
1173         (MAX_CHAR_MOJIKYO_0): New macro.
1174         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
1175
1176 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1177
1178         * mule-charset.c (Fdefine_char): Delete cemented out code.
1179         (encode_builtin_char_1): Modify for new allocation of builtin
1180         Mojikyo characters.
1181
1182         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
1183
1184 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1185
1186         * mule-charset.c (Vcharset_ucs_cns): New variable.
1187         (Qucs_cns): New variable.
1188         (syms_of_mule_charset): Add new symbol `ucs-cns'.
1189         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
1190
1191 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1192
1193         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
1194
1195 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1196
1197         * search.c (search_buffer): Make `charset_base_code' as
1198         character-id >> 6 to eliminate the corresponding last byte in
1199         UTF-8 representation [I'm not sure it is right thing].
1200         (boyer_moore): Likewise.
1201
1202 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1203
1204         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
1205         representation in MULE.
1206
1207 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1208
1209         * text-coding.c (Fmake_coding_system): Use
1210         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
1211         `EXTERNAL_PROPERTY_LIST_LOOP'.
1212
1213 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1214
1215         * text-coding.c (decode_output_utf8_partial_char): New function.
1216         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
1217
1218 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1219
1220         * text-coding.c (decode_coding_utf8): Output original byte
1221         sequence if it is broken; change order of conditions.
1222
1223         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
1224         of conditions.
1225
1226         * mb-multibyte.h (BYTE_ASCII_P):
1227         Use bit ops for char-signedness safety.
1228         (BYTE_C0_P): Use bit ops for char-signedness safety.
1229         (BYTE_C1_P): Use bit ops for char-signedness safety.
1230
1231         * character.h: (XCHAR_OR_CHAR_INT):
1232         Always use inline function.
1233         Remove redundant type checking assert() - XINT will abort quite
1234         nicely.
1235
1236 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1237
1238         * text-coding.c: (Fencode_shift_jis_char):
1239         (Fencode_big5_char):
1240         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1241         Replace 0 with '\0' when working with bytes.
1242         Replace initial "(" with "\(" in docstrings.
1243
1244         (Fmake_coding_system):
1245         When type is ccl and value is vector, register it with a proper
1246         symbol.  And checks whether the given ccl program is valid.
1247         (mule_decode): When calling ccl_driver, if src indicates
1248         NULL pointer, set an empty string instead.
1249         (mule_encode): Likewise.
1250
1251         (detect_eol_type):
1252         (detect_coding_sjis):
1253         (decode_coding_sjis):
1254         (detect_coding_big5):
1255         (decode_coding_big5):
1256         (detect_coding_ucs4):
1257         (decode_coding_ucs4):
1258         (detect_coding_utf8):
1259         (decode_coding_utf8):
1260         (detect_coding_iso2022):
1261         (decode_coding_iso2022):
1262         (decode_coding_no_conversion):
1263         (mule_decode):
1264         Make all detecting and decoding functions take an Extbyte * arg.
1265         (text_encode_generic):
1266         (encode_coding_big5):
1267         (encode_coding_no_conversion):
1268         (mule_encode):
1269         Make all encoding functions take a Bufbyte * arg.
1270         Use size_t instead of unsigned int for memory sizes.
1271         Only cast to unsigned char whenever dereferencing Extbyte *.
1272
1273         (struct lrecord_description fcd_description_1): Use countof.
1274         (complex_vars_of_file_coding):
1275         Use countof instead of sizeof.
1276         Use CHECK_NATNUM instead of CHECK_INT.
1277
1278 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1279
1280         * mule-charset.c (Fget_char_attribute): Add new optional argument
1281         `default-value'.
1282         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1283         (remove_char_ccs): Likewise.
1284
1285 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1286
1287         * text-coding.c (char_encode_shift_jis): New implementation in
1288         UTF-2000.
1289         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1290         ...)'.
1291
1292         * mule-charset.c (Vcharset_chinese_big5): New variable in
1293         UTF-2000.
1294         (Qchinese_big5): New variable in UTF-2000.
1295         (BIG5_SAME_ROW): New macro in UTF-2000.
1296         (make_builtin_char): Use builtin characters of
1297         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1298         characters of `Vcharset_chinese_big5'.
1299         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1300         (complex_vars_of_mule_charset): Add new coded-charset
1301         `chinese-big5' in UTF-2000.
1302
1303         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1304         (Vcharset_chinese_big5): New external variable declaration.
1305         (Vcharset_japanese_jisx0208_1990): Likewise.
1306
1307 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1308
1309         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1310         function.
1311         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1312
1313 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1314
1315         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1316         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1317         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1318         `mojikyo-pj-*'.
1319
1320 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1321
1322         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1323
1324 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1325
1326         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1327         to 0.17.
1328
1329 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1330
1331         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1332         for `CHARSET_BY_ATTRIBUTES'.
1333         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1334         `CHARSET_BY_ATTRIBUTES'.
1335
1336         * text-coding.c (struct decoding_stream): Rename member `CH' to
1337         `CPOS'.
1338         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1339         (decode_coding_sjis): Likewise.
1340         (decode_coding_big5): Likewise.
1341         (decode_coding_ucs4): Likewise.
1342         (decode_coding_utf8): Likewise.
1343         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1344         `CHARSET_BY_ATTRIBUTES'.
1345         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1346         `str->counter'; decode 3, 4 bytes sets.
1347         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1348         sets.
1349         (decode_coding_no_conversion): Use `str->cpos' instead of
1350         `str->ch'.
1351
1352         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1353         (Qmojikyo_2022_1): New variable.
1354         (make_charset): Don't use `CHARSET_TYPE_*'.
1355         (range_charset_code_point): Support coded-charset
1356         `mojikyo-2022-1'.
1357         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1358         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1359         `CHARSET_BY_ATTRIBUTES'.
1360         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1361         `CHARSET_BY_ATTRIBUTES'.
1362         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1363         (complex_vars_of_mule_charset): Add new coded-charset
1364         `mojikyo-2022-1'.
1365
1366         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1367         interface; changed to inline function.
1368
1369         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1370         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1371         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1372         (CHARSET_TYPE_94): Deleted.
1373         (CHARSET_TYPE_94X94): Deleted.
1374         (CHARSET_TYPE_96): Deleted.
1375         (CHARSET_TYPE_96X96): Deleted.
1376         (CHARSET_TYPE_128): Deleted.
1377         (CHARSET_TYPE_128X128): Deleted.
1378         (CHARSET_TYPE_256): Deleted.
1379         (CHARSET_TYPE_256X256): Deleted.
1380         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1381         to inline function.
1382         (DECODE_MOJIKYO_2022): New inline function.
1383         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1384         `Vcharset_mojikyo_2022_1'.
1385
1386 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1387
1388         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1389         instead of `EQ'.
1390         (put_byte_table): Likewise.
1391         (char_id_table_equal): Use `get_byte_table' [new implementation].
1392
1393 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1394
1395         * mule-charset.c: Include <limits.h> in UTF-2000.
1396         (BT_UINT8_MIN): New macro in UTF-2000.
1397         (BT_UINT8_MAX): New macro in UTF-2000.
1398         (BT_UINT8_t): New macro in UTF-2000.
1399         (BT_UINT8_nil): New macro in UTF-2000.
1400         (BT_UINT8_unbound): New macro in UTF-2000.
1401         (INT_UINT8_P): New inline function in UTF-2000.
1402         (UINT8_VALUE_P): New inline function in UTF-2000.
1403         (UINT8_ENCODE): New inline function in UTF-2000.
1404         (UINT8_DECODE): New inline function in UTF-2000.
1405         (mark_uint8_byte_table): New function in UTF-2000.
1406         (print_uint8_byte_table): New function in UTF-2000.
1407         (uint8_byte_table_equal): New function in UTF-2000.
1408         (uint8_byte_table_hash): New function in UTF-2000.
1409         (make_uint8_byte_table): New function in UTF-2000.
1410         (uint8_byte_table_same_value_p): New function in UTF-2000.
1411         (BT_UINT16_MIN): New macro in UTF-2000.
1412         (BT_UINT16_MAX): New macro in UTF-2000.
1413         (BT_UINT16_t): New macro in UTF-2000.
1414         (BT_UINT16_nil): New macro in UTF-2000.
1415         (BT_UINT16_unbound): New macro in UTF-2000.
1416         (INT_UINT16_P): New inline function in UTF-2000.
1417         (UINT16_VALUE_P): New inline function in UTF-2000.
1418         (UINT16_ENCODE): New inline function in UTF-2000.
1419         (UINT16_DECODE): New inline function in UTF-2000.
1420         (UINT8_TO_UINT16): New inline function in UTF-2000.
1421         (mark_uint16_byte_table): New function in UTF-2000.
1422         (print_uint16_byte_table): New function in UTF-2000.
1423         (uint16_byte_table_equal): New function in UTF-2000.
1424         (uint16_byte_table_hash): New function in UTF-2000.
1425         (make_uint16_byte_table): New function in UTF-2000.
1426         (uint16_byte_table_same_value_p): New function in UTF-2000.
1427         (print_byte_table): New function in UTF-2000.
1428         (byte-table): Use `print_byte_table' as printer.
1429         (make_byte_table): Delete second argument `older'.
1430         (byte_table_same_value_p): New function in UTF-2000.
1431         (copy_byte_table): Deleted.
1432         (get_byte_table): New function in UTF-2000.
1433         (put_byte_table): New function in UTF-2000.
1434         (print_char_id_table): New function in UTF-2000.
1435         (char-id-table): Use `print_char_id_table' as printer.
1436         (make_char_id_table): Delete second argument `older'.
1437         (get_char_id_table): Use `get_byte_table [new implementation].
1438         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1439         implementation].
1440         (Ffind_char_attribute_table): New function in UTF-2000.
1441         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1442         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1443         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1444         (syms_of_mule_charset): Add new function
1445         `find-char-attribute-table' in UTF-2000.
1446
1447         * lrecord.h (enum lrecord_type): Add
1448         `lrecord_type_uint16_byte_table' and
1449         `lrecord_type_uint8_byte_table'.
1450
1451         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1452         (Lisp_Uint8_Byte_Table): New type.
1453         (XUINT8_BYTE_TABLE): New macro.
1454         (XSETUINT8_BYTE_TABLE): New macro.
1455         (UINT8_BYTE_TABLE_P): New macro.
1456         (GC_UINT8_BYTE_TABLE_P): New macro.
1457         (struct Lisp_Uint16_Byte_Table): New structure.
1458         (Lisp_Uint16_Byte_Table): New type.
1459         (XUINT16_BYTE_TABLE): New macro.
1460         (XSETUINT16_BYTE_TABLE): New macro.
1461         (UINT16_BYTE_TABLE_P): New macro.
1462         (GC_UINT16_BYTE_TABLE_P): New macro.
1463
1464 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1465
1466         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1467         (Vcharacter_ideographic_strokes_table): Deleted.
1468         (Vcharacter_total_strokes_table): Deleted.
1469         (Vcharacter_morohashi_daikanwa_table): Deleted.
1470         (Vcharacter_decomposition_table): Deleted.
1471         (Qname): Deleted because it is duplicated.
1472         (Qideographic_radical): Deleted.
1473         (Qideographic_strokes): Deleted.
1474         (Qtotal_strokes): Deleted.
1475         (Qmorohashi_daikanwa): Deleted.
1476         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1477         `ideographic-radical', `ideographic-strokes', `total-strokes',
1478         `morohashi-daikanwa' and `->decomposition'.
1479         (Fget_char_attribute): Likewise.
1480         (Fput_char_attribute): Likewise; use `make-vector' instead of
1481         `make_older_vector' for `->decomposition' value.
1482         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1483         `ideograph-daikanwa'.
1484         (syms_of_mule_charset): Delete builtin symbols `name',
1485         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1486         `morohashi-daikanwa'.
1487         (vars_of_mule_charset): Don't setup
1488         `Vcharacter_ideographic_radical_table',
1489         `Vcharacter_ideographic_strokes_table',
1490         `Vcharacter_total_strokes_table',
1491         `Vcharacter_morohashi_daikanwa_table' and
1492         `Vcharacter_decomposition_table'.
1493
1494 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1495
1496         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1497         `make_older_vector', `make_vector_newer_1' and
1498         `make_vector_newer'.
1499
1500         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1501         `make_older_vector' and `make_vector_newer'.
1502
1503         * config.h.in (HAVE_GGC): New macro.
1504
1505 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1506
1507         * mule-charset.c (struct char_attribute_list_closure): New
1508         structure in UTF-2000.
1509         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1510         (Fchar_attribute_list): Likewise.
1511         (Fset_charset_mapping_table): Use `make_vector_newer'.
1512         (Fdecode_builtin_char): New function in UTF-2000.
1513         (syms_of_mule_charset): Add new function `char-attribute-list' and
1514         `decode-builtin-char' in UTF-2000.
1515
1516         * lisp.h (make_vector_newer): New prototype.
1517
1518         * alloc.c (make_vector_newer_1): New function.
1519         (make_vector_newer): New function.
1520
1521 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1522
1523         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1524         50100)'.
1525
1526 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1527
1528         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1529         (Vcharacter_attribute_table): Deleted.
1530         (Vcharacter_name_table): Deleted.
1531         (put_char_attribute): Deleted.
1532         (remove_char_attribute): Deleted.
1533         (struct char_attribute_alist_closure): New structure.
1534         (add_char_attribute_alist_mapper): New function.
1535         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1536         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1537         (Fget_char_attribute): Likewise.
1538         (Fput_char_attribute): Likewise.
1539         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1540         of `remove_char_attribute'.
1541         (Fdefine_char): Return character.
1542         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1543         and `Vcharacter_name_table'.
1544         (complex_vars_of_mule_charset): Likewise
1545         `Vchar_attribute_hash_table'.
1546
1547 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1548
1549         * character.h (CHARC_CHARSET): New macro.
1550         (CHARC_CHARSET_ID): New macro.
1551         (CHARC_CODE_POINT): New macro.
1552         (CHARC_COLUMNS): New macro.
1553         (CHARC_TO_CHAR): New inline function.
1554         (CHARC_EQ): New inline function.
1555         (CHARC_ASCII_EQ): New inline function.
1556         (CHARC_IS_SPACE): New inline function.
1557         (ASCII_TO_CHARC): New inline function.
1558
1559         * char-ucs.h (encode_char_2): Deleted.
1560         (ENCODE_CHAR): Use `encode_char_1' again.
1561         (breakup_char_1): Likewise.
1562         (CHAR_TO_CHARC): New inline function.
1563
1564         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1565
1566 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1567
1568         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1569         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1570         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1571         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1572         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1573         `CHARC_IS_SPACE'.
1574         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1575
1576         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1577         `CHARC_CODE_POINT'.
1578         (x_output_display_block): Use `CHARC_CHARSET' and
1579         `CHARC_ASCII_EQ'.
1580
1581         * redisplay-tty.c (tty_output_display_block): Use
1582         `CHARC_ASCII_EQ'.
1583         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1584
1585         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1586
1587         * insdel.c (find_charsets_in_charc_string): Use
1588         `CHARC_CHARSET_ID'.
1589         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1590         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1591         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1592         (convert_charc_string_into_malloced_string): Likewise.
1593
1594 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1595
1596         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1597         instead of <Emchar_dynarr *> for buf; use
1598         `convert_bufbyte_string_into_charc_dynarr' instead of
1599         `convert_bufbyte_string_into_emchar_dynarr'; use
1600         `find_charsets_in_charc_string' instead of
1601         `find_charsets_in_emchar_string'.
1602
1603         * redisplay.h:
1604         - Include "character.h".
1605         (struct rune): New member `cglyph'; delete member `chr'.
1606
1607         * redisplay.c (redisplay_text_width_charc_string): New function;
1608         delete `redisplay_text_width_emchar_string'.
1609         (rtw_charc_dynarr): New variable; renamed from
1610         `rtw_emchar_dynarr'.
1611         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1612         `rtw_emchar_dynarr'; use
1613         `convert_bufbyte_string_into_charc_dynarr' instead of
1614         `convert_bufbyte_string_into_emchar_dynarr'; use
1615         `redisplay_text_width_charc_string' instead of
1616         `redisplay_text_width_emchar_string'.
1617         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1618         instead of `rtw_emchar_dynarr'; use
1619         `convert_bufbyte_string_into_charc_dynarr' instead of
1620         `convert_bufbyte_string_into_emchar_dynarr'.
1621         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1622         `redisplay_text_width_charc_string' instead of
1623         `redisplay_text_width_emchar_string'.
1624         (create_text_block): Modify for <struct rune> change.
1625         (generate_formatted_string_db): Likewise.
1626         (create_string_text_block): Likewise.
1627         (pixel_to_glyph_translation): Likewise.
1628
1629         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1630         instead of <const Emchar *>.
1631         (x_text_width): Likewise.
1632         (x_output_display_block): Use <Charc_dynarr *> instead
1633         <Emchar_dynarr *>; modify for <structure rune> change.
1634         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1635         *>.
1636
1637         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1638         <const Emchar *>; use `charc_string_displayed_columns' instead of
1639         `emchar_string_displayed_columns'.
1640         (tty_output_display_block): Use <Charc_dynarr *> instead of
1641         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1642         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1643         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1644         `tty_output_emchar_dynarr_dynarr'.
1645         (tty_output_charc_dynarr): New function; delete
1646         `tty_output_charc_dynarr'.
1647
1648         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1649         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1650         <Emchar_dynarr *> for buf; use
1651         `convert_bufbyte_string_into_charc_dynarr' instead of
1652         `convert_bufbyte_string_into_emchar_dynarr'.
1653
1654         * frame.c (title_string_charc_dynarr): New variable; renamed from
1655         `title_string_emchar_dynarr'.
1656         (generate_title_string): Use `title_string_charc_dynarr' instead
1657         of `title_string_emchar_dynarr'; use
1658         `convert_charc_string_into_malloced_string' instead of
1659         `convert_emchar_string_into_malloced_string'.
1660         (init_frame): Use `title_string_charc_dynarr' instead of
1661         `title_string_emchar_dynarr'.
1662
1663         * console.h:
1664         - Include "character.h".
1665         (struct console_methods): Use <const Charc *> instead of <const
1666         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1667         <Emchar_dynarr *> in output_string_method.
1668
1669         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1670         <Emchar_dynarr *>.
1671
1672         * console-stream.c (stream_text_width): Use <const Charc *>
1673         instead of <const Emchar *>.
1674
1675         * character.h (Charc_dynarr): New type.
1676
1677         * char-ucs.h (structure Charc): New structure; define new type
1678         `Charc'.
1679
1680         * char-lb.h (DECODE_CHAR): New inline function.
1681         (encode_char_1): New inline function.
1682         (ENCODE_CHAR): New macro.
1683         (structure Charc): New structure; define new type `Charc'.
1684
1685         * char-1byte.h (Vcharset_control_1): New macro.
1686         (Vcharset_latin_iso8859_1): New macro.
1687         (DECODE_CHAR): New inline function.
1688         (encode_char_1): New inline function.
1689         (ENCODE_CHAR): New macro.
1690         (structure Charc): New structure; define new type `Charc'.
1691
1692         * insdel.c (find_charsets_in_charc_string): New function; delete
1693         `find_charsets_in_emchar_string'.
1694         (charc_string_displayed_columns): New function; delete
1695         `emchar_string_displayed_columns'.
1696         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1697         `convert_bufbyte_string_into_emchar_dynarr'.
1698         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1699         `convert_charc_string_into_bufbyte_dynarr'.
1700         (convert_charc_string_into_malloced_string): New function; delete
1701         `convert_charc_string_into_malloced_string'.
1702
1703         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1704         `find_charsets_in_emchar_string'.
1705         (charc_string_displayed_columns): New prototype; delete
1706         `emchar_string_displayed_columns'.
1707         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1708         `convert_charc_string_into_bufbyte_dynarr'.
1709         (convert_charc_string_into_malloced_string): New prototype; delete
1710         `convert_charc_string_into_malloced_string'.
1711
1712 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1713
1714         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1715
1716 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1717
1718         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1719
1720         * char-ucs.h: Use <short> for <Charset_ID>.
1721
1722         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1723         <Charset_ID>.
1724
1725 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1726
1727         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1728         to 0.16.
1729
1730 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1731
1732         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1733         variable.
1734         (Qmorohashi_daikanwa): New variable.
1735         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1736         for `morohashi-daikanwa' attribute.
1737         (Fget_char_attribute): Likewise.
1738         (Fput_char_attribute): Likewise.
1739         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1740         has the same value of `ideograph-daikanwa'.
1741         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1742         (vars_of_mule_charset): Setup
1743         `Vcharacter_morohashi_daikanwa_table'.
1744
1745 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1746
1747         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1748         attributes.
1749         (add_charset_to_list_mapper): Add `key' instead of
1750         `XCHARSET_NAME (value)' to return aliases.
1751
1752 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1753
1754         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1755         variable.
1756         (Vcharacter_ideographic_strokes_table): New variable.
1757         (Qideographic_radical): New variable.
1758         (Qideographic_strokes): New variable.
1759         (Fchar_attribute_alist): Use
1760         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1761         attribute; use `Vcharacter_ideographic_strokes_table' for
1762         `ideographic-strokes' attribute.
1763         (Fget_char_attribute): Likewise.
1764         (Fput_char_attribute): Likewise.
1765         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1766         `ideographic-strokes'.
1767         (vars_of_mule_charset): Setup
1768         `Vcharacter_ideographic_radical_table' and
1769         `Vcharacter_ideographic_strokes_table'.
1770
1771 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1772
1773         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1774         (Qtotal_strokes): New variable.
1775         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1776         `total-strokes' attribute.
1777         (Fget_char_attribute): Likewise.
1778         (Fput_char_attribute): Likewise.
1779         (syms_of_mule_charset): Add new symbol `total-strokes'.
1780         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1781
1782 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1783
1784         * mule-charset.c (Vcharacter_decomposition_table): New variable.
1785         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
1786         are found.
1787         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
1788         `->decomposition' attribute.
1789         (Fput_char_attribute): Likewise.
1790         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
1791
1792 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1793
1794         * mule-charset.c (decoding_table_check_elements): New function.
1795         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
1796
1797 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1798
1799         * mule-charset.c (Fset_charset_mapping_table): Use
1800         `put_char_ccs_code_point'.
1801
1802 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1803
1804         * mule-charset.c (decoding_table_put_char): New inline function.
1805         (put_char_ccs_code_point): Use `decoding_table_put_char'.
1806
1807 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1808
1809         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
1810         (XCHARSET_BYTE_SIZE): New macro.
1811         (decoding_table_remove_char): New inline function.
1812         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
1813         `decoding_table_remove_char'.
1814         (remove_char_ccs): Use `decoding_table_remove_char'.
1815         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
1816
1817 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1818
1819         * mule-charset.c (Vcharacter_name_table): New variable.
1820         (Qname): New variable.
1821         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
1822         attribute.
1823         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
1824         `Vcharacter_name_table' for `name' attribute.
1825         (Fremove_char_attribute): Use function `remove_char_ccs'.
1826         (put_char_ccs_code_point): New function.
1827         (remove_char_ccs): New function.
1828         (syms_of_mule_charset): Add new symbol `name'.
1829         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
1830
1831 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1832
1833         * mule-charset.c (make_byte_table): Add new argument `older'.
1834         (make_char_id_table): Likewise.
1835         (copy_char_id_table): Comment out because it is not used.
1836         (put_char_id_table): Modify for `make_byte_table'.
1837         (Fput_char_attribute): Make encoding_table as older object;
1838         inherit older bit of `Vcharacter_composition_table'.
1839         (mark_charset): Don't mark `cs->encoding_table'.
1840         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
1841         normal object; make `Vcharacter_composition_table' as an older
1842         object; delete staticpro for `Vcharacter_composition_table'; make
1843         `Vcharacter_variant_table' as a normal object.
1844
1845         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
1846         (mark_object): Don't check older object in UTF-2000.
1847
1848         * lrecord.h (struct lrecord_header): Add new member `older' in
1849         UTF-2000.
1850         (set_lheader_implementation): Setup `SLI_header->older' in
1851         UTF-2000.
1852         (set_lheader_older_implementation): New macro in UTF-2000.
1853         (OLDER_RECORD_P): New macro in UTF-2000.
1854         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
1855         (alloc_older_lcrecord): New prototype in UTF-2000.
1856         (alloc_older_lcrecord_type): New macro in UTF-2000.
1857
1858 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1859
1860         * mule-charset.c (byte_table_description): Use
1861         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
1862         (char_id_table_description): Delete bogus `, 1'.
1863         (Fget_char_attribute): Refer encoding_table of each coded-charset
1864         to get value of coded-charset attribute of a character.
1865         (Fput_char_attribute): Use `make_older_vector' instead of
1866         `make_vector'; use encoding_table of each coded-charset to store
1867         value of coded-charset attribute of a character.
1868         (Fremove_char_attribute): Use encoding_table of each coded-charset
1869         to store value of coded-charset attribute of a character.
1870         (mark_charset): Mark `cs->encoding_table'; don't mark
1871         `cs->decoding_table'.
1872         (charset_description): Add description of new member
1873         `encoding_table'.
1874         (make_charset): Initialize `encoding_table'.
1875
1876         * char-ucs.h (struct Lisp_Charset): Add new member
1877         `encoding_table'.
1878         (CHARSET_ENCODING_TABLE): New macro.
1879         (XCHARSET_ENCODING_TABLE): New macro.
1880         (charset_code_point): New implementation.
1881         (encode_char_1): Likewise.
1882
1883         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
1884         (disksave_object_finalization_1): Call finalizers of
1885         `all_older_lcrecords' in UTF-2000.
1886         (make_older_vector): New function in UTF-2000.
1887         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
1888         UTF-2000.
1889
1890         * lisp.h (make_older_vector): New prototype in UTF-2000.
1891
1892 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1893
1894         * lrecord.h (enum lrecord_type): Rename
1895         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
1896
1897         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
1898         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
1899         `get_char_code_table'.
1900
1901         * mule-charset.c (mark_char_id_table): Renamed from
1902         `mark_char_code_table'.
1903         (char_id_table_equal): Renamed from `char_code_table_equal'.
1904         (char_id_table_hash): Renamed from `char_code_table_hash'.
1905         (make_char_id_table): Renamed from `make_char_code_table'.
1906         (copy_char_id_table): Renamed from `copy_char_code_table'.
1907         (get_char_id_table): Renamed from `get_char_code_table'.
1908         (put_char_id_table): Renamed from `put_char_code_table'.
1909         (to_char_id): Renamed from `to_char_code'.
1910
1911         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
1912         `Lisp_Char_Code_Table'.
1913         (char_id_table): Renamed from `char_code_table'.
1914         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
1915         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
1916         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
1917         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
1918         (get_char_id_table): Renamed from `get_char_code_table'.
1919
1920 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1921
1922         * lrecord.h (enum lrecord_type): Rename
1923         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
1924
1925         * mule-charset.c (mark_byte_table): Renamed from
1926         `mark_char_byte_table'.
1927         (byte_table_equal): Renamed from `char_byte_table_equal'.
1928         (byte_table_hash): Renamed from `byte_table_hash'.
1929         (make_byte_table): Renamed from `make_byte_table'.
1930         (copy_byte_table): Renamed from `copy_char_byte_table'.
1931
1932         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
1933         `Lisp_Char_Byte_Table'.
1934         (byte_table): Renamed from `char_byte_table'.
1935         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
1936         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
1937         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
1938         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
1939
1940 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1941
1942         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
1943         (dfc_convert_to_internal_format): Likewise.
1944         
1945         * text-coding.c (Fcoding_system_canonical_name_p): New function.
1946         * text-coding.c (Fcoding_system_alias_p): New function.
1947         * text-coding.c (Fcoding_system_aliasee): New function.
1948         * text-coding.c (append_suffix_to_symbol): New function.
1949         * text-coding.c (dangling_coding_system_alias_p): New function.
1950         * text-coding.c (Ffind_coding_system):
1951         * text-coding.c (Fcopy_coding_system):
1952         * text-coding.c (encode_coding_no_conversion):
1953         * text-coding.c (syms_of_file_coding):
1954         * text-coding.c (vars_of_file_coding):
1955         Rewrite coding system alias code.
1956         Allow nested aliases, like symbolic links.
1957         Allow redefinition of coding system aliases.
1958         Prevent existence of dangling coding system aliases.
1959         Eliminate convert_to_external_format.
1960         Eliminate convert_to_internal_format.
1961         
1962         * text-coding.c: Change enum eol_type to eol_type_t.
1963
1964 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1965
1966         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
1967         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1968
1969         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
1970         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1971
1972 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1973
1974         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
1975         `ideograph-daikanwa'.
1976
1977         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
1978         (Vcharset_ucs_bmp): Likewise.
1979         (Vcharset_mojikyo): Add new extern variable definition.
1980         (Vcharset_latin_iso8859_2): Deleted because it is not used.
1981         (Vcharset_latin_iso8859_3): Likewise.
1982         (Vcharset_latin_iso8859_4): Likewise.
1983         (Vcharset_latin_iso8859_9): Likewise.
1984         (Vcharset_latin_viscii_lower): Likewise.
1985         (Vcharset_latin_viscii_upper): Likewise.
1986         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
1987         `mojikyo' code-point is used to decode.
1988         (encode_char_2): New function [to convert `mojikyo' code-point to
1989         Mojikyo font encoding].
1990         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
1991         (breakup_char_1): Likewise.
1992         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
1993
1994 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1995
1996         * text-coding.c (Fmake_coding_system): Add document about
1997         `disable-composition' property.
1998
1999 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2000
2001         * text-coding.c (Qdisable_composition): New variable; delete
2002         `Qcomposite'.
2003         (Fmake_coding_system): Add new property `disable-composite';
2004         delete property `composite'.
2005         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2006         instead of `!CODING_SYSTEM_COMPOSITE'.
2007         (syms_of_file_coding): Add new symbol `disable-composition';
2008         delete symbol `composite'.
2009
2010         * file-coding.h (struct Lisp_Coding_System): Add
2011         `disable_composition'; delete `enable_composition'.
2012         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2013         `CODING_SYSTEM_COMPOSITE'.
2014         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2015         `XCODING_SYSTEM_COMPOSITE'.
2016
2017 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2018
2019         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2020         to 0.15.
2021
2022 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2023
2024         * text-coding.c (Qcomposite): New variable.
2025         (Fmake_coding_system): Add new property `composite'.
2026         (struct decoding_stream): Add `combined_char_count',
2027         `combined_chars' and `combining_table' in UTF-2000.
2028         (COMPOSE_FLUSH_CHARS): New macro.
2029         (COMPOSE_ADD_CHAR): New macro.
2030         (reset_decoding_stream): Reset `str->combined_char_count' and
2031         `str->combining_table' in UTF-2000.
2032         (decode_coding_iso2022): Modify for character-decomposition.
2033         (syms_of_file_coding): Add new symbol `composite'.
2034
2035 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2036
2037         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2038         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2039         of `Vcharacter_composition_table' if `->decomposition' property
2040         has only 1 element.
2041         (Qlatin_tcvn5712): New variable.
2042         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2043         (complex_vars_of_mule_charset): Add new coded-charset
2044         `latin-tcvn5712'.
2045
2046         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2047
2048 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2049
2050         * file-coding.h (struct Lisp_Coding_System): Add
2051         `enable_composition'.
2052         (CODING_SYSTEM_COMPOSITE): New macro.
2053         (XCODING_SYSTEM_COMPOSITE): New macro.
2054
2055 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2056
2057         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2058
2059 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2060
2061         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2062         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2063
2064 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2065
2066         * mule-charset.c (Vcharset_mojikyo): New variable.
2067         (Fdefine_char): Don't use coded-charset which does not have
2068         non-builtin character range to allocate character-id.
2069         (Qmojikyo): New variable.
2070         (syms_of_mule_charset): Add new symbol `mojikyo'.
2071         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2072
2073         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2074         (LEADING_BYTE_MOJIKYO): New macro.
2075         (MIN_CHAR_MOJIKYO): New macro.
2076         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2077         (MAX_CHAR_MOJIKYO): New macro.
2078
2079 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2080
2081         * mule-charset.c (remove_char_attribute): Fixed.
2082
2083 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2084
2085         * mule-charset.c (remove_char_attribute): New function.
2086         (Fremove_char_attribute): New function.
2087         (encode_builtin_char_1): Comment out builtin-support for
2088         greek-iso8859-7 and cyrillic-iso8859-5.
2089         (Fdecode_char): Check `code' is an integer.
2090         (syms_of_mule_charset): Add `remove-char-attribute'.
2091         (MIN_CHAR_GREEK): Deleted.
2092         (MAX_CHAR_GREEK): Likewise.
2093         (MIN_CHAR_CYRILLIC): Likewise.
2094         (MAX_CHAR_CYRILLIC): Likewise.
2095         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2096         MAX_CHAR_GREEK for `greek-iso8859-7'.
2097
2098         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
2099         (MAX_CHAR_GREEK): Likewise.
2100         (MIN_CHAR_CYRILLIC): Likewise.
2101         (MAX_CHAR_CYRILLIC): Likewise.
2102
2103 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
2104
2105         * mule-charset.c (Fdefine_char): Fix problem when new code-point
2106         format is used without `ucs' property.
2107         (Fdecode_char): Fix problem with GR representation.
2108         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
2109         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
2110
2111 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2112
2113         * mule-charset.c (make_builtin_char): New function.
2114         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
2115         (Fset_charset_mapping_table): Modify for new representation of
2116         code-point.
2117         (Fdecode_char): New function.
2118         (syms_of_mule_charset): Add new builtin function `decode-char' in
2119         UTF-2000.
2120
2121         * char-ucs.h (make_builtin_char): New prototype.
2122         (DECODE_CHAR): New inline function.
2123         (MAKE_CHAR): Use `DECODE_CHAR'.
2124
2125 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
2126
2127         * text-coding.c (parse_charset_conversion_specs): Use
2128         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
2129         `XCHARSET_TYPE'.
2130         (iso2022_designate): Likewise.
2131
2132         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
2133         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
2134
2135         * mule-charset.c (Vcharset_ucs): New variable.
2136         (print_charset): Change design; use `CHARSET_CHARS' and
2137         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
2138         (make_charset): Change signature to specify `chars' and
2139         `dimension' instead of `type'.
2140         (range_charset_code_point): Modify for 256^n-set.
2141         (encode_builtin_char_1): Encode as `ucs' in default.
2142         (Fmake_charset): Modify for `make_charset'.
2143         (Fmake_reverse_direction_charset): Likewise.
2144         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
2145         UTF-2000.
2146         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
2147         for `make_charset'.
2148
2149         * char-ucs.h (Vcharset_ucs): New variable.
2150         (LEADING_BYTE_UCS): New macro.
2151         (struct Lisp_Charset): Delete `type'; change type of `dimension'
2152         and `chars' to `unsigned short' from `unsigned int'.
2153         (CHARSET_TYPE): Deleted.
2154         (XCHARSET_TYPE): Deleted.
2155
2156 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
2157
2158         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
2159
2160         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
2161         (ENCODE_CHAR): New macro.
2162
2163 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2164
2165         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2166         to 0.14 (Kawachi-Katakami).
2167
2168 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2169
2170         * text-coding.c (char_encode_shift_jis): Modify for
2171         `charset_code_point'.
2172         (char_encode_iso2022): Likewise.
2173
2174         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
2175         (integer) instead of list of <Lisp_Object>s (integers) as the
2176         format of code-point of a coded-charset.
2177         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2178         (encode_builtin_char_1): New function; delete
2179         `split_builtin_char'.
2180         (charset_code_point): Return <int> instead of <Lisp_Object>.
2181         (Fsplit_char): Don't use `SPLIT_CHAR'.
2182
2183         * char-ucs.h (encode_builtin_char_1): New prototype; delete
2184         prototype for `split_builtin_char'.
2185         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2186         (charset_code_point): Likewise.
2187         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
2188         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
2189
2190 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
2191
2192         * mule-charset.c (complex_vars_of_mule_charset): Don't define
2193         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
2194
2195 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2196
2197         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
2198
2199         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
2200         (MAX_CHAR_OBS_94x94): Deleted.
2201
2202 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2203
2204         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
2205
2206         * char-ucs.h (MAX_CHAR_BMP): New macro.
2207
2208 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2209
2210         * text-coding.c: Sync with r21-2-24.
2211
2212 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2213
2214         * file-coding.c: Modify for UTF-2000.
2215
2216 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2217
2218         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2219         to 0.13 (Takaida).
2220
2221 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2222
2223         * mule-charset.c (split_builtin_char): Delete builtin support for
2224         `katakana-jisx0201'.
2225         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
2226         BMP area in builtin representation.
2227
2228         * char-ucs.h (MAKE_CHAR): Delete builtin support for
2229         `Vcharset_katakana_jisx0201'.
2230
2231 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
2232
2233         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2234         (Qisolated): New variable.
2235         (Qinitial): New variable.
2236         (Qmedial): New variable.
2237         (Qfinal): New variable.
2238         (Qvertical): New variable.
2239         (Qsmall): New variable.
2240         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2241         `Qvertical' and `Qsmall'.
2242         (Qmojikyo_pj_[1 .. 21]): New variable.
2243         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2244         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2245         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2246         .. 21]'.
2247
2248 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2249
2250         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2251         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2252         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2253
2254 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2255
2256         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2257         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2258         BMP.
2259         (Qjapanese_jisx0208_1990): New variable.
2260         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2261         (complex_vars_of_mule_charset): Add new coded-charset
2262         `japanese-jisx0208-1990'.
2263
2264         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2265         (MIN_CHAR_JIS_X0208_1990): New macro.
2266         (MAX_CHAR_JIS_X0208_1990): New macro.
2267
2268 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2269
2270         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2271         coded-charset is not found.
2272
2273 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2274
2275         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2276         (Fdefine_char): Use `Fmake_char'.
2277
2278 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2279
2280         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2281         (Vcharset_hiragana_jisx0208): Deleted.
2282         (Vcharset_katakana_jisx0208): Deleted.
2283         (Qideograph_daikanwa): New variable.
2284         (Qhiragana_jisx0208): Deleted.
2285         (Qkatakana_jisx0208): Deleted.
2286         (split_builtin_char): Split `ideograph-daikanwa'.
2287         (Fsplit_char): New implementation for UTF-2000.
2288         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2289         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2290         (complex_vars_of_mule_charset): Add new coded-charset
2291         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2292         `katakana-jisx0208'.
2293
2294         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2295         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2296         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2297         (MIN_CHAR_DAIKANWA): New macro.
2298         (MAX_CHAR_DAIKANWA): New macro.
2299
2300 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2301
2302         * data.c (Fstring_to_number): Don't recognize floating point if
2303         base is not 10.
2304
2305 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2306
2307         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2308
2309 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2310
2311         * mule-charset.c (Qsquare): New variable.
2312         (to_char_code): Add `Qsquare'.
2313         (syms_of_mule_charset): Add new symbol `square'.
2314
2315 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2316
2317         * mule-charset.c (Qcircle): New variable.
2318         (to_char_code): Add `Qcircle'.
2319         (syms_of_mule_charset): Add new symbol `circle'.
2320
2321 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2322
2323         * mule-charset.c (Qfont): New variable.
2324         (to_char_code): Add `Qfont'.
2325         (syms_of_mule_charset): Add new symbol `font'.
2326
2327 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2328
2329         * mule-charset.c (Qsub): New variable.
2330         (to_char_code): Add `Qsub'.
2331         (syms_of_mule_charset): Add new symbol `sub'.
2332
2333 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2334
2335         * mule-charset.c (Fput_char_attribute): Convert each element of
2336         VALUE to GL position if ATTRIBUTE is a GR-set,
2337
2338 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2339
2340         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2341         coded-charset is a GR-set.
2342
2343 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2344
2345         * mule-charset.c (Fput_char_attribute): Check each element of
2346         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2347
2348 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2349
2350         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2351         UTF-2000.
2352         (Qethiopic_ucs): New variable in UTF-2000.
2353         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2354         (complex_vars_of_mule_charset): Add new coded-charset
2355         `ethiopic-ucs' in UTF-2000.
2356
2357         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2358         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2359         9)'.
2360         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2361         10)'.
2362         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2363
2364 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2365
2366         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2367         `ascii'.
2368
2369 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2370
2371         * mule-charset.c (Vcharacter_variant_table): New variable.
2372         (Q_ucs): New variable.
2373         (Fchar_variants): New function.
2374         (Fput_char_attribute): Register `->ucs' value to
2375         `Vcharacter_variant_table'.
2376         (syms_of_mule_charset): Add new function `char-variants' and new
2377         symbol `->ucs'.
2378         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2379
2380 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2381
2382         * mule-charset.c (get_char_code_table): Allow negative character
2383         code.
2384         (put_char_code_table): Likewise.
2385         (Vcharacter_composition_table): New variable.
2386         (Q_decomposition): New variable.
2387         (Qwide): New variable.
2388         (Qnarrow): New variable.
2389         (Qcompat): New variable.
2390         (QnoBreak): New variable.
2391         (Qsuper): New variable.
2392         (Qfraction): New variable.
2393         (to_char_code): New function.
2394         (Fget_composite_char): New function.
2395         (Fput_char_attribute): Register `->decomposition' value to
2396         `Vcharacter_composition_table'.
2397         (syms_of_mule_charset): Add new function `get-composite-char', new
2398         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2399         `super' and `fraction'.
2400         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2401
2402 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2403
2404         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2405         character; copy the return value.
2406
2407 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2408
2409         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2410
2411         * mule-charset.c (range_charset_code_point): Must use make_int.
2412         (split_builtin_char): New function.
2413
2414 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2415
2416         * mule-charset.c (char_byte_table): Change name from
2417         "char-code-table" to "char-byte-table".
2418         (mark_char_code_table): New function.
2419         (char_code_table_equal): New function.
2420         (char_code_table_hash): New function.
2421         (char_code_table_description): New constant.
2422         (char_code_table): New type.
2423         (make_char_code_table): New function.
2424         (copy_char_code_table): New function.
2425         (get_char_code_table): Modify for `char_code_table' type.
2426         (put_char_code_table): Likewise.
2427         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2428         (Kashiwara).
2429
2430         * char-ucs.h (char_code_table): New type.
2431         (XCHAR_CODE_TABLE): New macro.
2432         (XSETCHAR_CODE_TABLE): New macro.
2433         (CHAR_CODE_TABLE_P): New macro.
2434         (GC_CHAR_CODE_TABLE_P): New macro.
2435         (struct Lisp_Char_Code_Table): New structure.
2436
2437 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2438
2439         * mule-charset.c (Fmake_charset): Setup byte_offset for
2440         {94|96}^n-set.
2441
2442 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2443
2444         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2445         character.
2446
2447 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2448
2449         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2450         is found.
2451
2452 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2453
2454         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2455         charset, it is regarded as a charset.
2456         (put_char_attribute): New function in UTF-2000.
2457         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2458         charset, mapping-table of the charset is modified.
2459         (Fdefine_char): New function in UTF-2000.
2460         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2461         `Fput_char_attribute'.
2462         (syms_of_mule_charset): Add new function `define-char' and new
2463         symbol `ucs' in UTF-2000.
2464         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2465
2466 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2467
2468         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2469         non-UTF-2000 configuration.
2470
2471 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2472
2473         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2474         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2475
2476         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2477         deleted.
2478         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2479         (Fset_charset_mapping_table): Likewise.
2480
2481         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2482         (CHARSET_ENCODING_TABLE): Delete.
2483         (XCHARSET_ENCODING_TABLE): Delete.
2484         (charset_code_point): New interface.
2485
2486 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2487
2488         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2489         instead of `charset_get_byte1' and `charset_get_byte2'.
2490
2491         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2492         (charset_get_byte2): Deleted.
2493
2494 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2495
2496         * char-ucs.h (SPLIT_CHAR): New inline function.
2497         (breakup_char_1): Use `SPLIT_CHAR'.
2498
2499         * mule-charset.c (range_charset_code_point): New function.
2500         (charset_code_point): New function.
2501
2502         * char-ucs.h (range_charset_code_point): New interface.
2503         (breakup_char_1): Use `range_charset_code_point'.
2504
2505 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2506
2507         * mule-charset.c (Fmake_charset): Delete unused local variable
2508         `code_offset'.
2509
2510         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2511         (breakup_char_1): Find a charset and code-point in
2512         `Vcharacter_attribute_table'.
2513
2514 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2515
2516         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2517         to 0.10 (Yao).
2518
2519 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2520
2521         * mule-charset.c (Vcharacter_attribute_table): New variable.
2522         (Fchar_attribute_alist): New function.
2523         (Fget_char_attribute): New function.
2524         (Fput_char_attribute): New function.
2525         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2526         too.
2527         (syms_of_mule_charset): Add new function `char-attribute-alist',
2528         `get-char-attribute' and `put-char-attribute'.
2529         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2530
2531 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2532
2533         * mule-charset.c (Fmake_charset): Just use
2534         `get_unallocated_leading_byte'.
2535
2536         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2537         sets; don't use final-byte based number for private sets.
2538
2539 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2540
2541         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2542         integer.
2543
2544 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2545
2546         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2547         to 0.9.
2548
2549 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2550
2551         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2552         of `CHAR_LEADING_BYTE' in UTF-2000.
2553
2554         * insdel.c (find_charsets_in_bufbyte_string): Use
2555         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2556         (find_charsets_in_emchar_string): Likewise.
2557
2558         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2559         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2560
2561         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2562         (CHAR_CHARSET_ID): New macro.
2563
2564 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2565
2566         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2567         charset-id - MIN_LEADING_BYTE.
2568         (put_char_table): Likewise.
2569
2570 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2571
2572         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2573         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2574         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2575         (CHARSET_ID_OFFSET): New macro.
2576         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2577         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2578         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2579         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2580         4).
2581         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2582         5).
2583         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2584         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2585         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2586         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2587         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2588
2589 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2590
2591         * mule-charset.c (next_allocated_leading_byte): New variable in
2592         UTF-2000.
2593         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2594         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2595         (get_unallocated_leading_byte): Simply use
2596         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2597         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2598         UTF-2000.
2599
2600         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2601         (MAX_LEADING_BYTE_PRIVATE): New macro.
2602         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2603         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2604
2605 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2606
2607         * mule-charset.c (Fmake_charset): Allocate final-byte based
2608         charset-id for 94-set, 96-set and 94x94-set.
2609
2610 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2611
2612         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2613         ambiguous `else'.
2614         (Fmake_charset): Likewise.
2615         (complex_vars_of_mule_charset): Modify the font registry of
2616         `ucs-bmp' not to match `Ethiopic-Unicode'.
2617
2618 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2619
2620         * mule-charset.c (complex_vars_of_mule_charset): Add font
2621         registory of `ucs-bmp'.
2622
2623 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2624
2625         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2626         coded-charsets in `default-coded-charset-priority-list' when
2627         breaking up a character.
2628
2629         * mule-charset.c (Vcharset_latin_viscii): New variable.
2630         (Qlatin_viscii): New variable.
2631         (make_charset): Don't use `decoding_table'.
2632         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2633         byte_offset.
2634         (Fset_charset_mapping_table): New implementation.
2635         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2636         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2637         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2638         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2639         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2640         charset `latin_viscii'.
2641
2642         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2643         (CHARSET_TYPE_94X94): Change to 1 from 2.
2644         (CHARSET_TYPE_96): Change to 2 from 1.
2645         (CHARSET_TYPE_128): New macro.
2646         (CHARSET_TYPE_128X128): Change to 5 from 4.
2647         (CHARSET_TYPE_256): New macro.
2648         (CHARSET_TYPE_256X256): Change to 7 from 5.
2649         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2650
2651 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2652
2653         * text-coding.c (char_encode_shift_jis): Refer
2654         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2655         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2656
2657         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2658         (char_byte_table_equal): New function in UTF-2000.
2659         (char_byte_table_hash): New function in UTF-2000.
2660         (char_byte_table_description): New constant in UTF-2000.
2661         (char_byte_table): New type in UTF-2000.
2662         (make_char_byte_table): New function in UTF-2000.
2663         (copy_char_byte_table): New function in UTF-2000.
2664         (make_char_code_table): New macro in UTF-2000.
2665         (get_char_code_table): New function in UTF-2000.
2666         (put_char_code_table): New function in UTF-2000.
2667         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2668         (charset_description): Add setting in UTF-2000.
2669         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2670         `CHARSET_TO_BYTE1_TABLE(cs)'.
2671         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2672         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2673         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2674         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2675         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2676         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2677         `CHARSET_TO_BYTE2_TABLE(cs)'.
2678
2679         * char-ucs.h (char_byte_table): New type.
2680         (XCHAR_BYTE_TABLE): New macro.
2681         (XSETCHAR_BYTE_TABLE): New macro.
2682         (CHAR_BYTE_TABLE_P): New macro.
2683         (GC_CHAR_BYTE_TABLE_P): New macro.
2684         (struct Lisp_Char_Byte_Table): New structure.
2685         (get_char_code_table): New interface.
2686         (Emchar_to_byte_table): Deleted.
2687         (get_byte_from_character_table): Deleted.
2688         (struct Lisp_Charset): Add `encoding_table'; delete
2689         `to_byte1_table' and `to_byte2_table'.
2690         (CHARSET_ENCODING_TABLE): New macro.
2691         (CHARSET_TO_BYTE1_TABLE): Deleted.
2692         (CHARSET_TO_BYTE2_TABLE): Deleted.
2693         (XCHARSET_ENCODING_TABLE): New macro.
2694         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2695         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2696
2697 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2698
2699         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2700         `vietnamese-viscii-*'.
2701
2702 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2703
2704         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2705         (Qvietnamese_viscii_upper): New variable.
2706         (Fdefine_charset_alias): New function.
2707         (syms_of_mule_charset): Add new function `define-charset-alias'.
2708         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2709         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2710         `latin-viscii-*'.
2711
2712 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2713
2714         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2715         (MAX_CHAR_OBS_94x94): New macro.
2716         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2717         for 94x94 sets.
2718
2719         * mule-charset.c (put_byte_from_character_table): Change unit size
2720         from 128 to 256.
2721         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2722         not defined.
2723         (Fmake_reverse_direction_charset): Modify dummy argument of
2724         `make_charset' for non-UTF-2000 environment.
2725
2726 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2727
2728         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2729
2730         * mule-charset.c (destroy_byte_from_character_table): New macro.
2731         (latin_jisx0201_to_ucs): Deleted.
2732         (latin_iso8859_2_to_ucs): Deleted.
2733         (latin_iso8859_3_to_ucs): Deleted.
2734         (latin_iso8859_4_to_ucs): Deleted.
2735         (latin_iso8859_9_to_ucs): Deleted.
2736         (latin_viscii_lower_to_ucs): Deleted.
2737         (latin_viscii_upper_to_ucs): Deleted.
2738         (mark_charset): Mark `cs->decoding_table'.
2739         (Fcharset_mapping_table): Fix DOC-string.
2740         (Fset_charset_mapping_table): New function.
2741         (syms_of_mule_charset): Add nwe function
2742         `set-charset-mapping-table'.
2743         (complex_vars_of_mule_charset): Don't setup and use
2744         `latin_*_to_ucs'.
2745
2746 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2747
2748         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2749         charset.
2750
2751 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2752
2753         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2754         (Vcharset_katakana_jisx0208): New variable.
2755         (Qhiragana_jisx0208): New variable.
2756         (Qkatakana_jisx0208): New variable.
2757         (make_charset): Add new argument `byte_offset'.
2758         (charset_get_byte1): Modify for new coded-charset definition; use
2759         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2760         `XCHARSET_BYTE_OFFSET'.
2761         (Fmake_charset): Modify for `make_charset'.
2762         (Fmake_reverse_direction_charset): Likewise.
2763         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2764         `katakana-jisx0208'.
2765         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2766         `.'  in font registry of charset `katakana-jisx0201',
2767         `latin-jisx0201', `vietnamese-viscii-lower' and
2768         `vietnamese-viscii-upper'; modify DOC-string of charset
2769         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2770         registry of charset `japanese-jisx0208' not to use font for JIS
2771         X0208:1990; add new charset `hiragana-jisx0208' and
2772         `katakana-jisx0208'.
2773
2774         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2775         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2776         (struct Lisp_Charset): Add `byte_offset'.
2777         (CHARSET_BYTE_OFFSET): New macro.
2778         (XCHARSET_UCS_MIN): New macro.
2779         (XCHARSET_UCS_MAX): New macro.
2780         (XCHARSET_CODE_OFFSET): New macro.
2781         (XCHARSET_BYTE_OFFSET): New macro.
2782         (MIN_CHAR_HIRAGANA): New macro.
2783         (MAX_CHAR_HIRAGANA): New macro.
2784         (MIN_CHAR_KATAKANA): New macro.
2785         (MAX_CHAR_KATAKANA): New macro.
2786         (MAKE_CHAR): Modify for new coded-charset definition; use
2787         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2788         `XCHARSET_BYTE_OFFSET'.
2789
2790 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2791
2792         * mule-charset.c (CHAR96): Deleted.
2793         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
2794         <Lisp_Object>.
2795         (latin_iso8859_2_to_ucs): Likewise.
2796         (latin_iso8859_3_to_ucs): Likewise.
2797         (latin_iso8859_4_to_ucs): Likewise.
2798         (latin_iso8859_9_to_ucs): Likewise.
2799         (latin_viscii_lower_to_ucs): Likewise.
2800         (latin_viscii_upper_to_ucs): Likewise.
2801         (latin_tcvn5712_to_ucs): Commented out.
2802         (make_charset): Change type of argument `decoding_table' from
2803         <Emchar*> to <Lisp_Object> [vector of characters].
2804         (Fmake_charset): Modify for `make_charset'.
2805         (Fmake_reverse_direction_charset): Likewise.
2806         (Fcharset_mapping_table): New function in UTF-2000.
2807         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
2808         UTF-2000.
2809         (complex_vars_of_mule_charset): Modify for type change of
2810         `*_to_ucs'; modify for `make_charset'.
2811
2812         * char-ucs.h (struct Lisp_Charset): Change type of
2813         `decoding_table' from <Emchar*> to <Lisp_Object>.
2814         (MAKE_CHAR): Modify for new specification of `decoding_table'.
2815
2816 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2817
2818         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
2819         error with non-UTF-2000-Mule.
2820
2821 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
2822
2823         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
2824         in lisp again].
2825         (Vcharset_chinese_cns11643_4): Likewise.
2826         (Vcharset_chinese_cns11643_5): Likewise.
2827         (Vcharset_chinese_cns11643_6): Likewise.
2828         (Vcharset_chinese_cns11643_7): Likewise.
2829         (Qchinese_cns11643_3): Likewise.
2830         (Qchinese_cns11643_4): Likewise.
2831         (Qchinese_cns11643_5): Likewise.
2832         (Qchinese_cns11643_6): Likewise.
2833         (Qchinese_cns11643_7): Likewise.
2834         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
2835         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2836         and `chinese-cns11643-7' to lisp/mule/chinese.el.
2837         (complex_vars_of_mule_charset): Likewise.
2838
2839 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2840
2841         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
2842         96-set.
2843         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
2844         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
2845
2846 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2847
2848         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
2849         0xFF60.
2850         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
2851         (breakup_char_1): Likewise.
2852
2853         * text-coding.c (char_encode_iso2022): Keep designated charsets if
2854         one of them includes the specified character.
2855
2856 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2857
2858         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
2859
2860 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2861
2862         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
2863
2864 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2865
2866         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
2867         definition for non-UTF-2000 Mule.
2868         (latin_iso8859_3_to_ucs): Likewise.
2869         (latin_iso8859_4_to_ucs): Likewise.
2870         (latin_iso8859_9_to_ucs): Likewise.
2871         (latin_jisx0201_to_ucs): Likewise.
2872         (MIN_CHAR_THAI): Likewise.
2873         (MAX_CHAR_THAI): Likewise.
2874         (MIN_CHAR_GREEK): Likewise.
2875         (MAX_CHAR_GREEK): Likewise.
2876         (MIN_CHAR_HEBREW): Likewise.
2877         (MAX_CHAR_HEBREW): Likewise.
2878         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
2879         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
2880         (MIN_CHAR_CYRILLIC): Likewise.
2881         (MAX_CHAR_CYRILLIC): Likewise.
2882
2883 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2884
2885         * char-ucs.h (breakup_char_1): Use
2886         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
2887         thai-tis620 and katakana-jisx0201 area.
2888
2889 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2890
2891         * char-ucs.h (breakup_char_1): Use
2892         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
2893         area.
2894
2895         * text-coding.c (reset_encoding_stream): Fixed.
2896         (char_encode_ucs4): Delete `& 255'.
2897
2898         * char-ucs.h (breakup_char_1): Use
2899         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
2900
2901 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2902
2903         * file-coding.c (Fmake_coding_system): Don't set up
2904         `codesys->fixed.size'.
2905         (encode_coding_no_conversion): Don't refer
2906         `str->codesys->fixed.size'.
2907
2908 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2909
2910         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
2911         (latin_a_char_to_byte1): Deleted.
2912         (latin_a_char_to_byte2): Deleted.
2913
2914 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2915
2916         * mule-charset.c (make_charset): Add new argument `ucs_min',
2917         `ucs_max' and `code_offset'.
2918         (charset_get_byte1): New implementation [delete specific charset
2919         depended implementations].
2920         (Fmake_charset): Modify for `make_charset'.
2921         (Fmake_reverse_direction_charset): Likewise.
2922         (complex_vars_of_mule_charset): Likewise.
2923
2924         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
2925         `code_offset'.
2926         (CHARSET_UCS_MIN): New macro.
2927         (CHARSET_UCS_MAX): New macro.
2928         (CHARSET_CODE_OFFSET): New macro.
2929         (MAKE_CHAR): Delete charset depended definitions [except
2930         katakana-jisx0201].
2931
2932 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2933
2934         * char-ucs.h (breakup_char_1): Use
2935         `Vdefault_coded_charset_priority_list' for C0-Controls,
2936         Basic-Latin, C1-Controls and Latin-1-Supplement area.
2937
2938 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2939
2940         * char-ucs.h (charset_get_byte1): New function.
2941         (XCHARSET_GET_BYTE1): Deleted.
2942         (charset_get_byte2): New function.
2943         (XCHARSET_GET_BYTE2): Deleted.
2944         (Vdefault_coded_charset_priority_list): New external variable.
2945         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
2946         `Vdefault_preferred_coded_charset_list'.
2947
2948         * mule-charset.c (charset_get_byte1): New function.
2949         (charset_get_byte2): New function.
2950         (Vdefault_coded_charset_priority_list): New variable.
2951         (vars_of_mule_charset): Add new variable
2952         `default-coded-charset-priority-list'.
2953
2954 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2955
2956         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
2957         (XCHARSET_GET_BYTE2): New inline function.
2958         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
2959         `XCHARSET_GET_BYTE2'.
2960
2961 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2962
2963         * mule-charset.c (make_charset): Initialize
2964         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
2965         NULL if table is not defined.
2966
2967 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2968
2969         * text-coding.c (char_encode_shift_jis): Use
2970         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
2971         `ucs_to_latin_jisx0201'.
2972
2973         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
2974         (ucs_to_latin_iso8859_2): Deleted.
2975         (ucs_to_latin_iso8859_3): Deleted.
2976         (ucs_to_latin_iso8859_4): Deleted.
2977         (ucs_to_latin_iso8859_9): Deleted.
2978         (ucs_to_latin_viscii_lower): Deleted.
2979         (ucs_to_latin_viscii_upper): Deleted.
2980         (ucs_to_latin_tcvn5712): Deleted.
2981         (make_charset): Add new argument `decoding_table'; set up
2982         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
2983         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
2984         `decoding_table' is defined in UTF-2000.
2985         (Fmake_charset): Modify for `make_charset'.
2986         (Fmake_reverse_direction_charset): Likewise.
2987         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
2988         and `GENERATE_96_SET'.
2989
2990         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
2991         (ucs_to_latin_jisx0201): Deleted.
2992         (latin_iso8859_2_to_ucs): Deleted.
2993         (ucs_to_latin_iso8859_2): Deleted.
2994         (latin_iso8859_3_to_ucs): Deleted.
2995         (ucs_to_latin_iso8859_3): Deleted.
2996         (latin_iso8859_4_to_ucs): Deleted.
2997         (ucs_to_latin_iso8859_4): Deleted.
2998         (latin_iso8859_9_to_ucs): Deleted.
2999         (ucs_to_latin_iso8859_9): Deleted.
3000         (latin_viscii_lower_to_ucs): Deleted.
3001         (ucs_to_latin_viscii_lower): Deleted.
3002         (latin_viscii_upper_to_ucs): Deleted.
3003         (ucs_to_latin_viscii_upper): Deleted.
3004         (struct Lisp_Charset): Renamed `encoding_table' to
3005         `to_byte1_table'; add `to_byte2_table'.
3006         (CHARSET_DECODING_TABLE): New macro.
3007         (CHARSET_TO_BYTE1_TABLE): New macro.
3008         (CHARSET_TO_BYTE2_TABLE): New macro.
3009         (XCHARSET_DECODING_TABLE): New macro.
3010         (XCHARSET_TO_BYTE1_TABLE): New macro.
3011         (XCHARSET_TO_BYTE2_TABLE): New macro.
3012         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3013         tables.
3014         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3015         don't use `ucs_to_*' tables.
3016
3017 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3018
3019         * text-coding.c (Fmake_coding_system): Don't set up
3020         `codesys->fixed.size'.
3021         (encode_coding_no_conversion): Use `if' instead of `switch'.
3022
3023         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3024
3025 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3026
3027         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3028         (Fmake_charset): Modify for `make_charset'.
3029         (Fmake_reverse_direction_charset): Likewise.
3030         (complex_vars_of_mule_charset): Likewise.
3031
3032 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3033
3034         * text-coding.c (char_encode_shift_jis): Use table
3035         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3036
3037 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3038
3039         * text-coding.c (text_encode_generic): Use `if' instead of
3040         `switch'.
3041         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3042         decode JIS-Latin.
3043
3044 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3045
3046         * text-coding.c (encode_coding_sjis): Deleted.
3047         (char_encode_shift_jis): New function.
3048         (char_finish_shift_jis): New function.
3049         (reset_encoding_stream): Set up `encode_char' and `finish' for
3050         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3051         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3052         (char_encode_utf8): Treat `eol_type'.
3053
3054 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3055
3056         * file-coding.c (decode_coding_iso2022): Use
3057         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3058
3059 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3060
3061         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3062         to 0.7 (Hirano).
3063
3064 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3065
3066         * char-lb.h (CHAR_COLUMNS): New macro.
3067
3068 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3069
3070         * text-coding.c (char_encode_ucs4): New function.
3071         (char_finish_ucs4): New function.
3072         (encode_coding_ucs4): Deleted.
3073         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3074         (text_encode_generic): Delete local variable `charset' and `half'.
3075         (ucs_to_mule_table): Deleted.
3076         (mule_to_ucs_table): Deleted.
3077         (Fset_ucs_char): Deleted.
3078         (ucs_to_char): Deleted.
3079         (Fucs_char): Deleted.
3080         (Fset_char_ucs): Deleted.
3081         (Fchar_ucs): Deleted.
3082         (decode_ucs4): Deleted.
3083         (mule_char_to_ucs4): Deleted.
3084         (encode_ucs4): Deleted.
3085         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3086         (decode_coding_utf8): Likewise.
3087         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3088         (char_encode_iso2022): Fixed.
3089         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3090         `Fset_char_ucs' and `Fchar_ucs'.
3091         (complex_vars_of_file_coding): Don't initialize
3092         `ucs_to_mule_table'.
3093
3094         * objects-tty.c (tty_initialize_font_instance): Don't use
3095         `XCHARSET_COLUMNS'.
3096
3097         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3098         UTF-2000.
3099
3100         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
3101         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3102
3103         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
3104         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3105         (emchar_string_displayed_columns): Likewise.
3106
3107         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
3108         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3109         (string_column_at_point): Likewise.
3110         (Fmove_to_column): Likewise.
3111
3112         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
3113         `encoding_table' and `decoding_table'.
3114         (CHARSET_REP_BYTES): Deleted.
3115         (XCHARSET_REP_BYTES): Deleted.
3116         (XCHARSET_COLUMNS): Deleted.
3117         (CHAR_COLUMNS): New macro.
3118         (lookup_composite_char): Deleted unconditionally.
3119         (composite_char_string): Likewise.
3120
3121 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3122
3123         * char-ucs.h (Emchar_to_byte_table): New type.
3124         (get_byte_from_character_table): New function interface.
3125         (Vcharset_latin_jisx0201): New variable.
3126         (latin_jisx0201_to_ucs): New variable.
3127         (ucs_to_latin_jisx0201): New variable.
3128         (Vcharset_latin_iso8859_2): New variable.
3129         (latin_iso8859_2_to_ucs): New variable.
3130         (ucs_to_latin_iso8859_2): New variable.
3131         (Vcharset_latin_iso8859_3): New variable.
3132         (latin_iso8859_3_to_ucs): New variable.
3133         (ucs_to_latin_iso8859_3): New variable.
3134         (Vcharset_latin_iso8859_4): New variable.
3135         (latin_iso8859_4_to_ucs): New variable.
3136         (ucs_to_latin_iso8859_4): New variable.
3137         (Vcharset_latin_iso8859_9): New variable.
3138         (latin_iso8859_9_to_ucs): New variable.
3139         (ucs_to_latin_iso8859_9): New variable.
3140         (Vcharset_latin_viscii_lower): New variable.
3141         (latin_viscii_lower_to_ucs): New variable.
3142         (ucs_to_latin_viscii_lower): New variable.
3143         (Vcharset_latin_viscii_upper): New variable.
3144         (latin_viscii_upper_to_ucs): New variable.
3145         (ucs_to_latin_viscii_upper): New variable.
3146         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
3147         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
3148         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
3149         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
3150         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
3151         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
3152         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
3153         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
3154         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
3155         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
3156
3157         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
3158         (Vcharset_latin_viscii_upper): New variable.
3159         (make_byte_from_character_table): New function.
3160         (put_byte_from_character_table): New function.
3161         (get_byte_from_character_table): New function.
3162         (CHAR96): New macro.
3163         (ucs_to_latin_jisx0201): New variable.
3164         (latin_jisx0201_to_ucs): New variable.
3165         (ucs_to_latin_iso8859_2): New variable.
3166         (latin_iso8859_2_to_ucs): New variable.
3167         (ucs_to_latin_iso8859_3): New variable.
3168         (latin_iso8859_3_to_ucs): New variable.
3169         (ucs_to_latin_iso8859_4): New variable.
3170         (latin_iso8859_4_to_ucs): New variable.
3171         (ucs_to_latin_iso8859_9): New variable.
3172         (latin_iso8859_9_to_ucs): New variable.
3173         (ucs_to_latin_viscii_lower): New variable.
3174         (latin_viscii_lower_to_ucs): New variable.
3175         (ucs_to_latin_viscii_upper): New variable.
3176         (latin_viscii_upper_to_ucs): New variable.
3177         (ucs_to_latin_tcvn5712): New variable.
3178         (latin_tcvn5712_to_ucs): New variable.
3179         (Qlatin_viscii_lower): New variable.
3180         (Qlatin_viscii_upper): New variable.
3181         (syms_of_mule_charset): Set up new symbol
3182         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
3183         (complex_vars_of_mule_charset): Set up new charset
3184         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
3185         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
3186         `ucs_to_<CHARSET>' tables.
3187
3188 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3189
3190         * text-coding.c: New file.
3191
3192 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3193
3194         * mule-charset.c (Fmake_char): Fix problem of 256-set.
3195
3196         * char-ucs.h (Vcharset_ucs_bmp): New variable.
3197         (MAKE_CHAR): Modify for `ucs-bmp'.
3198         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
3199         non-MULE characters of BMP.
3200
3201 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
3202
3203         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3204         to 0.6.
3205
3206 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3207
3208         * lstream.h:
3209         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
3210         - Include character.h for `CHAR_ASCII_P'.
3211
3212         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
3213
3214         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
3215         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
3216
3217         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
3218         (BYTE_C0_P): Likewise.
3219         (BYTE_C1_P): Likewise.
3220         (Lstream_get_emchar_1): Likewise.
3221         (Lstream_fput_emchar): Likewise.
3222         (Lstream_funget_emchar): Likewise.
3223         (copy_internal_to_external): Likewise.
3224         (copy_external_to_internal): Likewise.
3225
3226         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
3227         (BYTE_C0_P): Likewise.
3228         (BYTE_C1_P): Likewise.
3229         (Lstream_get_emchar_1): Likewise.
3230         (Lstream_fput_emchar): Likewise.
3231         (Lstream_funget_emchar): Likewise.
3232         (copy_internal_to_external): Likewise.
3233         (copy_external_to_internal): Likewise.
3234
3235         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3236         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3237
3238         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3239         (BYTE_ASCII_P): Moved to mb-1byte.h.
3240
3241 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3242
3243         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3244
3245         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3246         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3247         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3248         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3249         (VALIDATE_CHARPTR_FORWARD): Likewise.
3250         (simple_charptr_emchar): Moved to mb-multibyte.h.
3251         (simple_set_charptr_emchar): Likewise.
3252         (simple_charptr_copy_char): Likewise.
3253         (non_ascii_charptr_emchar): Likewise.
3254         (non_ascii_set_charptr_emchar): Likewise.
3255         (non_ascii_charptr_copy_char): Likewise.
3256         (charptr_emchar): Moved to mb-*byte.h.
3257         (set_charptr_emchar): Likewise.
3258         (charptr_copy_char): Likewise.
3259
3260         * mb-1byte.h, mb-multibyte.h: New files.
3261
3262 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3263
3264         * mb-utf-8.h (MULTIBYTE): New macro.
3265         (MAX_EMCHAR_LEN): Moved from buffer.h.
3266         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3267
3268         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3269
3270         * mb-lb.h, multibyte.h: New files.
3271
3272         * char-1byte.h (Charset_ID): Moved from buffer.h.
3273         (MIN_LEADING_BYTE): Likewise.
3274         (LEADING_BYTE_ASCII): Likewise.
3275         (NUM_LEADING_BYTES): Likewise.
3276         (CHARSETP): Likewise.
3277         (CHARSET_BY_LEADING_BYTE): Likewise.
3278         (XCHARSET_LEADING_BYTE): Likewise.
3279         (XCHARSET_GRAPHIC): Likewise.
3280         (XCHARSET_COLUMNS): Likewise.
3281         (XCHARSET_DIMENSION): Likewise.
3282         (CHAR_CHARSET): Likewise.
3283         (CHAR_LEADING_BYTE): Likewise.
3284         (BREAKUP_CHAR): Likewise.
3285         (Vcharset_ascii): Likewise.
3286
3287         * buffer.h: Include multibyte.h unconditionally.
3288         (VALID_CHARPTR_P): Moved to multibyte.h.
3289         (ASSERT_VALID_CHARPTR): Likewise.
3290         (REAL_INC_CHARPTR): Likewise.
3291         (REAL_INC_CHARBYTIND): Likewise.
3292         (REAL_DEC_CHARPTR): Likewise.
3293         (INC_CHARPTR): Likewise.
3294         (INC_CHARBYTIND): Likewise.
3295         (DEC_CHARPTR): Likewise.
3296         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3297         (VALIDATE_CHARPTR_FORWARD): Likewise.
3298         (charptr_n_addr): Likewise.
3299         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3300         (simple_charptr_emchar): Moved to multibyte.h.
3301         (simple_set_charptr_emchar): Likewise.
3302         (simple_charptr_copy_char): Likewise.
3303         (non_ascii_charptr_emchar): Likewise.
3304         (non_ascii_set_charptr_emchar): Likewise.
3305         (non_ascii_charptr_copy_char): Likewise.
3306         (charptr_emchar): Likewise.
3307         (set_charptr_emchar): Likewise.
3308         (charptr_copy_char): Likewise.
3309         (charptr_emchar_n): Likewise.
3310         (Charset_ID): Moved to char-1byte.h.
3311         (Vcharset_ascii): Likewise.
3312         (CHAR_CHARSET): Likewise.
3313         (CHAR_LEADING_BYTE): Likewise.
3314         (LEADING_BYTE_ASCII): Likewise.
3315         (NUM_LEADING_BYTES): Likewise.
3316         (MIN_LEADING_BYTE): Likewise.
3317         (CHARSETP): Likewise.
3318         (CHARSET_BY_LEADING_BYTE): Likewise.
3319         (XCHARSET_LEADING_BYTE): Likewise.
3320         (XCHARSET_GRAPHIC): Likewise.
3321         (XCHARSET_COLUMNS): Likewise.
3322         (XCHARSET_DIMENSION): Likewise.
3323         (BREAKUP_CHAR): Likewise.
3324
3325 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3326
3327         * character.h: Add document about interface for characters.
3328
3329         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3330         (MAKE_CHAR): Delete comment about
3331         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3332         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3333         (BREAKUP_CHAR): Modify name of arguments.
3334         (CHAR_CHARSET): Modify name of argument.
3335
3336         * buffer.h: Delete document about Emchar accessors.
3337
3338 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3339
3340         * character.h (CHAR_INTP): Moved from buffer.h
3341         (CHAR_OR_CHAR_INTP): Likewise.
3342         (XCHAR_OR_CHAR_INT): Likewise.
3343         (CHECK_CHAR_COERCE_INT): Likewise.
3344
3345         * buffer.h (CHAR_INTP): Moved to character.h
3346         (CHAR_OR_CHAR_INTP): Likewise.
3347         (XCHAR_OR_CHAR_INT): Likewise.
3348         (CHECK_CHAR_COERCE_INT): Likewise.
3349
3350 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3351
3352         * character.h:
3353         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3354         - Include char-1byte.h, char-lb.h or char-ucs.h.
3355
3356         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3357
3358         * buffer.h: Include character unconditionally.
3359         (valid_char_p): Moved to char-*.h.
3360         (non_ascii_valid_char_p): Moved to char-lb.h.
3361
3362         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3363
3364 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3365
3366         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3367         in UTF-2000 because it is not ported yet and not to use
3368         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3369         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3370         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3371
3372         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3373         (CHAR_ASCII_P): Moved from character.h.
3374
3375         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3376         (CHAR_ASCII_P): Likewise.
3377         (CHAR_FIELD1_MASK): Deleted.
3378         (CHAR_FIELD2_MASK): Deleted.
3379         (CHAR_FIELD3_MASK): Deleted.
3380         (MAX_CHAR_BASIC_LATIN): New macro.
3381         (CHAR_FIELD1): Deleted.
3382         (CHAR_FIELD2_INTERNAL): Deleted.
3383         (CHAR_FIELD3_INTERNAL): Deleted.
3384         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3385         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3386         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3387         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3388         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3389         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3390         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3391         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3392         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3393         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3394         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3395         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3396         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3397         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3398         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3399         (MIN_CHAR_COMPOSITION): Deleted.
3400         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3401         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3402
3403 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3404
3405         * buffer.h: Include mb-utf-8.h in UTF-2000.
3406
3407         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3408
3409         * mb-utf-8.h: New file.
3410
3411 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3412
3413         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3414         instead of `int'.
3415
3416         * mule-charset.h, buffer.h (Charset_ID): New type.
3417
3418 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3419
3420         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3421         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3422         instead of `MULE_CHAR_PRIVATE_OFFSET',
3423         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3424         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3425         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3426
3427         * character.h (Vcharset_japanese_jisx0212): New variable
3428         definition.
3429
3430 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3431
3432         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3433         (charset_by_attributes): Delete array about direction.
3434         (latin_a_char_to_charset): New variable in UTF-2000.
3435         (latin_a_char_to_byte1): New variable in UTF-2000.
3436         (latin_a_char_to_byte2): New variable in UTF-2000.
3437         (Qucs_bmp): New variable.
3438         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3439         `Bufbyte'.
3440         (next_allocated_2_byte_leading_byte): Likewise.
3441         (non_ascii_set_charptr_emchar): Likewise.
3442         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3443         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3444         `charset_by_attributes'.
3445         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3446         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3447         and `CHARSET_BY_LEADING_BYTE'.
3448         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3449         `utf-2000-version' to `vars_of_mule_charset'.
3450         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3451         define `leading-code-private-11' in UTF-2000; move setting of
3452         `utf-2000-version' from `syms_of_mule_charset'.
3453         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3454         UTF-2000.
3455
3456         * character.h (Charset_ID): New type.
3457         (LEADING_BYTE_UCS_BMP): New macro.
3458         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3459         (CHARSET_ID_OFFSET_94): New macro.
3460         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3461         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3462         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3463         final-byte.
3464         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3465         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3466         (CHARSET_ID_OFFSET_96): New macro.
3467         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3468         CHARSET_ID_OFFSET_96 and final-byte.
3469         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3470         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3471         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3472         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3473         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3474         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3475         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3476         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3477         (LEADING_BYTE_THAI_TIS620): Likewise.
3478         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3479         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3480         (CHARSET_ID_OFFSET_94x94): New macro.
3481         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3482         CHARSET_ID_OFFSET_94x94 and final-byte.
3483         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3484         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3485         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3486         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3487         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3488         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3489         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3490         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3491         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3492         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3493         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3494         (CHARSET_TYPE_128X128): New macro.
3495         (CHARSET_TYPE_256X256): New macro.
3496         (XCHARSET_PRIVATE_P): Delete unconditionally.
3497         (charset_by_attributes): Delete array about direction.
3498         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3499         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3500         (MIN_CHAR_94): New macro.
3501         (MAX_CHAR_94): New macro.
3502         (MIN_CHAR_96): New macro.
3503         (MAX_CHAR_96): New macro.
3504         (MIN_CHAR_94x94): New macro.
3505         (MAX_CHAR_94x94): New macro.
3506         (MIN_CHAR_96x96): New macro.
3507         (MAX_CHAR_96x96): New macro.
3508         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3509         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3510         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3511         - 32)'.
3512         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3513         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3514         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3515         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3516         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3517         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3518         `XCHARSET_LEADING_BYTE' to make code-point.
3519         (latin_a_char_to_charset): New variable.
3520         (latin_a_char_to_byte1): New variable.
3521         (latin_a_char_to_byte2): New variable.
3522         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3523         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3524         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3525
3526         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3527         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3528         (find_charsets_in_emchar_string): Likewise.
3529         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3530
3531         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3532         `int'.
3533         (decode_coding_iso2022): Likewise.
3534
3535         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3536         of `unsigned char'.
3537
3538         * redisplay.c (redisplay_text_width_emchar_string): Use
3539         `Charset_ID' instead of `unsigned char'.
3540         (redisplay_frame_text_width_string): Likewise.
3541
3542         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3543         `unsigned char'.
3544
3545         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3546         instead of `unsigned char'.
3547         (face_cachel_charset_font_metric_info): Likewise.
3548
3549         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3550         (get_non_ascii_char_table_value): Likewise.
3551         (get_char_table): Likewise.
3552         (put_char_table): Likewise.
3553         (map_over_other_charset): Likewise.
3554         (map_char_table): Likewise.
3555
3556         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3557         instead of `unsigned char'.
3558
3559 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3560
3561         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3562         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3563
3564         * mule-charset.c (leading_code_private_11): Don't define in
3565         UTF-2000.
3566
3567         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3568         in UTF-2000 because it is not ported yet and not to use
3569         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3570
3571 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3572
3573         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3574
3575 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3576
3577         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3578         in UTF-2000.
3579
3580         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3581         of unsigned char to store leading-byte.
3582
3583         * chartab.c (get_non_ascii_char_table_value): Don't use
3584         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3585
3586         * file-coding.c (encode_coding_big5): Delete bogus implementation
3587         in UTF2000.
3588
3589         * character.h (LEADING_BYTE_*): Delete definition for
3590         non-UTF-2000.
3591         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3592         (LEADING_BYTE_PREFIX_P): Deleted.
3593         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3594         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3595         (BUFBYTE_LEADING_BYTE_P): Deleted.
3596         (CHARSET_PRIVATE_P): Deleted unconditionally.
3597         (rep_bytes_by_first_byte): Deleted unconditionally.
3598         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3599         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3600         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3601         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3602         (CHAR_FIELD2): Deleted.
3603         (CHAR_FIELD3): Deleted.
3604         (MAKE_CHAR): Delete definition for non-UTF-2000.
3605         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3606         (breakup_char_1): New implementation.
3607         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3608         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3609
3610 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3611
3612         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3613         condition.
3614
3615 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3616
3617         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3618         (CHARSET_PRIVATE_P): Likewise.
3619         (XCHARSET_PRIVATE_P): Likewise.
3620         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3621
3622         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3623         UTF2000.
3624         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3625
3626 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3627
3628         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3629         (NUM_LEADING_BYTES): Changed from 128 to 256.
3630         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3631         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3632         UTF2000.
3633         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3634
3635         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3636         UTF2000.
3637         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3638         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3639         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3640         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3641         (Qchinese_cns11643_3): New variable in UTF2000.
3642         (Qchinese_cns11643_4): New variable in UTF2000.
3643         (Qchinese_cns11643_5): New variable in UTF2000.
3644         (Qchinese_cns11643_6): New variable in UTF2000.
3645         (Qchinese_cns11643_7): New variable in UTF2000.
3646         (syms_of_mule_charset): Define `chinese-cns11643-3',
3647         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3648         and `chinese-cns11643-7' in UTF2000.
3649         (vars_of_mule_charset): Initialize
3650         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3651         + 1 in UTF2000.
3652         (complex_vars_of_mule_charset): Setup charset
3653         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3654         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3655
3656 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3657
3658         * mule-charset.c: Move setting for `leading-code-private-11' from
3659         `syms_of_mule_charset' to `vars_of_mule_charset'.
3660
3661 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3662
3663         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3664         and `NUM_LEADING_BYTES' in assert.
3665
3666 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3667
3668         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3669         instead of 128.
3670         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3671         `NUM_LEADING_BYTES' instead of 128.
3672
3673 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3674
3675         * mule-charset.h (charset_by_leading_byte): Use
3676         `NUM_LEADING_BYTES' instead of 128.
3677         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3678
3679         * mule-charset.c (charset_by_leading_byte): Use
3680         `NUM_LEADING_BYTES' instead of 128.
3681         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3682
3683         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3684         128.
3685
3686 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3687
3688         * mule-charset.c (syms_of_mule_charset): Update to
3689         0.4 (Shin-Imamiya).
3690
3691 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3692
3693         * file-coding.c (encode_coding_sjis): New implementation for
3694         UTF2000.  (decode_coding_sjis): Ditto.
3695
3696 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3697
3698         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3699         Don't define in UTF2000.
3700
3701         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3702         defined.
3703
3704         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3705         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3706         MULE.
3707
3708 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3709
3710         * config.h.in (CHAR_IS_UCS4): New macro.
3711
3712         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3713         conventional MULE representation.
3714         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3715
3716         * mule-charset.h: Reverted to original.
3717
3718         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3719         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3720         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3721
3722         * character.h: New file.
3723
3724         * file-coding.c (Fmake_coding_system): Set 1 to
3725         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3726         defined.
3727         (encode_coding_no_conversion): New implementation for UTF2000.
3728
3729         * file-coding.h (struct Lisp_Coding_System): Add new member
3730         `fixed.size'.
3731
3732 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3733
3734         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3735         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3736         (encode_coding_iso2022): New implementation for UTF2000.
3737
3738 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3739
3740         * mule-canna.c (c2mu): New implementation for UTF2000.
3741         (m2c): Likewise.
3742
3743 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3744
3745         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3746
3747 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3748
3749         * file-coding.c (reset_encoding_stream): Set 0 to
3750         `str->iso2022.current_char_boundary' in UTF2000.
3751         (encode_utf8): Don't define in UTF2000.
3752         (encode_coding_utf8): New implementation for UTF-8 representation
3753         of UTF2000.
3754         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3755
3756 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3757
3758         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3759
3760         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3761         UTF2000.
3762         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3763
3764         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3765
3766         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3767         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3768         as UTF-8 in UTF2000.
3769         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3770         (non_ascii_valid_char_p): Don't define in UTF2000.
3771         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3772         (Lstream_get_emchar_1): Likewise.
3773         (utf-2000-version): New variable in UTF2000.
3774
3775         * lread.c (read_escape): Add new reader `u'.
3776
3777         * insdel.c (three_to_one_table): Don't define in UTF2000.
3778         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3779         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3780         UTF2000.
3781         (bytind_to_bufpos_func): Likewise.
3782         (buffer_mule_signal_inserted_region): Likewise.
3783         (vars_of_insdel): Don't initialize `three_to_one_table'.
3784         (init_buffer_text): Use `buf->text->mule_size' instead of
3785         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3786         UTF2000.
3787
3788         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
3789         UTF-8 representation in UTF2000.
3790         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
3791         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
3792         (decode_coding_iso2022): Don't define local variable `lb' in
3793         UTF2000; don't use LEADING_BYTE in UTF2000; use
3794         `DECODE_ADD_UCS_CHAR' in UTF2000.
3795         (convert_to_external_format): Decode as UTF-8 in UTF2000.
3796
3797         * config.h.in (UTF2000): New macro.
3798
3799         * buffer.h (struct buffer_text): Add new member `mule_size' and
3800         don't add `mule_shifter' and `mule_three_p' in UTF2000.
3801         (valid_char_p): Return always 1 in UTF2000.
3802         (MAX_EMCHAR_LEN): 6 in UTF2000.
3803         (three_to_one_table): Don't define in UTF2000.
3804         (real_bufpos_to_bytind): Modify for UTF-8 representation in
3805         UTF2000.
3806         (real_bytind_to_bufpos): Likewise.
3807
3808         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
3809
3810 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3811
3812         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
3813         representation change.
3814         (Vutf_2000_version): New variable.
3815         (leading_code_private_11): New variable.
3816         (syms_of_mule_charset): Add new variables `utf-2000-version' and
3817         `leading-code-private-11'.
3818
3819         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
3820         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
3821         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
3822         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
3823         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
3824         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
3825         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
3826         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
3827         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
3828         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
3829         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
3830         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
3831         (MIN_CHAR_GREEK): New macro.
3832         (MAX_CHAR_GREEK): New macro.
3833         (MIN_CHAR_CYRILLIC): New macro.
3834         (MAX_CHAR_CYRILLIC): New macro.
3835         (MIN_CHAR_HEBREW): New macro.
3836         (MAX_CHAR_HEBREW): New macro.
3837         (MIN_CHAR_THAI): New macro.
3838         (MAX_CHAR_THAI): New macro.
3839         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
3840         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
3841         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
3842         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
3843         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
3844         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
3845         (CHAR_FIELD2): New inline function.
3846         (CHAR_FIELD3): New inline function.
3847         (MULE_CHAR_PRIVATE_OFFSET): New macro.
3848         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
3849         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
3850         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
3851         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
3852         (MIN_CHAR_COMPOSITION): Likewise.
3853         (CHAR_LEADING_BYTE): Modified for character representation change.
3854         (MAKE_CHAR): Likewise.
3855
3856         * lisp.h (Vcharset_latin_iso8859_1): New variable.
3857         (Vcharset_greek_iso8859_7): Likewise.
3858         (Vcharset_cyrillic_iso8859_5): Likewise.
3859         (Vcharset_hebrew_iso8859_8): Likewise.
3860         (Vcharset_thai_tis620): Likewise.
3861         (Vcharset_katakana_jisx0201): Likewise.
3862
3863 2001-02-08  Martin Buchholz <martin@xemacs.org>
3864
3865         * XEmacs 21.2.44 "Thalia" is released.
3866
3867 2001-02-06  Martin Buchholz  <martin@xemacs.org>
3868
3869         Fixes crashes in kill-emacs on some systems.
3870         * process-unix.c (unix_kill_child_process):
3871         It's OK for kill() to fail with ESRCH.
3872
3873 2001-02-07  Martin Buchholz  <martin@xemacs.org>
3874
3875         Contortions to make .gdbinit tricks work on most systems.
3876         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
3877         * alloc.c (dbg_valmask): Make non-const.
3878         * alloc.c (dbg_typemask): Make non-const.
3879         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
3880         * alloc.c (dbg_valbits): Make non-const.
3881         * alloc.c (dbg_gctypebits): Make non-const.
3882         * .gdbinit (decode_object): Make it work with AIX cc.
3883
3884 2001-02-06  Martin Buchholz  <martin@xemacs.org>
3885
3886         * elhash.c (make_general_lisp_hash_table):
3887         Use simpler and more efficient calloc to clear entries.
3888
3889 2001-02-07  Martin Buchholz  <martin@xemacs.org>
3890
3891         * window.c (window_scroll): Work around an AIX C compiler bug.
3892         Fixes 'scroll-up' does nothing problem with xlC.
3893
3894 2001-02-05  Martin Buchholz  <martin@xemacs.org>
3895
3896         * .gdbinit: Remove obsolete comment.
3897
3898 2001-01-31  Mike Alexander  <mta@arbortext.com>
3899
3900         * select.c (Fown_selection_internal): Set owned_p for device
3901         method correctly.
3902
3903 2001-02-01  Martin Buchholz  <martin@xemacs.org>
3904
3905         Port to g++ 2.97.
3906         "not" cannot be used as a macro name as it is an operator in C++
3907         * config.h.in: Stop #defining `not'.
3908         * chartab.c (check_category_char): not ==> not_p
3909         * chartab.h: Likewise.
3910         * regex.c (re_match_2_internal): Likewise.
3911
3912 2001-02-02  Martin Buchholz  <martin@xemacs.org>
3913
3914         * lisp-disunion.h: Fix up comments.
3915
3916 2001-01-31  Martin Buchholz  <martin@xemacs.org>
3917
3918         * keymap.c (define_key_check_and_coerce_keysym):
3919         (syms_of_keymap):
3920         Support mouse-6 and mouse-7 bindings in the obvious way.
3921
3922 2001-02-01  Martin Buchholz  <martin@xemacs.org>
3923
3924         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
3925
3926 2001-01-30  Martin Buchholz  <martin@xemacs.org>
3927
3928         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
3929         Previous patch missed DEFVAR_INT_MAGIC.
3930         Make sure future DEFVAR_foo use correct types.
3931         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
3932         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
3933         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
3934         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
3935         * (DEFVAR_INT): Likewise.
3936         * redisplay.c (vertical_clip): Should be of type Fixnum.
3937         * redisplay.c (horizontal_clip): Likewise.
3938         * lisp.h (dump_add_opaque_int): New.
3939         (dump_add_opaque_fixnum): New.
3940
3941 2001-01-29  Andy Piper  <andy@xemacs.org>
3942
3943         * glyphs-widget.c (check_valid_int_or_function): allow symbols
3944         since they can be eval'ed
3945
3946 2001-01-29  Martin Buchholz  <martin@xemacs.org>
3947
3948         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
3949         Oops, XEmacs redefines `class'.  Use `typename' instead.
3950
3951 2001-01-28  Martin Buchholz  <martin@xemacs.org>
3952
3953         * dumper.c: Fix C++ compile errors.
3954
3955 2001-01-29  Martin Buchholz  <martin@xemacs.org>
3956
3957         * tparam.c: Use correct prototypes.
3958
3959 2001-01-28  Martin Buchholz  <martin@xemacs.org>
3960
3961         * sysproc.h: #include util.h for NetBSD's openpty.
3962
3963 2001-01-27  Martin Buchholz  <martin@xemacs.org>
3964
3965         More 64-bit correctness.
3966         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
3967         Use a typedef `fixnum' for the type used for DEFVAR_INT.
3968         Fix up comments.
3969         This finally finishes the 64-bit SGI port.
3970         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
3971         * symbols.c: Fix up comments and type casts.
3972         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
3973         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
3974         * symeval.h (Fixnum): New type.
3975         * symeval.h (symbol_value_type): Fix up comment.
3976
3977         * commands.h:
3978         * nt.c:
3979         * emacs.c:
3980         * data.c:
3981         * redisplay.c:
3982         * abbrev.c:
3983         * dired-msw.c:
3984         * event-Xt.c:
3985         * eldap.c:
3986         * window.c:
3987         * sound.c:
3988         * event-stream.c:
3989         * eval.c:
3990         * buffer.c:
3991         * mule-canna.c: A million DEFVAR_INTs here...
3992         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
3993         * extents.c:
3994         * cmdloop.c:
3995         * lisp.h:
3996         * select-x.c:
3997         * console-x.h:
3998         * event-msw.c:
3999         * mule-wnnfns.c:
4000         * hpplay.c:
4001         * ralloc.c:
4002         * alloc.c:
4003         * keymap.c:
4004         * profile.c:
4005         s/int/Fixnum/g in DEFVAR_INT declarations.
4006
4007 2001-01-26  Martin Buchholz  <martin@xemacs.org>
4008
4009         Port pdump to SGI alignment-sensitive environment.
4010         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
4011         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
4012         properly aligned.
4013         Define and use aligned reading and writing macros.
4014         Use buffered stdio instead of posix i/o for faster dumping.
4015         Eliminate kludgy 256 byte space for header.
4016         Read and write from dump file using structs for alignment safety.
4017         * dumper.c (pdump_align_stream): New.
4018         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
4019         * dumper.c (PDUMP_READ_ALIGNED): New.
4020         * dumper.c (PDUMP_WRITE_ALIGNED): New.
4021         * dumper.c (pdump_static_Lisp_Object): New struct.
4022         * dumper.c (pdump_static_pointer): New struct.
4023         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
4024         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
4025         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
4026         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
4027
4028         * dumper.c (pdump_backtrace):
4029         * dumper.c (pdump_get_indirect_count):
4030         * dumper.c (pdump_register_object):
4031         * dumper.c (pdump_register_struct):
4032         * dumper.c (pdump_reloc_one):
4033         * dumper.c (pdump_scan_by_alignment):
4034         * dumper.c (pdump_dump_from_root_struct_ptrs):
4035         * dumper.c (pdump_dump_opaques):
4036         * dumper.c (pdump_dump_rtables):
4037         * dumper.c (pdump_dump_from_root_objects):
4038         * dumper.c (pdump):
4039         * dumper.c (pdump_load_finish):
4040         Use aligned reading and writing.
4041
4042         * dumper.c (pdump_free): Make static.
4043         * dumper.c (pdump_hFile): Likewise.
4044         * dumper.c (pdump_hMap): Likewise.
4045
4046 2001-01-26  Martin Buchholz <martin@xemacs.org>
4047
4048         * XEmacs 21.2.43 "Terspichore" is released.
4049
4050 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4051
4052         Type fiddling for window_config.saved_windows_count
4053         * window.c (struct window_config): 
4054         Make saved_windows_count member unsigned.
4055         * window.c (sizeof_window_config_for_n_windows): 
4056         Make parameter unsigned.
4057         * window.c (mark_window_config):
4058         * window.c (window_config_equal):
4059         * window.c (free_window_configuration):
4060         * window.c (Fset_window_configuration):
4061         * window.c (count_windows):
4062         * window.c (Fcurrent_window_configuration):
4063         * window.c (reinit_vars_of_window):
4064         Update all callers and users.
4065
4066 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4067
4068         Alignment correctness for flexible arrays.
4069         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
4070         Make alignment-correct. Add interesting comments.
4071         * alloc.c (size_vector):
4072         * alloc.c (make_vector_internal):
4073         * alloc.c (make_bit_vector_internal):
4074         * alloc.c (sweep_bit_vectors_1):
4075         * fns.c (size_bit_vector):
4076         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
4077         * window.c (sizeof_window_config_for_n_windows): 
4078         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
4079
4080 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4081
4082         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
4083
4084 2001-01-23  Andy Piper  <andy@xemacs.org>
4085
4086         * select.c (Fown_selection_internal): pass owned_p
4087
4088         * select-msw.c (mswindows_own_selection): New Signature.
4089
4090         * console.h (struct console_methods): add owned_p to
4091         _own_selection.
4092
4093         * select-x.c (x_own_selection): pass owned_p
4094         (hack_motif_clipboard_selection): use owned_p
4095         (vars_of_select_x): new variable -
4096         x_selection_strict_motif_ownership.
4097
4098 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4099
4100         * specifier.h (specifier_data_offset): Remove pointless parens.
4101         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
4102
4103 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4104
4105         Make Lisp_Object sizeof methods be alignment-correct.
4106         pdump must restore objects to the same alignment as the C compiler
4107         assumes.  It really matters on SGIs.
4108         * lstream.c (aligned_sizeof_lstream): New.
4109         (sizeof_lstream): Use aligned_sizeof_lstream.
4110         (Lstream_new): Likewise.
4111         * opaque.c (aligned_sizeof_opaque): New.
4112         (sizeof_opaque): Use aligned_sizeof_opaque.
4113         (make_opaque): Likewise.
4114         * specifier.c (aligned_sizeof_specifier): New.
4115         (sizeof_specifier): Use aligned_sizeof_specifier.
4116         (make_specifier_internal): Likewise.
4117
4118 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4119
4120         * lstream.h (struct lstream): Use max_align_t for trailing data.
4121         * specifier.h (struct Lisp_Specifier): Likewise.
4122
4123 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4124
4125         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
4126         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
4127         (CCL_SUSPEND): Likewise.
4128         (CCL_INVALID_CMD): Likewise.
4129         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
4130         (ccl_driver): Likewise.
4131         (CCL_WRITE_CHAR): Macro hygiene.
4132         (CCL_WRITE_STRING): Macro hygiene.
4133
4134 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4135
4136         Port "portable" dumper to SunOS 4 and HP-UX.
4137         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
4138         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
4139         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
4140
4141 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4142
4143         * lisp.h (ALIGNOF): A better definition for C++.
4144
4145 2001-01-20  Martin Buchholz  <martin@xemacs.org>
4146
4147         Macro hygiene.
4148         Fix printf warnings: int format, long int arg.
4149         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
4150         (PUSH_FAILURE_POINT): Use correct printf formats.
4151         (POP_FAILURE_POINT): Use correct printf formats.  
4152         Use do {...} while (0)
4153
4154 2001-01-20  Martin Buchholz <martin@xemacs.org>
4155
4156         * XEmacs 21.2.42 "Poseidon" is released.
4157
4158 2001-01-20  Martin Buchholz  <martin@xemacs.org>
4159
4160         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
4161
4162 2001-01-19  Martin Buchholz  <martin@xemacs.org>
4163
4164         De-kludgify FIXED_TYPE free list frobbing.
4165         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
4166         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
4167         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
4168         * alloc.c (Lisp_Free): New pseudo lisp object definition.
4169         * alloc.c (LRECORD_FREE_P): New.
4170         * alloc.c (MARK_LRECORD_AS_FREE): New.
4171         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
4172         * alloc.c (STRUCT_FREE_P): Deleted.
4173         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
4174         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
4175         * alloc.c (STRING_CHARS_FREE_P): New.
4176         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
4177         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
4178         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
4179         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
4180         * alloc.c (resize_string): Use new definitions.
4181         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
4182         * alloc.c (verify_string_chars_integrity): Use new definitions.
4183         * alloc.c (compact_string_chars): Use new definitions.
4184         * alloc.c: Update monster comments.
4185         * lrecord.h (lrecord_type): Add some new lrecord types for
4186         alloc.c's use.
4187
4188 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4189
4190         Improve alignment hackery.
4191         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
4192         (max_align_t): Moved from opaque.h - general purpose.
4193         (ALIGN_PTR): Use size_t, not long.
4194         * opaque.h (max_align_t): Move to lisp.h.
4195
4196 2001-01-18  Norbert Koch  <nk@LF.net>
4197
4198         * gui.h: Fix and add prototypes to fix build problems.
4199
4200 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4201
4202         temacs is going away, so `dump-temacs' is now a bad name.
4203         * .dbxrc (dump-temacs): Rename to `dmp'.
4204         * .gdbinit (dump-temacs): Rename to `dmp'.
4205
4206 2001-01-17  Andy Piper  <andy@xemacs.org>
4207
4208         * glyphs.c (print_image_instance): comment to make martin happy.
4209
4210         * glyphs-x.c (x_redisplay_widget): update faces after a frame
4211         change.
4212
4213         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
4214         activation.
4215         (mswindows_tab_control_redisplay): warning suppression.
4216
4217         * glyphs-widget.c (widget_update): re-write to cope with updated
4218         items.
4219         (widget_instantiate): use new gui_item functions.
4220         (tab_control_update): deleted.
4221         (progress_gauge_update): deleted.
4222         (image_instantiator_progress_guage): take out update reference.
4223         (image_instantiator_tree_view): ditto.
4224         (image_instantiator_tab_control): ditto.
4225
4226         * gui.c (widget_gui_parse_item_keywords): new function. Do things
4227         Right the new way.
4228         (gui_item_add_keyval_pair): re-write to cope with descriptors and
4229         return whether anything was changed.
4230         (update_gui_item_keywords): as it sounds.
4231
4232         * gui.h: declare widget_gui_parse_item_keywords.
4233
4234         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
4235         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
4236
4237 2001-01-17  Martin Buchholz <martin@xemacs.org>
4238
4239         * XEmacs 21.2.41 "Polyhymnia" is released.
4240
4241 2001-01-16  Didier Verna  <didier@xemacs.org>
4242
4243         * glyphs.c (image_instantiate): don't use fallbacks when
4244         instantiating a face's background pixmap by inheritance.
4245
4246 2001-01-14  Mike Sperber <mike@xemacs.org>
4247
4248         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
4249         Conditionalize accordingly.
4250
4251 2001-01-16  Martin Buchholz  <martin@xemacs.org>
4252
4253         * dumper.c (pdump_file_get): Fix a compiler warning.
4254
4255 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4256
4257         Make Purify happy when pdumping.
4258         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
4259         iniitalizing all bits of new lisp object memory.
4260         * symbols.c (Fmake_local_variable): Likewise.
4261         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
4262         * symbols.c (Fdefvaralias): Likewise.
4263         * mule-charset.c (vars_of_mule_charset): Likewise.
4264
4265 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4266         Add the `-nd' flag when running pre-dump operations under the debugger.
4267         * .dbxrc (run-temacs): Add `-nd'.
4268         * .dbxrc (update-elc): Likewise.
4269         * .dbxrc (dump-temacs): Likewise.
4270         * .gdbinit (run-temacs): Likewise.
4271         * .gdbinit (check-temacs): Likewise.
4272         * .gdbinit (update-elc): Likewise.
4273         * .gdbinit (dump-temacs): Likewise.
4274
4275 2001-01-14  Martin Buchholz  <martin@xemacs.org>
4276
4277         Allow building 64-bit executables on AIX with GNU malloc, e.g.
4278         export OBJECT_MODE=64
4279         configure --pdump --use-union-type=no
4280         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
4281         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
4282
4283         * miscplay.c (sndcnv8U_2mono):
4284         Avoid two uses of `++' in the same expression.
4285         Suppresses a GCC warning.
4286
4287 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4288
4289         Make sure future compilers don't miscompile alloc.c.
4290         * alloc.c:
4291         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
4292         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
4293
4294 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4295
4296         * dumper.c: A little post-pdump-rename comment fixup.
4297
4298 2001-01-09  Jerry James  <james@eecs.ku.edu>
4299
4300         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
4301
4302 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4303
4304         * *.[ch]: Globally rename symbols using the following `pdump-rename'
4305         script:
4306         #!/bin/sh
4307         replace_symbol () {
4308           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
4309         }
4310
4311         replace_symbol pdump_wire_lists pdump_weak_object_chains
4312         replace_symbol pdump_wire_list dump_add_weak_object_chain
4313
4314         replace_symbol pdump_wires pdump_root_objects
4315         replace_symbol pdump_wire dump_add_root_object
4316
4317         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
4318         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
4319
4320         replace_symbol dumpstructinfos pdump_root_struct_ptrs
4321         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
4322         replace_symbol dumpstructinfo pdump_root_struct_ptr
4323         replace_symbol dumpstruct dump_add_root_struct_ptr
4324
4325         replace_symbol dumpopaque dump_add_opaque
4326         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
4327         replace_symbol dumpopaqueinfos pdump_opaques
4328         replace_symbol dumpopaqueinfo pdump_opaque
4329
4330         replace_symbol nb_structdump nb_root_struct_ptrs
4331         replace_symbol nb_opaquedump nb_opaques
4332
4333         replace_symbol align_table pdump_align_table
4334         replace_symbol dump_header pdump_header
4335
4336         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
4337         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
4338
4339
4340 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4341
4342         * s/aix4.h: Keep the C for AIX compiler from overaggressively
4343         optimizing bytecount_to_charcount().
4344
4345 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4346
4347         * config.h.in:
4348         (HAVE_DLFCN_H): Removed.
4349         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
4350
4351 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4352
4353         Portable dumper maintainability improvements.
4354         * alloc.c (staticpro):
4355         * alloc.c (staticpro_nodump):
4356         * alloc.c (garbage_collect_1):
4357         * alloc.c (reinit_alloc_once_early):
4358         * alloc.c (init_alloc_once_early):
4359         * alloc.c: Move dumper functions to alloc.c.
4360         * dumper.c (pdump_backtrace):
4361         * dumper.c (pdump_dump_structs):
4362         * dumper.c (pdump_dump_opaques):
4363         * dumper.c (pdump_dump_rtables):
4364         * dumper.c (pdump_dump_wired):
4365         * dumper.c (pdump):
4366         * dumper.c (pdump_load_check):
4367         * dumper.c (pdump_load_finish):
4368         * dumper.c (pdump_file_unmap):
4369         * dumper.c (pdump_file_get):
4370         * dumper.c (pdump_resource_free):
4371         * dumper.c (pdump_resource_get):
4372         * dumper.c (pdump_file_free):
4373         * dumper.c (pdump_file_try):
4374         * dumper.c (pdump_load):
4375         Remove fixed size limits on staticpro(), staticpro_nodump(),
4376         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
4377         Remove custom code for dumping lrecord_implementations_table - use
4378         dumpopaque instead.
4379         Remove (most of the) custom code for dumping staticpros - dump it
4380         like any other dynarr.
4381
4382         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
4383         * dumper.c: Moved functions from alloc.c.
4384         * alloc.c (dumpstruct): Moved to dumper.c.
4385         * alloc.c (dumpopaque): Likewise.
4386         * alloc.c (pdump_wire): Likewise.
4387         * alloc.c (pdump_wire_list): Likewise.
4388
4389         * lisp.h (Dynarr_sizeof): New.
4390         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
4391         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
4392         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
4393
4394         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
4395         * lisp.h (dumpopaque): ditto.
4396         * lisp.h (pdump_wire): ditto.
4397         * lisp.h (pdump_wire_list): ditto.
4398
4399 2001-01-09  Martin Buchholz  <martin@xemacs.org>
4400
4401         * make-src-depend (PrintPatternDeps):
4402         Use `sort' to make output independent of perl version.
4403
4404 2001-01-08  Martin Buchholz  <martin@xemacs.org>
4405
4406         Port to Netbsd 1.5.
4407         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
4408         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
4409
4410 2001-01-03  Didier Verna  <didier@xemacs.org>
4411
4412         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
4413         that `focus_frame' is alive before thinking of calling
4414         `redisplay_redraw_cursor' on it.
4415
4416 2001-01-08  Martin Buchholz <martin@xemacs.org>
4417
4418         * XEmacs 21.2.40 is released.
4419
4420 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4421
4422         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
4423
4424 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4425
4426         * alloc.c (dbg_valmask): Make const.
4427         * alloc.c (dbg_typemask): Make const.
4428         * alloc.c (dbg_USE_UNION_TYPE): Make const.
4429         * alloc.c (dbg_valbits): Make const.
4430         * alloc.c (dbg_gctypebits): Make const.
4431
4432 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
4433
4434         * redisplay-x.c (x_bevel_area):
4435         redisplay.h (struct rune):
4436         Typo fixes in comments.
4437
4438 2001-01-05  Andy Piper  <andy@xemacs.org>
4439
4440         * glyphs-x.c (x_redisplay_widget): use size changed for offset
4441         adjustment.
4442
4443         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
4444
4445 2001-01-05  Martin Buchholz  <martin@xemacs.org>
4446
4447         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
4448
4449         * mule-ccl.c (stack_idx_of_map_multiple):
4450         Non const global data must not be initialized!
4451         Found by MIYASHITA Hisashi.
4452
4453 2001-01-02  Andy Piper  <andy@xemacs.org>
4454
4455         * frame.c (change_frame_size): make sure frame size is always
4456         marked as changed.
4457
4458         * glyphs.c (image_instance_layout): minor code reuse.
4459
4460         * window.c (Fcurrent_window_configuration): revert previous
4461         change.
4462
4463 2001-01-02  Martin Buchholz  <martin@xemacs.org>
4464
4465         * glyphs.h:
4466         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
4467
4468 2000-12-31  Andy Piper  <andy@xemacs.org>
4469
4470         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
4471         when widget gets unmapped.
4472
4473         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
4474         function. Make sure widgets losing focus don't just drop it.
4475         (handle_focus_event_1): record the widget with focus.
4476
4477 2000-12-31  Andy Piper  <andy@xemacs.org>
4478
4479         * window.c (allocate_window): use
4480         make_image_instance_cache_hash_table.
4481         (make_dummy_parent): ditto.
4482         (Fset_window_configuration): ditto.
4483
4484         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
4485
4486         * glyphs.c (process_image_string_instantiator): use
4487         INSTANTIATOR_TYPE.
4488         (get_image_instantiator_governing_domain): ditto.
4489         (normalize_image_instantiator): ditto.
4490         (instantiate_image_instantiator): ditto.
4491         (make_image_instance_1): ditto.
4492         (image_instantiate): ditto. Key on glyph *and* instantiator type.
4493         (instantiator_eq_equal): new function for use with instance hash
4494         tables.
4495         (instantiator_eq_hash): ditto.
4496         (make_image_instance_cache_hash_table): create a suitable hash
4497         table for storing image instances.
4498
4499         * elhash.h (hash_table_weakness): new internal weakness type
4500         HASH_TABLE_KEY_CAR_VALUE_WEAK.
4501         declare new functions.
4502
4503         * elhash.c (finish_marking_weak_hash_tables): introduce yet
4504         another weakness type for glyphs.
4505         (make_standard_lisp_hash_table): new function split out from
4506         make_general_lisp_hash_table.
4507         (make_lisp_hash_table): call make_standard_lisp_hash_table.
4508         (hash_table_instantiate): ditto.
4509         (Fmake_hash_table): ditto.
4510
4511 2000-12-31  Martin Buchholz <martin@xemacs.org>
4512
4513         * XEmacs 21.2.39 is released.
4514
4515 2000-12-29  Andy Piper  <andy@xemacs.org>
4516
4517         * menubar.c (menubar_visible_p_changed): signal the frame changed.
4518
4519         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
4520         the frame has changed so that we pick up geometry changes such as
4521         menubar visibility.
4522
4523 2000-12-28  Andy Piper  <andy@xemacs.org>
4524
4525         * lastfile.c (my_ebss): make a char array so we can pad the
4526         bss. Fixes cygwin unexec.
4527
4528         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
4529
4530 2000-12-26  Andy Piper  <andy@xemacs.org>
4531
4532         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
4533         comments and try and be more precise about a non-/SIGIO world.
4534         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
4535         SIGIO.
4536
4537         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
4538         we don't normalize to zero width or height.
4539
4540 2000-12-24  Andy Piper  <andy@xemacs.org>
4541
4542         * Makefile.in.in (ldflags): add -mwindows when appropriate.
4543
4544 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
4545
4546         * s/sco5.h: SCO 5 has pty support.
4547
4548 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
4549
4550         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
4551         input-method-xlib.c contains whole contents of input-method-xfs.c,
4552         so we can use input-method-xlib.c's code for USE_XFONTSET
4553         using #ifdefs.
4554         * input-method-xfs.c: removed.
4555
4556 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
4557
4558         * file-coding.h (enum coding_category_type): reorder enumerators to
4559         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
4560         (now one greater than largest real coding_category_type enumerator).
4561         * file-coding.c (coding_category_symbol, coding_category_by_priority,
4562         coding_category_system, fcd_descriptihon_1, decode_coding_category,
4563         Fcoding_category_list, Fset_coding_priority_list,
4564         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
4565         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
4566
4567 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4568
4569         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
4570         * redisplay-output.c (redisplay_output_window): Clear top of window
4571         when face is changed.
4572         * redisplay-x.c (x_redraw_exposed_window): Call
4573         redisplay_clear_top_of_window.
4574         * redisplay.h: Publish redisplay_clear_top_of_window.
4575
4576 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4577
4578         * buffer.c (Fkill_buffer): Map over all devices.
4579         * window.c (window_loop): Remove UNSHOW_BUFFER code.
4580         (list_windows): New function.
4581         (list_all_windows): Ditto.
4582         (Freplace_buffer_in_windows): Use them.
4583
4584 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4585
4586         * database.c (berkdb_subtype): Recognize new subtype `queue'.
4587         (Fopen_database): Use `db_create' instead of `db_open'.
4588         (syms_of_database): Initialize Qqueue.
4589
4590 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4591
4592         * buffer.c (common_init_complex_vars_of_buffer): Initialize
4593         buffer_local_face_property.
4594         * buffer.h (struct buffer): New member buffer_local_face_property.
4595         * window.c (Fset_window_buffer):  Mark window's face as changed
4596         when buffer has buffer local face.
4597         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
4598         * objects.c (color_after_change): Set buffer_local_face_property
4599         when locale of face specifier is buffer.
4600         * objects.c (font_after_change): Ditto.
4601         * objects.c (face_boolean_after_change): Ditto.
4602         * glyphs.c (image_after_change): Ditto.
4603
4604 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4605
4606         * nt.c (mswindows_fstat): Report file permissions, volume serial
4607         number, etc. Code adapted from FSF Emacs 20.7.
4608
4609 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4610
4611         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
4612         of stat when we don't have symbolic links, to make sure
4613         mswindows_stat is called on mswindows.
4614
4615 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
4616
4617         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
4618
4619 2000-12-12  Martin Buchholz  <martin@xemacs.org>
4620
4621         * doprnt.c (emacs_doprnt_1): More printing fixes.
4622         Make printing of numbers compatible with libc and FSF Emacs.
4623         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
4624         Use the system printf to do most of the hard work of formatting,
4625         instead of doprnt_1().
4626         Calculate memory to allocate for format string.
4627         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
4628         (doprnt_1): Cleaner code and documentation.
4629
4630 2000-12-01  Jerry James  <james@eecs.ukans.edu>
4631
4632         * Makefile.in.in: Use the loop variable to install headers.
4633
4634 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4635
4636         * window.c (Fsplit_window): Don't invalidate face cache.
4637
4638 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4639
4640         * minibuf.c (Fall_completions): Undo the previous change
4641         which removed checking elements start with space.
4642
4643 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4644
4645         * mule-canna.c: Didier suppression.
4646
4647 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4648
4649         * mule-canna.c: rename static unsigned char buf[] to key_buffer
4650         (warning suppression).  Add English comment translations.
4651
4652 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4653
4654         * unexelfsgi.c (unexec): Better test for mmap failure.
4655
4656 2000-12-05  Martin Buchholz <martin@xemacs.org>
4657
4658         * XEmacs 21.2.38 is released.
4659
4660 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4661
4662         * redisplay.c (bar-cursor): Make a user variable.
4663
4664         * symsinit.h: Add init_postgresql_from_environment.
4665
4666 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4667
4668         * regex.c: Convert to clean C.
4669
4670 2000-12-05  Dan Holmsand  <dan@eyebee.com>
4671
4672         * realpath.c:
4673         Don't #include sysfile.h. Revert to duplicating PATH_MAX
4674         initialization.
4675         (sys_readlink): renamed to system_readlink to avoid conflict with
4676         the other sys_readlink.
4677
4678 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
4679
4680         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
4681
4682 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
4683
4684         * postgresql.c (init_postgresql_from_environment): new function.
4685         (vars_of_postgresql): Move code initializing Lisp variables out and
4686         into init_postgresql_from_environment.
4687         emacs.c (main_1): Call init_postgresql_from_environment if and only
4688         if running a dumped XEmacs.
4689
4690 2000-08-31  Dan Holmsand  <dan@eyebee.com>
4691
4692         * buffer.c: Make find-file-compare-truenames default to true on
4693         windows.
4694
4695         * realpath.c (win32_abs_start):
4696         (cygwin_readlink):
4697         (win32_readlink): New functions.
4698         (xrealpath): Return really real filenames on windows.
4699
4700         * fileio.c (Ffile_truename): Make file-truename work on windows.
4701
4702 2000-11-29  Didier Verna  <didier@xemacs.org>
4703
4704         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
4705         * faces.c (update_face_cachel_data): use it.
4706         * faces.c (add_face_cachel): use it. Complete background pixmap
4707         frobbing in face cache if `update_face_cachel_data' has not done so.
4708
4709 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
4710
4711         * search.c (string_match_1): Don't set last_thing_searched
4712         when search failed.
4713
4714 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
4715
4716         * buffer.c: Include casetab.h
4717         (common_init_complex_vars_of_buffer): Use new case-table object.
4718         * buffer.h: Include casetab.h
4719         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
4720         (DOWNCASE_TABLE_OF): Ditto.
4721         * bufslots.h: Remove char-tables and add case-table.
4722         * casetab.c: Include casetab.h
4723         (CASE_TABLE_P): Removed.
4724         (mark_case_table): New function.
4725         (allocate_case_table): New function.
4726         (Fcase_table_p): Use new case-table.
4727         (case_table_char): New function.
4728         (Fget_case_table): Ditto.
4729         (Fput_case_table): Ditto.
4730         (Fput_case_table_pair): Ditto.
4731         (Fcopy_case_table): Ditto.
4732         (Fcurrent_case_table): Return case-table.
4733         (Fstandard_case_table): Return case-table.
4734         (Fset_case_table): Fix doc-string.
4735         (set_case_table): Use case-table
4736         (syms_of_casetab): DEFSUBR new functions.
4737         (complex_vars_of_casetab): Set up standard case-table.
4738         * casetab.h: New file.
4739         * editfns.c: Include casetab.h
4740         (Fcompare_buffer_substrings): Use case-table.
4741         * inline.c: Include casetab.h
4742         * lisp.h: Remove bogus extern.
4743         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
4744         * search.c: Include casetab.h
4745         (TRANSLATE_ASCII): Removed.
4746         (TRANSLATE): Unconditionally translate character.
4747         (looking_at_1): Use case-table.
4748         (string_match_1): Ditto.
4749         (fast_string_match): Ditto.
4750         (search_command): Ditto.
4751         (search_buffer): Separate boyer_moore.  Check whether
4752         boyer_moore is possible.
4753         (simple_search): New function.
4754         (boyer_moore): Separated from search_buffer. Translate char.
4755
4756 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
4757
4758         * regex.c (RE_TR_ASCII): Removed.
4759         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
4760         (PATFETCH): Call PATFETCH_RAW.
4761         (PATFETCH_RAW): Fetch Emchar.
4762         (PATUNFETCH): Decrement charptr.
4763         (GET_BUFFER_SPACE): Rename b to buf_end.
4764         (BUF_PUSH): Ditto.
4765         (BUF_PUSH_2): Ditto.
4766         (BUF_PUSH_3): Ditto.
4767         (EXTEND_BUFFER): Ditto.
4768         (SET_LIST_BIT): Ditto.
4769         (regex_compile): Ditto.  Translate non ASCII char.
4770         (compile_range): Ditto.
4771         (re_search_2): Ditto.
4772         (re_match_2_internal): Compare Emchar.
4773         (bcmp_translate): Ditto.
4774
4775 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
4776
4777         * lisp.h (basic char/int typedefs):  comment improvement.
4778
4779 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
4780
4781         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
4782         unstomp inhibit_site_lisp.  Improve comments.
4783
4784 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
4785
4786         * mule-charset.c (Fcharset_property):  improve type checking, comments.
4787
4788 2000-11-28  Andy Piper  <andy@xemacs.org>
4789
4790         * redisplay-output.c (redisplay_output_subwindow): make sure we do
4791         clipped display for windows in the gutter also.
4792         (redisplay_display_boxes_in_window_p): change semantics of return
4793         codes to be more intuitive.
4794
4795         * gutter.h: declare display_boxes_in_gutter_p.
4796
4797         * gutter.c (display_boxes_in_gutter_p): new function for
4798         redisplay.
4799
4800 2000-11-22  Andy Piper  <andy@xemacs.org>
4801
4802         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
4803         autodetect domain.
4804
4805 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
4806
4807         * callproc.c (Fold_call_process_internal):
4808         * gpm.c (Freceive_gpm_event):
4809         (tty_get_foreign_selection): Might be just warning supression.
4810         * fileio.c (Fwrite_region_internal):
4811         (Fset_visited_file_modtime):
4812         * keymap.c (event_matches_key_specifier_p):
4813         Initialize GCPROed variable.
4814
4815         * menubar-x.c (command_builder_find_menu_accelerator):
4816         Initialize before use.
4817
4818 2000-11-23  Andy Piper  <andy@xemacs.org>
4819
4820         * unexcw.c (unexec): make the resulting executable executable.
4821
4822 2000-11-21  Martin Buchholz  <martin@xemacs.org>
4823
4824         * doc.c (get_doc_string):
4825         Use size_t, not int, for result of XSTRING_LENGTH.
4826
4827         * cmds.c (Fdelete_char):
4828         * cmds.c (Fpoint_at_eol):
4829         * cmds.c (Fself_insert_command):
4830         Use EMACS_INT, not int, for result of XINT.
4831         Someday, someone will want to insert more than 2**31 identical characters.
4832
4833         * cmds.c (Fdelete_char):
4834         * cmds.c (Fdelete_backward_char):
4835         * syntax.c (Fforward_word):
4836         * syntax.c (Fforward_comment):
4837         Make COUNT argument optional, for consistency with forward-char et al.
4838
4839 2000-11-22  Martin Buchholz  <martin@xemacs.org>
4840
4841         * lisp.h:
4842         * print.c (long_to_string):
4843         Return a useful value: the pointer at end of data written.
4844
4845         * doprnt.c:
4846         Use `static const char * const' for constant strings.
4847         (union printf_arg): Delete `i', `ui' members.
4848         (get_doprnt_args):
4849         (emacs_doprnt_1):
4850         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
4851         Do all printf-ing via the `l' specifier.
4852         Use EMACS_INT instead of int.
4853         Optimize.
4854
4855 2000-11-20  Didier Verna  <didier@xemacs.org>
4856
4857         * faces.c (update_face_cachel_data): don't frob the background
4858         pixmap when the window is being created. The face is needed but
4859         does not exist yet.
4860
4861 2000-11-20  Andy Piper  <andy@xemacs.org>
4862
4863         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
4864         messing with a debug environment.
4865
4866 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4867
4868         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
4869
4870 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4871
4872         * casetab.c (Fcase_table_p): Fix compile error and crash.
4873
4874 2000-11-18  Philip Aston  <philipa@mail.com>
4875
4876         * s/cygwin32.h: Cygwin has SVR4-like pty support.
4877
4878 2000-11-18  Martin Buchholz  <martin@xemacs.org>
4879
4880         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
4881         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
4882
4883 2000-11-17  Martin Buchholz  <martin@xemacs.org>
4884
4885         * config.h.in: Define HAVE_ELF_H if elf.h exists.
4886         * unexelf.c: Use HAVE_ELF_H.
4887         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
4888         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
4889         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
4890         Greg Harrington <greg_harrington@hotmail.com> provided a machine
4891         for testing.
4892         So this is an unexelfsgi.c from a different line of development.
4893
4894 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4895
4896         * regex.c (RE_TR_ASCII): New function.
4897         (RE_TRANSLATE): Call it.
4898
4899 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4900
4901         * buffer.h (TRT_TABLE_OF): Remove assert.
4902         (IN_TRT_TABLE_DOMAIN): Removed.
4903
4904 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
4905
4906         * free-hook.c (log_gcpro):
4907         (show_gcprohist): Add support for GCPRO5.
4908
4909 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
4910
4911         * emacs.c (main_1): Improve -sd error message when --pdump=no.
4912
4913 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
4914
4915         * symeval.h: Declare flush_all_buffer_local_cache.
4916
4917         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
4918         (flush_buffer_local_cache): Added.
4919         (flush_all_buffer_local_cache): Added.
4920
4921         * lrecord.h: Remove unused XD_LO_RESET_NIL.
4922
4923         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
4924         (pdump_dump_data): Ditto.
4925         (pdump_reloc_one): Ditto.
4926         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
4927         before dumping.
4928
4929
4930 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4931
4932         * buffer.c: Remove if 0'ed entry.
4933         * buffer.h: Rewrite TRT to use char-table.
4934         * bufslots.h: Remove mirror tables.
4935         * casetab.c: Remove mirror tables.
4936         (CASE_TABLE_P): New macro.
4937         (Fcase_table_p): Element of a case table is string or char-table.
4938         (make_mirror_trt_table): Removed.
4939         (set_case_table): Setup char-table from strings for backward
4940         compatibility.
4941         * dired.c (Fdirectory_files):
4942         * dired-msw.c: (mswindows_get_files):
4943         * lisp.h: Change prototype of re_pattern_buffer.
4944         * regex.c: (RE_TRANSLATE): New macro.
4945         (TRANSLATE_P): Ditto.
4946         Change translate to type RE_TRANSLATE_TYPE.
4947         * regex.h: Define RE_TRANSLATE_TYPE
4948         * search.c (TRANSLATE): New macro.
4949         (TRANSLATE_ASCII): New macro.
4950         Translate table is changed to Lisp_Object.
4951         (signal_failure): Inhibit return.
4952
4953 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4954
4955         * device-msw.c:
4956         * eldap.c:
4957         * event-Xt.c:
4958         * event-stream.c:
4959         * print.c:
4960         Do UNGCPRO before return.
4961
4962 2000-11-14  Martin Buchholz <martin@xemacs.org>
4963
4964         * XEmacs 21.2.37 is released.
4965
4966 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4967
4968         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
4969         Add comments about discarded return value.
4970
4971 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
4972
4973         * callint.c:
4974         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
4975
4976 2000-10-27  Andy Piper  <andy@xemacs.org>
4977
4978         * gutter.c (Fset_default_gutter_position): default left and right
4979         gutters to visible.
4980         (calculate_gutter_size): calculate resonable heuristic for left
4981         and right gutter sizes.
4982         (specifier_vars_of_gutter): change left and right gutter sizes to
4983         autodetect.
4984         (calculate_gutter_size_from_display_lines): new function.
4985         (output_gutter): check for resizing on left and right gutters.
4986         (clear_gutter): don't special case top and left gutters.
4987         (specifier_vars_of_gutter): use new signature for
4988         set_specifier_caching.
4989
4990         * glyphs-x.c (x_redisplay_widget): spelling fix.
4991         * glyphs.c (specifier_vars_of_glyphs):
4992         * menubar.c (specifier_vars_of_menubar):
4993         * redisplay.c (specifier_vars_of_redisplay):
4994         * toolbar.c (specifier_vars_of_toolbar):
4995         * window.c (specifier_vars_of_window):
4996         * scrollbar.c (specifier_vars_of_scrollbar):
4997         (complex_vars_of_scrollbar): use new signature for
4998         set_specifier_caching.
4999
5000         * specifier.c (set_specifier_caching): include recompute flag.
5001         (recompute_one_cached_specifier_in_window): always recompute if
5002         flag set.
5003         (recompute_one_cached_specifier_in_frame): ditto.
5004
5005         * specifier.h (struct specifier_caching): add recompute flag.
5006
5007 2000-10-24  Andy Piper  <andy@xemacs.org>
5008
5009         * unexcw.c (copy_executable_and_dump_data_section): add new
5010         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
5011         5.0 happy.
5012
5013 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5014
5015         * console-x.h (x_device): New member modifier_release_time.
5016         * event-Xt.c (x_handle_sticky_modifiers):
5017         Bound interval modifier keys are sticky.
5018         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
5019         * events.h: extern it.
5020
5021 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5022
5023         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
5024
5025 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5026
5027         * event-stream.c (execute_command_event): Preserve current_events
5028         and the like when event is misc-user-event.
5029         Inhibit quit during the call to maybe_echo_keys.
5030
5031 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5032
5033         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
5034         symlink when buffer is killed.
5035         (inhibit_clash_detection): New variable.
5036
5037 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5038
5039         * console.c (Fset_input_method): Trigger redisplay on tty.
5040
5041 2000-11-07  Martin Buchholz  <martin@xemacs.org>
5042
5043         * process.c (Fprocess_status): Revert to previous behavior:
5044         (process-status "nosuchprocess") ==> nil
5045
5046 2000-11-06  Martin Buchholz  <martin@xemacs.org>
5047
5048         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
5049         Work around another GCC 2.95.2 optimizer bug.
5050
5051 2000-11-02  Martin Buchholz  <martin@xemacs.org>
5052
5053         * process.c (Fget_process): Use LIST_LOOP_2.
5054         (kill_buffer_processes): Use LIST_LOOP_2.
5055
5056         * minibuf.c (Fall_completions):
5057         Delete old non-functional code for FSF fourth argument.
5058
5059         * frame.c (frame_matches_frame_spec):
5060         Renamed from `frame_matches_frametype'.  Update all callers.
5061         (device_matches_device_spec):
5062         Renamed from 'device_matches_console_spec'.  Update all callers.
5063
5064         * doc.c (Fsubstitute_command_keys):
5065         Remove buffer overflow crash.  Small code cleanups.
5066
5067         * casetab.c (check_case_table): Simpler code.
5068
5069         * window.c (Freplace_buffer_in_windows):
5070         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
5071         (and similar implementation) as Fdelete_windows_on.
5072         Update all callers.
5073
5074         * alloc.c (Fmake_list):
5075         * alloc.c (make_vector):
5076         * alloc.c (Fmake_vector):
5077         * alloc.c (make_bit_vector):
5078         * alloc.c (Fmake_bit_vector):
5079         * alloc.c (Fbit_vector):
5080         * alloc.c (Fmake_string):
5081         * alloc.c (Fpurecopy):
5082         * alloc.c (Fmemory_limit):
5083         * buffer.c:
5084         * buffer.c (Fget_buffer):
5085         * buffer.c (Fkill_buffer):
5086         * buffer.c (complex_vars_of_buffer):
5087         * bytecode.c (Fcompiled_function_stack_depth):
5088         * callint.c (Fprefix_numeric_value):
5089         * event-stream.c:
5090         * event-stream.c (Fread_key_sequence):
5091         * casetab.c:
5092         * casetab.c (Fcase_table_p):
5093         * casetab.c (check_case_table):
5094         * casetab.c (Fset_case_table):
5095         * casetab.c (Fset_standard_case_table):
5096         * chartab.c:
5097         * chartab.c (Fchar_table_type):
5098         * chartab.c (Freset_char_table):
5099         * chartab.c (Fget_char_table):
5100         * chartab.c (Fget_range_char_table):
5101         * chartab.c (Fput_char_table):
5102         * chartab.c (Fmap_char_table):
5103         * chartab.c (Fcategory_table_p):
5104         * chartab.c (Fcheck_category_at):
5105         * chartab.c (Fchar_in_category_p):
5106         * chartab.c (Fcategory_table):
5107         * chartab.c (Fcopy_category_table):
5108         * chartab.c (Fset_category_table):
5109         * chartab.c (Fcategory_designator_p):
5110         * chartab.c (Fcategory_table_value_p):
5111         * cmds.c (Fdelete_char):
5112         * cmds.c (Fdelete_backward_char):
5113         * cmds.c (Fself_insert_command):
5114         * cmds.c (Fself_insert_internal):
5115         * console.c (Fvalid_console_type_p):
5116         * console.c (Fcdfw_console):
5117         * console.c (Fconsole_type):
5118         * console.c (Fconsole_name):
5119         * console.c (Fconsole_device_list):
5120         * console.c (Fconsole_on_window_system_p):
5121         * data.c:
5122         * data.c (Feq):
5123         * data.c (Fold_eq):
5124         * data.c (Fsubr_interactive):
5125         * data.c (Fchar_to_int):
5126         * data.c (Fint_to_char):
5127         * data.c (Fsetcar):
5128         * data.c (Fsetcdr):
5129         * data.c (Fnumber_to_string):
5130         * data.c (Fstring_to_number):
5131         * data.c (Frem):
5132         * database.c (mark_database):
5133         * database.c (finalize_database):
5134         * database.c (Fdatabase_live_p):
5135         * database.c (Fdatabasep):
5136         * device-x.c (Fx_get_resource):
5137         * device.c (Fdfw_device):
5138         * dired.c:
5139         * dired.c (Ffile_name_completion):
5140         * dired.c (Ffile_name_all_completions):
5141         * dired.c (Fuser_name_completion):
5142         * dired.c (Fuser_name_completion_1):
5143         * dired.c (Fuser_name_all_completions):
5144         * doc.c (Fdocumentation):
5145         * doc.c (Fdocumentation_property):
5146         * doc.c (Fsubstitute_command_keys):
5147         * editfns.c:
5148         * editfns.c (Fchar_to_string):
5149         * editfns.c (Fstring_to_char):
5150         * editfns.c (Ftemp_directory):
5151         * editfns.c (Finsert_char):
5152         * editfns.c (Fbuffer_substring_no_properties):
5153         * editfns.c (Fnarrow_to_region):
5154         * editfns.c (Fchar_equal):
5155         * editfns.c (Fchar_Equal):
5156         * editfns.c (Ftranspose_regions):
5157         * emacs.c (Fdump_emacs):
5158         * eval.c (Fthrow):
5159         * eval.c (Fcommand_execute):
5160         * eval.c (Fautoload):
5161         * eval.c (Fbacktrace):
5162         * eval.c (Fbacktrace_frame):
5163         * events.c:
5164         * events.c (Fcopy_event):
5165         * events.c (Fcharacter_to_event):
5166         * events.c (Fevent_button):
5167         * events.c (Fevent_process):
5168         * extents.c:
5169         * extents.c (Fnext_extent_change):
5170         * extents.c (Fextent_property):
5171         * faces.c (Ffacep):
5172         * faces.c (Fmake_face):
5173         * file-coding.c:
5174         * file-coding.c (Fencode_shift_jis_char):
5175         * file-coding.c (Fencode_big5_char):
5176         * fileio.c (Ffile_name_directory):
5177         * fileio.c (Ffile_name_nondirectory):
5178         * fileio.c (Ffile_name_as_directory):
5179         * fileio.c (Fdirectory_file_name):
5180         * fileio.c (Ffile_truename):
5181         * fileio.c (Fsubstitute_in_file_name):
5182         * fileio.c (Ffile_modes):
5183         * fileio.c (Fset_file_modes):
5184         * fileio.c (Fset_default_file_modes):
5185         * fileio.c (Fverify_visited_file_modtime):
5186         * floatfns.c (Facos):
5187         * floatfns.c (Fasin):
5188         * floatfns.c (Fatan):
5189         * floatfns.c (Fcos):
5190         * floatfns.c (Fsin):
5191         * floatfns.c (Ftan):
5192         * floatfns.c (Fbessel_j0):
5193         * floatfns.c (Fbessel_j1):
5194         * floatfns.c (Fbessel_jn):
5195         * floatfns.c (Fbessel_y0):
5196         * floatfns.c (Fbessel_y1):
5197         * floatfns.c (Fbessel_yn):
5198         * floatfns.c (Ferf):
5199         * floatfns.c (Ferfc):
5200         * floatfns.c (Flog_gamma):
5201         * floatfns.c (Fexp):
5202         * floatfns.c (Fexpt):
5203         * floatfns.c (Flog):
5204         * floatfns.c (Flog10):
5205         * floatfns.c (Fsqrt):
5206         * floatfns.c (Fcube_root):
5207         * floatfns.c (Facosh):
5208         * floatfns.c (Fasinh):
5209         * floatfns.c (Fatanh):
5210         * floatfns.c (Fcosh):
5211         * floatfns.c (Fsinh):
5212         * floatfns.c (Ftanh):
5213         * floatfns.c (Fabs):
5214         * floatfns.c (Ffloat):
5215         * floatfns.c (Flogb):
5216         * floatfns.c (Fceiling):
5217         * floatfns.c (Ffloor):
5218         * floatfns.c (Fround):
5219         * floatfns.c (Ftruncate):
5220         * floatfns.c (Ffceiling):
5221         * floatfns.c (Fffloor):
5222         * floatfns.c (Ffround):
5223         * floatfns.c (Fftruncate):
5224         * fns.c (Fstring_equal):
5225         * fns.c (Fstring_lessp):
5226         * fns.c (concat2):
5227         * fns.c (concat3):
5228         * fns.c (vconcat2):
5229         * fns.c (vconcat3):
5230         * fns.c (Fsubstring):
5231         * fns.c (Fassoc):
5232         * fns.c (Fold_assoc):
5233         * fns.c (assoc_no_quit):
5234         * fns.c (Fassq):
5235         * fns.c (Fold_assq):
5236         * fns.c (assq_no_quit):
5237         * fns.c (Frassoc):
5238         * fns.c (Fold_rassoc):
5239         * fns.c (Frassq):
5240         * fns.c (Fold_rassq):
5241         * fns.c (rassq_no_quit):
5242         * fns.c (Fremassoc):
5243         * fns.c (remassoc_no_quit):
5244         * fns.c (Fremassq):
5245         * fns.c (remassq_no_quit):
5246         * fns.c (Fremrassoc):
5247         * fns.c (Fremrassq):
5248         * fns.c (remrassq_no_quit):
5249         * fns.c (Fsort):
5250         * fns.c (Fplist_get):
5251         * fns.c (Fplist_put):
5252         * fns.c (Fplist_remprop):
5253         * fns.c (Fplist_member):
5254         * fns.c (Flax_plist_get):
5255         * fns.c (Flax_plist_put):
5256         * fns.c (Flax_plist_remprop):
5257         * fns.c (Flax_plist_member):
5258         * fns.c (Fequal):
5259         * fns.c (Fold_equal):
5260         * fns.c (Frequire):
5261         * fns.c (Fbase64_encode_region):
5262         * fns.c (Fbase64_encode_string):
5263         * fns.c (Fbase64_decode_region):
5264         * frame.c:
5265         * frame.c (frame_matches_frame_spec):
5266         * frame.c (device_matches_device_spec):
5267         * frame.c (next_frame):
5268         * frame.c (previous_frame):
5269         * frame.c (Fnext_frame):
5270         * frame.c (Fprevious_frame):
5271         * frame.c (Fframe_property):
5272         * frame.c (Fset_frame_height):
5273         * frame.c (Fset_frame_size):
5274         * frame.h:
5275         * glyphs.c:
5276         * glyphs.c (if):
5277         * glyphs.c (decode_error_behavior_flag):
5278         * glyphs.c (Fmake_image_instance):
5279         * indent.c (Findent_to):
5280         * intl.c (Fignore_defer_gettext):
5281         * keymap.c (Fkeymapp):
5282         * keymap.c (Flookup_key):
5283         * lread.c:
5284         * lread.c (Fload_internal):
5285         * lread.c (Feval_buffer):
5286         * lread.c (Feval_region):
5287         * macros.c (Fexecute_kbd_macro):
5288         * marker.c (set_marker_internal):
5289         * marker.c (Fset_marker):
5290         * marker.c (set_marker_restricted):
5291         * marker.c (Fcopy_marker):
5292         * marker.c (noseeum_copy_marker):
5293         * menubar.c:
5294         * menubar.c (Fpopup_menu):
5295         * minibuf.c:
5296         * mule-charset.c (Fcharset_name):
5297         * mule-charset.c (Fchar_charset):
5298         * mule-charset.c (Fchar_octet):
5299         * mule-charset.c (Fsplit_char):
5300         * mule-wnnfns.c (Fwnn_open):
5301         * mule-wnnfns.c (Fwnn_dict_comment):
5302         * mule-wnnfns.c (Fwnn_quit_henkan):
5303         * mule-wnnfns.c (Fwnn_word_toroku):
5304         * mule-wnnfns.c (Fwnn_word_sakujo):
5305         * mule-wnnfns.c (Fwnn_word_use):
5306         * mule-wnnfns.c (Fwnn_hindo_set):
5307         * objects.c:
5308         * objects.c (Fmake_color_instance):
5309         * objects.c (Fmake_font_instance):
5310         * print.c (Fwrite_char):
5311         * process.c:
5312         * process.c (mark_process):
5313         * process.c (print_process):
5314         * process.c (get_process_from_usid):
5315         * process.c (Fprocessp):
5316         * process.c (Fprocess_live_p):
5317         * process.c (Fget_process):
5318         * process.c (Fget_buffer_process):
5319         * process.c (get_process):
5320         * process.c (Fprocess_id):
5321         * process.c (Fprocess_name):
5322         * process.c (Fprocess_command):
5323         * process.c (init_process_io_handles):
5324         * process.c (start_process_unwind):
5325         * process.c (Fstart_process_internal):
5326         * process.c (Fopen_multicast_group_internal):
5327         * process.c (Fset_process_window_size):
5328         * process.c (read_process_output):
5329         * process.c (send_process):
5330         * process.c (Fprocess_tty_name):
5331         * process.c (Fset_process_buffer):
5332         * process.c (Fprocess_buffer):
5333         * process.c (Fprocess_mark):
5334         * process.c (set_process_filter):
5335         * process.c (Fset_process_filter):
5336         * process.c (Fprocess_filter):
5337         * process.c (Fprocess_send_region):
5338         * process.c (Fprocess_send_string):
5339         * process.c (exec_sentinel):
5340         * process.c (Fset_process_sentinel):
5341         * process.c (Fprocess_sentinel):
5342         * process.c (status_notify):
5343         * process.c (Fprocess_status):
5344         * process.c (Fprocess_exit_status):
5345         * process.c (process_send_signal):
5346         * process.c (Fprocess_send_eof):
5347         * process.c (deactivate_process):
5348         * process.c (remove_process):
5349         * process.c (Fdelete_process):
5350         * process.c (kill_buffer_processes):
5351         * process.c (Fprocess_kill_without_query):
5352         * process.c (Fprocess_kill_without_query_p):
5353         * rangetab.c:
5354         * rangetab.c (Fget_range_table):
5355         * rangetab.c (Fput_range_table):
5356         * rangetab.c (Fremove_range_table):
5357         * rangetab.c (Fclear_range_table):
5358         * search.c:
5359         * search.c (Fskip_chars_forward):
5360         * search.c (Fskip_chars_backward):
5361         * search.c (Fskip_syntax_forward):
5362         * search.c (Fskip_syntax_backward):
5363         * search.c (search_command):
5364         * search.c (Freplace_match):
5365         * search.c (Fregexp_quote):
5366         * select.c (Fown_selection_internal):
5367         * select.c (Fselection_owner_p):
5368         * select.c (Fselection_exists_p):
5369         * select.c (Fget_selection_internal):
5370         * specifier.c:
5371         * symbols.c:
5372         * symbols.c (Fintern):
5373         * symbols.c (Fintern_soft):
5374         * symbols.c (Funintern):
5375         * symbols.c (Fapropos_internal):
5376         * symbols.c (Fset_default):
5377         * syntax.c:
5378         * syntax.c (Fsyntax_table_p):
5379         * syntax.c (Fcopy_syntax_table):
5380         * syntax.c (Fset_syntax_table):
5381         * syntax.c (Fchar_syntax):
5382         * syntax.c (syntax_match):
5383         * syntax.c (Fmatching_paren):
5384         * syntax.c (Fforward_word):
5385         * syntax.c (scan_lists):
5386         * syntax.c (Fscan_lists):
5387         * syntax.c (Fscan_sexps):
5388         * syntax.c (Fparse_partial_sexp):
5389         * toolbar.c (Fcheck_toolbar_button_syntax):
5390         * tooltalk.doc:
5391         * window.c:
5392         * window.c (Fwindowp):
5393         * window.c (Fwindow_live_p):
5394         * window.c (Fwindow_point):
5395         * window.c (Fdelete_window):
5396         * window.c (Fnext_window):
5397         * window.c (Fprevious_window):
5398         * window.c (Fother_window):
5399         * window.c (window_loop):
5400         * window.c (Fget_lru_window):
5401         * window.c (Fsplit_window):
5402         * window.c (Fenlarge_window):
5403         * window.c (Fenlarge_window_pixels):
5404         * window.c (Fshrink_window):
5405         * window.c (Fshrink_window_pixels):
5406         * window.c (change_window_height):
5407         * window.c (Fwindow_configuration_p):
5408         * window.c (Fcurrent_window_configuration):
5409         * window.h:
5410         * casefiddle.c (casify_object):
5411         * casefiddle.c (Fupcase):
5412         * casefiddle.c (Fdowncase):
5413         * casefiddle.c (Fcapitalize):
5414         * casefiddle.c (Fupcase_initials):
5415         * casefiddle.c (casify_region_internal):
5416         * casefiddle.c (casify_region):
5417         * casefiddle.c (Fupcase_region):
5418         * casefiddle.c (Fdowncase_region):
5419         * casefiddle.c (Fcapitalize_region):
5420         * casefiddle.c (Fupcase_initials_region):
5421         * casefiddle.c (Fupcase_word):
5422         * casefiddle.c (Fdowncase_word):
5423         * casefiddle.c (Fcapitalize_word):
5424         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
5425         Replace 0 with '\0' when working with bytes.
5426         Replace initial "(" with "\(" in docstrings.
5427
5428 2000-11-01  Martin Buchholz  <martin@xemacs.org>
5429
5430         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
5431
5432         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
5433
5434 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5435
5436         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
5437
5438 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5439
5440         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
5441         correctly.
5442
5443 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5444
5445         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
5446         (inhibit_auto_save_session): New variable.
5447         (vars_of_fileio): Declare and initialize them.
5448         * fileio.c (Fdo_auto_save): Don't create session file if
5449         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
5450
5451 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5452
5453         * sgiplay.c (play_internal): C++ compilability.
5454         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
5455         * callproc.c (Fold_call_process_internal):
5456         Remove unused vars `env', `first'.
5457         * scrollbar.c (update_scrollbar_instance):
5458         #### unused var `current_window'.
5459         * redisplay-tty.c: Put currently unused vars insert_mode_on,
5460         etc. within #ifdef NOT_YET.
5461         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
5462         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
5463         * specifier.c (specifier_instance):
5464         #### unused var `tag'.
5465         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
5466
5467 2000-10-27  Martin Buchholz  <martin@xemacs.org>
5468
5469         * fns.c (Fbutlast):
5470         * fns.c (list_sort):
5471         * fns.c (Ffillarray):
5472         * fns.c (bytecode_nconc2):
5473         * fns.c (Fnconc):
5474         * fns.c (mapcar1):
5475         * fns.c (Fmapconcat):
5476         Be pedantically 64-bit correct.  For the time when someone will
5477         want to have a list with length > 2**32.
5478
5479         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
5480         Work around MIPSpro compiler bug.
5481
5482         * process-unix.c (unix_kill_child_process): Add snarky comment.
5483         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
5484
5485         * config.h.in: Oops, _getpt ==> _getpty
5486
5487 2000-10-26  Martin Buchholz  <martin@xemacs.org>
5488
5489         * config.h.in:
5490         * regex.c:
5491         Use void*, not char*, as return type of alloca().
5492
5493         * alloc.c (free_marker): Side effect inside assert expression!
5494
5495 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
5496
5497         * mule-charset.c (Fset_charset_ccl_program): To check
5498         if the given ccl program is valid, use setup_ccl_program()
5499         instead of CHECK_VECTOR().
5500         (Fmake_charset): Likewise.
5501
5502 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
5503
5504         * faces.c (get_extent_fragment_face_cache_index):
5505         Fix cachel.merged_faces memory leak.
5506
5507 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
5508
5509         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
5510         Reset MSB of octets obtained by DECODE_SJIS
5511         because of the incompatibility with Emacs.
5512         (ccl_driver)<CCL_ENCODE_SJIS>:
5513         Set MSB of octets before passing them to
5514         ENCODE_SJIS because of the incompatibility
5515         with Emacs.
5516
5517 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
5518
5519         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
5520         (DECLARE_LRECORD): Undo the last change.
5521         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
5522
5523 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
5524
5525         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
5526         the implementation to lrecord_implementations_table.
5527
5528 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
5529
5530         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
5531         initial value of `lrecord_type_##c_name' and
5532         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
5533         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
5534         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
5535         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
5536         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
5537
5538 2000-10-17  Martin Buchholz  <martin@xemacs.org>
5539
5540         * miscplay.c (sndcnv8S_2mono):
5541         (sndcnv2monounsigned):
5542         (sndcnvULaw_2linear):
5543         (sndcnv16swap):
5544         Remove implementation-defined behavior.
5545
5546 2000-10-12  Martin Buchholz  <martin@xemacs.org>
5547
5548         * input-method-xlib.c: Warning suppression.
5549
5550 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
5551
5552         * mule-ccl.c: Sync up with Emacs 21.0.90.
5553         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
5554         Do nothing.
5555         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
5556         Likewise.
5557         (ccl_driver[WriteMultibyteChar2]): Bug fix.
5558         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
5559         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
5560         leading char belongs to official 2-dimensional charset.
5561         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
5562         write the given character as is.  Otherwise,
5563         if it is a multibyte char, convert it by
5564         non_ascii_set_charptr_emchar, then write it.
5565         (CCL_WRITE_STRING): Likewise.
5566         (ccl_get_compiled_code): New function.
5567         (setup_ccl_program): When ccl_prog is invalid,
5568         return -1.
5569         (Fregister_code_conversion_map): New function.
5570         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
5571
5572         * mule-ccl.h: Sync up with Emacs 21.0.90.
5573         (Fregister_ccl_program): export it.
5574
5575         * redisplay-msw.c (separate_textual_runs):
5576         If ccl program is not valid, don't do ccl conversion.
5577
5578         * redisplay-x.c (separate_textual_runs): Ditto.
5579
5580         * file-coding.c (Fmake_coding_system):
5581         When type is ccl and value is vector, register it
5582         with a proper symbol.  And checks whether the
5583         given ccl program is valid.
5584         (mule_decode): When calling ccl_driver, if src indicates
5585         NULL pointer, set an empty string instead.
5586         (mule_encode): Likewise.
5587
5588 2000-10-11  Martin Buchholz  <martin@xemacs.org>
5589
5590         The following large batch of changes gets us back to a state of
5591         C++ compilability.  Extbyte is now a char, which means that
5592         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
5593
5594         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
5595
5596         * sound.c (Fplay_sound): Type correctness.
5597
5598         * select-x.c (hack_motif_clipboard_selection): Type correctness.
5599         (x_get_window_property): Type correctness.
5600         (receive_incremental_selection): unsigned char ==> Extbyte
5601         (selection_data_to_lisp_data): unsigned char ==> Extbyte
5602         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
5603         (Fx_store_cutbuffer_internal): Type correctness.
5604
5605         * process-unix.c (try_to_initialize_subtty): Type correctness.
5606
5607         * objects-x.c (x_print_color_instance): Type correctness.
5608         (x_print_font_instance): Type correctness.
5609         (x_list_fonts): SExtbyte ==> Extbyte.
5610         (valid_x_font_name_p): SExtbyte ==> Extbyte.
5611         (x_find_charset_font): SExtbyte ==> Extbyte.
5612         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
5613         (truename_via_XListFonts): SExtbyte ==> Extbyte.
5614         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
5615         Use bufbyte_strcmp.
5616
5617         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
5618         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
5619         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
5620         (BYTE_C0_P): Use bit ops for char-signedness safety.
5621         (BYTE_C1_P): Use bit ops for char-signedness safety.
5622         (CHARSET_BY_LEADING_BYTE):
5623         (CHARSET_BY_ATTRIBUTES):
5624         Always use inline function.
5625         Use type_checking_assert.
5626         Hide chlook.
5627
5628         * mule-charset.c (non_ascii_charptr_copy_char):
5629         Modify to work with both ASCII and non-ASCII characters.
5630         Improve docs and variable names.
5631         Replace over-clever fall-through switch with a simple loop.
5632         (Lstream_get_emchar_1):
5633         Replace over-clever fall-through switch with a simple loop.
5634
5635         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5636         Warning suppression.
5637
5638         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
5639         the return value of Lstream_getc, which could be EOF as well.
5640
5641         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
5642
5643         * lisp.h: Make Extbyte a char, not unsigned char, so that external
5644         APIs can be used on Extbytes without casts.  Risky!
5645         (SExtbyte): Remove.
5646         (UExtbyte): Remove.
5647
5648         * input-method-xlib.c (XIM_init_device):
5649         Use Xlib.h instead of IntrinsicP.h.
5650         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
5651         which will break in X11R7.
5652         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
5653         to call XRegisterIMInstantiateCallback with correct types.
5654
5655         * gui-x.c (button_item_to_widget_value): Type correctness.
5656
5657         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
5658
5659         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
5660         (xbm_instantiate_1): Type correctness.
5661         (BUILD_GLYPH_INST):  Type correctness.
5662
5663         * fileio.c (Fsubstitute_in_file_name): Type correctness.
5664
5665         * file-coding.c:
5666         (decode_coding_sjis):
5667         (decode_coding_big5):
5668         (decode_coding_ucs4):
5669         (decode_coding_utf8):
5670         (decode_coding_iso2022):
5671         (decode_coding_no_conversion):
5672         Make all decoding functions take an Extbyte * arg.
5673         (encode_coding_sjis):
5674         (encode_coding_big5):
5675         (encode_coding_ucs4):
5676         (encode_coding_utf8):
5677         (encode_coding_iso2022):
5678         (encode_coding_no_conversion):
5679         Make all encoding functions take a Bufbyte * arg.
5680         Use size_t instead of unsigned int for memory sizes.
5681         Only cast to unsigned char whenever dereferencing Extbyte *.
5682
5683         * doc.c (unparesseuxify_doc_string): Type correctness.
5684
5685         * console-x.c (split_up_display_spec):
5686         Rewrite without using details of internal string representation.
5687         (x_semi_canonicalize_device_connection): Type correctness.
5688
5689         * config.h.in:
5690         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
5691         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
5692         (HAVE_XFREE386): Removed.
5693
5694         * buffer.h (DEC_CHARPTR): `const' correctness.
5695         (bufbyte_strcmp): New.
5696         (bufbyte_memcmp): New.
5697
5698         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
5699
5700         * buffer.h (XCHAR_OR_CHAR_INT):
5701         Always use inline function.
5702         Remove redundant type checking assert() - XINT will abort quite nicely.
5703
5704 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5705
5706         * search.c (Freplace_match): Set newtext to an empty string.
5707
5708 2000-10-10  Martin Buchholz  <martin@xemacs.org>
5709
5710         * s/decosf1-3.h: Remove #include of stropts.h
5711         * s/ptx.h: Remove #include of stropts.h
5712         * s/usg5-4.h: Remove #include of stropts.h
5713         * sysproc.h:
5714         * config.h.in:
5715         Use stropts.h, not sys/stropts.h.
5716         Use strtio.h, not sys/strtio.h.
5717
5718 2000-10-04  Martin Buchholz <martin@xemacs.org>
5719
5720         * XEmacs 21.2.36 is released.
5721
5722 2000-09-21  Andy Piper  <andy@xemacs.org>
5723
5724         * glyphs-x.c (x_redisplay_widget): make sure non-structural
5725         changes still involve copying the widget tree.
5726         (update_widget_face): make sure a change is register in the widget
5727         tree. Call update_tab_widget_face appropriately.
5728         (update_tab_widget_face): ditto.
5729         (x_tab_control_redisplay): make sure non-structural changes still
5730         involve copying the widget tree.
5731
5732 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
5733
5734         * lread.c (locate_file): Check the path element is non-nil.
5735
5736 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5737
5738         * lisp.h: Warning suppression for SCO compilers.
5739
5740         * redisplay-tty.c (reset_tty_modes): Fix crash.
5741         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
5742
5743 2000-09-27  Martin Buchholz  <martin@xemacs.org>
5744
5745         Big signal/process handling overhaul.  Bugs fixed:
5746         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
5747         M-x comint-kill-subjob should work for both values nil and t of
5748         process-connection-type. It was broken on most platforms.
5749         Testing on Irix and Cygwin still needed.  Other plaforms tested.
5750         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
5751         * process-unix.c: Signal/Process handling overhaul.
5752         (pty_name): make 64 bytes, as `expect' does, for paranoia.
5753         (allocate_pty): Use all available modern methods of allocating
5754         ptys, falling back to old style BSD allocation as a last resort.
5755         Use allegedly more secure Unix98 pty allocation by default.
5756         (allocate_pty_the_old_fashioned_way): New. the last resort.
5757         (unix_create_process): Push ptem, ldterm, ttcompat where
5758         available.  Autoconfiscate.
5759         (try_to_initialize_subtty): New.
5760         (unix_kill_child_process): Proper signal handling for ptys on most
5761         platforms, using special knowledge of AIX, BSD, etc...
5762         (unix_create_process): Always disconnect_controlling_terminal() for
5763         subprocesses, whether using ptys or not.
5764         * process.h: Remove old getpt-dependent PTY code.
5765         * process.c (Fprocess_send_signal): New, obvious generic function.
5766         (decode_signal): New.
5767         (Finterrupt_process):
5768         (Fkill_process):
5769         (Fquit_process):
5770         (Fstop_process):
5771         (Fcontinue_process):
5772         (Fsignal_process): Use decode_signal.
5773         (process_send_signal):
5774         Many docstring corrections.
5775         Allow any signal to be sent to a process object.
5776         * config.h.in: Add symbols for big signal/process overhaul.
5777         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
5778         * sysproc.h: Include process-related headers, where available:
5779         sys/stropts.h sys/strtio.h pty.h libutil.h
5780         * s/irix4-0.h:
5781         * s/irix5-0.h:
5782         * s/cygwin32.h:
5783         * s/gnu.h:
5784         * s/linux.h:
5785         * s/hpux.h:
5786         * s/aix3-1.h:
5787         Remove old S&M pty stuff.
5788         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
5789         * systty.h: Simplify cpp hackery, improve comments.
5790         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
5791
5792         * editfns.c (Fformat_time_string):
5793         Be a little more paranoid with the return value of ctime.
5794
5795         * fileio.c (check_executable):
5796         (check_writable):
5797         Use symbolic constants X_OK, W_OK.
5798
5799         * console-x.c (split_up_display_spec): Fix a warning.
5800
5801 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5802
5803         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
5804         * ntproc.c (sys_spawnve): make_string ==> build_string
5805         Small clarity improvements.
5806
5807 2000-09-30  Martin Buchholz  <martin@xemacs.org>
5808
5809         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
5810
5811         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
5812
5813         * config.h.in (HAVE_STRCASECMP): Remove.
5814
5815 2000-09-29  Martin Buchholz  <martin@xemacs.org>
5816
5817         * redisplay-output.c (redisplay_output_pixmap):
5818         Cleaner and possibly more 64-bit correct code.
5819
5820 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5821
5822         * dumper.c (pdump_load_finish): move restoration of
5823         `noninteractive1' to emacs.c (main_1).
5824         * emacs.c (main_1): protect LISP-visible command-line flags
5825         from pdump_load().
5826
5827 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
5828
5829         * Makefile.in.in (versionclean):  Use EXE_TARGET and
5830         DUMP_TARGET instead of literal program names.
5831
5832 2000-09-20  Martin Buchholz  <martin@xemacs.org>
5833
5834         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
5835
5836 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5837
5838         * *: Spelling mega-patch
5839
5840 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5841
5842         * fns.c (bad_bad_turtle):
5843         Delete "Eek!" comment, since we fixed the bug to which it refers.
5844
5845 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5846
5847         * alloca.c: Replace REGISTER with register.
5848
5849 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
5850
5851         * file-coding.c (ucs_to_char): Use countof.
5852
5853 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5854
5855         * file-coding.c: (ucs_to_char):
5856         (complex_vars_of_file_coding):
5857         Use countof instead of sizeof.
5858         Use CHECK_NATNUM instead of CHECK_INT.
5859
5860         * sysdep.c (strcasecmp): Remove.
5861         * device-x.c (ascii_strcasecmp): New.
5862         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
5863         Avoid using non-standard non-portable strcasecmp.
5864
5865 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5866
5867         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
5868         * font-lock.c: remove reference to emacsfns.h.
5869         * search.c: small doc improvement.
5870         * event-Xt.c: correct file names in comments.
5871         * console-x.h Correct file names in comments.
5872         * frame.c: Correct file names in comments.
5873         * event-stream.c: remove Energize from comments.
5874
5875 2000-09-15  Martin Buchholz  <martin@xemacs.org>
5876
5877         * symeval.h (DEFERROR_STANDARD):
5878         (DEFERROR):
5879         (DEFSYMBOL):
5880         (DEFSYMBOL_NO_DUMP):
5881         (DEFSYMBOL_MULTIWORD_PREDICATE):
5882         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
5883         (DEFKEYWORD):
5884         The construct &##name is not sensible C.
5885         Fixes compilation errors with Unixware native compiler.
5886
5887 2000-09-14  Martin Buchholz  <martin@xemacs.org>
5888
5889         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
5890         (next_frame_internal): Removed.  We now just have next_frame.
5891         (next_frame):
5892         Write a simpler and cleaner one-pass algorithm.
5893         Remove called_from_delete_device arg and #ifdefed-out code.
5894         (previous_frame):
5895         Renamed from prev_frame.  Update callers.
5896         Cleaned up to have an analogous implementation to next_frame.
5897         (other_visible_frames_internal): Remove the
5898         called_from_delete_device bogus arg, and hence, remove this
5899         function.  Just use other_visible_frames().
5900
5901         * window.c (Fnext_window):
5902         Prettify docstring.
5903         Since next_frame() is guaranteed to return a frame, remove check
5904         for nil inserted in previous patch.
5905         (Fprevious_window):
5906         Prettify docstring.
5907         Make code look more like Fnext_window.
5908         (window_loop):
5909         Respect the `console' arg when iterating through windows.
5910         Fixes bug: (get-buffer-window buffer t device) not respecting
5911         the `device' arg.
5912         This function needs more work, as others have pointed out.
5913
5914         * frame.h: Rename prev_frame to previous_frame.
5915         device_matches_console_spec no longer takes a `frame' arg.
5916
5917         * s/gnu.h:
5918         * s/linux.h:
5919         * s/hpux.h:
5920         Use EMACS_BLOCK_SIGNAL instead of sigblock.
5921         From "Golubev I. N." <gin@mo.msk.ru>.
5922
5923         * make-src-depend: Fix typo.
5924
5925 2000-09-13  Martin Buchholz  <martin@xemacs.org>
5926
5927         * window.c (Fnext_window):
5928         next_frame() might return nil, not a frame.
5929         Fixes this crash:
5930         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5931
5932         * frame.c (next_frame_internal):
5933         We've passed a frame if we've passed its device.
5934         Fixes this crash:
5935         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5936 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
5937
5938 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5939
5940         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
5941         Allow option to suppress accelerators in menu/dialog items.
5942         (populate_or_checksum_helper): Pass dialog title through above.
5943
5944 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5945
5946         * event-msw.c (mswindows_key_to_emacs_keysym):
5947         Add "pause" key, fix "menu" key.
5948
5949 2000-09-09  Martin Buchholz  <martin@xemacs.org>
5950
5951         * eval.c (reinit_vars_of_eval):
5952         Increase max_lisp_eval_depth to 1000,
5953         required for thai-xtis.el to byte-compile under some circumstances.
5954
5955 2000-09-04  Martin Buchholz  <martin@xemacs.org>
5956
5957         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
5958         From Kenichi Handa.
5959
5960 2000-09-01  Martin Buchholz  <martin@xemacs.org>
5961
5962         * make-src-depend: Make the generated Makefiles smaller.
5963
5964         * s/hpux.h (SETUP_SLAVE_PTY):
5965         Provide a %d in the format string for the errno argument.
5966
5967         * editfns.c (Ftemp_directory):
5968         Warning fix.
5969         Avoid buffer overrun on very long file name.
5970
5971         * input-method-xlib.c (XIM_init_device):
5972         6th parameter of XRegisterIMInstantiateCallback has different
5973         pointer types on different OSes, so simply cast to (void *).
5974
5975         * unexhp9k800.c: Warning fixes.  Fiddly changes.
5976
5977         * sysdll.c (dll_open):
5978         shl_load will hang hard if passed a NULL filename.
5979         Simply return NULL for compatibility with dlopen.
5980         * sysdll.c: Conform to XEmacs coding standards.
5981
5982         * sysdep.c (get_pty_max_bytes):
5983         Support pty input lines longer than 512 bytes on HP-UX 10.20.
5984
5985 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5986
5987         * tooltalk.c: Add #include <syssignal.h>
5988
5989 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
5990
5991         * s/hpux.h: Don't use undefined function sigunblock().
5992
5993 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5994
5995         * config.h.in: Add HAVE_BALLOON_HELP.
5996         * emacs.c: Use HAVE_BALLOON_HELP.
5997         * Makefile.in.in (x_objs):
5998         Make Balloon Help conditional on finding shape.h.
5999
6000 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
6001
6002         * syntax.c (regex_emacs_buffer_p): New variable.
6003         * syntax.h (regex_emacs_buffer_p): extern.
6004         * search.c (looking_at_1):
6005         (string_match_1):
6006         (fast_string_match):
6007         (search_buffer): Set regex_emacs_buffer_p.
6008         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
6009         when before_dot, at_dot, after_dot.
6010
6011 2000-08-23  Andy Piper  <andy@xemacs.org>
6012
6013         * gui-x.c (popup_selection_callback): Only set action_occurred
6014         when we really have an image instance.
6015         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
6016
6017 2000-08-23  Andy Piper  <andy@xemacs.org>
6018
6019         * gui-msw.c (mswindows_handle_gui_wm_command): set
6020         action_occurred.
6021         * gui-x.c (popup_selection_callback): ditto.
6022
6023         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
6024         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
6025         (struct Lisp_Image_Instance): add action_occurred flag.
6026
6027         * glyphs.c (redisplay_subwindow): use action_occurred flag.
6028         (image_instance_changed): ditto.
6029         (reset_frame_subwindow_instance_cache): only unmap windows - do
6030         not remove them from the cache also.
6031
6032         * glyphs-widget.c (tab_control_update): better debug.
6033         (progress_gauge_update): ditto.
6034         (layout_update): ditto.
6035         (layout_instantiate): ditto.
6036         (tab_control_order_only_changed): cope with null pending items.
6037
6038         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
6039         debug. Force selection of an item when an action occurred. Cope
6040         with null pending_items.
6041         (mswindows_progress_gauge_redisplay): better debug.
6042         * glyphs-x.c (x_tab_control_redisplay): ditto.
6043
6044         * redisplay.c (redisplay_frame): reset the frame cache if the
6045         frame is garbaged.
6046
6047         * window.c (Fset_window_configuration): potentially re-enable
6048         frame cache reset.
6049         (window_unmap_subwindows): need to finalize instances here since
6050         it is only used in mark_window_as_deleted.
6051
6052 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
6053
6054         * nas.c (SndOpenDataForReading):
6055         nas.c (WaveOpenDataForReading):
6056         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
6057         Somehow escaped from the 2000-08-14 patch.
6058
6059 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6060
6061         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
6062         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
6063
6064 2000-08-21  Andy Piper  <andy@xemacs.org>
6065
6066         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
6067         window if it is not already displayed.
6068
6069         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
6070         it is not already displayed.
6071
6072         * window.c (Fset_window_configuration): don't reset the frame
6073         cache.
6074
6075         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
6076         instances from the frame cache if we are actually finalizing them.
6077         (reset_frame_subwindow_instance_cache): reset frame cache only
6078         after unmapping everything.
6079         (map_subwindow): set displayed flag after mapping.
6080
6081 2000-08-21  Martin Buchholz  <martin@xemacs.org>
6082
6083         * data.c (indirect_function):
6084         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
6085
6086         * eval.c (function_argcount):
6087         Use original function when signaling errors.
6088
6089 2000-08-18  Andy Piper  <andy@xemacs.org>
6090
6091         * frame.c (delete_frame_internal): use new
6092         free_frame_subwindow_instances name.
6093
6094         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
6095         (add_tab_item): make return type correct.
6096         (mswindows_tab_control_instantiate): assert index of tab.
6097         (mswindows_tab_control_redisplay): Re-code to use
6098         gui_item_equal_sans_selected and gui_item_list_find_selected.
6099
6100         * glyphs-widget.c (tab_control_update): Correct comment.
6101
6102         * window.c (window_unmap_subwindows): use new
6103         unmap_subwindow_instance_cache_mapper.
6104         (window_unmap_subwindows_cache_mapper): deleted.
6105         (Fset_window_configuration): comparisons should now be with
6106         EQ. Preserve the subwindow instance cache across configuration
6107         changes.
6108         (allocate_window): ditto.
6109         (make_dummy_parent): ditto.
6110
6111         * glyphs.c (free_frame_subwindow_instances): rename from
6112         free_frame_subwindow_instance_cache. finalize all instances rather
6113         than just those in the display cache.
6114         (finalize_all_subwindow_instances): walk windows unmapping and
6115         finalizing subwindows.
6116         (unmap_subwindow_instance_cache_mapper): moved from
6117         window.c. Allow finalization as well as unmapping.
6118
6119         * gui.c (gui_item_list_find_selected): new function.
6120
6121         * gui.h (gui_item_list_find_selected): declare.
6122
6123         * glyphs-x.c (x_tab_control_redisplay): pick tab
6124         explicitly. Re-code to use gui_item_equal_sans_selected and
6125         gui_item_list_find_selected.
6126
6127         * glyphs-x.h: add lwlib-utils.h
6128
6129         * buffer.c (Frecord_buffer): undo previous change.
6130
6131 2000-08-09  Vin Shelton  <acs@xemacs.org>
6132
6133         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
6134         possible.  Create temporary files more securely.  The patch was
6135         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
6136         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
6137         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
6138         for details.
6139
6140 2000-08-07  Ben Wing  <ben@xemacs.org>
6141
6142         * getloadavg.c: remove duplicate (and windows-breaking)
6143         includes of fcntl.h and sys/file.h.
6144
6145         * nt.c: remove duplicate getloadavg() definition.
6146
6147         * sysdll.h (Qdll_filename_encoding): add missing stand-in
6148         encodings.
6149
6150 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6151
6152         * eval.c (function_argcount): If function needs to be autoloaded
6153         actually use the loaded definition.
6154         GCPRO function.
6155
6156 2000-08-05  Ben Wing  <ben@xemacs.org>
6157
6158         * getloadavg.c: add prototype for getloadavg().  remove
6159         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
6160         of the code).  remove duplicate header includes.
6161
6162         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
6163
6164         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
6165         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
6166         useful load average.
6167
6168         * alloc.c (reinit_alloc_once_early): removed references to
6169         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
6170         the lisp vars are the only things referencing the malloc_sbrk_*
6171         vars, and they were already if 0'd out.  these vars only exist
6172         in the older malloc.c, which is basically unused, and they're
6173         only for informational purposes.
6174
6175         * m\*.h: removed useless VIRT_ADDR_VARIES.
6176
6177         * m\powerpc.h: removed stray NO_ARG_ARRAY.
6178
6179 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
6180
6181         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
6182         color if the image is a mono pixmap.
6183
6184 2000-07-30  Ben Wing  <ben@xemacs.org>
6185
6186         * Makefile.in.in (release):
6187         Remove stray @.
6188
6189         * buffer.c (directory_is_current_directory):
6190         * dired-msw.c (mswindows_get_files):
6191         * dired.c:
6192         * dired.c (Fdirectory_files):
6193         * dired.c (file_name_completion_stat):
6194         * dired.c (Ffile_attributes):
6195         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
6196         preprocessor tricks, to avoid problems on some machines
6197         (e.g. SCO).
6198
6199         * callproc.c (egetenv): GC docs.
6200
6201         * console-msw.h:
6202         * console-msw.h (struct mswindows_dialog_id):
6203         * lrecord.h (lrecord_type):
6204         New object for use with MSW dialogs.
6205
6206         * console.h (struct console_methods):
6207         New enable/disable frame methods, for proper modal dialogs.
6208
6209         * device-msw.c (msprinter_default_printer): Fix to follow
6210         proper Mule conventions.
6211
6212         * device-msw.c:
6213         * device-msw.c (signal_open_printer_error):
6214         * device-msw.c (msprinter_init_device):
6215         * device-msw.c (ensure_not_printing):
6216         * device-msw.c (plist_get_margin):
6217         * device-msw.c (Fmsprinter_select_settings):
6218         * device-msw.c (finalize_devmode):
6219         * device-msw.c (Fmsprinter_settings_despecialize):
6220         * device-msw.c (signal_enum_priner_error):
6221         * extents.c (decode_extent):
6222         * extents.c (decode_map_extents_flags):
6223         * extents.c (decode_extent_at_flag):
6224         * extents.c (Fextent_at):
6225         * extents.c (Fextents_at):
6226         * extents.c (symbol_to_glyph_layout):
6227         [[[[2]]]] Use structured errors.
6228
6229         * dialog-msw.c:
6230         * dialog-msw.c (mswindows_is_dialog_msg):
6231         * dialog-msw.c (mark_mswindows_dialog_id):
6232         * dialog-msw.c (dialog_proc):
6233         * dialog-msw.c (handle_question_dialog_box):
6234         * dialog-msw.c (syms_of_dialog_mswindows):
6235         Define new object to clean up marking; use it as a dialog identifier.
6236         Call new delete-dialog-box-hook.
6237
6238         * dialog-x.c (dbox_selection_callback):
6239         * dialog-x.c (dbox_descriptor_to_widget_value):
6240         * dialog-x.c (x_make_dialog_box_internal):
6241         Call new delete-dialog-box-hook.
6242         Return an id.
6243
6244         * dialog.c:
6245         * dialog.c (syms_of_dialog):
6246         * dialog.c (vars_of_dialog):
6247         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
6248
6249         * eval.c:
6250         * eval.c (signal_call_debugger):
6251         when noninteractive, output stack traces on the console instead
6252         of in a (never-seen) buffer.
6253
6254         * eval.c (signal_type_error):
6255         * eval.c (invalid_argument_2):
6256         * lisp.h:
6257         new funs for use w/structured errors.
6258
6259         * event-Xt.c:
6260         * event-Xt.c (x_to_emacs_keysym):
6261         * event-Xt.c (describe_event):
6262         * event-Xt.c (emacs_Xt_event_handler):
6263         * event-Xt.c (vars_of_event_Xt):
6264         * event-msw.c:
6265         * event-msw.c (mswindows_wnd_proc):
6266         * event-msw.c (vars_of_event_mswindows):
6267         rename {x,mswindows}-debug-events to debug-{}-events for
6268         consistency with other debug-foo variables.
6269
6270         * event-stream.c:
6271         document next-event more clearly.
6272
6273         * fileio.c (Ffile_name_directory):
6274         * fileio.c (Ffile_name_nondirectory):
6275         * fileio.c (Funhandled_file_name_directory):
6276         * fileio.c (file_name_as_directory):
6277         * fileio.c (Ffile_name_as_directory):
6278         * fileio.c (directory_file_name):
6279         * fileio.c (Fdirectory_file_name):
6280         * fileio.c (Fmake_temp_name):
6281         * fileio.c (Ffile_truename):
6282         * fileio.c (Fsubstitute_in_file_name):
6283         * fileio.c (expand_and_dir_to_file):
6284         * fileio.c (barf_or_query_if_file_exists):
6285         * fileio.c (check_executable):
6286         * fileio.c (Ffile_exists_p):
6287         * fileio.c (Ffile_writable_p):
6288         * fileio.c (Ffile_directory_p):
6289         * fileio.c (Ffile_regular_p):
6290         * fileio.c (Ffile_modes):
6291         * fileio.c (Ffile_newer_than_file_p):
6292         * fileio.c (Fverify_visited_file_modtime):
6293         * fileio.c (Fset_visited_file_modtime):
6294         * fileio.c (auto_save_1):
6295         (1). (2).
6296         fix up gcpro's.
6297
6298         * frame-msw.c:
6299         * frame-msw.c (mswindows_init_frame_1):
6300         * frame-msw.c (mswindows_enable_frame):
6301         * frame-msw.c (error_frame_unsizable):
6302         * frame-msw.c (msprinter_init_frame_1):
6303         * frame-msw.c (msprinter_init_frame_3):
6304         * frame-msw.c (console_type_create_frame_mswindows):
6305         (2).
6306         implement new enable/disable frame methods.
6307
6308         * frame-x.c:
6309         * frame-x.c (x_enable_frame):
6310         * frame-x.c (console_type_create_frame_x):
6311         implement new enable/disable frame methods.
6312
6313         * frame.c:
6314         * frame.c (Fdisable_frame):
6315         * frame.c (syms_of_frame):
6316         * frame.h (struct frame):
6317         implement new enable/disable frame methods/functions.
6318
6319         * general-slots.h:
6320         add initial-focus.
6321
6322         * glyphs-msw.c (mswindows_widget_instantiate):
6323         comment that initial-focus should be implemented.
6324
6325         * glyphs-widget.c:
6326         * glyphs-widget.c (check_valid_instantiator):
6327         * glyphs-widget.c (check_valid_orientation):
6328         * glyphs-widget.c (check_valid_tab_orientation):
6329         * glyphs-widget.c (check_valid_justification):
6330         * glyphs-widget.c (check_valid_border):
6331         * glyphs-widget.c (check_valid_callback):
6332         * glyphs-widget.c (check_valid_int_or_function):
6333         * glyphs-widget.c (check_valid_string_or_vector):
6334         * glyphs-widget.c (check_valid_item_list_1):
6335         * glyphs-widget.c (widget_validate):
6336         * glyphs-widget.c (combo_box_validate):
6337         * glyphs-widget.c (widget_instantiate):
6338         * glyphs-widget.c (syms_of_glyphs_widget):
6339         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
6340         * glyphs-widget.c (image_instantiator_combo_box):
6341         * glyphs-widget.c (image_instantiator_scrollbar):
6342         * glyphs-widget.c (image_instantiator_tab_control):
6343         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
6344         (2).
6345         support (unimplemented) keyword initial-focus.
6346         reindent long macros.
6347
6348         * glyphs-x.c (x_redisplay_widget):
6349         * glyphs-x.c (x_button_instantiate):
6350         * glyphs-x.c (x_button_redisplay):
6351         * glyphs-x.c (x_progress_gauge_instantiate):
6352         * glyphs-x.c (x_edit_field_instantiate):
6353         * glyphs-x.c (x_combo_box_instantiate):
6354         * glyphs-x.c (x_tab_control_instantiate):
6355         * glyphs-x.c (x_label_instantiate):
6356         * gui-x.c:
6357         * gui-x.c (button_item_to_widget_value):
6358         * gui-x.c (gui_items_to_widget_values_1):
6359         * gui-x.c (gui_item_children_to_widget_values):
6360         * gui-x.c (gui_items_to_widget_values):
6361         * gui-x.h:
6362         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6363         add new flag to gui-parsing routines to indicate whether
6364         accelerator specs should be supported.
6365
6366         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
6367
6368         * glyphs.h (struct Lisp_Image_Instance):
6369         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
6370         add initial-focus flag.
6371
6372         * gui.c:
6373         * gui.c (syms_of_gui):
6374         * gui.c (vars_of_gui):
6375         clean up menu-no-selection-hook.
6376
6377         * gui.h:
6378         support delete-dialog-box-hook.
6379
6380         * lread.c (Fload_internal):
6381         * lread.c (locate_file_in_directory_mapper):
6382         (1).
6383
6384         * lrecord.h:
6385         * lrecord.h (struct toolbar_button):
6386         * lrecord.h (syms_of_toolbar):
6387         document how to create a new object.
6388
6389         * menubar-msw.c (mswindows_char_is_accelerator):
6390         may be called on frames w/o menus.
6391
6392         * menubar.c (vars_of_menubar):
6393         clean up :filter docs.
6394
6395         * nt.c (readdir):
6396         * ntproc.c:
6397         (1).
6398
6399         * process-nt.c:
6400         * process-nt.c (validate_signal_number):
6401         * process-nt.c (signal_cannot_launch):
6402         * process-nt.c (nt_create_process):
6403         * process-nt.c (nt_send_process):
6404         * process-nt.c (nt_kill_child_process):
6405         * process-nt.c (nt_open_network_stream):
6406         * process-nt.c (syms_of_process_nt):
6407         (2).
6408         delete quote-handling.  call new lisp code that does it better.
6409
6410         * process-unix.c (connect_to_file_descriptor):
6411         * process-unix.c (allocate_pty):
6412         * process-unix.c (unix_send_process):
6413         * process-unix.c (unix_kill_child_process):
6414         * process-unix.c (unix_open_network_stream):
6415         * process-unix.c (unix_open_multicast_group):
6416         (1). (2).
6417
6418         * process.c:
6419         * process.c (Fstart_process_internal):
6420         (2).  need to canonicalize process path even if absolute.
6421
6422         * select-msw.c (symbol_to_ms_cf):
6423         * select-msw.c (ms_cf_to_symbol):
6424         * select-msw.c (cf_is_autofreed):
6425         * select-msw.c (mswindows_destroy_selection):
6426         * select.c:
6427         * select.c (syms_of_select):
6428         * select.h:
6429         support dibv5, fix bugs. (from Mike Alexander)
6430
6431         * select.c (Fget_selection_internal):
6432         * select.c (select_convert_out):
6433
6434         * sysdep.c:
6435         * sysdep.c (xemacs_stat):
6436         renamed.
6437
6438         * sysdep.c (mkdir):
6439         * sysdep.c (rmdir):
6440         but keep original stat() here because we provide encapsulation
6441         around these funs.
6442
6443         * sysfile.h:
6444         * sysfile.h (fstat):
6445         remove stat garbage.
6446
6447         * syswindows.h:
6448         fix X/MSW conflict.
6449         don't include tchar.h.  it's inappropriate because it makes
6450         compile-time distinctions when we want runtime distinctions.
6451         (we provide our own tchar replacements)
6452
6453         * toolbar.c:
6454         use default object printer for toolbar-button.
6455
6456         * unexcw.c:
6457         make sure we don't encapsulate.
6458
6459         * window.c (vars_of_window):
6460         emphasize that temp-buffer-show-hook is obsolete.
6461
6462 2000-08-05  Martin Buchholz  <martin@xemacs.org>
6463
6464         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
6465         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
6466
6467         * events.c (Fevent_timestamp_lessp):
6468         Not 64-bit clean.  Use EMACS_INT, not int.
6469
6470 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
6471
6472         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
6473         unsigned int and changed the last enum to
6474         lrecord_type_last_built_in_type.
6475         (lrecord_implementations_table): changed prototype to know how
6476         long the array is supposed to be.
6477         (lrecord_type_count): new unsigned int to keep track of the
6478         current number of lisp lrecord types.
6479         (DEFINE_EXTERNAL_LRECORD):
6480         (DECLARE_EXTERNAL_LRECORD): Added these two for external
6481         dynamic-modules to declare new lisp types. They are the same
6482         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
6483         int for each new type, and increment lrecord_type_count by 1.
6484
6485         * alloc.c (lrecord_implementations_table): Changed to reference
6486         lrecord_type_last_built_in_type for the size of the array.
6487         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
6488
6489 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
6490
6491         * glyphs.h (check_valid_item_list): Renamed from
6492         check_valid_item_list_1.
6493
6494 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
6495
6496         * select.c (Qselect_coerce): New.
6497         * select.c (Vselection_coercion_alist): New.
6498         * select.c (syms_of_select): Declare.
6499         * select.c (get-selection-internal): Use it.
6500         Use the new select-coerce functionality.
6501
6502         * select.c (select_coerce): New.
6503         * select.h (select_coerce): Declare.
6504         New function to coerce one type of data into another.
6505
6506 2000-08-03  Martin Buchholz  <martin@xemacs.org>
6507
6508         * callproc.c (Fcall_process_internal):
6509         (Fcall_process_internal):
6510         * process-unix.c (unix_create_process):
6511         Save and restore the value of errno, so that error messages are accurate.
6512
6513 2000-08-01  Martin Buchholz  <martin@xemacs.org>
6514
6515         * elhash.c (print_hash_table):
6516         Fix printing of hash tables to also use `key-and-value' instead of `t'.
6517         Prettify docstrings and indentation.
6518
6519 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
6520
6521         * window.c (Fwindow_pixel_edges): Subtract frame border and
6522         gutter size.
6523
6524 2000-07-31  Andy Piper  <andy@xemacs.org>
6525
6526         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
6527         will acknowledge the change.
6528
6529         * glyphs.h: declare tab_control_order_only_changed.
6530
6531         * glyphs-x.c (x_tab_control_redisplay): use
6532         tab_control_order_only_changed.
6533
6534         * glyphs-widget.c (tab_control_order_only_changed): new function.
6535
6536         * glyphs-msw.c (mswindows_tab_control_redisplay): use
6537         tab_control_order_only_changed.
6538
6539         * gui.c (gui_item_equal_sans_selected): new function.
6540         (gui_item_equal): use it.
6541
6542         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
6543         :properties in favor of :items..
6544
6545         * glyphs-widget.c (check_valid_item_list): rename from
6546         check_valid_item_list_1.
6547         (check_valid_item_list_1): renamed.
6548         (combo_box_validate): deprecate :properties in favor of :items.
6549         (widget_instantiate): ditto.
6550         (tab_control_update): ditto.
6551         (image_instantiator_combo_box): ditto.
6552         (image_instantiator_tree_view): ditto.
6553         (image_instantiator_tab_control): ditto.
6554         (layout_post_instantiate): remove dead code.
6555
6556         * print.c (debug_print_no_newline): only write to debugger if in
6557         WIN32_NATIVE.
6558
6559         * elhash.c (Fmake_hash_table): update doc string.
6560
6561         * event-msw.c (mswindows_wnd_proc): don't allow processing of
6562         messages whilst in GC. This at least stops XEmacs crashing but has
6563         the potential for wierd behaviour.
6564
6565 2000-07-31  Martin Buchholz  <martin@xemacs.org>
6566
6567         * config.h.in:
6568         Make existence of s&m files optional.
6569
6570         * s/bsd386.h: Remove HAVE_GETLOADAVG.
6571         * s/freebsd.h: Remove HAVE_GETLOADAVG.
6572         * s/gnu.h: Remove HAVE_GETLOADAVG.
6573         * s/netbsd.h: Remove HAVE_GETLOADAVG.
6574         * s/sol2.h: Remove HAVE_GETLOADAVG.
6575         * lisp.h: Remove getloadavg() declaration.
6576         * fns.c:
6577         Include <sys/loadavg.h> if available.
6578         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
6579         * config.h.in:  Group together getloadavg()-related macros.
6580         Use only configure-time tests to detect getloadavg().
6581
6582 2000-07-30  Martin Buchholz  <martin@xemacs.org>
6583
6584         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
6585
6586 2000-07-25  Andy Piper  <andy@xemacs.org>
6587
6588         * syswindows.h: add tchar.h for native builds.
6589
6590         * frame.c (syms_of_frame): remove set-glyph-image.
6591
6592         * general-slots.h: add Qset_glyph_image.
6593
6594         * glyphs-widget.c (layout_update): add domain arg to
6595         set-glyph-image.
6596         (syms_of_glyphs_widget): remove set-glyph-image.
6597
6598 2000-07-23  Ben Wing  <ben@xemacs.org>
6599
6600         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
6601         Vpopup_frame_list.
6602
6603 2000-07-22  Andy Piper  <andy@xemacs.org>
6604
6605         * symsinit.h: add syms_of_win32().
6606
6607         * gui-msw.c (syms_of_gui_mswindows): remove
6608         Fmswindows_shell_execute.
6609         (Fmswindows_shell_execute): moved to win32.c.
6610
6611         * emacs.c (main_1): add syms_of_win32 ().
6612
6613         * win32.c (init_potentially_nonexistent_functions): rewrite in
6614         compiler-friendly terms.
6615         (Fmswindows_shell_execute): move here from gui-msw.c.
6616         (syms_of_win32): new.
6617
6618         * device-msw.c (Fmswindows_printer_list): clean up args to
6619         EnumPrinters.
6620         Don't include tchar under cygwin or mingw.
6621         (msprinter_default_printer): make cygwin-friendly.
6622
6623 2000-07-21  Andy Piper  <andy@xemacs.org>
6624
6625         * glyphs-widget.c (image_instantiator_tree_view): use tab
6626         control's update function.
6627         (layout_property): new function. Retrieve items.
6628
6629         * glyphs-msw.c (mswindows_tree_view_redisplay): new
6630         function. Re-populate the tree view from the pending items.
6631
6632         * glyphs.c (instantiate_image_instantiator): Make sure the domain
6633         is designated the parent if the domain is an image instance. This
6634         is needed so that dirtiness can be cascade up the hierarchy and
6635         thus for layout children to be redisplayed correctly.
6636         (allocate_image_instance): rename glyph -> parent.
6637
6638         * redisplay.h: change redisplay_output_layout signature.
6639
6640         * redisplay-msw.c (mswindows_output_display_block): use domain
6641         arg.
6642
6643         * redisplay-x.c (x_output_display_block): use domain arg.
6644
6645 2000-07-10  Andy Piper  <andy@xemacs.org>
6646
6647         * window.c (Fset_window_configuration): add comment.
6648
6649         * redisplay-output.c (compare_runes):
6650         (redisplay_output_subwindow): redisplay rather than update subwindow.
6651         (redisplay_output_layout): ditto.
6652
6653         * redisplay-msw.c (mswindows_frame_output_end):
6654         (mswindows_frame_output_end): make defer window pos optional.
6655
6656         * lisp.h: add Flast.
6657
6658         * glyphs.h (struct image_instantiator_methods): add dest_mask top
6659         normalize method. Change update method to be for changed
6660         instantiators. Add redisplay method. Change signature of layout
6661         method.
6662         (struct Lisp_Image_Instance): add instantiator.
6663         (IMAGE_INSTANCE_INSTANTIATOR): new.
6664         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
6665         (XIMAGE_INSTANCE_INSTANTIATOR): new.
6666         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
6667
6668         * glyphs.c:
6669         (find_instantiator_differences): new function.
6670         (Fset_instantiator_property): new convenience function.
6671         (check_image_instance_structure): strictly check for vector
6672         instantiators.
6673         (normalize_image_instantiator): make non-static.
6674         (instantiate_image_instantiator): pass on dest_mask and use new
6675         signatures for image_instance_layout and friends.
6676         (mark_image_instance): mark the instantiator. Mark the subwindow
6677         face not the widget face.
6678         (image_instance_equal): add instantiator.
6679         (image_instance_hash): ditto.
6680         (allocate_image_instance): ditto.
6681         (Fset_image_instance_property): removed.
6682         (Fimage_instance_file_name): ditto.
6683         (Fcolorize_image_instance): ditto.
6684         (image_instance_layout): add offsets to be set.
6685         (update_image_instance): new function. update an image instance
6686         from its changed instantiator.
6687         (inherit_normalize): add dest_mask.
6688         (xbm_normalize): ditto.
6689         (xface_normalize): ditto.
6690         (xpm_normalize): ditto.
6691         (text_update): set_property -> update.
6692         (image_instantiate): use the glyph identity as a hash key, not the
6693         instantiator.
6694         (glyph_width): use new image_instance_layout signature.
6695         (glyph_ascent): ditto.
6696         (glyph_descent): ditto.
6697         (glyph_height): ditto.
6698         (glyph_query_geometry): ressurrect.
6699         (glyph_layout): ditto.
6700         (redisplay_subwindow): update -> redisplay.
6701         (syms_of_glyphs): add Fset_instantiator_property.
6702         (image_instantiator_format_create): set_property -> update.
6703
6704         * glyphs-x.c:
6705         (autodetect_normalize): add dest_maks to signature.
6706         (x_redisplay_subwindow): update -> redisplay.
6707         (x_redisplay_widget): ditto.
6708         (x_button_redisplay): ditto.
6709         (x_progress_gauge_redisplay): ditto.
6710         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
6711         stacking order.
6712         (console_type_create_glyphs_x): update -> redisplay.
6713         (image_instantiator_format_create_glyphs_x): ditto.
6714
6715         * glyphs-widget.c:
6716         (check_valid_instantiator): disallow glyphs in the instantiator,
6717         they must now be vectors.
6718         (check_valid_instantiator_list): ditto.
6719         (glyph_instantiator_to_glyph): use internal symbol rather than
6720         intern.
6721         (widget_update): renamed from widget_set_property. Call cascaded
6722         update methods.
6723         (redisplay_widget): renamed from update_widget.
6724         (widget_layout): image_instance_layout now takes position as well
6725         as size.
6726         (widget_normalize): ditto.
6727         (widget_instantiate): ditto.
6728         (tab_control_query_geometry) ditto.:
6729         (tab_control_update): renamed from tab_control_set_property.
6730         (progress_gauge_update): set_property -> update.
6731         (layout_normalize): rewrite so that child instantiators are
6732         normalized also.
6733         (layout_update): new function. Create glyphs from the normalized
6734         children and cope with any other layout keywords. We do not
6735         instantiate children here that will be take care of by
6736         redisplay_output_layout.
6737         (layout_instantiate): call layout_update and not much else.
6738         (layout_post_instantiate): not sure whether this is needed
6739         anymore.
6740         (layout_query_geometry): query glyph geometry rather than
6741         image_instance geometry.
6742         (layout_layout): set offsets from pass in parameters. Use glyph
6743         geometry and layout functions rather than image instance ones.
6744         (native_layout_layout): ditto.
6745         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
6746         (image_instantiator_widget): set_property -> update.
6747         (image_instantiator_buttons): ditto.
6748         (image_instantiator_progress_guage): ditto.
6749         (image_instantiator_tab_control): ditto.
6750         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
6751         (image_instantiator_layout): add update method.
6752
6753         * glyphs-msw.c (bmp_normalize):
6754         (mswindows_resource_normalize): add dest_mask so that it can be
6755         proprogated by layout_normalize.
6756         (begin_defer_window_pos): make optional because it may not be the
6757         right thing to do and it introduces differences with X.
6758         (mswindows_unmap_subwindow): ditto.
6759         (mswindows_map_subwindow): ditto.
6760         (mswindows_redisplay_subwindow): renamed from
6761         mswindows_update_subwindow.
6762         (mswindows_redisplay_widget): ditto.
6763         (mswindows_button_redisplay): renamed from
6764         mswindows_button_update. Update is now what the instantiation
6765         function does for a changed instantiator.
6766         (mswindows_progress_gauge_instantiate): set the progress value
6767         here if appropriate.
6768         (mswindows_tab_control_redisplay): cope with re-ordering of the
6769         members of the tab widget by simply selecting the new top
6770         widget. This makes things appear ok if you click on a tab.
6771         (mswindows_combo_box_instantiate): image_instance_layout now takes
6772         position as well as size.
6773         (mswindows_progress_gauge_redisplay): renamed from
6774         mswindows_progress_gauge_update.
6775         (console_type_create_glyphs_mswindows): fix update -> redisplay.
6776         (image_instantiator_format_create_glyphs_mswindows): ditto.
6777
6778         * glyphs-eimage.c (jpeg_normalize):
6779         (gif_normalize):
6780         (png_normalize):
6781         (tiff_normalize): add dest_mask so that it can be proprogated by
6782         layout_normalize.
6783
6784         * elhash.c:
6785         (print_hash_table):
6786         (hash_table_weakness_validate):
6787         (decode_hash_table_weakness):
6788         (Fhash_table_weakness):
6789         (Fhash_table_type):
6790         (syms_of_elhash): use Ben's naming scheme for hashtable types..
6791
6792         * console.h (struct console_methods): move update_* to
6793         redisplay_*.
6794
6795 2000-07-20  Ben Wing  <ben@xemacs.org>
6796
6797         * *.[ch] (XSETOBJ): remove unused middle argument.
6798         lisp-disunion.h: correct wrap_object() to one argument.
6799
6800 2000-07-15  Ben Wing  <ben@xemacs.org>
6801
6802         * s/cygwin32.h:
6803         * s/cygwin32.h (CYGWIN_CONV_PATH):
6804         Add missing logb prototype for v1.1.
6805         Use post-b20 names and alias to pre-b20 names when pre-b20.
6806
6807         * s/windowsnt.h: [5].
6808
6809 2000-07-15  Ben Wing  <ben@xemacs.org>
6810
6811         * Makefile.in.in (x_objs):
6812         * Makefile.in.in (sheap_objs):
6813         * Makefile.in.in (objs):
6814         added win32.o, cosmetic cleanups.
6815
6816         * alloc.c (Fmake_byte_code):
6817         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
6818         etc. macros which declare their own args now.
6819
6820         * alloc.c (syms_of_alloc):
6821         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
6822
6823         * buffer.c:
6824         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
6825
6826         * buffer.c (Fget_file_buffer):
6827         Fixed GCPRO problem.
6828
6829         * buffer.c (get_truename_buffer):
6830         Fixed comment about GC checking.
6831
6832         * buffer.c (syms_of_buffer):
6833         Undeclared those dedicated frame funs.
6834         [2].
6835
6836         * buffer.h:
6837         Define convenience macros for internal/external conversions.
6838         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
6839         and Qenvironment_variable_encoding for cleaner code.
6840
6841         * bufslots.h:
6842         Remove dedicated-frame; in lisp.
6843
6844         * bytecode.c (funcall_compiled_function):
6845         [1].
6846
6847         * bytecode.c (syms_of_bytecode):
6848         [2].
6849
6850         * console-msw.c:
6851         * console-msw.c (mswindows_show_console): Rewrote.
6852
6853         * console-msw.c (Fmswindows_debugging_output): New.
6854         Sends to OutputDebugString (special MSWin debugger interface).
6855
6856         * console-msw.c (Fmswindows_message_box):
6857         Fixed stupid bugs so it works when called from kill-emacs.
6858
6859         * console-msw.c (syms_of_console_mswindows):
6860         Declare Fmswindows_debugging_output.
6861
6862         * console-msw.h:
6863         New MSWin prototypes.
6864
6865         * console-msw.h (struct mswindows_frame):
6866         New entry last-click-mods for improved button-modifier support.
6867
6868         * console-msw.h (FRAME_MSWINDOWS_POPUP):
6869         New struct entry `popup' with corresponding accessor.
6870
6871         * console-x.c:
6872         * console-x.c (split_up_display_spec):
6873         * console-x.c (get_display_arg_connection):
6874         * console-x.c (x_semi_canonicalize_console_connection):
6875         * console-x.c (x_canonicalize_device_connection):
6876         [[[6]]]: Change char to more specific type.
6877         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
6878
6879         * console-x.c (x_semi_canonicalize_console_connection):
6880         * console-x.c (x_canonicalize_device_connection):
6881         [[[9]]]: Fix up error signalling to use new structured error system.
6882
6883         * console-x.h:
6884         [[[4]]]: Define codesys aliases:
6885         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
6886         Qx_color_name_encoding, Qx_display_name_encoding.
6887
6888         * console.h (struct console_methods):
6889         New method make_dialog_box_internal supersedes older
6890         popup_dialog_box method.
6891
6892         * data.c:
6893         Define many new errors, part of new structured errors.
6894
6895         * data.c (init_errors_once_early):
6896         * data.c (syms_of_data):
6897         [2].
6898
6899         * device-msw.c (mswindows_init_device):
6900         [[[5]]]: Cleanup to support NT 3.51.
6901
6902         * device-msw.c (decode_devmode): Cleanup.
6903
6904         * device-msw.c (mswindows_handle_print_setup_dialog_box):
6905         * device-msw.c (mswindows_handle_print_dialog_box):
6906         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6907         * device-msw.c (syms_of_device_mswindows):
6908         Delete the dialog box primitives recently introduced by Kirill and
6909         instead interface to general dialog box interface.
6910
6911         * device-x.c:
6912         * device-x.c (compute_x_app_name):
6913         * device-x.c (x_init_device):
6914         * device-x.c (Fx_valid_keysym_name_p):
6915         * device-x.c (Fx_set_font_path):
6916         [6].
6917         [7].
6918
6919         * device.h (wrap_device): New.
6920         First of its kind; meant to replace XSETDEVICE.
6921
6922         * dialog-msw.c: Many file-dialog symbols.
6923
6924         * dialog-msw.c (mswindows_register_popup_frame): New.
6925         * dialog-msw.c (mswindows_is_dialog_msg): New.
6926         For supporting kbd traversal in dialog boxes.
6927
6928         * dialog-msw.c (dialog_proc):
6929         Support hitting ESC in dialogs.
6930
6931         * dialog-msw.c (struct):
6932         Common dialog box errors.
6933
6934         * dialog-msw.c (handle_file_dialog_box): New.
6935         Add file dialog code.
6936
6937         * dialog-msw.c (handle_question_dialog_box):
6938         Redo existing code to support new question dialog syntax.
6939
6940         * dialog-msw.c (console_type_create_dialog_mswindows):
6941         We support new dialog console method.
6942
6943         * dialog-msw.c (syms_of_dialog_mswindows):
6944         * dialog-msw.c (vars_of_dialog_mswindows):
6945         New file dialog symbols, vars.
6946
6947         * dialog-x.c:
6948         * dialog-x.c (maybe_run_dbox_text_callback):
6949         * dialog-x.c (dbox_descriptor_to_widget_value):
6950         * dialog-x.c (x_make_dialog_box_internal):
6951         * dialog-x.c (console_type_create_dialog_x):
6952         Mule-ize entire file.
6953         Redo to support question dialog syntax.
6954         [6].
6955
6956         * dialog.c:
6957         * dialog.c (Fmake_dialog_box_internal):
6958         * dialog.c (syms_of_dialog):
6959         Kill old popup-dialog-box, replace with new primitive.
6960         Just call device method or signal error.
6961
6962         * eldap.c (Fldap_open):
6963         * eldap.c (Fldap_search_basic):
6964         * eldap.c (Fldap_add):
6965         * eldap.c (Fldap_modify):
6966         [1].
6967         [7].
6968
6969         * emacs.c:
6970         * emacs.c (make_arg_list_1):
6971         * emacs.c (make_arg_list):
6972         Mule-ize call to dll_init().
6973         [6].
6974         [8].
6975
6976         * emacs.c (make_argc_argv):
6977         * emacs.c (free_argc_argv):
6978         * emacs.c (init_cmdargs):
6979         * emacs.c (main_1):
6980         * emacs.c (Fkill_emacs):
6981         * emacs.c (Fdump_emacs):
6982         Update comments about what can be used in syms_* etc.
6983         Call init_win32() when necessary.
6984         Fix up MS Win dialog box in kill-buffer to actually work right.
6985         [7].
6986
6987         * eval.c:
6988         * eval.c (For):
6989         * eval.c (Fand):
6990         * eval.c (Fprogn):
6991         * eval.c (Fprog1):
6992         * eval.c (Fprog2):
6993         * eval.c (FletX):
6994         * eval.c (Flet):
6995         * eval.c (condition_case_3):
6996         * eval.c (Feval):
6997         * eval.c (function_argcount):
6998         * eval.c (funcall_lambda):
6999         [1].
7000
7001         * eval.c (type_error): New.
7002         * eval.c (maybe_type_error): New.
7003         * eval.c (continuable_type_error): New.
7004         * eval.c (maybe_continuable_type_error): New.
7005         * eval.c (type_error_with_frob): New.
7006         * eval.c (maybe_type_error_with_frob): New.
7007         * eval.c (continuable_type_error_with_frob): New.
7008         * eval.c (maybe_continuable_type_error_with_frob): New.
7009         New functions for use with structured errors.
7010
7011         * event-Xt.c:
7012         * event-Xt.c (x_event_to_emacs_event):
7013         Buttons are now modifiers too.
7014
7015         * event-Xt.c (emacs_Xt_current_event_timestamp):
7016         Implement new event method.
7017         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
7018
7019         * event-msw.c:
7020         * event-msw.c (ntpipe_shove_writer): [5].
7021         * event-msw.c (mswindows_enqueue_mouse_button_event):
7022         * event-msw.c (mswindows_drain_windows_queue):
7023         * event-msw.c (mswindows_wnd_proc): [7].
7024         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
7025         * event-msw.c (mswindows_modifier_state):
7026         Throughout: support new button modifiers.
7027
7028         * event-msw.c (emacs_mswindows_current_event_timestamp):
7029         Implement new event method.
7030         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
7031
7032         * event-stream.c:
7033         * event-stream.c (event_stream_current_event_timestamp): New.
7034         * event-stream.c (maybe_kbd_translate): New functionality.
7035         * event-stream.c (vars_of_event_stream):
7036         Document new kbd-translate-table functionality.
7037
7038         * event-stream.c (Fcurrent_event_timestamp): New.
7039         New primitive for use in fabricated events.
7040         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
7041
7042         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
7043
7044         * events.c:
7045         * events.c (Fmake_event):
7046         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
7047         [1].
7048         [9].
7049
7050         * events.c (format_event_object): fix gcc warnings.
7051
7052         * events.c (Fevent_timestamp): Document new primitives.
7053
7054         * events.c (TIMESTAMP_HALFSPACE): New.
7055
7056         * events.c (Fevent_timestamp_lessp): New.  New primitive for
7057         comparing timestamps correctly (half-space algorithm).
7058
7059         * events.c (Fevent_modifier_bits): Doc fix.
7060
7061         * events.c (Fevent_modifiers): Major doc addition.
7062         * events.c (event_x_y_pixel_internal): Typo fix.
7063         * events.c (syms_of_events): Declare new primitives.
7064
7065         * events.h:
7066         Update long comment for button modifiers, timestamps.
7067
7068         * events.h (struct event_stream):
7069         New current_event_timestamp method.
7070
7071         * extents.c:
7072         * extents.c (extent_in_region_p):
7073         * extents.c (decode_extent):
7074         * extents.c (Fset_extent_parent):
7075         * extents.c (decode_map_extents_flags):
7076         Fix gcc warnings.
7077         [9].
7078
7079         * extents.c (struct extent_at_arg):
7080         * extents.c (decode_extent_at_flag):
7081         * extents.c (extent_at_mapper):
7082         * extents.c (extent_at_bytind):
7083         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
7084         * extents.c (Fextents_at): New primitive. [9].
7085         * extents.c (symbol_to_glyph_layout): [9].
7086         Support new primitive `extents-at'.
7087
7088
7089         * extents.c (get_text_property_bytind):
7090         extent_at_bytind has another arg.
7091         [9].
7092
7093         * extents.c (syms_of_extents): New primitive.
7094
7095         * file-coding.c (Fmake_coding_system): [1].
7096         * file-coding.c (subsidiary_coding_system): fix gcc warning
7097         * file-coding.c (syms_of_file_coding): [2].
7098
7099         * fileio.c (Fexpand_file_name):
7100         * fileio.c (Fsysnetunam):
7101         * fileio.c (Ffile_exists_p):
7102         * fileio.c (Ffile_executable_p):
7103         * fileio.c (Fverify_visited_file_modtime):
7104         Clean up GCPROing.
7105
7106         * fileio.c (syms_of_fileio): [2].
7107
7108         * filelock.c (lock_file_1):
7109         * filelock.c (current_lock_owner):
7110         * filelock.c (lock_if_free):
7111         * filelock.c (lock_file):
7112         * filelock.c (unlock_file):
7113         Clean up GCPROing.
7114
7115         * fns.c (concat): Fix gcc warning.
7116
7117         * fns.c (Fmember):
7118         * fns.c (Fold_member):
7119         * fns.c (Fmemq):
7120         * fns.c (Fold_memq):
7121         * fns.c (memq_no_quit):
7122         * fns.c (Fassoc):
7123         * fns.c (Fold_assoc):
7124         * fns.c (Fassq):
7125         * fns.c (Fold_assq):
7126         * fns.c (assq_no_quit):
7127         * fns.c (Frassoc):
7128         * fns.c (Fold_rassoc):
7129         * fns.c (Frassq):
7130         * fns.c (Fold_rassq):
7131         * fns.c (rassq_no_quit):
7132         * fns.c (Fdelete):
7133         * fns.c (Fold_delete):
7134         * fns.c (Fdelq):
7135         * fns.c (Fold_delq):
7136         * fns.c (delq_no_quit):
7137         * fns.c (Fremassoc):
7138         * fns.c (Fremassq):
7139         * fns.c (remassq_no_quit):
7140         * fns.c (Fremrassoc):
7141         * fns.c (Fremrassq):
7142         * fns.c (remrassq_no_quit):
7143         * fns.c (Freverse):
7144         * fns.c (mapcar1):
7145         [1].
7146
7147         * frame-msw.c (mswindows_init_frame_1):
7148         * frame-msw.c (mswindows_delete_frame):
7149         Register popups with dialog code so keyboard traversing works.
7150
7151         * frame-tty.c (tty_raise_frame_no_select): [1].
7152
7153         * frame-x.c:
7154         * frame-x.c (x_set_frame_text_value):
7155         * frame-x.c (x_set_frame_properties):
7156         * frame-x.c (x_create_widgets):
7157         [7].
7158
7159         * frame.c:
7160         * frame.c (Fmouse_pixel_position): Minor doc fixes.
7161
7162         * frame.h (wrap_frame): New.
7163         Macro like wrap_device.
7164
7165         * general.c:
7166         * general.c (SYMBOL):
7167         * general.c (syms_of_general):
7168         Major reorg.  This is now just a wrapper and symbols themselves
7169         are listed in general-slots.h.
7170
7171         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
7172         * glyphs-msw.c (mswindows_resource_instantiate): [5].
7173
7174         * glyphs-msw.c (mswindows_native_layout_instantiate):
7175         Add DS_CONTROL so keyboard traversal will work.
7176
7177         * glyphs-widget.c:
7178         * glyphs-widget.c (syms_of_glyphs_widget):
7179         Move some symbols to general-slots.h.
7180
7181         * glyphs-x.c:
7182         * glyphs-x.c (xbm_instantiate_1):
7183         * glyphs-x.c (x_xbm_instantiate):
7184         * glyphs-x.c (x_xface_instantiate):
7185         * glyphs-x.c (autodetect_instantiate):
7186         * glyphs-x.c (cursor_font_instantiate):
7187         * glyphs-x.c (x_update_widget):
7188         * glyphs-x.c (x_widget_instantiate):
7189         * glyphs.c (bitmap_to_lisp_data):
7190         * glyphs.c (pixmap_to_lisp_data):
7191         [7].
7192
7193         * glyphs.c (syms_of_glyphs):
7194         [2].
7195
7196         * gui-x.c:
7197         * gui-x.c (print_widget_value):
7198         * gui-x.c (menu_separator_style_and_to_external):
7199         * gui-x.c (add_accel_and_to_external):
7200         * gui-x.c (button_item_to_widget_value):
7201         * gui-x.c (gui_items_to_widget_values_1):
7202         * gui-x.c (gui_items_to_widget_values):
7203         * gui-x.c (syms_of_gui_x):
7204         * gui-x.c (vars_of_gui_x):
7205         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
7206         [9].
7207
7208         * gui-x.h:
7209         Muleize, prototype changes matching gui-x.c.
7210
7211         * gui.c:
7212         * gui.c (separator_string_p):
7213         * gui.c (gui_item_add_keyval_pair):
7214         * gui.c (make_gui_item_from_keywords_internal):
7215         * gui.c (signal_too_long_error):
7216         * gui.c (parse_gui_item_tree_item):
7217         * gui.c (syms_of_gui):
7218         * gui.c (vars_of_gui):
7219         * gui.h:
7220         menu-no-selection-hook moved here (used by MSWin).
7221         Move some symbols to general-slots.h.
7222         [6].
7223         [9].
7224
7225         * insdel.c (get_buffer_pos_char):
7226         * insdel.c (get_buffer_range_char):
7227         Add GC comments.
7228
7229         * keymap.c (keymap_lookup_directly):
7230         * keymap.c (keymap_store):
7231         * keymap.c (ensure_meta_prefix_char_keymapp):
7232         * keymap.c (describe_map):
7233         * keymap.h:
7234         Support new button modifiers.
7235
7236         * lisp-disunion.h (wrap_object):
7237         * lisp-disunion.h (XSETOBJ):
7238         Rename make_obj to wrap_object.
7239
7240         * lisp-union.h:
7241         * lisp-union.h (make_int):
7242         * lisp-union.h (make_char):
7243         Support wrap_object.
7244
7245         * lisp.h:
7246         * lisp.h (LIST_LOOP):
7247         * lisp.h (EXTERNAL_LIST_LOOP):
7248         * lisp.h (LIST_LOOP_2):
7249         * lisp.h (EXTERNAL_LIST_LOOP_1):
7250         * lisp.h (EXTERNAL_LIST_LOOP_2):
7251         * lisp.h (EXTERNAL_LIST_LOOP_3):
7252         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
7253         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
7254         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
7255         * lisp.h (EXTERNAL_ALIST_LOOP_5):
7256         * lisp.h (EXTERNAL_ALIST_LOOP_6):
7257         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
7258         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
7259         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
7260         * lisp.h (struct Lisp_Symbol):
7261         * lisp.h (maybe_continuable_error_with_frob):
7262         Fix up section comments.
7263         Add new types for char to indicate usage.
7264         Delete symbols auto-generated from general-slots.h.
7265         Add prototypes for structured error functions.
7266         Add long comments describing looping macros and change interface
7267         so that lvalues are automatically declared.
7268         Add NO_DECLARE macro in case callers want to declare lvalues
7269         themselves.
7270
7271         * lread.c (read_syntax_error):
7272         * lread.c (continuable_read_syntax_error):
7273         * lread.c (read_structure):
7274         * lread.c (sequence_reader):
7275         * lread.c (read_list_conser):
7276         * lread.c (read_compiled_function):
7277         Rename syntax_error and continuable_syntax_error to avoid clash
7278         with same-named structured error functions.
7279
7280         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7281         * menubar-msw.c (populate_menu_add_item):
7282         * menubar-msw.c (populate_or_checksum_helper):
7283         [5].
7284         [9].
7285
7286         * menubar-x.c:
7287         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
7288         Mule-ize whole file.
7289
7290         * menubar.c (Fnormalize_menu_item_name): Add optimization.
7291
7292         * mule-charset.c (Fmake_charset):
7293         * mule-wnnfns.c (Fwnn_set_param):
7294         [1].
7295
7296         * ntproc.c (create_child):
7297         * ntproc.c (Fwin32_set_current_locale):
7298         Add comments portending doom.
7299
7300         * objects-msw.c:
7301         * objects-msw.c (old_font_enum_callback_2):
7302         * objects-msw.c (font_enum_callback_1):
7303         * objects-msw.c (mswindows_enumerate_fonts):
7304         [5].
7305
7306         * objects-x.c:
7307         * objects-x.c (allocate_nearest_color):
7308         * objects-x.c (x_parse_nearest_color):
7309         * objects-x.c (x_initialize_color_instance):
7310         * objects-x.c (x_print_color_instance):
7311         * objects-x.c (x_finalize_color_instance):
7312         * objects-x.c (x_valid_color_name_p):
7313         * objects-x.c (x_initialize_font_instance):
7314         * objects-x.c (x_print_font_instance):
7315         * objects-x.c (valid_x_font_name_p):
7316         * objects-x.c (truename_via_FONT_prop):
7317         * objects-x.c (truename_via_random_props):
7318         * objects-x.c (truename_via_XListFonts):
7319         * objects-x.c (x_font_truename):
7320         * objects-x.c (x_font_instance_truename):
7321         * objects-x.c (x_font_instance_properties):
7322         * objects-x.c (x_list_fonts):
7323         * objects-x.c (x_find_charset_font):
7324         Mule-ize entire file.
7325         [7].
7326
7327         * objects-x.h:
7328         Mule-verify.
7329
7330         * print.c:
7331         * print.c (std_handle_out_external):
7332         * print.c (debug_print_no_newline):
7333         * print.c (syms_of_print):
7334         Output to all debugger kinds in debug-print.
7335         Fix console-output code under MSWin to actually work.
7336
7337         * process-nt.c (send_signal):
7338         * process-nt.c (nt_create_process):
7339         Use newer Unicode macros.
7340
7341         * process-unix.c (unix_create_process):
7342         * process-unix.c (unix_canonicalize_host_name):
7343         * process-unix.c (unix_open_network_stream):
7344         [7].
7345
7346         * scrollbar-x.c:
7347         Mule-verify.
7348
7349         * search.c (syms_of_search):
7350         [2].
7351
7352         * select-msw.c (mswindows_destroy_selection):
7353         Use LIST_LOOP_2.
7354
7355         * select-x.c (symbol_to_x_atom):
7356         [7].
7357
7358         * select.c (syms_of_select):
7359         [2].
7360
7361         * sound.c (Fplay_sound_file):
7362         [7].
7363
7364         * specifier.c:
7365         * specifier.c (decode_specifier_type):
7366         * specifier.c (Fvalid_specifier_locale_type_p):
7367         * specifier.c (check_valid_locale_or_locale_type):
7368         * specifier.c (decode_locale):
7369         * specifier.c (decode_locale_type):
7370         * specifier.c (decode_locale_list):
7371         * specifier.c (check_valid_domain):
7372         * specifier.c (decode_specifier_tag_set):
7373         * specifier.c (Fcanonicalize_tag_set):
7374         * specifier.c (Fdefine_specifier_tag):
7375         * specifier.c (Fspecifier_tag_predicate):
7376         * specifier.c (check_valid_inst_list):
7377         * specifier.c (check_valid_spec_list):
7378         * specifier.c (decode_how_to_add_specification):
7379         * specifier.c (check_modifiable_specifier):
7380         * specifier.c (specifier_add_spec):
7381         * specifier.c (boolean_validate):
7382         * specifier.c (display_table_validate):
7383         [9].
7384
7385         * specifier.c (syms_of_specifier):
7386         Move some symbols to general-slots.h.
7387         [2].
7388
7389         * symbols.c:
7390         * symbols.c (Fmapatoms):
7391         * symbols.c (Fapropos_internal):
7392         Add GCPROs.
7393
7394         * symbols.c (set_default_buffer_slot_variable):
7395         * symbols.c (set_default_console_slot_variable):
7396         [1].
7397
7398         * symbols.c (defsymbol_massage_name_1):
7399         * symbols.c (defkeyword_massage_name):
7400         * symbols.c (deferror_1):
7401         * symbols.c (deferror):
7402         * symbols.c (deferror_massage_name_and_message):
7403         * symeval.h:
7404         * symeval.h (DEFSYMBOL):
7405         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
7406
7407         * symbols.c (syms_of_symbols):
7408         [2].
7409
7410         * symsinit.h:
7411         * symsinit.h (init_win32): New.
7412         Also new is syms_of_dialog_mswindows.
7413
7414         * syswindows.h:
7415         Add new Unicode macros, missing Cygwin wide-char functions,
7416         convenience conversion macros for Qmswindows_tstr, macros for
7417         encapsulating required MSWin <-> Cygwin filename conversions,
7418         prototype for dynamically-extracted (not in NT 3.51) functions.
7419
7420         * toolbar-x.c:
7421         Mule-verify.
7422
7423         * tooltalk.c (Fadd_tooltalk_message_arg):
7424         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
7425         * tooltalk.c (Fadd_tooltalk_pattern_arg):
7426         [7].
7427
7428         * tooltalk.c (syms_of_tooltalk):
7429         [2].
7430
7431         * unexnt.c:
7432         * unexnt.c (unexec):
7433         Fix up headers, declaration of unexec() to be more standard.
7434
7435 2000-07-20  Martin Buchholz  <martin@xemacs.org>
7436
7437         * offix.h: Revert change to guard macros - they're used in offix.c!
7438
7439 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7440
7441         * lisp.h: Defsubred Fdelete.
7442
7443         * console-msw.h:  (msprinter_default_printer): Added.
7444
7445         * console-msw.c (msprinter_canonicalize_console_connection):
7446         (msprinter_canonicalize_device_connection): Added.
7447
7448         * device-msw.c (msprinter_default_printer):
7449         (Fmswingows_get_default_printer):
7450         (signal_enum_priner_error):
7451         (Fmswingows_printer_list): Added.
7452
7453 2000-07-19  Martin Buchholz <martin@xemacs.org>
7454
7455         * XEmacs 21.2.35 is released.
7456
7457 2000-07-19  Martin Buchholz  <martin@xemacs.org>
7458
7459         * select-x.c (x_handle_selection_request):
7460         Text selected in xemacs and pasted into xterm failed to appear.
7461         Spelling fixes and cosmetic changes.
7462
7463 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7464
7465         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
7466         XEmacs frame (fix for doubling chars in dialog boxes).
7467
7468 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7469
7470         * select.c (select_convert_in, select_convert_out):
7471         Don't call intern() every time.
7472
7473         * select.c (Qselect_convert_in, Qselect_convert_out): New.
7474         * select.c (vars_of_select): Initialise them.
7475
7476 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7477
7478         * select.c (selection-coercible-types): New.
7479
7480         * select.c (own-selection-internal):
7481         * select.c (get-selection-internal):
7482         MULE bug fix - these should default to COMPOUND_TEXT and not
7483         STRING for MULE. I think.
7484
7485         * select.c (select_convert_out): Use selection-coercible-types
7486         to find types that we can attempt to perform coercions on.
7487
7488 2000-07-18  Martin Buchholz  <martin@xemacs.org>
7489
7490         * mule-wnnfns.c:
7491         * mule-canna.c:
7492         Add coding: cookie to identify encoding.
7493
7494         * mule-canna.c (CANNA_mode_keys): make static.
7495         Use proper prototypes, even for functions of no arguments.
7496         Remove external prototype for Fding().
7497
7498         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
7499
7500         * select.c (syms_of_select): Add missing DEFSUBR.
7501
7502 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7503
7504         * select.c (get_selection_internal, own_selection_internal):
7505         Make the type default to STRING, rather than placing a nil type
7506         into Vselection_alist.
7507
7508 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7509
7510         * gpmevent.c (tty_selection_exists_p):
7511         * gpmevent.c (tty_own_selection):
7512         Updated parameter lists.
7513
7514 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
7515
7516         * select.h (selection-alist): Removed declaration.
7517
7518         * select.h (get_local_selection):
7519         * select.c (get_local_selection):
7520         Made static.
7521
7522         * select.h (convert_selection): Removed declaration.
7523         * select.c (convert_selection): Removed.
7524         This function belongs in Lisp.
7525
7526         * select.h (select_convert_in): Declare.
7527         * select.h (select_convert_out): Declare.
7528         * select.c (select_convert_in): New.
7529         * select.c (select_convert_out): New.
7530         New conversion functions for other files to call.
7531
7532         * select.h (select_notify_buffer_kill): Declare.
7533         * select.c (select_notify_buffer_kill): New.
7534         New functions that get called from kill-buffer.
7535
7536         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
7537         X-specific lisp code.
7538
7539         * select.h: Declare some of the lisp-visible functions for
7540         external use.
7541
7542         * select.c (clean_local_selection_data): Removed. This was
7543         a disgusting function, and previously should have been in
7544         select-x.c in any case. The functionality is now provided
7545         in select-convert-from-integer (select.el).
7546
7547         * select.c (available-selection-types): Fixed stupidity where
7548         INTEGER and ATOM got added twice. Also add STRING when we see an
7549         extent.
7550
7551         * select.c (get-selection-internal): Removed symbol stripping. No
7552         longer causes conversion when data comes from the internal cache.
7553
7554         * select.c (syms_of_select): Added new functions.
7555
7556         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
7557         error checking - previously this called abort!
7558
7559         * select-x.c (x_own_selection): Changed comment.
7560
7561         * select-x.c (x_handle_selection_request): Use select_convert_out.
7562         Don't mess with selection-alist; it's an internal variable of select.c.
7563
7564         * select-x.c (x_get_foreign_selection): Use select_convert_in.
7565
7566         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
7567         rather than messing with selection-alist.
7568
7569         * select-msw.c (mswindows_get_foreign_selection):
7570         Use TO_INTERNAL_FORMAT rather than hacking.
7571
7572 2000-07-14  Martin Buchholz  <martin@xemacs.org>
7573
7574         * process-unix.c (unix_open_multicast_group):
7575         (unix_open_multicast_group): Remove useless casts.
7576
7577 2000-07-13  Martin Buchholz  <martin@xemacs.org>
7578
7579         * sound.c (Fplay_sound): Fix `unused variable' warning.
7580
7581         * emacs.c (main): Use correct type for _environ on SCO5.
7582
7583 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
7584
7585         * console.h (own_selection_method):
7586         * console.h (selection_exists_p_method):
7587         * console.h (available_selection_types_method): New.
7588         * console.h (register_selection_data_type_method): New.
7589         * console.h (selection_data_type_name): New.
7590
7591         * console-msw.h (mswindows_destroy_selection): Declare it.  New
7592         function & alist to track GlobalAlloc()'d handles that need
7593         releasing when the clipboard data gets replaced or emptied.
7594
7595         * event-msw.c (mswindows_wnd_proc): Call it.
7596
7597         * lisp.h, general.c (Qappend): New symbol representing a
7598         `how-to-add' mode.
7599
7600         * select.c (own-selection-internal):
7601         * select.c (selection-exists-p):
7602         * select.c (available-selection-types): New.
7603         * select.c (register-selection-data-type): New.
7604         * select.c (selection-data-type-name): New.  New functions to deal
7605         with device-specific selection data formats.
7606         * select.c (selection-converter-out-alist): Renamed.
7607         * select.c (selection-converter-in-alist): New.
7608         * select.c (selection-appender-alist): New.  Added new alists.
7609         * select.c (syms_of_select, vars_of_select): Added new symbols &
7610         variables.
7611         * select.c (get_local_selection): Split.
7612         * select.c: Removed spurious type checking - selections may now be
7613         of any type, not just strings.
7614         * select.c (own-selection-internal):
7615
7616         * select.h, select.c (convert_selection): New. Created
7617         convert_selection() function based on get_local_selection().
7618         * select.h, select.c (QCF_*): New symbols representing mswindows
7619         clipboard formats.
7620         * select.h, select.c (Qreplace_all, Qreplace_existing): New
7621         symbols representing `how-to-add' modes.
7622
7623         * select-msw.c (x_sym_p): New.
7624         * select-msw.c (symbol_to_ms_cf): New.
7625         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
7626         symbols & clipboard formats. Can also handle string names.
7627         * select-msw.c (mswindows_own_selection):
7628         * select-msw.c (mswindows_selection_exists_p):
7629         Added `data-type' parameter. Use it.
7630         * select-msw.c (mswindows_available_selection_types): New.
7631         * select-msw.c (mswindows_register_selection_data_type): New.
7632         * select-msw.c (mswindows_selection_data_type_name): New.
7633         * select-msw.c (mswindows_own_selection):
7634         * select-msw.c (mswindows_get_foreign_selection):
7635         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
7636         * select-msw.c (console_create_select_mswindows): Added new methods.
7637         * select-msw.c (mswindows_destroy_selection): New.
7638         * select-msw.c (Vhandle_alist): New list.
7639         * select-msw.c (mswindows_own_selection):
7640
7641         * select-x.c (x_own_selection):
7642         * select-x.c (x_selection_exists_p):
7643         * select-x.c: Added some comments about maybe using new
7644         functionality.
7645         * select-x.c (x_own_selection):
7646
7647         * specifier.c: Remove definition of Qappend (now in general.c)
7648         * specifier.c (syms_of_specifier): Remove Qappend.
7649
7650 2000-07-12  Martin Buchholz  <martin@xemacs.org>
7651
7652         * config.h.in: Add socklen_t.
7653
7654         * s/decosf4-0.h: No special compiler flags needed or desired.
7655         In particular, undefine _BSD for DEC OSF 4.0.
7656
7657 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7658
7659         * redisplay-msw.c (msprinter_frame_output_end): Added.
7660         (console_type_create_redisplay_mswindows): Referred the above.
7661
7662         * frame.c (setup_frame_without_minibuffer): Do not create a
7663         default minibuffer frame on a printer device.
7664
7665         * frame-msw.c (apply_dc_geometry): Added.
7666         (msprinter_start_page):
7667         (msprinter_init_frame_3):
7668         (msprinter_eject_page): Use it.
7669
7670         * console-msw.h (struct msprinter_frame): Added pix_left and top,
7671         and removed residual duplex and orientation properties.
7672
7673 2000-07-11  Martin Buchholz  <martin@xemacs.org>
7674
7675         * eval.c (function_argcount): Work around a DEC CC compiler bug.
7676
7677         * unexalpha.c: Remove system prototypes from C sources!
7678
7679 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
7680
7681         * eval.c: Remove references to M-x edit-options in DEFUNs for
7682         `defvar' and `defconst'.
7683
7684 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7685
7686         * config.h.in: Remove SMART_INCLUDE hackery.
7687
7688         PostgreSQL hacking:
7689         * config.h.in: Don't use SMART_INCLUDE.
7690
7691         * postgresql.h: Include libpq-fe.h here.  Fix typo.
7692         * inline.c: Simply #include "postgresql.h"
7693         * postgresql.c:
7694         - Don't use SMART_INCLUDE
7695         - Use simply "const".
7696         - Use standard doc string conventions.
7697         - Use correct type for result of PQstatus.
7698
7699 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7700
7701         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
7702
7703         C++ compilation changes.
7704         * config.h.in (EXTERN_C): Define.
7705         * config.h.in (not): This is also a C++ keyword.
7706         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
7707         * cm.c: Use EXTERN_C.
7708         * redisplay-tty.c: Use EXTERN_C.
7709         * sysdep.c: Use EXTERN_C.  Remove Gould support.
7710
7711 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7712
7713         * general.c: Remove duplicate definition for Qfunction.
7714
7715 2000-07-08  Ben Wing  <ben@xemacs.org>
7716
7717         * device-msw.c (msprinter_init_device):
7718         * device-msw.c (sync_printer_with_devmode):
7719         * device-msw.c (handle_devmode_changes):
7720         * device-msw.c (print_dialog_worker):
7721         * device-msw.c (Fmsprinter_apply_settings):
7722         * device-msw.c (hash_devmode):
7723         * device-msw.c (Fmsprinter_settings_despecialize):
7724         use Qmswindows_tstr, not Qctext.
7725
7726         * vm-limit.c (check_memory_limits):
7727         avoid infinite loop printing warning messages.
7728
7729 2000-07-05  Craig Lanning  <lanning@scra.org>
7730
7731         * Makefile.in.in: Add support for including the Windows resources
7732         when building with the cygwin and mingw targets.
7733
7734         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
7735         not set or not correct.
7736         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
7737         (init_initial_directory): Don't try to use $PWD on the
7738         WIN32_NATIVE target.
7739
7740         * s\cygwin32.h:
7741         [[Add -mwindows to eliminate console window.]] not required --ben
7742         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7743         (MAIL_USE_POP): removed; now handled by configure.
7744
7745         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
7746         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
7747         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7748         (MAIL_USE_POP): removed; now handled by configure.
7749         (ENCAPSULATE_STAT): from Dan Holmsand, added.
7750         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
7751         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
7752         constant string.
7753         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
7754         up from <winsock.h> via systime.h.
7755         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
7756         (getpagesize): from Dan Holmsand, added.
7757         Added #endif which was left dangling by Ben's mega patch; added
7758         comment to help prevent this in the future.
7759
7760         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
7761
7762 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7763
7764         * console-msw.h (struct mswindows_device): Removed unnecessary
7765         cached device geometry values.
7766         Added update_tick and an accessor macro.
7767         (Lisp_Devmode): Added lrecord declaration.
7768         (struct msprinter_device): Contain devmode as a Lisp object.
7769         Added mswindows_get_selected_frame_hwnd();
7770
7771         * console.h (struct console_methods): Indentation nitpicking.
7772
7773         * device-msw.c (mswindows_init_device): Do not initialize geometry
7774         cache. Initialize update tick.
7775         (mswindows_device_system_metrics): Ask the device for its geometry.
7776         (global_free_2_maybe):
7777         (devmode_to_hglobal):
7778         (handle_printer_changes):
7779         (ensure_not_printing):
7780         (print_dialog_worker):
7781         (Fmsprinter_print_setup_dialog):
7782         (Fmsprinter_print_dialog):
7783         (plist_get_margin):
7784         (plist_set_margin):
7785         (Fmsprinter_page_setup_dialog): Added functions.
7786         (sync_printer_with_devmode):
7787         (handle_devmode_changes):
7788         (Fmsprinter_get_settings):
7789         (Fmsprinter_select_settings):
7790         (Fmsprinter_apply_settings):
7791         (allocate_devmode):
7792         (Fmsprinter_settings_copy):
7793         (Fmsprinter_settings_despecialize):
7794         (print_devmode):
7795         (finalize_devmode):
7796         (equal_devmode):
7797         (hash_devmode): Added functions
7798         (syms_of_device_mswindows): Init devmode lrecord class.
7799
7800         * device.h: Added an exfun for find-device.
7801
7802         * event-msw.c (mswindows_wnd_proc): Do not update the cached
7803         geometry; although, recreate the device compatible DC.
7804
7805         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
7806         (msprinter_init_frame_3):
7807         (msprinter_frame_property):
7808         (msprinter_internal_frame_property_p):
7809         (msprinter_frame_properties):
7810         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
7811         print job properties (will move to device settings).
7812
7813         * lisp.h: Added symbols.
7814
7815         * general.c (syms_of_general): Declared them.
7816
7817         * hash.c (string_hash): Added.
7818
7819         * lrecord.h (lrecord_type): Added devmode lrecord type.
7820
7821 2000-07-02  Mike Sperber <mike@xemacs.org>
7822
7823         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
7824         FreeBSD 4.0.
7825
7826 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
7827
7828         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
7829         integer.
7830
7831 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
7832
7833         * data.c (Fstring_to_number): Don't recognize floating point if
7834         base is not 10.
7835
7836 2000-06-22  Martin Buchholz  <martin@xemacs.org>
7837
7838         * glyphs-widget.c (tab_control_query_geometry):
7839         (widget_query_geometry):
7840         (button_query_geometry):
7841         * glyphs.c (text_query_geometry):
7842         Enforce type correctness.
7843
7844 2000-06-18  Martin Buchholz  <martin@xemacs.org>
7845
7846         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
7847         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
7848
7849 2000-06-17  Martin Buchholz  <martin@xemacs.org>
7850
7851         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
7852         conflicts with gcc's fixincluded version of FOO.h.
7853
7854         * glyphs.h (image_instance_geometry): Remove trailing `,'
7855
7856 2000-06-08  Mike Alexander  <mta@arbortext.com>
7857
7858         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
7859         (shove_thread): Don't write the same output twice
7860         (make_ntpipe_output_stream): Increase priority of shove thread
7861         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
7862         chance to run
7863         (ntpipe_shove_closer): Don't delete the pipe until we're done with
7864         it.
7865
7866 2000-06-12  Ben Wing  <ben@xemacs.org>
7867
7868         * s\mingw32.h (sigset):
7869         * s\windowsnt.h (sigset):
7870         rename msw_ to mswindows_ for consistency with general convention.
7871
7872 2000-06-12  Ben Wing  <ben@xemacs.org>
7873
7874         * console-msw.c:
7875         * console-msw.c (mswindows_get_console_hwnd):
7876         * console-msw.c (mswindows_ensure_console_allocated):
7877         * console-msw.c (mswindows_hide_console):
7878         * console-msw.c (mswindows_show_console):
7879         * console-msw.c (mswindows_ensure_console_buffered):
7880         * console-msw.c (mswindows_output_console_string):
7881         * console-msw.c (mswindows_windows9x_p):
7882         * console-msw.h:
7883         * device-msw.c (mswindows_get_workspace_coords):
7884         * device-msw.c (mswindows_device_system_metrics):
7885         * dialog-msw.c (mswindows_popup_dialog_box):
7886         * event-msw.c (mswindows_wnd_proc):
7887         * frame-msw.c (mswindows_size_frame_internal):
7888         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7889         * menubar-msw.c (displayable_menu_item):
7890         * menubar-msw.c (mswindows_char_is_accelerator):
7891         * nt.c:
7892         * nt.c (mswindows_sigset):
7893         * nt.c (mswindows_sigrelse):
7894         * nt.c (mswindows_sigpause):
7895         * nt.c (mswindows_raise):
7896         * nt.c (timer_proc):
7897         * ntproc.c:
7898         * ntproc.c (find_child_console):
7899         * ntproc.c (sys_kill):
7900         * print.c:
7901         * print.c (std_handle_out_external):
7902         * process-nt.c (find_child_console):
7903         * process-nt.c (send_signal_the_95_way):
7904         * process-nt.c (ensure_console_window_exists):
7905         * process-nt.c (nt_create_process):
7906         * syssignal.h:
7907         rename msw_ to mswindows_ for consistency with general convention.
7908
7909         * emacs.c:
7910         * dumper.c:
7911         include nt.h, not syswindows.h.
7912
7913         * nt.c (mswindows_fstat):
7914         * nt.c (mswindows_stat):
7915         prefix mswindows_ instead of attempting to directly override the
7916         library functions.  fix declarations.
7917
7918         * nt.h:
7919         include syswindows.h.  move some sysdep.h stuff here.
7920
7921         * ntheap.h:
7922         include syswindows.h, not <windows.h>.
7923
7924         * ntplay.c:
7925         clean up headers.
7926
7927         * sysdep.c:
7928         clean up headers.
7929
7930         * sysdep.c (sys_fstat):
7931         * sysdep.c (sys_stat):
7932         call mswindows versions when appropriate.
7933
7934         * sysdep.h:
7935         move mswin decls to nt.h.
7936
7937         * syswindows.h:
7938         add long comment describing appropriate use of the various windows
7939         headers.
7940
7941 2000-06-11  Ben Wing  <ben@xemacs.org>
7942
7943         * device-x.c: Correct doc string for sixth arg of x-get-resource.
7944
7945 2000-06-10  Ben Wing  <ben@xemacs.org>
7946
7947         * Makefile.in.in (release):
7948         Correction to make sure xemacs.exe always dumped when correct.
7949
7950         * alloca.c:
7951         * balloon_help.c:
7952         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
7953
7954         * buffer.c (set_buffer_internal):
7955         [[[[2]]]]: Remove HAVE_FEP code.
7956
7957         * buffer.c (init_initial_directory):
7958         [3].
7959
7960         * bytecode.c:
7961         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
7962         individual files.
7963
7964         * callproc.c:
7965         * callproc.c (call_process_cleanup):
7966         * callproc.c (Fold_call_process_internal):
7967         * callproc.c (child_setup):
7968         * callproc.c (getenv_internal):
7969         * callproc.c (init_callproc):
7970         * callproc.c (vars_of_callproc):
7971         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
7972         __CYGWIN32__ -> CYGWIN.
7973         DOS_NT -> WIN32_NATIVE.
7974         Remove MSDOS support/references, converting to WIN32_NATIVE
7975           where correct.
7976         __MINGW32__ -> MINGW.
7977         Fix windows.h includes.
7978         Remove bogus HAVE_NTGUI.
7979
7980         * config.h.in:
7981         [2].
7982
7983         * console-msw.c:
7984         mswindows_message_outputted added for use in allowing startup
7985         errors on the console to be seen.
7986
7987         * console-msw.c (msw_ensure_console_allocated):
7988         * console-msw.c (msw_output_console_string):
7989         * console-msw.c (DHEADER):
7990         * console-msw.c (DOPAQUE_DATA):
7991         * console-msw.c (DEVENT):
7992         * console-msw.c (DCONS):
7993         * console-msw.c (DCONSCDR):
7994         * console-msw.c (DSTRING):
7995         * console-msw.c (DVECTOR):
7996         * console-msw.c (DSYMBOL):
7997         * console-msw.c (DSYMNAME):
7998         Fix warnings.
7999
8000         * console-stream.c (stream_init_console):
8001         Fix text/binary problems.
8002
8003         * device-msw.c:
8004         * device-msw.c (mswindows_finish_init_device):
8005         * device-msw.c (mswindows_delete_device):
8006         [1].
8007
8008         * device.c (handle_asynch_device_change):
8009         [3].
8010
8011         * dgif_lib.c:
8012         * dgif_lib.c (DGifOpenFileName):
8013         * dgif_lib.c (DGifOpenFileHandle):
8014         * dgif_lib.c (DGifGetLine):
8015         * dgif_lib.c (DGifGetPixel):
8016         Added config.h/lisp.h, fix up includes.
8017         [1].
8018
8019         * dired-msw.c:
8020         [4].
8021
8022         * dired.c:
8023         * dired.c (file_name_completion):
8024         * dired.c (Ffile_attributes):
8025         * dired.c (syms_of_dired):
8026         [1].
8027
8028         * dumper.c:
8029         * dumper.c (pdump_file_unmap):
8030         * dumper.c (pdump_load):
8031         [1].
8032
8033         * editfns.c:
8034         * editfns.c (Ftemp_directory):
8035         * editfns.c (user_login_name):
8036         * editfns.c (Fuser_real_login_name):
8037         * editfns.c (get_home_directory):
8038         [1].
8039
8040         * elhash.c (finish_marking_weak_hash_tables):
8041         [[[[5]]]]: Fix GCC warnings.
8042
8043         * emacs.c:
8044         * emacs.c (mswindows_handle_hardware_exceptions):
8045         * emacs.c (make_arg_list_1):
8046         * emacs.c (main_1):
8047         * emacs.c (Fkill_emacs):
8048         * emacs.c (Fdump_emacs):
8049         [1].
8050         Fix problems with nested crashes, add long comment.
8051
8052         * event-Xt.c (init_event_Xt_late):
8053         [1].
8054
8055         * event-msw.c:
8056         * event-msw.c (mswindows_dde_callback):
8057         * event-msw.c (mswindows_handle_sticky_modifiers):
8058         * event-msw.c (mswindows_wnd_proc):
8059         [1].
8060         [5].
8061
8062         * events.c (character_to_event):
8063         [1].
8064
8065         * fileio.c:
8066         * fileio.c (Ffile_name_directory):
8067         * fileio.c (Ffile_name_nondirectory):
8068         * fileio.c (directory_file_name):
8069         * fileio.c (Fexpand_file_name):
8070         * fileio.c (Fsubstitute_in_file_name):
8071         * fileio.c (Ffile_name_absolute_p):
8072         * fileio.c (check_executable):
8073         * fileio.c (Ffile_readable_p):
8074         * fileio.c (Ffile_accessible_directory_p):
8075         * fileio.c (Ffile_modes):
8076         * fileio.c (Funix_sync):
8077         * fileio.c (vars_of_fileio):
8078         [1]. [4].
8079
8080         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
8081
8082         Expand getdefdir defn.
8083         Fix bogus rename() comment.
8084
8085         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
8086         to use standard XEmacs include files, e.g. sysfile.h, rather
8087         than system-specific includes.
8088
8089         * fns.c:
8090         * fns.c (Fsubseq):
8091         [5]. [6].
8092
8093         * frame.c (vars_of_frame):
8094         [1].
8095
8096         * getloadavg.c:
8097         * getloadavg.c (getloadavg):
8098         [1]. [6].
8099         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
8100         (We don't use it elsewhere in the code; just add a comment.)
8101
8102         * gif_io.c:
8103         [6].
8104         Add config.h.
8105
8106         * glyphs-msw.c:
8107         * glyphs-msw.c (mswindows_resource_instantiate):
8108         [1].
8109
8110         * glyphs-x.c (x_native_layout_instantiate):
8111         [5].
8112
8113         * gui-msw.c (Fmswindows_shell_execute):
8114         [1].
8115
8116         * insdel.c:
8117         [4].
8118
8119         * lisp.h:
8120         [4]. [5].
8121
8122         * lread.c (locate_file_in_directory_mapper):
8123         [1].
8124
8125         * lstream.c:
8126         [4].
8127
8128         * mem-limits.h:
8129         * mem-limits.h (get_lim_data):
8130         [1].
8131
8132         * menubar-msw.c:
8133         [4].
8134
8135         * ndir.h:
8136         [1].
8137
8138         * nt.c:
8139         * nt.c (getwd):
8140         * nt.c (closedir):
8141         * nt.c (rva_to_section):
8142         * nt.c (mswindows_executable_type):
8143         [1]. [6].
8144         Fix closedir() defn.
8145
8146         * nt.h:
8147         [[[[8]]]]: *_OK defs moved to sysfile.h.
8148
8149         * ntproc.c:
8150         [6]. [7].
8151
8152         * objects-x.c:
8153         [4].
8154
8155         * print.c:
8156         * print.c (std_handle_out_external):
8157         [1]. [4].
8158
8159         * process-nt.c:
8160         * process-nt.c (nt_create_process):
8161         [6].
8162         try to fix process quoting somewhat.
8163
8164         * process-unix.c (unix_create_process):
8165         [1].
8166
8167         * process.c:
8168         * process.c (vars_of_process):
8169         Add Vnull_device.
8170
8171         * process.h:
8172         [1].
8173
8174         * realpath.c:
8175         * realpath.c (xrealpath):
8176         [1].
8177
8178         * redisplay-tty.c (init_tty_for_redisplay):
8179         [3].
8180
8181         * redisplay.c:
8182         [4]. [6].
8183
8184         * scrollbar-msw.c:
8185         [4].
8186
8187         * sheap.c:
8188         * sheap.c (more_static_core):
8189         * sheap.c (report_sheap_usage):
8190         [5]. [6].
8191
8192         * signal.c:
8193         * signal.c (alarm_signal):
8194         [1]. [6].
8195
8196         * sound.c:
8197         [6].
8198
8199         * strftime.c:
8200         * strftime.c (zone_name):
8201         [1]. [5].
8202
8203         * symsinit.h (init_sunpro):
8204         [1].
8205
8206         * syscommctrl.h:
8207         commctrl.h not in Cygwin b20.1.
8208
8209         * sysdep.c:
8210         * sysdep.c (endif):
8211         * sysdep.c (sys_subshell):
8212         * sysdep.c (init_baud_rate):
8213         * sysdep.c (emacs_get_tty):
8214         * sysdep.c (emacs_set_tty):
8215         * sysdep.c (tty_init_sys_modes_on_device):
8216         * sysdep.c (init_system_name):
8217         * sysdep.c (sys_open):
8218         * sysdep.c (interruptible_open):
8219         * sysdep.c (sys_fopen):
8220         * sysdep.c (sys_mkdir):
8221         * sysdep.c (sys_rename):
8222         * sysdep.c (get_process_times_1):
8223         [1]. [6].
8224
8225         * sysdep.h:
8226         [1].
8227
8228         * sysdir.h:
8229         * sysdir.h (DIRENTRY_NONEMPTY):
8230         [1]. [6].
8231
8232         * sysdll.c (dll_init):
8233         * sysdll.h:
8234         [1].
8235
8236         * sysfile.h:
8237         [1]. [6]. [8].
8238         added text/binary defs.
8239
8240         * sysfloat.h:
8241         [1].
8242
8243         * sysproc.h:
8244         * sysproc.h (EDESTADDRREQ):
8245         * sysproc.h (poll_fds_for_input):
8246         [1]. [6].
8247
8248         * syspwd.h:
8249         [6].
8250
8251         * syssignal.h:
8252         [1].
8253
8254         * systime.h:
8255         [1]. [6].
8256
8257         * systty.h:
8258         [1].
8259
8260         * syswindows.h:
8261         [1].
8262         Always define WIN32_LEAN_AND_MEAN.
8263
8264         * unexcw.c (unexec):
8265         [5].
8266
8267         * unexec.c:
8268         * unexec.c (copy_text_and_data):
8269         * unexec.c (adjust_lnnoptrs):
8270         [1].
8271
8272         * unexnt.c:
8273         * unexnt.c (_start):
8274         [1].
8275
8276 2000-06-07  Ben Wing  <ben@xemacs.org>
8277
8278         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
8279         was used only as a model.  We've long since extracted any useful
8280         logic or code out of this. (I just did an exhaustive search.)
8281
8282         * s\msdos.h: Removed.
8283
8284         * s\windows95.h: Removed.
8285
8286 2000-06-10  Ben Wing  <ben@xemacs.org>
8287
8288         * s\cygwin32.h:
8289         [1]. [5].
8290         Don't use extern with fun defs.
8291
8292         * s\mingw32.h:
8293         [1]. [7].
8294         Remove nt\inc include.
8295         Remove getdisk, getdefdir. (The former is unused, the latter
8296         expanded in fileio.h.)
8297
8298         * s\windowsnt.h:
8299         * s\windowsnt.h (WIN32_NATIVE):
8300         * s\windowsnt.h (HAVE_STRCASECMP):
8301         [1]. [7].
8302         Add long comment about preprocessor changes.
8303         Remove getdisk, getdefdir. (The former is unused, the latter
8304         expanded in fileio.h.)
8305
8306 2000-06-10  Ben Wing  <ben@xemacs.org>
8307
8308         * m\arm.h:
8309         * m\delta.h:
8310         * m\intel386.h:
8311         * m\sequent.h:
8312         * m\template.h:
8313         * m\windowsnt.h:
8314         [1].
8315         Remove bogus/unused NO_SOCK_SIGIO.
8316
8317 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
8318
8319         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
8320         not an Emchar.
8321
8322 2000-06-04  Mike Sperber <mike@xemacs.org>
8323
8324         * casetab.c (set_case_table): For `set-standard-case-table',
8325         actually deposit the new case tables where the rest of XEmacs can
8326         see them.
8327
8328 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
8329
8330         * data.c (Faset): Don't cast XCHAR() to unsigned char.
8331
8332 2000-06-05  Ben Wing  <ben@xemacs.org>
8333
8334         * callproc.c (child_setup): Don't do close_load_descs() under
8335         MS Windows.  Put in a comment explaining why.
8336
8337 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
8338
8339         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
8340         Toolkit shell" which breaks `kill-compilation' on Windows NT
8341         native, retaining STDERR handling improvements.
8342
8343 2000-06-01  Andreas Jaeger  <aj@suse.de>
8344
8345         * s/s390.h: Support for S390, based on a patch by Martin
8346         Schwidefsky <schwidefsky@de.ibm.com>.
8347
8348 2000-05-30  Andy Piper  <andy@xemacs.org>
8349
8350         * window.c (allocate_window):
8351         (make_dummy_parent):
8352         (Fset_window_configuration): use new hashtable type.
8353
8354         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
8355         (struct image_instantiator_methods):
8356         (struct Lisp_Image_Instance): make instance geometry signed.
8357
8358         * glyphs.c (instantiate_image_instantiator):
8359         (image_instance_query_geometry):
8360         (image_instance_layout):
8361         (image_instance_layout):
8362         (query_string_geometry):
8363         (text_query_geometry):
8364         (image_instantiate):
8365         (image_instantiate):
8366         (cache_subwindow_instance_in_frame_maybe):
8367         (subwindow_query_geometry): make instance geometry signed.
8368
8369         * glyphs-widget.c (widget_query_geometry):
8370         (widget_layout):
8371         (button_query_geometry):
8372         (tree_view_query_geometry):
8373         (tab_control_query_geometry):
8374         (layout_query_geometry):
8375         (layout_layout):
8376         (native_layout_layout): make instance geometry signed.
8377
8378 2000-05-29  Olivier Galibert  <galibert@pobox.com>
8379
8380         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
8381         constant.
8382
8383         * general.c (syms_of_general): Add Qfull_assoc symbol.
8384
8385         * data.c (finish_marking_weak_lists): Mark full-assoc lists
8386         correctly.
8387         (decode_weak_list_type): Decode full-assoc type.
8388         (encode_weak_list_type): Encode full-assoc type.
8389         (Fmake_weak_list): Update doc string.
8390
8391 2000-05-30  Andy Piper  <andy@xemacs.org>
8392
8393         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
8394
8395         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
8396         (decode_hash_table_weakness): ditto.
8397         (Fhash_table_weakness): ditto.
8398         (Fhash_table_type): ditto.
8399         (finish_marking_weak_hash_tables): ditto.
8400         (hash_table_weakness_validate): ditto.
8401         (syms_of_elhash): ditto.
8402
8403 2000-05-28  Martin Buchholz <martin@xemacs.org>
8404
8405         * XEmacs 21.2.34 is released.
8406
8407 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8408
8409         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
8410         start cache.
8411         (updating_line_start_cache): Gone.
8412         (regenerate_window): Replace resetting of VERTICAL_CLIP by
8413         generic code to force a minimum of 1 line laid out in the
8414         CMOTION_DISP case.
8415
8416 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8417
8418         * glyphs.c (instantiate_image_instantiator): Check for initialized
8419         height & width no longer special cases IMAGE_NOTHING.
8420         (nothing_instantiate): Set height and width of instance.
8421
8422 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8423
8424         * unexelf.c (unexec): Search for ".data" section.
8425         Initialize new_data2_offset from old_data_index.
8426         Remove redundant check for ElfW.
8427
8428 2000-05-23  Andy Piper  <andy@xemacs.org>
8429
8430         * glyphs.c (get_image_instantiator_governing_domain): allow more
8431         specific domains as the governing domain rather than expecting an
8432         exact match. This fixes problems with layouts.
8433
8434 2000-05-22  Andy Piper  <andy@xemacs.org>
8435
8436         * redisplay-output.c (compare_runes): check for non-images
8437
8438         * glyphs.c (set_glyph_dirty_p): ditto.
8439         (update_glyph_cachel_data): ditto.
8440
8441         * glyphs-widget.c (layout_post_instantiate): ditto.
8442         (layout_post_instantiate): ditto.
8443
8444         * event-msw.c (mswindows_wnd_proc): warning removal.
8445
8446 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
8447
8448         * s\mingw32.h: Added #undef for CLASH_DETECTION.
8449
8450         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
8451
8452         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
8453
8454         * nt.c (rva_to_section): mingw32 needs rva_to_section.
8455         (mswindows_executable_type): mingw32 now has enough headers for
8456         this to work.
8457
8458 2000-05-20  Andy Piper  <andy@xemacs.org>
8459
8460         * console-msw.c (mswindows_output_last_error): ; -> ,
8461
8462 2000-05-12  Andy Piper  <andy@xemacs.org>
8463
8464         * console-msw.c (FROB): compare ints with ints.
8465
8466 2000-05-11  Andy Piper  <andy@xemacs.org>
8467
8468         * glyphs-x.c (x_finalize_image_instance): make minimal build
8469         happy.
8470
8471 2000-05-20  Ben Wing  <ben@xemacs.org>
8472
8473         * event-Xt.c:
8474         * event-Xt.c (vars_of_event_Xt):
8475         move modifier-keys-are-sticky to event-stream.c.
8476
8477         * event-msw.c:
8478         * event-msw.c (mswindows_enqueue_mouse_button_event):
8479         * event-msw.c (key_needs_default_processing_p):
8480         * event-msw.c (XEMSW_LCONTROL):
8481         * event-msw.c (mswindows_handle_sticky_modifiers):
8482         * event-msw.c (FROB):
8483         * event-msw.c (clear_sticky_modifiers):
8484         * event-msw.c (output_modifier_keyboard_state):
8485         * event-msw.c (output_alt_keyboard_state):
8486         * event-msw.c (mswindows_wnd_proc):
8487         * event-msw.c (mswindows_modifier_state):
8488         * event-msw.c (emacs_mswindows_handle_magic_event):
8489         implement sticky modifiers.
8490
8491         * event-stream.c:
8492         * event-stream.c (vars_of_event_stream):
8493         move modifier-keys-are-sticky here.
8494
8495         * lisp.h:
8496         add CHECK_FUNCTION.
8497
8498         * rangetab.c:
8499         implement map-range-table.
8500
8501
8502 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
8503
8504         * redisplay-tty.c (reset_tty_modes):
8505         (tty_redisplay_shutdown): Adjust argument type to
8506         tty_frame_output_end.
8507
8508 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8509
8510         * eval.c (Fbacktrace): Don't output a line with only right
8511         parenthesis.
8512
8513 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
8514
8515         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
8516         (Fpq_reset_poll): Ditto.
8517
8518 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
8519
8520         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
8521
8522 2000-05-16  Ben Wing  <ben@xemacs.org>
8523
8524         * buffer.c:
8525         * buffer.c (dfc_convert_to/from_internal_format):
8526         * buffer.c (reinit_vars_of_buffer):
8527         Fix conversion functions to allow reentrancy.
8528
8529         * console-msw.c:
8530         * console-msw.c (mswindows_output_last_error):
8531         New fun, generally useful -- output a human-readable
8532         version of GetLastError() on the console.
8533
8534         * console-msw.h:
8535         * console-msw.h (struct mswindows_frame):
8536         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
8537
8538         * console-stream.c (stream_output_begin):
8539         * console-stream.c (stream_output_end):
8540         * console-stream.c (stream_output_vertical_divider):
8541         * console-stream.c (stream_clear_region):
8542         * console-stream.c (stream_flash):
8543         * console-stream.c (console_type_create_stream):
8544         Delete blank stream methods, not needed.
8545
8546         * console.h (struct console_methods):
8547         Split begin/end methods into window and frame.
8548
8549         * event-msw.c:
8550         * event-msw.c (mswindows_handle_paint):
8551         * event-msw.c (output_alt_keyboard_state):
8552         * event-msw.c (mswindows_wnd_proc):
8553         * event-msw.c (vars_of_event_mswindows):
8554         Comment about problems with ignored-expose.
8555         Define mswindows-debug-events; not really implemented.
8556
8557         * frame-msw.c (mswindows_init_frame_1):
8558         random cleanups.
8559
8560         * glyphs-msw.c:
8561         * glyphs-msw.c (begin_defer_window_pos):
8562         * glyphs-msw.c (mswindows_unmap_subwindow):
8563         * glyphs-msw.c (mswindows_map_subwindow):
8564         * glyphs-msw.c (mswindows_resize_subwindow):
8565         Use DeferWindowPos to reduce flashing when mapping/unmapping.
8566
8567         * glyphs.c (make_image_instance_1):
8568         Fix crash.
8569
8570         * gutter.c (Fredisplay_gutter_area):
8571         Use new begin/end methods.
8572
8573         * lisp.h (Dynarr_new2):
8574         New creation fun.
8575
8576         * redisplay-msw.c:
8577         * redisplay-msw.c (mswindows_frame_output_begin):
8578         * redisplay-msw.c (mswindows_frame_output_end):
8579         * redisplay-msw.c (console_type_create_redisplay_mswindows):
8580         New begin/end methods -- handle DeferWindowPos.
8581
8582         * redisplay-output.c (redisplay_move_cursor):
8583         * redisplay-output.c (redraw_cursor_in_window):
8584         * redisplay-output.c (redisplay_update_line):
8585         * redisplay-output.c (redisplay_output_window):
8586         New begin/end methods.
8587
8588         * redisplay-tty.c:
8589         * redisplay-tty.c (tty_frame_output_begin):
8590         * redisplay-tty.c (tty_frame_output_end):
8591         * redisplay-tty.c (console_type_create_redisplay_tty):
8592         New begin/end methods.
8593
8594         * redisplay-x.c:
8595         * redisplay-x.c (x_window_output_begin):
8596         * redisplay-x.c (x_window_output_end):
8597         * redisplay-x.c (console_type_create_redisplay_x):
8598         New begin/end methods.
8599
8600         * redisplay.c (redisplay_frame):
8601         * redisplay.c (Fredisplay_echo_area):
8602         New begin/end methods.
8603         use MAYBE_DEVMETH for clear_frame; it may not exist.
8604
8605         * window.h (WINDOW_XFRAME):
8606         WINDOW_XFOO macros -- get locale and decode struct pointer.
8607
8608
8609 2000-05-12  Ben Wing  <ben@xemacs.org>
8610
8611         * emacs.c:
8612         * emacs.c (ensure_no_quitting_from_now_on):
8613         * emacs.c (fatal_error_signal):
8614         * emacs.c (mswindows_handle_hardware_exceptions):
8615         * emacs.c (main):
8616         * emacs.c (Fkill_emacs):
8617         * emacs.c (shut_down_emacs):
8618         * emacs.c (assert_failed):
8619         various improvements in fatal error handling.
8620
8621         * eval.c:
8622         move preparing_for_armageddon to emacs.c.
8623
8624         * lisp.h:
8625         declare fatal_error_in_progress.
8626
8627         * print.c:
8628         * print.c (std_handle_out_external):
8629         * print.c (std_handle_out_va):
8630         * print.c (stderr_out):
8631         * print.c (stdout_out):
8632         use console under mswin when no standard output.
8633         don't do code conversion during fatal error.
8634
8635         * scrollbar.c (Fscrollbar_page_up):
8636         * scrollbar.c (Fscrollbar_page_down):
8637         fix missing else.  reindent.
8638
8639 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
8640
8641         Emergency fix.
8642
8643         * glyphs.h (GLYPH_CACHEL_DESCENT):
8644         (GLYPH_CACHEL_DESCENT):
8645         (GLYPH_CACHEL_DESCENT):
8646         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
8647         used in case these are inline functions.
8648         Use more absurd values to error check.
8649
8650         include window.h for error check functions.
8651
8652 2000-05-11  Ben Wing  <ben@xemacs.org>
8653
8654         * cmdloop.c (Freally_early_error_handler):
8655         Display message box under windows; otherwise, message will disappear
8656         before it can be viewed.
8657
8658         * console-msw.c:
8659         * console-msw.c (Fmswindows_message_box):
8660         * console-msw.c (FROB):
8661         * console-msw.c (syms_of_console_mswindows):
8662         Define new fun `mswindows-message-box'.
8663         #### I will merge this into `popup-dialog-box'; just give me
8664         a bit of time.
8665
8666         * general.c:
8667         * general.c (syms_of_general):
8668         Some new symbols used in `mswindows-message-box'.
8669
8670         * glyphs.c:
8671         * glyphs.c (Fset_image_instance_property):
8672         put warning in this fun.
8673
8674         * glyphs.h:
8675         * glyphs.h (GLYPH_CACHEL_WIDTH):
8676         * glyphs.h (GLYPH_CACHEL_ASCENT):
8677         * glyphs.h (GLYPH_CACHEL):
8678         * glyphs.h (GLYPH_CACHEL_GLYPH):
8679         define error-checking versions to try to catch a bug i've seen --
8680         redisplay gets in an infinite loop because the glyph width of the
8681         continuation glyph is 65535.
8682
8683         * lisp.h:
8684         Extern message-box stuff.
8685
8686         * window.c (allocate_window):
8687         * window.c (make_dummy_parent):
8688         * window.c (Fset_window_configuration):
8689         Use EQUAL not EQ for subwindow caches to make them work a bit
8690         better. (Something is still very broken.)
8691
8692
8693 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8694
8695         * glyphs.c (image_instantiate): Suppress gcc warnings.
8696         (Fmake_image_instance): Fix doc string.
8697         * specifier.c (Fmake_specifier): Ditto.
8698
8699 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
8700
8701         * paths.h.in (PATH_LOCK): Removed.
8702         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
8703         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
8704
8705 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8706
8707         * fns.c (Ffeaturep): Update e-mail address in doc-string.
8708         Document (featurep '(and xemacs 21.02)).
8709
8710 2000-05-09  Ben Wing  <ben@xemacs.org>
8711
8712         * buffer.c (complex_vars_of_buffer):
8713         update modeline-format doc.
8714
8715         * device.h:
8716         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
8717
8718         * emacs.c:
8719         timeline of all released versions of Emacs, for use in creating
8720         authorship comments and in synching up.
8721
8722         * glyphs-widget.c (image_instantiator_buttons):
8723         * glyphs-widget.c (image_instantiator_edit_fields):
8724         * glyphs-widget.c (image_instantiator_combo_box):
8725         * glyphs-widget.c (image_instantiator_scrollbar):
8726         * glyphs-widget.c (image_instantiator_progress_guage):
8727         * glyphs-widget.c (image_instantiator_tree_view):
8728         * glyphs-widget.c (image_instantiator_tab_control):
8729         * glyphs-widget.c (image_instantiator_labels):
8730         * glyphs-widget.c (image_instantiator_layout):
8731         * glyphs-widget.c (image_instantiator_native_layout):
8732         rename decode_domain method to governing_domain.
8733
8734         * glyphs.c:
8735         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
8736         * glyphs.c (add_entry_to_device_ii_format_list):
8737         make sure we don't put an entry more than once into the list.
8738         * glyphs.c (check_instance_cache_mapper):
8739         *************************************************************
8740         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8741         HAVE BEEN GETTING.
8742         *************************************************************
8743         * glyphs.c (get_image_instantiator_governing_domain):
8744         clean up, expand on new concept of governing domain.
8745         * glyphs.c (instantiate_image_instantiator):
8746         * glyphs.c (allocate_image_instance):
8747         use governing_domain instead of cache_domain in naming.
8748         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
8749         * glyphs.c (make_image_instance_1):
8750         * glyphs.c (Fmake_image_instance):
8751         allow for any domain (not just device), and process the
8752         governing domain correctly.  very big doc fix.
8753         * glyphs.c (Fimage_instance_domain):
8754         new primitive, to retrieve the governing domain of an image instance.
8755         * glyphs.c (image_instantiate):
8756         use new governing_domain stuff.  this fixes a crash you could get
8757         by instantiating certain widget glyphs in frame locales. (should
8758         signal an error instead of crashing.)
8759         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
8760         * glyphs.c (Fglyphp): clean up doc.
8761         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
8762         * glyphs.c (syms_of_glyphs):
8763         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
8764         * glyphs.c (image_instantiator_format_create): add some comments about
8765         bogus code.
8766         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
8767         for current-display-table. (Apparently Hrjove implemented in 1998 a
8768         design I wrote up in 1996, but didn't update the doc string.)
8769
8770         * glyphs.h: clean up a doc string.
8771         * glyphs.h (governing_domain):
8772         * glyphs.h (struct image_instantiator_methods):
8773         changes for governing_domain stuff.
8774
8775         * gutter.c:
8776         * gutter.c (Fgutter_specifier_p):
8777         * gutter.c (Fgutter_size_specifier_p):
8778         * gutter.c (Fgutter_visible_specifier_p):
8779         * objects.c:
8780         * objects.c (Fcolor_specifier_p):
8781         * objects.c (Ffont_specifier_p):
8782         * objects.c (Fface_boolean_specifier_p):
8783         doc strings moved to make-*-specifier.
8784
8785         * redisplay.c (add_disp_table_entry_runes_1):
8786         * redisplay.c (generate_fstring_runes):
8787         * redisplay.c (screen):
8788         add random comments and doc strings.
8789
8790         * specifier.c:
8791         * specifier.c (Fmake_specifier):
8792         major overhaul of this doc string.
8793
8794         * specifier.c (Fvalid_specifier_domain_p):
8795         comment about the bogosity of image instances being domains.
8796         * specifier.c (decode_domain):
8797         now non-static, used in glyphs.c.
8798         * specifier.c (specifier_instance):
8799         comment about the bogosity of image instances being domains.
8800         * specifier.c (Fgeneric_specifier_p):
8801         move doc string to make-generic-specifier.
8802         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
8803         rebackslashify.
8804
8805         * specifier.h:
8806         * specifier.h (DOMAIN_FRAME):
8807         * specifier.h (DOMAIN_LIVE_P):
8808         * specifier.h (DOMAIN_XDEVICE):
8809         rebackslashify.
8810         add comments about problems with these macros.
8811         prototype for decode_domain.
8812
8813         * toolbar.c:
8814         * toolbar.c (Ftoolbar_specifier_p):
8815         move doc string to `make-toolbar-specifier'.
8816
8817         * window.c (window_unmap_subwindows_cache_mapper):
8818         *************************************************************
8819         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8820         HAVE BEEN GETTING.
8821         *************************************************************
8822
8823 2000-05-09  Andy Piper  <andy@xemacs.org>
8824
8825         * glyphs.h: declare reset_frame_subwindow_instance_cache.
8826
8827         * window.c (Fset_window_configuration): reset the frame subwindow
8828         cache and re-initialize the window subwindow caches.
8829
8830         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
8831
8832 2000-05-09  Ben Wing  <ben@xemacs.org>
8833
8834         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
8835         DWORD.
8836
8837 2000-04-26  Mike Woolley  <mike@bulsara.com>
8838
8839         * ntheap.c: Changed recreate_heap to limit the amount reserved
8840         for the heap to that which is actually available. Also now
8841         displays a message box (with some dignostics) in the event that
8842         it still can't start.
8843
8844 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
8845
8846         * callproc.c (Fold_call_process_internal): GCPRO path
8847
8848 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
8849
8850         Patch by Bill Perry.
8851
8852         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
8853         back data instead of #ifdef.
8854         (Fscrollbar_page_down): ditto.
8855
8856 2000-05-07  Ben Wing  <ben@xemacs.org>
8857
8858         * buffer.h:
8859         Kludge for defining Qmswindows_tstr.
8860
8861         * nt.c:
8862         * nt.c (open_input_file):
8863         * nt.c (open_output_file):
8864         * nt.c (rva_to_section):
8865         * nt.c (mswindows_executable_type):
8866         Move all memory-mapped-file routines here (some were in unexnt.c,
8867         which is bad because they are used by process-nt.c, and unexnt
8868         won't be around when portable dumping).  Synched the above routines
8869         with FSF 20.6.
8870
8871         * nt.h:
8872         Removed ifdef'd out bogus code.
8873         Fixed some prototypes.
8874
8875         * nt.h (file_data):
8876         * nt.h (OFFSET_TO_RVA):
8877         * nt.h (RVA_TO_OFFSET):
8878         * nt.h (RVA_TO_PTR):
8879         Moved the memory-mapped-file structures, macros and prototypes
8880         here, to parallel nt.c.  ntheap.h should really be removed
8881         entirely, and it's a non-portable-dumper specific file.
8882
8883         * ntheap.h (round_to_next):
8884         Moved the memory-mapped-file structures, macros and prototypes
8885         to nt.h.
8886
8887         * ntproc.c (compare_env):
8888         Moved rva_to_section and mswindows_executable_type to nt.c.
8889         Moved compare_env to process-nt.c.
8890         ntproc.c will die, one day.
8891
8892         * ntproc.c (sys_spawnve):
8893         Account for win32_ -> mswindows_.
8894
8895         * process-nt.c:
8896         * process-nt.c (struct nt_process_data):
8897         * process-nt.c (ensure_console_window_exists):
8898         * process-nt.c (compare_env):
8899         * process-nt.c (nt_create_process):
8900         * process-nt.c (nt_kill_process_by_pid):
8901         * process-nt.c (syms_of_process_nt):
8902         * process-nt.c (vars_of_process_nt):
8903         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
8904         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
8905         changes).  Eliminate our old `nt-quote-process-args' mechanism.
8906         Synch up nt_create_process with FSF 20.6 sys_spawnve.
8907         Move compare_env here from ntproc.c.
8908
8909         * process.c (Fprocess_send_region):
8910         Takes an optional fourth argument, BUFFER, which should fix some
8911         problems with call-process.
8912
8913         * syscommctrl.h:
8914         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
8915
8916         * syswindows.h:
8917         Move ICC_BAR_CLASSES to syscommctrl.h.
8918         Add preliminary macros for MSWindows/Mule.  More to come.
8919
8920         * unexnt.c:
8921         * unexnt.c (unexec):
8922         open_output_file moved to nt.c.
8923
8924
8925 2000-05-05  Andy Piper  <andy@xemacs.org>
8926
8927         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
8928         instance from the frame cache also since GC may catch up too late
8929         to make frame deletion sane.
8930
8931 2000-05-04  Andy Piper  <andy@xemacs.org>
8932
8933         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
8934         (x_finalize_image_instance): ungcpro on deletion.
8935
8936         * glyphs.c (image_instantiator_format_create): give pointers a
8937         query geometry method so that the geometry is at least set.
8938
8939         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
8940         initialize layouts if using widgets.
8941
8942 2000-05-03  Andy Piper  <andy@xemacs.org>
8943
8944         * nt.c: remove bogus reference to sysmmsystem.h
8945
8946         * gui-x.c (popup_selection_callback): fix no selection abort.
8947
8948 2000-05-02  Andy Piper  <andy@xemacs.org>
8949
8950         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
8951         (mswindows_widget_instantiate): ditto.
8952
8953         * glyphs-widget.c (initialize_widget_image_instance): initialize
8954         children correctly.
8955         (widget_instantiate): cope with children and items in the same
8956         instance.
8957
8958         * glyphs.c (mark_image_instance): cope with children as a first
8959         class member.
8960         (image_instance_equal): ditto.
8961         (image_instance_hash): ditto.
8962         (image_instance_changed): ditto.
8963
8964 2000-04-30  Andy Piper  <andy@xemacs.org>
8965
8966         * glyphs.c (subwindow_query_geometry): new function. Return some
8967         defaults.
8968         (subwindow_instantiate): don't assign dimensions if none have been
8969         given.
8970         (image_instantiator_format_create): add subwindow_query_geometry.
8971         (print_image_instance): cope with layouts as widgets.
8972
8973 2000-04-29  Andy Piper  <andy@xemacs.org>
8974
8975         * frame.c (delete_frame_internal): call
8976         free_frame_subwindow_instance_cache so that all subwindows are
8977         finalized before their parent.
8978         (mark_frame): remove subwindow_cachels.
8979         (Fmake_frame): remove subwindow_cachel manipulation.
8980         (allocate_frame_core): subwindow_instance_cache is a weak list.
8981         (delete_frame_internal): set subwindow_instance_cache to nil.
8982
8983         * glyphs-msw.c (mswindows_finalize_image_instance): make double
8984         finalization safe.
8985         (mswindows_finalize_image_instance): use the device
8986         not the domain as the domain may have died already.
8987
8988         * glyphs-x.c (x_finalize_image_instance): ditto.
8989         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
8990         HEIGHT.
8991
8992         * redisplay-output.c (redisplay_unmap_subwindows): update for
8993         subwindow instance cache as a weak list.
8994         (redisplay_unmap_subwindows_maybe): ditto.
8995         (redisplay_unmap_subwindows_except_us): ditto.
8996
8997         * glyphs.c (unmap_subwindow): error checking will check the domain
8998         so don't deal with it here. Don't use cachels anymore.
8999         (map_subwindow): ditto.
9000         (update_subwindow_cachel_data): remove old accessor names.
9001         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
9002         (Fresize_subwindow): don't update cachel.
9003         (mark_subwindow_cachels):
9004         (update_subwindow_cachel_data):
9005         (add_subwindow_cachel):
9006         (get_subwindow_cachel_index):
9007         (update_subwindow_cachel):
9008         (reset_subwindow_cachels):
9009         (mark_subwindow_cachels_as_not_updated): deleted.
9010         (cache_subwindow_instance_in_frame_maybe): new function. Add a
9011         subwindow instance to the frame cache.
9012         (find_matching_subwindow): update for subwindow instance cache as
9013         a weak list.
9014         (update_widget_instances): ditto.
9015         (image_instance_type_to_mask):inlined.
9016         (free_frame_subwindow_instance_cache): new function. finalize all
9017         subwindows that are instantiated.
9018
9019         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
9020         of cachel information.
9021         (IMAGE_INSTANCE_DISPLAY_X):
9022         (IMAGE_INSTANCE_DISPLAY_Y):
9023         (IMAGE_INSTANCE_DISPLAY_WIDTH):
9024         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
9025         (XIMAGE_INSTANCE_DISPLAY_X):
9026         (XIMAGE_INSTANCE_DISPLAY_Y):
9027         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
9028         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
9029         remove subwindow_cachel structure and function references.
9030         (image_instance_type_to_mask): inline from glyphs.c
9031
9032         * redisplay.c (redisplay_frame): remove subwindow_cachel
9033         references.
9034
9035         * frame.h (struct frame): remove subwindow_cachels.
9036         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
9037
9038         * frameslots.h: add subwindow_instance_cache.
9039
9040         * window.c (replace_window): check subwindow cache of replacement.
9041         (window_unmap_subwindows_cache_mapper):
9042         (window_unmap_subwindows): new functions. Unmap all subwindows
9043         cached on this window.
9044         (mark_window_as_deleted): unmap all subwindows.
9045
9046 2000-04-27  Andy Piper  <andy@xemacs.org>
9047
9048         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
9049
9050         * glyphs-widget.c (widget_layout): return something.
9051         (layout_layout): return something. Fail if not initialized.
9052         (layout_query_geometry): ditto.
9053         (image_instantiator_native_layout): new function. Initialized the
9054         native layout type.
9055         (widget_instantiate): don't do layout stuff here.
9056
9057         * glyphs.c (instantiate_image_instantiator): reorded calling or
9058         instantiate and post_instantiate with layout in between.
9059         (image_instance_layout): be more selective about deciding whether
9060         the layout has been done or not.
9061
9062         * glyphs.h (struct image_instantiator_methods): return a value
9063         from layout_method.
9064
9065 2000-04-26  Andy Piper  <andy@xemacs.org>
9066
9067         * glyphs.c (allocate_image_instance): make initial width and
9068         height unspecified. Set initialized to 0.
9069
9070         * syscommctrl.h new file. Encapsulates commctrl.h.
9071
9072         * syswindows.h new file. Encapsulates windows.h.
9073
9074         * ntplay.c: use new syswindows.h and syscommctrl.h header.
9075         * nt.c: ditto.
9076         * console-msw.h: ditto.
9077
9078         * redisplay-tty.c (tty_output_display_block): remove layout references.
9079
9080         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
9081         window handle rather than just the frame.
9082
9083         * glyphs.c (mark_image_instance): remove layout references.
9084         (print_image_instance): ditto.
9085         (image_instance_equal): ditto.
9086         (image_instance_hash): ditto.
9087         (decode_image_instance_type): ditto.
9088         (encode_image_instance_type): ditto.
9089         (image_instantiate): ditto.
9090         (allocate_glyph): ditto.
9091         (Fimage_instance_height): ditto.
9092         (Fimage_instance_width): ditto.
9093         (update_subwindow): ditto.
9094
9095         * redisplay-x.c (x_output_display_block): recode for layouts as
9096         widgets.
9097
9098         * redisplay-output.c (redisplay_output_layout): recode for layouts
9099         as widgets.
9100         (compare_runes): remove layout references.
9101
9102         * redisplay-msw.c (mswindows_output_display_block): recode for
9103         layouts as widgets.
9104
9105         * glyphs-widget.c (image_instantiator_layout): remove
9106         layout_possible_dest_types.
9107         (layout_possible_dest_types): deleted.
9108
9109         * glyphs.h (image_instance_type): remove layout references.
9110         (struct Lisp_Image_Instance): ditto. Add initialized flag.
9111         (IMAGE_INSTANCE_INITIALIZED): new accessor.
9112         (XIMAGE_INSTANCE_INITIALIZED): ditto.
9113
9114 2000-04-25  Andy Piper  <andy@xemacs.org>
9115
9116         * glyphs-widget.c (image_instantiator_buttons):
9117         (image_instantiator_edit_fields):
9118         (image_instantiator_combo_box):
9119         (image_instantiator_scrollbar):
9120         (image_instantiator_progress_guage):
9121         (image_instantiator_tree_view):
9122         (image_instantiator_tab_control):
9123         (image_instantiator_labels):
9124         (image_instantiator_layout): call default post_instantiate method.
9125         (widget_post_instantiate): new function. Simply lays out the
9126         widgets.
9127
9128         * glyphs.h (struct image_instantiator_methods): add
9129         post_instantiate method.
9130
9131         * glyphs.c (instantiate_image_instantiator): add post_instantiate
9132         method calls.
9133
9134 2000-04-23  Andy Piper  <andy@xemacs.org>
9135
9136         * glyphs.h (struct image_instantiator_methods): add
9137         decode_domain_method.
9138         (struct Lisp_Image_Instance): remove subwindow frame - it can be
9139         derived from the domain.
9140         (IMAGE_INSTANCE_FRAME): new accessor.
9141         (XIMAGE_INSTANCE_FRAME): ditto.
9142
9143         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
9144         instead of _SUBWINDOW_FRAME.
9145         (finalize_image_instance): ditto.
9146         (Fimage_instance_foreground): ditto.
9147         (Fimage_instance_background): ditto.
9148         (image_instantiate): ditto.
9149         (update_subwindow_cachel): ditto.
9150         (update_subwindow): ditto.
9151         (unmap_subwindow): ditto.
9152         (map_subwindow): ditto
9153         (subwindow_instantiate): ditto.
9154         * glyphs-msw.c (mswindows_update_widget): ditto.
9155         (mswindows_progress_gauge_instantiate): ditto.
9156         (mswindows_tab_control_update): ditto.
9157         * glyphs-x.c (x_update_widget): ditto.
9158         (x_widget_instantiate): ditto.
9159         (x_tab_control_instantiate): ditto.
9160         (x_tab_control_update): ditto.
9161         * event-msw.c (mswindows_wnd_proc): ditto
9162
9163         * glyphs-widget.c (image_instantiator_layout): use
9164         subwindow_decode_domain.
9165         (image_instantiator_buttons): ditto.
9166         (image_instantiator_edit_fields): ditto.
9167         (image_instantiator_combo_box): ditto.
9168         (image_instantiator_scrollbar): ditto.
9169         (image_instantiator_progress_guage): ditto.
9170         (image_instantiator_tree_view): ditto.
9171         (image_instantiator_tab_control): ditto.
9172         (image_instantiator_labels): ditto.
9173         (image_instantiator_layout): ditto.
9174
9175         * glyphs.c: add instance error checking to many functions.
9176         (instantiate_image_instantiator): decode device from cache_domain.
9177         (image_instantiate): partially rewrite by using
9178         decode_image_instantiator_domain to determine what domain the
9179         instance needs to be cached in.
9180         (decode_image_instantiator_domain): new function. Determine what
9181         domain the image needs to be cached in.
9182         (check_window_subwindow_cache): new error checking function.
9183         (check_instance_cache_mapper): ditto.
9184         (check_image_instance_structure): ditto.
9185         (subwindow_decode_domain): new function. Encodes a window as a
9186         subwindow's cache domain.
9187         (image_instantiator_format_create): use it for text and
9188         subwindows.
9189
9190 2000-04-21  Andy Piper  <andy@xemacs.org>
9191
9192         * glyphs.c (image_instance_device): new function.
9193         (image_instance_frame): new function.
9194         (image_instance_window): new function.
9195         (image_instance_live_p): new function.
9196
9197         * window.c (mark_window_as_deleted): reset the subwindow_instance_
9198         cache to nil.
9199
9200         * glyphs.h (struct Lisp_Image_Instance): device->domain.
9201         (IMAGE_INSTANCE_DOMAIN): new accessor.
9202         (XIMAGE_INSTANCE_DOMAIN): ditto.
9203
9204         * glyphs-x.c (x_finalize_image_instance): device->domain.
9205
9206         * glyphs-msw.c (init_image_instance_geometry): device->domain.
9207         (mswindows_finalize_image_instance): ditto.
9208
9209         * glyphs-eimage.c (jpeg_instantiate): device->domain.
9210         (gif_instantiate): ditto.
9211         (png_instantiate): ditto.
9212         (tiff_instantiate): ditto.
9213
9214         * glyphs.c (instantiate_image_instantiator): use domain rather
9215         than device.
9216         (mark_image_instance): device -> domain.
9217         (print_image_instance): ditto.
9218         (finalize_image_instance): ditto.
9219         (image_instance_equal): ditto.
9220         (allocate_image_instance): ditto.
9221         (Fcolorize_image_instance): ditto.
9222         (query_string_geometry): ditto.
9223         (image_instantiate): ditto
9224         (query_string_font): ditto.
9225         (image_instantiate): ditto.
9226         (update_subwindow): ditto.
9227         (unmap_subwindow): ditto.
9228         (map_subwindow): ditto.
9229         (subwindow_instantiate): ditto.
9230
9231         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
9232         (DOMAIN_FRAME): ditto.
9233         (DOMAIN_WINDOW): ditto.
9234         (DOMAIN_LIVE_P): ditto.
9235         (XDOMAIN_DEVICE): ditto.
9236         (XDOMAIN_FRAME): ditto.
9237         (XDOMAIN_WINDOW): ditto.
9238
9239         * specifier.c (Fvalid_specifier_domain_p): add image instances as
9240         a valid specifier domain.
9241
9242 2000-04-19  Andy Piper  <andy@xemacs.org>
9243
9244         * glyphs-widget.c (syms_of_glyphs_widget): remove
9245         widget-callback-current-channel.
9246         (vars_of_glyphs_widget): ditto.
9247         * glyphs.h: ditto
9248
9249         * gui.c (get_gui_callback): revert to previous behaviour.
9250
9251 2000-04-18  Andy Piper  <andy@xemacs.org>
9252
9253         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
9254         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
9255         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
9256
9257         * glyphs.c (image_instance_equal): add margin_width.
9258         (image_instance_hash): ditto.
9259
9260         * glyphs-widget.c (widget_instantiate): deal with margin-width.
9261         (layout_query_geometry): ditto.
9262         (layout_layout): ditto.
9263         (syms_of_glyphs_widget): add margin-width.
9264         (image_instantiator_layout): allow margin-width.
9265
9266         * glyphs.c (update_widget_instances): make a normal function.
9267         (syms_of_glyphs): remove Qupdate_widget_instances.
9268         * glyphs.h: ditto.
9269
9270         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
9271         so that we don't corrupt ideas about the last event or
9272         command. Remove widget-callback-current-channel fiddling.
9273         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9274
9275 2000-05-01  Martin Buchholz <martin@xemacs.org>
9276
9277         * XEmacs 21.2.33 is released.
9278
9279 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
9280
9281         * make-src-depend: Allow dots in header file name.
9282
9283 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
9284
9285         * mule-charset.h (struct charset_lookup): Add
9286         next_allocated_1_byte_leading_byte and
9287         next_allocated_2_byte_leading_byte.
9288         * mule-charset.c: Move above two variables so that those values
9289         will be dumped.
9290
9291 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
9292
9293         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
9294         when string length is zero.
9295         (find_charsets_in_emchar_string): Ditto.
9296
9297 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
9298
9299         * lisp.h: extern Qdialog and Qmenubar.
9300
9301         * gui-x.c: added events.h.
9302                 also fixed typo which made the file uncompilable.
9303
9304         * general.c: Added Qmenubar and Qdialog
9305
9306 2000-04-28  Ben Wing  <ben@xemacs.org>
9307
9308         * frame-msw.c (mswindows_init_frame_1):
9309         * frame-msw.c (mswindows_mark_frame):
9310         * event-msw.c (mswindows_enqueue_dispatch_event):
9311         * console-msw.h:
9312         * console-msw.h (struct mswindows_frame):
9313         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
9314         there are now three hash tables for callbacks.
9315         mswindows_enqueue_dispatch_event is no longer static.
9316
9317         * dialog-x.c (maybe_run_dbox_text_callback):
9318         * dialog-x.c (dbox_descriptor_to_widget_value):
9319         switch to new cons3 form for callbacks.
9320
9321         * glyphs-msw.c (mswindows_register_gui_item):
9322         * glyphs-msw.c (mswindows_widget_instantiate):
9323         * glyphs-msw.c (add_tree_item):
9324         * glyphs-msw.c (add_tab_item):
9325         new image instance parameter, so it can be passed to callback-ex.
9326         respect :callback-ex as well as :callback.
9327
9328         * glyphs-widget.c (VALID_GUI_KEYWORDS):
9329         add :callback-ex.
9330
9331         * glyphs.c (print_image_instance):
9332         prettify, e.g. now prints widget type.
9333
9334         * gui-x.h:
9335         certain funs have new image instance parameter.
9336
9337         * gui.c:
9338         * gui.c (get_gui_callback):
9339         * gui.c (gui_item_add_keyval_pair):
9340         * gui.c (gui_item_init):
9341         * gui.c (gui_add_item_keywords_to_plist):
9342         * gui.c (mark_gui_item):
9343         * gui.c (gui_item_hash):
9344         * gui.c (gui_item_equal):
9345         * gui.c (copy_gui_item):
9346         * gui.c (syms_of_gui):
9347         recognize callback-ex in a number of places.
9348         also, fix the annoying "can't get out of yes-no dialog" bug.
9349
9350         * gui.h:
9351         * gui.h (struct Lisp_Gui_Item):
9352         recognize callback-ex in a number of places.
9353
9354         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9355         new parameter in button_item_to_widget_value.
9356
9357         * glyphs-x.c (x_update_widget):
9358         * glyphs-x.c (x_button_instantiate):
9359         * glyphs-x.c (x_button_update):
9360         * glyphs-x.c (x_progress_gauge_instantiate):
9361         * glyphs-x.c (x_edit_field_instantiate):
9362         * glyphs-x.c (x_combo_box_instantiate):
9363         * glyphs-x.c (x_tab_control_instantiate):
9364         * glyphs-x.c (x_label_instantiate):
9365         new image instance parameter in various places.
9366
9367         * event-Xt.c:
9368         * event-Xt.c (enqueue_Xt_dispatch_event):
9369         this fun gets exported.
9370
9371         * gui-msw.c:
9372         * gui-msw.c (mswindows_handle_gui_wm_command):
9373         handle both :callback and :callback-ex, and generate our own
9374         event because it's one of the callback-ex arguments.
9375
9376         * gui-x.c:
9377         * gui-x.c (popup_selection_callback):
9378         handle both :callback and :callback-ex, and generate our own
9379         event because it's one of the callback-ex arguments.
9380         * gui-x.c (button_item_to_widget_value):
9381         * gui-x.c (gui_items_to_widget_values_1):
9382         * gui-x.c (gui_item_children_to_widget_values):
9383         * gui-x.c (gui_items_to_widget_values):
9384         new image instance parameter in various places.
9385
9386         * fns.c (Freplace_list):
9387         fix small typo in doc string.
9388
9389         * lisp.h:
9390         declare enqueue_Xt_dispatch_event.
9391
9392 2000-04-28  Ben Wing  <ben@xemacs.org>
9393
9394         * buffer.c:
9395         * buffer.c (Frecord_buffer):
9396         * buffer.c (syms_of_buffer):
9397         delete record-buffer-hook.
9398
9399         * fns.c:
9400         * fns.c (Freplace_list):
9401         * fns.c (syms_of_fns):
9402         new primitive replace-list.
9403
9404         * frameslots.h:
9405         slot for old buffer-alist.
9406
9407         * lisp.h:
9408         exfun replace-list.
9409
9410         * redisplay.c:
9411         * redisplay.c (redisplay_frame):
9412         * redisplay.c (syms_of_redisplay):
9413         * redisplay.c (vars_of_redisplay):
9414         new hook buffer-list-changed-hook.
9415         call it.
9416
9417 2000-04-27  Ben Wing  <ben@xemacs.org>
9418
9419         * extents.h: extern in_modeline_generation.
9420
9421         * redisplay.c (generate_formatted_string_db): set
9422         in_modeline_generation.
9423
9424         * extents.c (extent_changed_for_redisplay): don't mark redisplay
9425         flags if in modeline generation.  otherwise frame-modified-tick
9426         is ticked far too often.
9427         Declare in_modeline_generation.
9428
9429 2000-04-26  Ben Wing  <ben@xemacs.org>
9430
9431         * emacs.c (vars_of_emacs): document quick-build "error-checking"
9432         option.
9433         (vars_of_emacs): add quick-build as an error-checking option.
9434         A bit kludgy, but there doesn't seem much point in creating
9435         a real var for this.
9436
9437         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
9438
9439 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9440
9441         * redisplay.h (struct display_line): Add a new variable,
9442         line_continuation.
9443
9444         * redisplay.c (create_text_block): Set dl->line_continuation if
9445         the line continues.
9446         (create_string_text_block): Ditto.
9447         (regenerate_window_incrementally): Use line_continuation instead
9448         of searching continuation glyph.
9449         (add_margin_runes): Call add_glyph_rune.
9450         (add_glyph_rune): Handle margin glyph.
9451
9452 2000-04-20  Martin Buchholz  <martin@xemacs.org>
9453
9454         * filelock.c (fill_in_lock_file_name):
9455         ANSIfy.
9456         Check for IS_ANY_SEP instead of '/'.
9457         (lock_file_1):
9458         Avoid generating gratuitous garbage.  Call user_login_name() directly.
9459         Never check errno without first seeing that system call failed.
9460         (unlock_file): Add GCPRO.
9461         (Flock_buffer): Fix docstring.
9462         (Ffile_locked_p): Fix docstring.  Add GCPRO.
9463
9464 2000-04-19  Martin Buchholz  <martin@xemacs.org>
9465
9466         * sysdep.c (get_pty_max_bytes):
9467         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
9468         strings longer than 252 bytes.
9469
9470         * md5.c: Unconditionally include ANSI header <limits.h>
9471
9472         * glyphs-x.c (convert_EImage_to_XImage):
9473         * lisp-union.h (union Lisp_Object):
9474         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
9475
9476 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9477
9478         * filelock.c (current_lock_owner): Remove unused variable o, p.
9479
9480 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
9481
9482         * callint.c: Remove multiply defined symbol Qlet
9483         (syms_of_callint): ditto.
9484
9485 2000-04-14  Andy Piper  <andy@xemacs.org>
9486
9487         * general.c (syms_of_general): add last-command, this-command, let
9488         and funcall.
9489
9490         * lisp.h: declare various symbols.
9491
9492         * glyphs.h: declare Qwidget_callback_current_channel;
9493
9494         * glyphs-widget.c (syms_of_glyphs_widget): add
9495         Qgui_callback_current_channel.
9496         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
9497
9498         * gui-msw.c (mswindows_handle_gui_wm_command): bind
9499         widget-callback-current-channel when invoking the interactive
9500         arg. Also bind last-command and next-command when invoking the
9501         widget updates.
9502         * gui-x.c (popup_selection_callback): ditto.
9503
9504         * gui.c (get_gui_callback): massage args so that we are always
9505         calling eval. This allows us to add our own variable bindings
9506         outside.
9507
9508         * glyphs-x.c (x_button_instantiate): use
9509         gui_items_to_widget_values since this is GC safe.
9510         (x_progress_gauge_instantiate): ditto.
9511         (x_edit_field_instantiate): ditto.
9512         (x_label_instantiate): ditto.
9513
9514         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
9515         (emacs_Xt_event_widget_focus_out): new function
9516         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
9517         focus.
9518         (emacs_Xt_event_add_widget_actions): new function. add focus
9519         functions as actions.
9520         (init_event_Xt_late): use it.
9521
9522 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
9523
9524         * event-stream.c (Fdispatch_event): Doc fix.
9525
9526 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
9527
9528         * postgresql.c: Remove all references to PQsetenv*.
9529
9530         * postgresql.h: Remove references to PGsetenvHandler object.
9531         * lrecord.h (lrecord_type): Ditto.
9532
9533 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9534
9535         * glyphs-msw.h (struct mswindows_image_instance_data): Added
9536         real_heigh and real_width members, and accessor macros for these.
9537
9538         * glyphs-msw.c (init_image_instance_geometry): New function.
9539         (init_image_instance_from_dibitmap): Use it.
9540         (mswindows_resource_instantiate): Use it.
9541         (init_image_instance_from_xbm_inline): Use it.
9542         (mswindows_initialize_image_instance_mask): Use real bitmap
9543         geometry.
9544         (mswindows_create_resized_bitmap): Ditto.
9545         (mswindows_create_resized_mask): Ditto.
9546
9547         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
9548         and bitmap to their surface size.
9549
9550 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
9551
9552         * process-unix.c (unix_send_process): Guard against process MIA
9553         after Faccept_process_output.
9554
9555 2000-04-11  Ben Wing  <ben@xemacs.org>
9556
9557         * eval.c (unbind_to_hairy): fix brokenness introduced by
9558         nanosecond speed improvements.
9559
9560 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
9561
9562         * sunplay.c (init_device): To play sounds correctly, the device
9563         apparently needs to be initialized at least once by XEmacs.  Make
9564         it so.
9565
9566 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9567
9568         * redisplay.c (add_margin_runes): Add text image glyph
9569           handling.
9570
9571 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9572
9573         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
9574         gcc is newer than 2.5.
9575
9576 2000-04-06  Colin Rafferty  <colin@xemacs.org>
9577
9578         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
9579
9580         * fns.c (size_bit_vector):
9581         * alloc.c (size_vector):
9582         (make_vector_internal):
9583         (make_bit_vector_internal):
9584         (sweep_bit_vectors_1):
9585         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
9586
9587 2000-04-06  Andy Piper  <andy@xemacs.org>
9588
9589         * gmalloc.c (malloc): undo previous change.
9590         (malloc): ditto.
9591         (free): ditto.
9592         (realloc): ditto.
9593
9594 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
9595
9596         * line-number.c (buffer_line_number): Revert to former version.
9597
9598 2000-04-06  Andy Piper  <andy@xemacs.org>
9599
9600         * gmalloc.c (malloc): add error checking.
9601         (malloc): ditto.
9602         (free): ditto.
9603         (realloc): ditto.
9604
9605         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
9606         button_item_to_widget_value arg.
9607
9608         * glyphs-x.c (x_button_instantiate): add extra
9609         button_item_to_widget_value arg.
9610         (x_progress_gauge_instantiate): ditto.
9611         (x_edit_field_instantiate): ditto.
9612         (x_label_instantiate): ditto.
9613
9614         * gui-x.c (gui_items_to_widget_values_1): add extra
9615         button_item_to_widget_value arg.
9616         (button_item_to_widget_value): add extra menu_item_p arg.
9617
9618         * gui-x.h: change signature of button_item_to_widget_value.
9619
9620         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
9621         button_item_to_widget_value arg.
9622
9623 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9624
9625         * buffer.h (struct buffer): auto_save_modified should be long.
9626
9627 2000-04-05  Andy Piper  <andy@xemacs.org>
9628
9629         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
9630         type.
9631         (button_query_geometry): give a little more room so that athena
9632         buttons fit.
9633
9634 2000-04-05  Andy Piper  <andy@xemacs.org>
9635
9636         * faces.c (complex_vars_of_faces): The widget face should inherit
9637         the font of the gui-element face.
9638
9639 2000-04-04  Andy Piper  <andy@xemacs.org>
9640
9641         * glyphs-x.c (x_button_update): new function. unconditionally
9642         update a button's state when the instance is dirty.
9643         (image_instantiator_format_create_glyphs_x): add x_button_update.
9644         (x_widget_instantiate): remove old resize cruft.
9645
9646 2000-04-02  Andy Piper  <andy@xemacs.org>
9647
9648         * frame.c (change_frame_size_1): The introduction of gutters means
9649         that we need to allow 0 as a potential frame dimension.
9650
9651 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9652
9653         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
9654         image glyph if allow_cursor.
9655         (add_hscroll_rune): Don't allow cursor to border glyph.
9656         (create_text_block): Ditto.
9657
9658         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
9659         text not in buffer.
9660         (redisplay_output_layout): Call ensure_face_cachel_complete for
9661         text image glyph.
9662
9663
9664 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9665
9666         * redisplay.c (add_glyph_rune): Adding text image as text runes.
9667
9668         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
9669         not in buffer
9670
9671         * redisplay-tty.c (tty_output_display_block): Delete the routine
9672         for text image glyph
9673         * redisplay-x.c (x_output_display_block): ditto
9674         * redisplay-msw.c (mswindows_output_display_block): ditto
9675
9676 2000-02-02  Mike Alexander  <mta@arbortext.com>
9677
9678         Note: Some of these were committed by accident as part of other
9679         patches.
9680
9681         * regex.c (regex_compile): Avoid compiler warnings.
9682
9683         * ntproc.c (sys_spawnve): Avoid compiler warnings.
9684
9685         * nt.h: Declare term_ntproc correctly.
9686
9687         * nt.c: Remove incorrect declaration of get_home_directory which
9688         is declared correctly in lisp.h.
9689
9690         * keymap.c (get_keyelt): Avoid compiler warnings.
9691         (raw_lookup_key_mapper): Avoid compiler warnings.
9692
9693         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
9694
9695         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
9696
9697         * filemode.c (mode_string): Avoid compiler warnings.
9698
9699         * file-coding.c (Fcoding_system_aliasee): Add return statement to
9700         avoid warning.
9701
9702         * events-mod.h: Undef some things that winuser.h defines differently.
9703
9704         * data.c (Faset): Avoid compiler warnings.
9705
9706         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
9707
9708 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9709
9710         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
9711         Fall through to simple beep on error.
9712         Replace "extern" by real header file.
9713
9714         * linuxplay.c: Use nativesound.h
9715         (play_sound_data): Return error code. Be less verbose on error.
9716
9717         * sunplay.c: Use nativesound.h
9718         (play_sound_data): Return error code. Be less verbose on error.
9719
9720         * ntplay.c: Use nativesound.h
9721         (play_sound_data): Return fake error code
9722
9723         * sgiplay.c: Use nativesound.h
9724         (play_sound_data): Return error code
9725
9726         * hpplay.c: Use nativesound.h, partially implement
9727         new error code. Break compilation until finished.
9728         (play_sound_data): error code.
9729
9730         * nativesound.h (play_sound_file):
9731           (play_sound_data): Prototype in new header.
9732
9733 2000-03-31  Andy Piper  <andy@xemacs.org>
9734
9735         * glyphs-widget.c: (button_query_geometry): new function. Adjust
9736         for toggle and radio buttons.
9737         (image_instantiator_buttons): use it.
9738
9739 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9740
9741         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
9742         (x_update_horizontal_scrollbar_callback): Return if no mirror was
9743         found. Scrollbar event probably belonged to some old config.
9744
9745 2000-03-31  Andy Piper  <andy@xemacs.org>
9746
9747         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
9748         than 1.
9749         (initialize_widget_image_instance): default layout to
9750         LAYOUT_HORIZONTAL rather than 0.
9751         (widget_instantiate): reverse the item list at the end rather than
9752         every iteration.
9753         (layout_layout): re-code for the border text at the front of the
9754         item list rather than at the end.
9755         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
9756         provided by the user.
9757         (widget_query_geometry): comment.
9758
9759 2000-03-30  Andy Piper  <andy@xemacs.org>
9760
9761         * glyphs-widget.c (image_instantiator_layout): allow standard
9762         widget keywords in layouts.
9763
9764         * gutter.c (output_gutter): cope with nil gutter contents.
9765
9766         * frame.c (Fset_frame_properties): add gutter docs.
9767
9768 2000-03-29  Andy Piper  <andy@xemacs.org>
9769
9770         * toolbar-msw.c (TBSTYLE_FLAT): add.
9771         (mswindows_output_toolbar): minor fiddling.
9772
9773 2000-03-29  Andy Piper  <andy@xemacs.org>
9774
9775         * gutter.c (output_gutter): force gutter size recalculation if
9776         what we are trying to display won't fit.
9777         (update_gutter_geometry): new function. A per-gutter version of
9778         update_frame_gutter_geometry.
9779         (update_frame_gutter_geometry): use it.
9780         (redraw_exposed_gutter): add extra debugging output.
9781
9782 2000-03-28  Mike Alexander  <mta@arbortext.com>
9783
9784         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
9785         (pdump_file_unmap): Implement it on Windows
9786         (pdump_file_get): Save alocated handles for pdump_file_unmap
9787
9788 2000-03-28  Andy Piper  <andy@xemacs.org>
9789
9790         * gui.c (get_gui_callback): treat Quit specially.
9791
9792 2000-03-27  Andy Piper  <andy@xemacs.org>
9793
9794         * glyphs.c (image_instantiate): be careful to check in the same
9795         way we assigned.
9796
9797 2000-03-27  Didier Verna  <didier@xemacs.org>
9798
9799         * config.h.in: define the proper SMART_INCLUDE macro.
9800         handle renaming of `foo_h_path' to `foo_h_file'.
9801
9802         * database.c: ditto.
9803
9804         * emacs.c: ditto.
9805
9806         * linuxplay.c: ditto.
9807
9808         * terminfo.c: ditto.
9809
9810         * tooltalk.h: ditto.
9811
9812 2000-03-27  Andy Piper  <andy@xemacs.org>
9813
9814         * glyphs-msw.c (mswindows_update_widget): make sure the widget
9815         gets updated whenever the face might have changed.
9816
9817 2000-03-26  Mike Alexander  <mta@arbortext.com>
9818
9819         * dumper.c (pdump_resource_free): Fix the comment.
9820
9821 2000-03-21  Olivier Galibert  <galibert@pobox.com>
9822
9823         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
9824
9825 2000-03-22  Mike Alexander  <mta@arbortext.com>
9826
9827         * dumper.c: Include Windows headers on Windows
9828         (pdump_resource_free): Add a body to the function
9829         (pdump_load): exe_name -> exe_path and add some comments.
9830
9831 2000-03-25  Mike Alexander  <mta@arbortext.com>
9832
9833         * gui.c (copy_gui_item_tree): Return a value in all cases
9834
9835 2000-03-21  Didier Verna  <didier@xemacs.org>
9836
9837         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
9838         lwlib/config.h.in.
9839         (SMART_INCLUDE): new macro.
9840         (POSTGRES_INCLUDE): new macro to include postgresql headers from
9841         the proper location.
9842
9843         * postgresql.c: use it.
9844
9845         * inline.c: ditto.
9846
9847 2000-03-24  Andy Piper  <andy@xemacs.org>
9848
9849         * gutter.c (redraw_exposed_gutters): must be "in display" when we
9850         do this.
9851
9852 2000-03-24  Andy Piper  <andy@xemacs.org>
9853
9854         * redisplay-output.c (compare_runes): use image_instance_changed
9855         to detect changes. Do not depend on glyphs_changed, only depend on
9856         dirtiness.
9857          (redisplay_output_layout): add debug messages.
9858         (compare_runes): ditto.
9859
9860         * glyphs.h: declare new functions.
9861         (struct Lisp_Image_Instance): remove percent and associated
9862         accessors.
9863
9864         * gui.h: declare new copying functions.
9865
9866         * gui.c (copy_gui_item_tree): new function.
9867         (copy_gui_item): new function.
9868         (gui_item_id_hash): revert to standard hash.
9869         (gui_item_hash): ditto.
9870         (gui_item_hash_internal): deleted.
9871         (mark_gui_item): mark value.
9872         (gui_item_add_keyval_pair): add value.
9873         (gui_item_init): ditto.
9874         (gui_add_item_keywords_to_plist): ditto.
9875         (gui_item_equal): ditto.
9876         (syms_of_gui): add Q_value.
9877
9878         * glyphs-x.c (x_progress_gauge_update): use pending items and
9879         value for setting the state.
9880         (x_update_widget): don't set items from pending here.
9881
9882         * glyphs-widget.c (update_widget): update items here.
9883         (progress_gauge_set_property): use items for storing value. Put
9884         new value in pending items.
9885
9886         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
9887         items for new value. Convert percent -> value.
9888         (mswindows_tab_control_update): don't update items here.
9889
9890         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
9891         (update_subwindow): ditto.
9892         (image_instance_changed): new function. Compare hash values and
9893         past and present widget items.
9894         (image_instantiate): We more careful about where we instantiate
9895         things.
9896         (image_instantiate): add error checking.
9897
9898         * gutter.c (syms_of_gutter): use -hook.
9899
9900 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
9901
9902         * console-tty.c (Fset_console_tty_input_coding_system): Use
9903         Qkeyboard.
9904         (Fset_console_tty_output_coding_system): Use Qterminal.
9905         (tty_init_console): Use Qkeyboard and Qterminal.
9906
9907 2000-03-21  Ben Wing  <ben@xemacs.org>
9908
9909         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
9910         From Mike Alexander <mta@arbortext.com>.
9911
9912 2000-03-21  Ben Wing  <ben@xemacs.org>
9913
9914         * event-msw.c (mswindows_need_event): Horrible kludge to fix
9915         process brokenness.  Proper implementation to come.
9916         * callproc.c:
9917         Rename call-process-internal to old-call-process-internal.
9918         New impl. in process.el.
9919
9920 2000-03-21  Martin Buchholz  <martin@xemacs.org>
9921
9922         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
9923
9924 2000-03-20  Andy Piper  <andy@xemacs.org>
9925
9926         * glyphs.c (full_list_hash): make hashes of the same elements in
9927         different orders return different values.
9928
9929 2000-03-20  Martin Buchholz <martin@xemacs.org>
9930
9931         * XEmacs 21.2.32 is released.
9932
9933 2000-03-20  Martin Buchholz  <martin@xemacs.org>
9934
9935         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
9936         (DFC_MALLOC_USE_CONVERTED_DATA):
9937         Add aliasing-safe casts to allow use with char* or unsigned char*
9938         lvalues.
9939
9940         * eldap.c (Fldap_open):
9941         (Fldap_search_basic):
9942         (Fldap_add):
9943         (Fldap_modify):
9944         Make C++-compilable.
9945         Make sure GCPRO'ed variables are initialized.
9946         Use temp variables to avoid repeated calls to Flength.
9947
9948 2000-03-16  Martin Buchholz  <martin@xemacs.org>
9949
9950         * sysfile.h:
9951         Make sure PATH_MAX is always defined.
9952         Include limits.h for PATH_MAX.
9953         Deprecate use of MAXPATHLEN.
9954
9955 2000-03-10  Martin Buchholz  <martin@xemacs.org>
9956
9957         * emacs.c: Add reinit_vars_of_fileio.
9958         * symsinit.h: Add reinit_vars_of_fileio.
9959         * fileio.c (reinit_vars_of_fileio): New.
9960         * fileio.c (Fmake_temp_name):
9961         Initialize temp_name random number from microseconds to make
9962         collisions even less likely.  Initialize always at process startup
9963         time.  (make-temp-name) used to return the same file name twice in
9964         a row when PDUMP.
9965         Random stylistic fiddling.
9966         Comment fixes.
9967
9968 2000-03-20  Andy Piper  <andy@xemacs.org>
9969
9970         * glyphs.c (image_instantiate): allow text glyphs to be
9971         instantiated in the minibuffer window.
9972
9973 2000-03-19  Andy Piper  <andy@xemacs.org>
9974
9975         * glyphs.c (image_instance_hash): be careful about which items we
9976         hash on.
9977
9978         * glyphs-widget.c (tab_control_set_property): record into pending
9979         items rather than the actual items.
9980
9981         * glyphs-x.c (x_update_widget): use pending items to update with.
9982
9983         * glyphs-msw.c (mswindows_tab_control_update): use pending items
9984         to update with.
9985
9986         * glyphs.c (mark_image_instance): mark pending items.
9987
9988         * window.c (Fset_window_configuration): record the buffer.
9989         (Fselect_window): totally revert previous change which breaks many
9990         things.
9991
9992 2000-03-18  Andy Piper  <andy@xemacs.org>
9993
9994         * glyphs-msw.c (mswindows_tab_control_update): force selected
9995         item.
9996
9997         * glyphs.c (image_instantiate): don't allow the minibuffer as a
9998         window domain cache, otherwise we get inconsistencies at
9999         startup. There is something fishy at startup which can lead to the
10000         minibuffer being the selected window when the gutter content is
10001         instantiated.
10002
10003         * gui.c (parse_gui_item_tree_list): add probably unnecessary
10004         gcpros.
10005         (parse_gui_item_tree_children): ditto.
10006         (parse_gui_item_tree_item): ditto.
10007
10008         * glyphs.c (Fupdate_widget_instances): return something.
10009
10010 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
10011
10012         * window.c (Fselect_window): Undo 2000-03-17 change.
10013
10014 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
10015
10016         * postgresql.c (Fpq_setenv): Remove this turkey when linking
10017         against v7.0 libraries.  Insta-coredump city until the postgres
10018         folks fix it.
10019
10020 2000-03-17  Andy Piper  <andy@xemacs.org>
10021
10022         * faces.c (complex_vars_of_faces): don't give the widget face an
10023         inherited background pixmap.
10024
10025         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
10026         selected item.
10027
10028         * event-stream.c (Fdispatch_non_command_events): return something.
10029
10030         * gutter.c (output_gutter): use widget face.
10031         (clear_gutter): ditto.
10032
10033         * NEWS: adjust again.
10034
10035         * window.c (Fselect_window): make sure this runs to completion to
10036         avoid oddities with Fset_window_configuration.
10037         (Fcurrent_window_configuration): in general do not save the
10038         minibuffer as the selected window.
10039
10040         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
10041
10042 2000-03-16  Olivier Galibert  <galibert@pobox.com>
10043
10044         * emacs.c (Frunning_temacs_p): Revert previous patch.
10045         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
10046
10047 2000-03-16  Andy Piper  <andy@xemacs.org>
10048
10049         * glyphs-x.c (x_tab_control_update): if no widget values then
10050         return.
10051
10052         * NEWS: update for new features.
10053
10054         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
10055         synthetic event to the native system.
10056         (reinit_vars_of_event_Xt): set force_event_pending to
10057         emacs_Xt_force_event_pending.
10058
10059         * events.h (struct event_stream): add force_event_pending.
10060
10061         * specifier.c (recompute_one_cached_specifier_in_window): add
10062         comment.
10063
10064         * redisplay.c (redisplay_frame): don't call
10065         update_frame_subwindows. Reset subwindow cachels when
10066         subwindows_changed, removing this was an optimization too far.
10067
10068         * redisplay-output.c (compare_runes): reorganize so that we catch
10069         glyph changes when we want them. Set optimize_output when this
10070         would help layouts.
10071         (redisplay_output_layout): remove frame_really_changed, use
10072         optimize_output instead.
10073
10074         * redisplay-msw.c (mswindows_output_display_block): reset
10075         optimize_output after outputting a glyph.
10076         * redisplay-x.c (x_output_display_block): ditto.
10077         * redisplay-tty.c (tty_output_display_block): ditto.
10078
10079         * gutter.c: (specifier_vars_of_gutter): use new spec changed
10080         functions.
10081         (gutter_specs_changed): do specific gutter positions.
10082         (top_gutter_specs_changed): new function. Only update the
10083         specified gutter specs.
10084         (bottom_gutter_specs_changed): ditto.
10085         (left_gutter_specs_changed): ditto.
10086         (right_gutter_specs_changed): ditto.
10087
10088         * gui.c (gui_item_hash_internal): new function, does a real hash.
10089         (gui_item_id_hash): use it.
10090         (gui_item_hash): hash the eval'ed gui_item.
10091
10092         * gui-x.c (popup_selection_callback): send an eval event to call
10093         Fupdate_widget_instances.
10094
10095         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
10096         to call Fupdate_widget_instances.
10097
10098         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
10099         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
10100
10101         * glyphs.c: (update_frame_subwindows): deleted.
10102         (Fupdate_widget_instances): new function for updating the dirty
10103         state of widgets that might have changed.
10104         (syms_of_glyphs): add Qupdate_widget_instances.
10105         (full_list_hash): hash a list completely.
10106         (image_instance_hash): use it for items and properties.
10107
10108         * frame-msw.c (mswindows_size_frame_internal): remove unused
10109         variable.
10110
10111         * faces.h (struct face_cachel): fix comment.
10112
10113         * event-stream.c (Fdispatch_non_command_events): new
10114         function. Process non-command events, forcing an event cycle
10115         beforehand.
10116         (syms_of_event_stream): declare.
10117         (event_stream_force_event_pending): new function. Force an event
10118         on the native event queue so that an event cycle will occur next
10119         time we check.
10120
10121         * event-msw.c:
10122         (struct ntpipe_shove_stream):
10123         (mswindows_enqueue_dispatch_event):
10124         (mswindows_dequeue_dispatch_event):
10125         (mswindows_cancel_dispatch_event):
10126         (mswindows_pump_outstanding_events):
10127         (mswindows_drain_windows_queue):
10128         (mswindows_handle_paint):
10129         (mswindows_wnd_proc):
10130         (mswindows_key_to_emacs_keysym):
10131         (get_process_input_waitable):
10132         (emacs_mswindows_delete_stream_pair): re-indent file.
10133         (mswindows_need_event): do not process further fds if the windows
10134         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
10135         fixes the 100% cpu problem.
10136         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
10137
10138 2000-03-15  Olivier Galibert  <galibert@pobox.com>
10139
10140         * alloc.h: New.
10141         * dumper.h: New.
10142         * dumper.c: New.
10143
10144         * emacs.c: Moved dump file searching to dumper.c.
10145         (Frunning_temacs_p): Fixed.
10146
10147         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
10148         last_lrecord_type_index_assigned.
10149
10150 2000-02-20  Olivier Galibert  <galibert@pobox.com>
10151
10152         * symsinit.h: Added reinit parameter to init_console_stream
10153         declaration.
10154
10155         * lisp.h: Added file parameter to pdump_load declaration.
10156
10157         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
10158         support.  Added dump file searching.
10159
10160         * config.h.in: Added EMACS_PROGNAME.
10161
10162         * console-stream.c (init_console_stream): Fix reinitialisation
10163         when running from temacs.
10164
10165         * alloc.c (pdump): Add id support.
10166         (pdump_load): Add file parameter and signature/id support.
10167
10168         * Makefile.in.in: Add full pdump support.
10169
10170 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
10171
10172         * postgresql.c: Update documentation to reflect latest code
10173         status.
10174         (print_result): Show tuple counts in printed representation when
10175         appropriate.
10176         (Fpq_put_nbytes): MULE-ize.
10177         (Fpq_get_line_async): Ditto.
10178
10179 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10180
10181         * postgresql.c (Fpq_lo_import): Fix return value.
10182         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
10183
10184 2000-03-13  Ben Wing  <ben@xemacs.org>
10185
10186         * alloc.c (pdump_load):
10187         Fix compile warning under mswin.
10188
10189 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10190
10191         * postgresql.c: Mule-ization, bug fixes.
10192         Use PG_CODING to encapsulate coding system name changes.
10193         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
10194         (pg-coding-system): Create.
10195
10196         (Fpq_conn_defaults): Mule-ize.
10197         (Fpq_connectdb): Mule-ize & bug fix.
10198         (Fpq_connect_start): Mule-ize.
10199         (Fpq_set_client_encoding): Mule-ize.
10200         (Fpq_finish): Document `DEAD' connection status.
10201         (Fpq_clear): Ditto.
10202         (Fpq_pgconn): Mule-ize.
10203         (Fpq_exec): Mule-ize & bug fix.
10204         (Fpq_send_query): Ditto.
10205         (Fpq_get_result): Ditto.
10206         (Fpq_res_status): Mule-ize.
10207         (Fpq_result_error_message): Mule-ize.
10208         (Fpq_ntuples): fix comments.
10209         (Fpq_fname): Mule-ize.
10210         (Fpq_fnumber): Mule-ize.
10211         (Fpq_ftype): fix comments.
10212         (Fpq_get_value): Mule-ize.
10213         (Fpq_cmd_status): Ditto.
10214         (Fpq_cmd_tuples): Ditto.
10215         (Fpq_oid_value): Ditto.
10216         (Fpq_notifies): Ditto.
10217         (Fpq_lo_import): Ditto.
10218         (Fpq_lo_export): Ditto.
10219         (Fpq_get_line): Ditto.
10220         (Fpq_put_line): Mule-ize and bug fix.
10221         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
10222
10223 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10224
10225         * postgresql.c (vars_of_postgresql): Mule-ize.
10226         (Fpq_conn_defaults): Ditto.
10227
10228 2000-03-12  Ben Wing  <ben@xemacs.org>
10229
10230         * alloc.c (Fmake_byte_code):
10231         * alloc.c (debug_string_purity_print):
10232         * alloc.c (pdump_backtrace):
10233         * alloc.c (pdump_get_indirect_count):
10234         * alloc.c (pdump_register_sub):
10235         * alloc.c (pdump_register_object):
10236         * alloc.c (pdump_register_struct):
10237         * alloc.c (pdump_dump_data):
10238         * alloc.c (pdump_reloc_one):
10239         Minor cleanups.
10240
10241         * console-msw.c:
10242         * console-msw.c (GetConsoleHwnd):
10243         * console-msw.c (msw_hide_console):
10244         * console-msw.c (msw_show_console):
10245         * console-msw.c (msw_ensure_console_buffered):
10246         * console-msw.c (msw_output_console_string):
10247         * console-msw.c (console_type_create_mswindows):
10248
10249         a) Added functions to manipulate the console window for use with
10250         shell support.
10251
10252         b) Added support for writing text to the console, which is now
10253         used under Windows when xemacs is not being run non-interactively,
10254         to write text that would otherwise be destined for stdout because
10255         under these circumstances, text written to stdout tends to
10256         disappear and not be seen.
10257
10258         * console-msw.h:
10259         * event-Xt.c:
10260         * event-Xt.c (x_event_to_emacs_event):
10261         * event-Xt.c (describe_event_window):
10262         * events-mod.h (XEMACS_MOD_CONTROL):
10263         * events.c:
10264         * events.c (Fmake_event):
10265         * events.c (character_to_event):
10266         * events.c (event_to_character):
10267         * events.c (format_event_object):
10268         * events.c (Fevent_modifiers):
10269         * events.h:
10270         * events.h (struct key_data):
10271         * events.h (struct button_data):
10272         * events.h (struct misc_user_data):
10273         * frame-x.c (Fcde_start_drag_internal):
10274         * frame-x.c (Foffix_start_drag_internal):
10275         * gpmevent.c (Freceive_gpm_event):
10276         * keymap.c:
10277         * keymap.c (bucky_sym_to_bucky_bit):
10278         * keymap.c (control_meta_superify):
10279         * keymap.c (make_key_description):
10280         * keymap.c (keymap_lookup_directly):
10281         * keymap.c (create_bucky_submap):
10282         * keymap.c (keymap_store):
10283         * keymap.c (define_key_check_and_coerce_keysym):
10284         * keymap.c (define_key_parser):
10285         * keymap.c (define_key_alternate_name):
10286         * keymap.c (Fdefine_key):
10287         * keymap.c (raw_lookup_key_mapper):
10288         * keymap.c (struct map_keymap_unsorted_closure):
10289         * keymap.c (map_keymap_unsorted_mapper):
10290         * keymap.c (map_keymap_sort_predicate):
10291         * keymap.c (map_keymap_sorted):
10292         * keymap.c (accessible_keymaps_mapper_1):
10293         * keymap.c (where_is_recursive_mapper):
10294         * keymap.c (describe_map_mapper):
10295         * keymap.c (describe_map_sort_predicate):
10296         * keymap.c (describe_map):
10297         * keymap.c (complex_vars_of_keymap):
10298         And a number of other files, the key modifier preprocessor
10299         constants that xemacs uses have names that conflict with constants
10300         defined under MS Windows for other purposes, so they were renamed
10301         to begin with the prefix XEMACS_. The variables that hold such
10302         modifiers were changed to consistently be of type int to fix
10303         various compile warnings.
10304
10305         * console.c (complex_vars_of_console):
10306         * device.c:
10307         * device-msw.c:
10308         * device-msw.c (mswindows_finish_init_device):
10309         * device-msw.c (msw_get_workspace_coords):
10310         * device-msw.c (mswindows_device_system_metrics):
10311         and various other files, added support for a new
10312         device property called offset-workspace which returns the position
10313         of the upper left corner of the workspace area and goes along with
10314         the existing size-workspace property.
10315
10316         * dialog-msw.c:
10317         * dialog-msw.c (push_bufbyte_string_as_unicode):
10318         * dialog-msw.c (mswindows_popup_dialog_box):
10319         Added support for XEmacs-style accelerator specifications in
10320         button text.  Note: I didn't add support for this under X Windows,
10321         and somebody needs to do this.
10322
10323         * dialog.c:
10324         * dialog.c (Fpopup_dialog_box):
10325         Documented the support for accelerators that was just mentioned.
10326
10327         editfns.c (get_home_directory): Changed behavior under Windows
10328         when HOME not defined; former behavior was irretrievably broken.
10329
10330         * emacs.c:
10331         * emacs.c (main_1):
10332         * emacs.c (main):
10333         * minibuf.c (clear_echo_area_internal):
10334         * minibuf.c (echo_area_append):
10335         * print.c:
10336         * print.c (std_handle_out_external):
10337         * print.c (std_handle_out_va):
10338         * print.c (fatal):
10339         * print.c (write_string_to_stdio_stream):
10340         * print.c (output_string):
10341         * print.c (debug_print):
10342         * print.c (debug_backtrace):
10343         * print.c (debug_short_backtrace):
10344         Cleaned up the code that prints text to stdout so that this can be
10345         changed to output into a console window instead under MS Windows,
10346         as described above.
10347
10348         * eval.c:
10349         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
10350         * eval.c (internal_catch):
10351         * eval.c (unwind_to_catch):
10352         * eval.c (throw_or_bomb_out):
10353         * eval.c (condition_case_1):
10354         * eval.c (signal_1):
10355         * eval.c (check_error_state_sanity):
10356         * eval.c (call_with_suspended_errors_1):
10357         * eval.c (call_with_suspended_errors):
10358         * eval.c (reinit_vars_of_eval):
10359         Added code to catch throw loops and check for a pesky bug that may
10360         be gone now.
10361
10362         * event-msw.c:
10363         * event-msw.c (key_needs_default_processing_p):
10364         * event-msw.c (mswindows_wnd_proc):
10365         * event-msw.c (mswindows_modifier_state):
10366         * event-msw.c (emacs_mswindows_quit_p):
10367         * event-msw.c (vars_of_event_mswindows):
10368         a) Added support for using the alt key to select menu items as is
10369         standard under MS Windows.  This is controlled using the variable
10370         menu-accelerator-enabled, just like under X Windows.  There is an
10371         option on the options menu to turn this support on.  I really
10372         think that it should be on by default under Windows, but I'm not
10373         going to make this change yet.
10374
10375         b)  Added support for dynamic display size changes under Windows.
10376
10377         * event-stream.c:
10378         * event-stream.c (maybe_echo_keys):
10379         * event-stream.c (Fnext_event):
10380         * event-stream.c (command_builder_find_leaf):
10381         * event-stream.c (lookup_command_event):
10382         * event-stream.c (execute_command_event):
10383         * event-stream.c (pre_command_hook):
10384         * event-stream.c (post_command_hook):
10385         * event-stream.c (syms_of_event_stream):
10386         * event-stream.c (vars_of_event_stream):
10387         * event-stream.c (complex_vars_of_event_stream):
10388         * events.h (struct command_builder):
10389
10390         a) Tried to clean up a little bit the horribly written x-specific
10391         accelerator code that crept into this file.  I moved this code
10392         into menubar-x.c where it belongs. I also needed to move the
10393         command builder structure into the file events.h because it is
10394         accessed directly by this accelerator code.  What I didn't do, but
10395         which should be done at some point, is to properly abstract this
10396         code using device methods instead of the kludgy way that it
10397         currently hooks into the event code.
10398
10399         b) Added the lisp variables this-command-properties and
10400         last-command- properties, which should be used to synchronize two
10401         adjacent commands in preference to playing games with the variable
10402         this-command, which is typically what happens.
10403
10404         c) Added some slightly nasty code to hook into the lisp support
10405         for shifted- motion-key selection.  This is actually necessary for
10406         somewhat complicated reasons, which are described in
10407         simple.el. (NB: I think the proper thing would be to have the code
10408         that calls the pre and post command hooks also call out to generic
10409         lisp functions in simple.el, where all built-in stuff could be
10410         added.  I will think about this more.)
10411
10412         * event-unixoid.c (poll_fds_for_input):
10413         * lread.c (readchar):
10414         * redisplay-tty.c (tty_clear_frame):
10415         * redisplay-x.c (x_get_gc):
10416         * signal.c (interrupt_signal):
10417         And a whole bunch of other files: fixed up places that printed
10418         directly to stderr to instead call the function stderr_out so that
10419         the changes I made under Windows work correctly.
10420
10421         * filemode.c (mode_string):
10422         Warning fixes.
10423
10424         * frame-msw.c:
10425         * frame-msw.c (mswindows_size_frame_internal):
10426         Fixed the computation of frame size and position to keep the frame
10427         within the workspace area, rather than within the physical
10428         dimensions of the screen, so that the frame doesn't overlap window
10429         manager decorations, such as the start menu and toolbar, typically
10430         at the bottom of the screen.
10431
10432         * frame.c (vars_of_frame):
10433         Changed the default frame title format under MS Windows to consist
10434         of buffername-XEmacs, which is standard under MS Windows.  I think
10435         it might be a good idea to change this everywhere because I think
10436         it is superior to the current frame title format, but this is the
10437         kind of change that is likely to cause some people to get annoyed,
10438         so I'm not making it.
10439
10440         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
10441
10442         * gui-msw.c (mswindows_handle_gui_wm_command):
10443         Fixed compile warnings.
10444
10445         * gui-x.c:
10446         * gui-x.c (strdup_and_add_accel):
10447         * gui-x.c (button_item_to_widget_value):
10448         * gui-x.h:
10449         Added code to automatically put an accelerator onto the beginning
10450         of menu items that don't have one as is now the standard, and is
10451         described more later.  Also fixed things so that the menu item
10452         name can be an evaluated expression, again a new standard.
10453
10454         * gui.c:
10455         * gui.c (gui_item_add_keyval_pair):
10456         * gui.c (make_gui_item_from_keywords_internal):
10457         * gui.c (gui_add_item_keywords_to_plist):
10458         * gui.c (gui_item_accelerator):
10459         * gui.c (gui_name_accelerator):
10460         * gui.c (gui_item_included_p):
10461         * gui.c (gui_item_display_flush_left):
10462         * gui.c (gui_item_display_flush_right):
10463         * gui.c (parse_gui_item_tree_item):
10464         * gui.c (parse_gui_item_tree_children):
10465         * gui.c (parse_gui_item_tree_list):
10466         Mule-ized.  Cleanup.  GCPRO addition.
10467
10468         * line-number.c (buffer_line_number):
10469         * lisp.h:
10470         * lisp.h (EMACS_INT_MAX):
10471         Added the manifest constant EMACS_INT_MIN corresponding to the
10472         existing constant EMACS_INT_MAX.  This is partially to fix compile
10473         warnings under Windows, and partly for cleanliness.
10474
10475         * menubar-msw.c:
10476         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
10477         * menubar-msw.c (msw_translate_menu_or_dialog_item):
10478         * menubar-msw.c (displayable_menu_item):
10479         * menubar-msw.c (populate_menu_add_item):
10480         * menubar-msw.c (populate_or_checksum_helper):
10481         * menubar-msw.c (populate_menu):
10482         * menubar-msw.c (update_frame_menubar_maybe):
10483         * menubar-msw.c (prune_menubar):
10484         * menubar-msw.c (msw_char_is_accelerator):
10485         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
10486         * menubar-msw.c (mswindows_handle_wm_command):
10487         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
10488         * menubar-msw.c (mswindows_handle_wm_initmenu):
10489         * menubar-msw.c (mswindows_update_frame_menubars):
10490         * menubar-msw.c (mswindows_free_frame_menubars):
10491         * menubar-msw.c (mswindows_popup_menu):
10492         Fixed a bug in handling accelerators where an extra character
10493         would be displayed in the menu item.  Also generalized the
10494         function displayable_menu_item because it is now used by the
10495         dialog box code as well.  And finally, added code in the functions
10496         that create the menubar to extract a list of accelerators for the
10497         top level menubar, which is used in the event code to determine
10498         whether a particular alt-key combination should be used to invoke
10499         a menu item, or should be passed through to access the standard
10500         XEmacs keymap binding for this key combination.
10501
10502         Much needed GCPROing.
10503
10504         * menubar-x.c:
10505         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10506         * menubar-x.c (menu_item_descriptor_to_widget_value):
10507         * menubar-x.c (restore_in_menu_callback):
10508         * menubar-x.c (x_popup_menu):
10509         * menubar-x.c (menu_move_up):
10510         * menubar-x.c (menu_move_down):
10511         * menubar-x.c (menu_move_left):
10512         * menubar-x.c (menu_move_right):
10513         * menubar-x.c (menu_select_item):
10514         * menubar-x.c (command_builder_operate_menu_accelerator):
10515         * menubar-x.c (menu_accelerator_junk_on_error):
10516         * menubar-x.c (command_builder_find_menu_accelerator):
10517         * menubar-x.c (Faccelerate_menu):
10518         * menubar.h:
10519         Moved a whole bunch of code here that was previously in
10520         event-stream.c as described above.  There is also code connected
10521         to the new standard of adding an accelerator to the beginning of
10522         menu items that don't have one as described above and below.
10523
10524         * menubar.c:
10525         * menubar.c (menu_parse_submenu_keywords):
10526         * menubar.c (Fmenu_find_real_submenu):
10527         * menubar.c (Fnormalize_menu_item_name):
10528         * menubar.c (syms_of_menubar):
10529         * menubar.c (vars_of_menubar):
10530         * menubar.c (complex_vars_of_menubar):
10531
10532         a) Cleaned up a bunch of documentation and improved it.
10533
10534         b) XEmacs now automatically adds an accelerator onto the beginning
10535         of any menu items that don't have one.  I did this because there
10536         will inevitably be some menu items on the main menubar that don't
10537         have accelerators on them because the package that adds that
10538         particular menu item hasn't yet been fixed up to have accelerators
10539         in them and it looked rather strange to have some items with and
10540         some items without accelerators, especially since even in items
10541         without accelerators, you can, at least under windows, still
10542         access the item through an accelerator corresponding to the first
10543         character in the item's name.  If people don't like this behavior,
10544         I can add a variable to turn it off optionally, but I'm not sure
10545         this is a good idea because we really do need to have accelerators
10546         on all of the menu items, and if a package doesn't like the
10547         accelerators being put on the first character, then it should put
10548         the accelerators where they belong.
10549
10550         c) I made a behavior change, which is that the descriptor that
10551         specifies the text of the menu item, which formerly was just a
10552         string, can now also be an evaluated expression.  This makes this
10553         descriptor parallel with all of the others, which could also be
10554         evaluated expressions.  This also obviates the need for the
10555         keyword :label, which was previously listed in the documentation
10556         as unimplemented, and which was for the same purpose.
10557
10558         d) GCPROing.
10559
10560         * ntproc.c:
10561         * ntproc.c (new_child):
10562         * ntproc.c (sys_spawnve):
10563         * ntproc.c (find_child_console):
10564         * ntproc.c (sys_kill):
10565         Fixed compile warnings.  By the way, this file should really go
10566         away entirely, and this will happen as soon as Kirill makes his
10567         final round of process cleanups, which affect the function
10568         call-process.
10569
10570         * process-nt.c:
10571         * process-nt.c (struct nt_process_data):
10572         * process-nt.c (find_process_from_pid):
10573         * process-nt.c (send_signal_the_nt_way):
10574         * process-nt.c (enable_child_signals):
10575         * process-nt.c (find_child_console):
10576         * process-nt.c (send_signal_the_95_way):
10577         * process-nt.c (nt_finalize_process_data):
10578         * process-nt.c (ensure_console_window_exists):
10579         * process-nt.c (nt_create_process):
10580         * process-nt.c (nt_kill_child_process):
10581         * process-nt.c (nt_kill_process_by_pid):
10582         * process-nt.c (nt_open_network_stream):
10583         * process-nt.c (vars_of_process_nt):
10584         Copied over code from Emacs 20.5 to correctly send signals to sub-
10585         processes under Windows 95.  Also added code to automatically
10586         create and hide console window when a sub-process is created under
10587         Windows 95, which obviates the need for the separate runemacs.exe
10588         executable, and finally implemented some variables that were
10589         implemented in Emacs 20.5, but previously not in XEmacs.  These
10590         include mswindows- start-process-share-console and
10591         mswindows-start-process-inherit-error-mode. (Both of these only
10592         apply to Windows 95.)
10593
10594         * regex.c (regex_compile): Fixed a compile warning.
10595
10596         * select-msw.c:
10597         * select-msw.c (mswindows_own_selection):
10598         * select-msw.c (mswindows_get_foreign_selection):
10599         * select-msw.c (mswindows_disown_selection):
10600         * select-msw.c (console_type_create_select_mswindows):
10601         * select-msw.c (syms_of_select_mswindows):
10602         Cleaned up the file and implemented the device method
10603         selection_exists_p, which had accidentally been left out.  Also
10604         removed four lisp functions that were remnants from before the
10605         time when the selection code was properly device abstracted.
10606         These functions are no longer needed because there are generic
10607         equivalents, and because they were added recently and don't exist
10608         in FSF Emacs, I don't think there's any problem with just deleting
10609         them.
10610
10611         * sysdep.c:
10612         * sysdep.c (sys_subshell):
10613         Fixed a compile warning, although in this case there's probably
10614         something wrong with this code, and it ought to be looked into
10615         more thoroughly by somebody who understands it.
10616
10617         * window.c:
10618         * window.c (Fwindow_text_area_height):
10619         * window.c (Fwindow_width):
10620         * window.c (Fwindow_full_width):
10621         * window.c (Fwindow_pixel_width):
10622         * window.c (debug_print_window):
10623         * window.c (syms_of_window):
10624         Added functions window-text-area-height and window-full-width,
10625         which are functions for returning various width and height
10626         characteristics of a window. (One of these functions is necessary
10627         for making the file dialog box work correctly, and the other one
10628         was added for completeness.)  Also added a table to the
10629         documentation for window-height which describes the entire scheme
10630         for accessing width and height characteristics of a window.
10631
10632 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10633
10634         * nt.c (fstat): Added a comment for another problem with
10635         non-encapsulated [f]stat(), reported by Adrian Aichner
10636         <aichner@ecf.teradyne.com>.
10637
10638 2000-03-11  Andy Piper  <andy@xemacs.org>
10639
10640         * window.c (make_dummy_parent): initialize subwindow instance
10641         cache.
10642         (Fset_window_configuration): zero extent_modiff.
10643
10644 2000-03-10  Andy Piper  <andy@xemacs.org>
10645
10646         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
10647         more changes can be triggered.
10648         (Fredisplay_frame): ditto.
10649         (Fredraw_device): ditto.
10650         (Fredisplay_device): ditto.
10651         (redisplay_frame): make non-static.
10652         (redisplay_frame): call update_frame_gutter_geometry outside of
10653         display proper.
10654
10655         * gutter.h: declare update_frame_gutter_geometry.
10656
10657         * redisplay.h: declare redisplay_frame.
10658
10659         * gutter.c (update_frame_gutter_geometry): move geometry changes
10660         in update_frame_gutters here. Geometry changes can only occur
10661         outside of redisplay.
10662         (update_frame_gutters): remove geometry change code.
10663         (Fredisplay_gutter_area): make sure that we are in display when we
10664         update and that we have flushed any size changes.
10665
10666 2000-03-11  Andy Piper  <andy@xemacs.org>
10667
10668         * alloc.c (pdump_dump_data): remove i & count shadows.
10669
10670 2000-02-27  Mike Alexander  <mta@arbortext.com>
10671
10672         * sysdep.h: Declare pdump_read_file
10673
10674         * sysdep.c (pdump_read_file): New function
10675
10676         * alloc.c (pdump_load): Call pdump_read_file to get the portable
10677         dump data
10678
10679 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10680
10681         * lrecord.h: add `lrecord_type_pgsetenv'.
10682
10683 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
10684
10685         * symsinit.h: declare (vars|syms)_of* functions.
10686         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
10687
10688 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
10689
10690         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
10691
10692         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
10693         GCCs.
10694
10695         * emacs.c (main_1): Call postgres initialization code.
10696
10697         * postgresql.h: New file.  PostgreSQL RDBMS support.
10698         * postgresql.c: New file.
10699
10700 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10701
10702         * redisplay-output.c (redisplay_output_display_block): Disable
10703         redundant code.
10704
10705 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10706
10707         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
10708         (Fcanna_henkan_next): Ditto.
10709         (Fcanna_bunsetu_henkou): Ditto.
10710         (Fcanna_henkan_kakutei): Ditto.
10711         (Fcanna_henkan_end): Ditto.
10712         (Fcanna_henkan_quit): Ditto.
10713         (Fcanna_henkan_next): Set retun value correctly.
10714         (c2mu): Use unsigned char instead of signed char.
10715
10716 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10717
10718         * emacs.c (main_1): Always call syms_of_gui.
10719         * inline.c: include gui.h
10720
10721 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10722
10723         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
10724         converted to Lisp_Object.
10725         (Qtop_bottom): New variable.
10726         (syms_of_redisplay): Initialize it.
10727         * redisplay.h (Vvisible_bell): Ditto.
10728         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
10729         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
10730         only flash top and bottom.
10731
10732 2000-03-08  Andy Piper  <andy@xemacs.org>
10733
10734         * buffer.c (Frename_buffer): record new buffer name the right way.
10735
10736 2000-03-08  Andy Piper  <andy@xemacs.org>
10737
10738         * glyphs.c (update_subwindow): increase hash depth so that widget
10739         items get picked up properly.
10740
10741         * redisplay-output.c (compare_runes): increase hash depth so that
10742         widget items get picked up properly.
10743
10744 2000-03-08  Andy Piper  <andy@xemacs.org>
10745
10746         * gutter.c (output_gutter): add some debug.
10747
10748         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
10749         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
10750         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
10751
10752         * redisplay-output.c (compare_runes): use display_hash to
10753         determine if glyphs really are not the same.
10754
10755         * glyphs.c (update_subwindow): check display_hash to see if
10756         anything really needs to be updated. If not then do
10757         nothing. Record the display_hash after updating.
10758         (image_instance_equal): compare the image_instance face also.
10759
10760 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
10761
10762         * redisplay.h: Fix comment style.
10763
10764 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10765
10766         * consle-msw.h (struct mswindows_frame):
10767         Added new member paint_pending to indicate whether a WM_PAINT
10768         magic event has been queued for this frame.
10769
10770         * event-msw.c (mswindows_drain_windows_queue):
10771         Don't queue a WM_PAINT magic event if one is already queued.
10772         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
10773
10774         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
10775
10776 2000-03-07  Didier Verna  <didier@xemacs.org>
10777
10778         * dired.c: #include `regex.h' after `sysfile.h'.
10779
10780 2000-03-06  Martin Buchholz  <martin@xemacs.org>
10781
10782         * sound.c (init_nas_sound): Fix compiler warning.
10783
10784         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
10785         (FREE_STRUCT_P):
10786         (MARK_STRUCT_AS_FREE):
10787         (MARK_STRUCT_AS_NOT_FREE):
10788         Make `gcc -fstrict-aliasing' work properly.
10789
10790 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10791
10792         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
10793         (mswindows_delete_device): Call CoUnnitialize().
10794
10795         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
10796
10797 2000-02-25    <CraigL@DyCon.com>
10798
10799         * process-nt.c: MinGW now has <shellapi.h>, but still needs
10800         <errno.h>.
10801
10802         * sysdep.c: This extern declaration for environ prevents MinGW
10803         from finding the variable in CRTDLL.DLL.
10804
10805         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
10806         windows headers.
10807         (SHGFI_EXETYPE): ..
10808         (WM_MOUSEWHEEL): ..
10809         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
10810         definitions.
10811         (MMRESULT): Removed, now defined in cygwin's windows headers.
10812         (TIMECAPS): ..
10813         (uid_t,gid_t,pid_t,ssize_t): ..
10814         (_timeb): Removed, MinGW defines both _timeb and timeb.
10815         (HAVE_H_ERRNO): Added.
10816         (HAVE_TZNAME): Added, configure is not detecting this.
10817
10818 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
10819
10820         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
10821         * syntax.c (syntax_match): Use it.
10822
10823         * cmds.c: Import auto-fill-chars from FSF Emacs.
10824         (Vauto_fill_chars): New variables.
10825         (internal_self_insert): Check Vauto_fill_chars.
10826         (vars_of_cmds):
10827         Declare auto-fill-chars as a Lisp variable and initialize it.
10828
10829 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10830
10831         * fileio.c (Fmake_symbolic_link):
10832         (Ffile_symlink_p):
10833         Run handlers even if local machine doesn't have symlinks.
10834
10835 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10836
10837         * event-msw.c (mswindows_drain_windows_queue):
10838         Don't generate paint magic events for non-XEmacs frames.
10839
10840 2000-03-05  Andy Piper  <andy@xemacs.org>
10841
10842         * redisplay.c (redisplay_frame): generate_displayable_area and
10843         friends assumes that we are not in GC, we therefore have to make
10844         sure that this doesn't happen.
10845
10846         * gutter.c (calculate_gutter_size): generate_displayable_area
10847         assumes that we are not in GC, we therefore have to make sure that
10848         this doesn't happen.
10849
10850 2000-03-05  Martin Buchholz  <martin@xemacs.org>
10851
10852         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
10853
10854 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10855
10856         * redisplay.c (regenerate_window): Make sure we set a sane value
10857         for end_pos even if we jump out of the loop.
10858         (regenerate_window): Answer Ben's question :-).
10859         (start_end_of_last_line): Add may_error argument.
10860         (start_of_last_line):
10861         (end_of_last_line): Pass may_error = 0.
10862         (end_of_last_line_may_error): New function.
10863         (pixel_to_glyph_translation): Use it, so we don't crash in
10864         event_to_glyph.
10865
10866 2000-03-04  Andy Piper  <andy@xemacs.org>
10867
10868         * window.h (struct window): add gutter_extent_modiff.
10869
10870         * window.c (allocate_window): zero out gutter_extent_modiff.
10871
10872         * redisplay.h: declare sync_display_line_structs.
10873
10874         * redisplay.c (add_glyph_rune): add a better comment.
10875
10876         * redisplay-output.c (sync_display_line_structs): made non-static.
10877         (compare_runes): remove unneccesary glyph cachel access.
10878
10879         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
10880
10881         * gutter.c (output_gutter): don't output the gutter if extent
10882         changes only involve extents in buffers. use 4 sets of display
10883         lines.
10884         (gutter_extent_signal_changed_region_maybe): new function. Mark
10885         extents in gutters as changed.
10886         (update_frame_gutters): use 4 sets of display lines.
10887         (reset_gutter_display_lines): ditto.
10888         (free_frame_gutters): ditto.
10889         (redraw_exposed_gutter): force output of gutters.
10890
10891         * frame.h (struct frame): add 4 sets of gutter display lines.
10892
10893         * extents.c: (extent_changed_for_redisplay): signal changes to
10894         extents in strings in the gutter as well as extents in buffers.
10895
10896 2000-03-02  Andy Piper  <andy@xemacs.org>
10897
10898         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
10899
10900         * frame.c (Fmake_frame): make sure the gutters get initialized
10901         after the frame is visible.
10902         (set_frame_selected_window): re-arrange compilation macros a
10903         little.
10904         (change_frame_size_1): mark gutters changed.
10905
10906         * device.c (Fset_device_class): mark gutters changed.
10907
10908 2000-03-01  Andy Piper  <andy@xemacs.org>
10909
10910         * window.c (window_top_frame_gutter_height): deleted.
10911         (window_bottom_frame_gutter_height): ditto.
10912         (window_left_frame_gutter_height): ditto.
10913         (window_right_frame_gutter_height): ditto.
10914         (window_top_gutter_height): don't use them.
10915         (window_bottom_gutter_height): ditto.
10916         (window_left_gutter_width): ditto.
10917         (window_right_gutter_width): ditto.
10918         (Fsplit_window): ditto.
10919         (Fwindow_pixel_edges): don't use border dimensions here.
10920
10921         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
10922         (update_scrollbar_instance): ditto.
10923
10924         * redisplay.c (generate_modeline): don't take gutters into account.
10925         (generate_modeline): ditto.
10926         (redisplay_frame): small gutter display optimization.
10927
10928         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
10929
10930         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
10931         gutters into account.
10932
10933         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
10934         for window position and type.
10935
10936         * gutter.c (get_gutter_coords): fix for frame gutters.
10937         (update_frame_gutters): update frame geometry if the gutters have
10938         changed.
10939         (init_frame_gutters): record current gutter geometries.
10940
10941         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
10942         var.
10943         (mswindows_widget_instantiate): ditto.
10944
10945         * frame.h (struct frame): add current_gutter_bounds.
10946
10947         * frame.c (change_frame_size_1): position window and minibuffer
10948         appropriately taking into account the frame gutters.
10949
10950         * frame-x.c: (x_initialize_frame_size): take into account the
10951         frame gutters.
10952
10953 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10954
10955         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
10956
10957 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10958
10959         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
10960
10961 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10962
10963         * file-coding.c (reset_decoding_stream): Clear previous
10964         detection state when autodetect.
10965
10966 2000-02-29  Didier Verna  <didier@xemacs.org>
10967
10968         * extents.c (set_extent_glyph_1): don't require extents to be
10969         attached.
10970
10971 2000-02-27  Andy Piper  <andy@xemacs.org>
10972
10973         * gutter.c (Fset_default_gutter_position): don't default left and
10974         right gutter visibility to t.
10975         (Fset_default_gutter_position): run
10976         default-gutter-position-changed-hook.
10977         (syms_of_gutter): add default-gutter-position-changed-hook.
10978
10979 2000-02-26  Andy Piper  <andy@xemacs.org>
10980
10981         * specifier.c (Fmake_specifier): add gutter references.
10982
10983         * gutter.h (RAW_WINDOW_GUTTER): new macro.
10984
10985         * lisp.h: declare Fvalid_plist_p.
10986
10987         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
10988         as changed.
10989         (default_gutter_visible_p_changed_in_window): invalidate gutter as
10990         well as its visibility so that it gets reconstructed.
10991         (construct_window_gutter_spec): new function. Construct a string
10992         to be displayed in the gutter from a plist of strings. Take care
10993         to only use elements that are declared as visible.
10994         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
10995         WINDOW_GUTTER.
10996         (gutter_validate): allow plists of strings in the specifier.
10997         (gutter_specs_changed): construct the real_gutter from the gutter
10998         specs using construct_window_gutter_spec.
10999         (gutter_visible_validate): gutter-visible is a new specifier type.
11000         (Fgutter_visible_specifier_p): new function for the new specifier.
11001         (syms_of_gutter): declare gutter-visible and
11002         Fgutter_visible_specifier_p.
11003         (specifier_type_create_gutter): intitalize new gutter-visible
11004         specifier.
11005         (reinit_specifier_type_create_gutter): ditto.
11006         (specifier_vars_of_gutter): use new specifier type for gutter
11007         visibility.
11008         (init_frame_gutters): construct real_gutter correctly.
11009         (Fgutter_specifier_p): beef up documentation.
11010         (Fgutter_size_specifier_p): ditto.
11011
11012         * winslots.h: add real_gutter slots.
11013
11014 2000-02-25  Andy Piper  <andy@xemacs.org>
11015
11016         * device-msw.c: Be kind to older cygwin versions. From Raymond
11017         Toy <toy@rtp.ericsson.se>.
11018
11019         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
11020         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
11021
11022 2000-02-25  Martin Buchholz  <martin@xemacs.org>
11023
11024         * elhash.c (MARK_OBJ): Practice macro hygiene.
11025
11026 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11027
11028         * miscplay.c: s/__inline__/inline/g;
11029         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
11030         (get_device_compdc): INLINE ==> static inline
11031         * *.[ch]: Change INLINE to INLINE_HEADER globally.
11032         find -name '*.h' | \
11033         xargs global-replace \
11034         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
11035
11036 2000-02-25  Andy Piper  <andy@xemacs.org>
11037
11038         * window.c (window_top_frame_gutter_height): new function.
11039         (window_top_window_gutter_height): ditto.
11040         (window_top_gutter_height): use them.
11041         (window_bottom_frame_gutter_height): new function.
11042         (window_bottom_window_gutter_height): ditto.
11043         (window_bottom_gutter_height): use them.
11044         (window_left_window_gutter_width): new function.
11045         (window_left_frame_gutter_width): ditto.
11046         (window_left_gutter_width): use them.
11047         (window_right_window_gutter_width): new function.
11048         (window_right_frame_gutter_width): ditto.
11049         (window_right_gutter_width): use them.
11050         (window_pixel_height): new function. calulate window pixel height
11051         with frame gutter involvement.
11052         (Fsplit_window): calculate new sizes taking frame gutters into
11053         account.
11054         (window_char_height_to_pixel_height): don't include frame gutters.
11055         (window_char_height): use window_pixel_height.
11056         (window_pixheight): rename from window_pixel_height.
11057         (change_window_height): use it.
11058         (window_pixel_height_to_char_height): don't include frame gutters.
11059         (window_char_width_to_pixel_width): ditto.
11060
11061 2000-02-25  Andy Piper  <andy@xemacs.org>
11062
11063         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
11064         if it is.
11065
11066 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11067
11068         * alloc.c (staticpro):
11069         (staticpro_nodump):
11070         (dumpstruct):
11071         (dumpopaque):
11072         (pdump_wire):
11073         (pdump_wire_list):
11074         (compact_string_chars):
11075         (pdump_dump_wired):
11076         Convert:  if (foo) abort();  ==>  assert (! foo);
11077
11078         * eldap.c (Fldap_search_basic):
11079         (Fldap_add):
11080         (Fldap_modify):
11081         (Fldap_delete):
11082         Fix compiler warnings, and possible crashes if (random) return
11083         value were to be used.
11084
11085 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11086
11087         * device-msw.c: Workaround ResetDC failure.
11088
11089         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
11090         applying a devmode.
11091
11092         * redisplay-msw.c (get_frame_dc): Added start_page_p.
11093         (mswindows_text_width): Do not start printer page.
11094
11095         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
11096
11097         * glyphs-msw.c: Added image methods to msprinter console and
11098         msprinter-specific image instantiation.
11099
11100 2000-02-20  Mike Alexander  <mta@arbortext.com>
11101
11102         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
11103         to avoid crashes when selection-sets-clipboard is on
11104         (mswindows_own_selection): ditto
11105
11106 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11107
11108         * glyphs-msw.c:
11109         * redisplay-msw.c (get_frame_dc):
11110         (get_frame_compdc):
11111         * console-msw.h:
11112         * device-msw.c (mswindows_init_device):
11113         (mswindows_delete_device):
11114         (msprinter_init_device):
11115         (msprinter_delete_device):
11116         * frame-msw.c (mswindows_init_frame_1):
11117         (mswindows_delete_frame):
11118         (msprinter_init_frame_3):
11119         (msprinter_delete_frame): Move compatible DC to device object from
11120         frame object, for both mswindows and msprinter. Only one at a time
11121         is needed, it is a real waste to have one per frame!
11122
11123 2000-02-23  Andy Piper  <andy@xemacs.org>
11124
11125         * glyphs.c: add dynamic width and height elements.
11126         (image_instance_equal): ditto.
11127
11128         * glyphs-widget.c (widget_query_geometry): calculate width and
11129         height dynamically if required.
11130         (initialize_widget_image_instance): initialize dynamic dimensions.
11131         (widget_instantiate): pick-up dynamic dimensions.
11132
11133         * glyphs.h (struct Lisp_Image_Instance): add width and height for
11134         dynamic determination. Add appropriate macros.
11135
11136         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
11137         dimensions safe.
11138         (WINDOW_GUTTER_SIZE): ditto.
11139         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
11140
11141         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
11142         inline.
11143         (get_frame_dc): ditto.
11144
11145         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
11146         here.
11147
11148 2000-02-23  Martin Buchholz <martin@xemacs.org>
11149
11150         * XEmacs 21.2.31 is released.
11151
11152 2000-02-22  Ben Wing <ben@xemacs.org>
11153
11154         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
11155
11156 2000-02-22  Andy Piper  <andy@xemacs.org>
11157
11158         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
11159
11160 2000-02-21  Mike Sperber <mike@xemacs.org>
11161
11162         * .dbxrc:
11163         * .gdbinit:
11164         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
11165         variables.
11166
11167 2000-02-21  Mike Sperber <mike@xemacs.org>
11168
11169         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
11170
11171 2000-02-21  Martin Buchholz <martin@xemacs.org>
11172
11173         * XEmacs 21.2.30 is released.
11174
11175 2000-02-20  Martin Buchholz  <martin@xemacs.org>
11176
11177         Performance hacking.
11178         * *.c (syms_of_*):
11179         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
11180         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
11181         * emacs.c (main_1):
11182         * lisp.h (DEFUN):
11183         * console.c (DEFVAR_CONSOLE_LOCAL_1):
11184         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
11185         * symeval.h (DEFVAR_SYMVAL_FWD):
11186         * symbols.c (guts_of_unbound_marker):
11187         Make all c_readonly objects also lisp_readonly and marked for life.
11188         * lrecord.h (struct lrecord_implementation):
11189         Document flags better.
11190         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
11191         * lrecord.h (DECLARE_LRECORD):
11192         * lrecord.h (XSETRECORD):
11193         * lrecord.h (RECORDP):
11194         * lrecord.h (RECORD_TYPEP):
11195         * lrecord.h (RECORD_MARKER): New.
11196         * lrecord.h (error_check_*):
11197         * lrecord.h (CONCHECK_NONRECORD):
11198         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
11199         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
11200         * lrecord.h (set_lheader_implementation):
11201         * lrecord.h (enum lrecord_type): New.
11202         * symeval.h (SYMBOL_VALUE_MAGIC_P):
11203         * alloc.c (disksave_object_finalization_1):
11204         * alloc.c (mark_object):
11205         * alloc.c (lrecord_type_index):
11206         * alloc.c (tick_lcrecord_stats):
11207         * alloc.c (Fgarbage_collect):
11208         * alloc.c (init_alloc_once_early):
11209         * alloc.c (pdump_load):
11210         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
11211         * alloc.c (lrecord_type_index): Delete.
11212         Make lisp object type indexes be constant.
11213           Makes (byte-compile) 5% faster.
11214         Put all marker functions into their own array.
11215           Makes (garbage-collect) 5% faster.
11216         Optimize SYMBOL_VALUE_MAGIC_P.
11217           Makes (byte-compile) 2-3% faster.
11218         * config.h.in (gc_checking_assert): New.
11219         * alloc.c: Use gc_checking_assert().
11220         * .dbxrc: Make compatible with new object type implementation.
11221         * .gdbinit: Make compatible with new object type implementation.
11222         * alloc.c: Delete all symbols defined only for debugging, such as
11223         Lisp_Type_Vector and lrecord_charset.
11224
11225 2000-02-21  Andy Piper  <andy@xemacs.org>
11226
11227         * gui-msw.c (Fmswindows_shell_execute): fix file location
11228         problems.
11229
11230         * buffer.c (Fkill_buffer): remove buffer from alist buffer
11231         unshowing so that set_window_buffer doesn't undo
11232         kill_buffer_hook's hard work.
11233
11234         * glyphs-widget.c (tab_control_query_geometry): don't count the
11235         first item when calculating geometry.
11236
11237         * glyphs.c (map_subwindow): remove redundant code.
11238         (update_frame_subwindows): be more circumspect about when to
11239         update subwindows.
11240
11241         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
11242         when items haven't changed. Update faces if faces have changed as
11243         well as just the widget face.
11244         (x_tab_control_update): Update faces if faces have changed as well
11245         as just the widget face.
11246
11247 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11248
11249         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
11250         registration.
11251         (build_syscolor_string): Use mswindows_color_to_string to try to
11252         get a named color.
11253         (mswindows_device_system_metrics): Reverse the foreground and
11254         background colors so that they match the documentation.
11255
11256         * objects-msw.c: (mswindows_X_color_map): tweak some values so
11257         they match the default Windows palette.
11258         (mswindows_color_to_string): New function.
11259
11260 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11261
11262         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
11263
11264 2000-02-18  Olivier Galibert  <galibert@pobox.com>
11265
11266         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
11267         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
11268
11269         * symbols.c (init_symbols_once_early): Removed obsolete
11270         DATA_SEG_BITS related kludge.
11271         (defvar_magic): Ditto.
11272
11273         * malloc.c: Removed obsolete DATA_SEG_BITS
11274         * ralloc.c: Ditto.
11275         * mem-limits.h: Ditto.
11276
11277         * Makefile.in.in: Removed obsolete HAVE_SHM
11278         * emacs.c: Ditto.
11279
11280 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11281
11282         *  device-msw.c (mswindows_delete_device): Free DDE string
11283         handles.
11284
11285 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11286
11287         * keymap.c (get_keyelt):
11288         * unexnt.c (unexec):
11289         * vm-limit.c (memory_warnings):
11290         * ntheap.c (recreate_heap):
11291         * ntheap.h (UNINIT_PTR):
11292         * select-msw.c (Fmswindows_get_clipboard):
11293         (Fmswindows_set_clipboard):
11294         * objects-msw.h (MSWINDOWS_BAD_HFONT):
11295         * objects-msw.c:
11296         * menubar-msw.c (displayable_menu_item):
11297         * glyphs-msw.c:
11298         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
11299         * sysdep.c (sys_subshell):
11300         * process-nt.c (nt_create_process):
11301         * nt.c (normalize_filename):
11302         (dostounix_filename):
11303         (unixtodos_filename):
11304         * ntproc.c (win32_executable_type):
11305         * ntplay.c (play_sound_data_1):
11306         (play_sound_file):
11307         * editfns.c (get_home_directory):
11308         * event-msw.c (struct winsock_stream):
11309         (mswindows_dde_callback):
11310         * device-msw.c (msprinter_init_device):
11311         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
11312
11313         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
11314         mswindows_clear_toolbar were swapped!
11315
11316         * objects-msw.c:(colormap_t):
11317         (fontmap_t):
11318         * emacs.c (struct standard_args): Fixed const jumble.
11319
11320         * glyphs-widget.c (update_widget): Fixed comparison notation.
11321
11322         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
11323
11324         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
11325         __declspec(noreturn) syntax.
11326
11327 2000-02-19  Martin Buchholz  <martin@xemacs.org>
11328
11329         * eldap.c (Fldap_open):
11330         (Fldap_search_basic):
11331         (Fldap_add):
11332         (Fldap_modify):
11333         Use new coding system conversion macros.
11334
11335 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11336
11337         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
11338
11339 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
11340
11341         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
11342         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11343
11344         * eldap.c (Qadd, Qreplace): New constant symbols
11345         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
11346         interruptions by XEmacs signals
11347         Remove unnecessary calls to slow_down_interrupts and
11348         speed_up_interrupts
11349         (Fldap_search_basic): Renamed from Fldap_search_internal
11350         Added new optional parameter VERBOSE that triggers the
11351         display of progress messages
11352         Remove unnecessary calls to slow_down_interrupts and
11353         speed_up_interrupts
11354         LDAP result code analysis rewritten
11355         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11356         (syms_of_eldap): Define the new symbols and functions
11357
11358
11359 2000-02-17  Martin Buchholz  <martin@xemacs.org>
11360
11361         * realpath.c: Determine PATH_MAX maximally portably.
11362
11363         * insdel.c (bytecount_to_charcount): Optimize.
11364         The function used to be optimized for entirely ASCII sequences.
11365         Now it is optimized for successive characters from the same
11366         charset.  This also wins big for _mostly_ ASCII sequences.
11367
11368         * fileio.c (Ffile_truename): convert return from realpath() using
11369         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
11370         - Rewrite GCPROing slightly.
11371
11372         * sysdep.c (sys_open): Do filename conversion, like all other
11373         sys_* functions.  Fixes bug:
11374         (let ((file-name-coding-system 'iso-8859-2))
11375            (write-region x y latin2-name))
11376         ==> writes filename using internal encoding.
11377
11378 2000-02-18  Martin Buchholz  <martin@xemacs.org>
11379
11380         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
11381         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
11382         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
11383         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
11384         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
11385         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
11386         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
11387         (CONST_IF_NOT_DEBUG): Delete.
11388         * alloc.c (this_one_is_unmarkable): Delete.
11389         (mark_object): Don't check for this_one_is_unmarkable. Use the
11390         c_readonly flag instead.
11391         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
11392
11393 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11394
11395         * event-msw.c (mswindows_drain_windows_queue):
11396         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
11397         away redundant repaint events.
11398
11399 2000-02-17  Andy Piper  <andy@xemacs.org>
11400
11401         * redisplay.h: declare mark_redisplay_structs.
11402
11403         * redisplay.c (redisplay_window):
11404         (redisplay_frame): don't check subwindows_state_changed.
11405         (mark_redisplay): mark gutters here.
11406
11407         * glyphs.c: (instantiate_image_instantiator): always layout if we
11408         haven't done so already.
11409         (allocate_image_instance): don't mark as dirty.
11410         (update_subwindow): bind inhibit_quit.
11411
11412         * gutter.c (mark_gutters): new function.
11413
11414         * glyphs-x.c (x_update_widget): Always resize to get round a
11415         widget bug.
11416
11417         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
11418         breaking absolutely everything.
11419
11420         * gutter.h: declare mark_gutters.
11421
11422 2000-02-16  Martin Buchholz <martin@xemacs.org>
11423
11424         * XEmacs 21.2.29 is released.
11425
11426 2000-02-15  Olivier Galibert  <galibert@pobox.com>
11427
11428         * fns.c (size_bit_vector): Fix computation of the size.
11429
11430 2000-02-15  Martin Buchholz  <martin@xemacs.org>
11431
11432         * *.[ch]: Change CONST to const globally.
11433         find -name '*.[ch]' | \
11434         xargs global-replace \
11435         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
11436         - Remove vestigial references to CONST_IS_LOSING
11437
11438 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11439
11440         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
11441         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
11442         events instead of dispatching them directly.
11443         (mswindows_handle_paint): New function to do repainting.
11444         (mswindows_wnd_proc):
11445         (emacs_mswindows_handle_magic_event): Call above function.
11446
11447 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11448
11449         * objects-msw.c (mswindows_create_font_variant): Return the new
11450         font handle.
11451         (initialize_font_instance): Get font metrics from the underlined
11452         variant of the font to cope with the case where the underlined
11453         font has a bigger descent.
11454
11455 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11456
11457         * gui.c (gui_item_accelerator): Return the first underlined
11458         character in item name.
11459
11460 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11461
11462         * lisp.h: Added Qprinter.
11463
11464         * general.c (syms_of_general): Initialized it.
11465
11466         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
11467         (get_frame_dc):
11468         (get_frame_compdc): Made inline.
11469
11470         * console.h (struct console_methods): Added eject_page method.
11471
11472         * frame.h: Added FRAME_DISPLAY_P and friends.
11473         Aligned backslahes in many macros in more readable fashion.
11474         Added page_number to struct frame, and an accessor macro
11475         for it.
11476
11477         * defice.h: Added DEVICE_DISPLAY_P and friends.
11478
11479         * device.c (Fdevice_printer_p): Used these.
11480
11481         * frame.c (allocate_frame_core): Initialize page number.
11482         (Fprint_job_page_number):
11483         (Fprint_job_eject_page): Implemented.
11484
11485         * frame-msw.c (msprinter_eject_page): Added method.
11486         (msprinter_start_page): Added.
11487
11488         * window.c (Fwindow_truncated_p): Fixed docstring.
11489         (Fwindow_last_line_visible_height): Implemented.
11490
11491 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11492
11493         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
11494
11495 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11496
11497         * syntax.c (scan_words): Always advance at least one character.
11498
11499 2000-02-13  Andy Piper  <andy@xemacs.org>
11500
11501         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
11502         to make sure the glyph is in the cachels.
11503
11504         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
11505         global image instance flag.
11506         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
11507         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
11508
11509         * glyphs.c (allocate_image_instance): set dirty bits correctly.
11510         (Fset_image_instance_property): mark layout as changed.
11511         (invalidate_glyph_geometry_maybe): mark layout as changed.
11512         (glyph_width): use new NEEDS_LAYOUT macro.
11513         (glyph_ascent): ditto.
11514         (glyph_descent): ditto.
11515         (glyph_height): ditto.
11516         (image_instance_layout): mark layout as clean after laying out.
11517         (update_subwindow): don't mark layout as clean here.
11518
11519         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
11520         should no longer be needed.
11521
11522         * glyphs-x.c (x_update_widget): sanitize asserts.
11523         (x_finalize_image_instance): sanitize assignment to widgets.
11524
11525         * glyphs-widget.c (widget_instantiate): don't need to clear the
11526         layout flag here.
11527
11528 2000-02-13  Martin Buchholz  <martin@xemacs.org>
11529
11530         * sysdep.c (getcwd): Use standard prototype.
11531         * sysdep.h (getcwd): Use standard prototype.
11532
11533         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
11534         (sequence, start, end).
11535         Remove redundant type checking.
11536         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
11537         view of `caller-protects') to avoid a crash where the real fix was
11538         found elsewhere.
11539
11540 2000-02-12  Martin Buchholz  <martin@xemacs.org>
11541
11542         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
11543
11544         * s/sol2.h: Remove feature macro initialization.
11545
11546         * alloc.c (alloc_lcrecord): Add more type checking assertions.
11547         (vector_hash): New.  Code from internal_hash.
11548         * lrecord.h:
11549         Fix up allocation subsystem comments.
11550
11551         * config.h.in: Add __EXTENSIONS__ for Solaris.
11552
11553         * systime.h (EMACS_GETTIMEOFDAY): New.
11554         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
11555         Remove Solaris-specific code.
11556         Use void* for the (ignored) second arg for gettimeofday().
11557
11558         * elhash.c (hash_table_hash): Implement it, finally.
11559         * elhash.c:  Use hashcode_t.
11560
11561         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
11562         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
11563
11564         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
11565         * fns.c (size_bit_vector):
11566         * alloc.c (size_vector):
11567         (make_vector_internal):
11568         (make_bit_vector_internal):
11569         (sweep_bit_vectors_1):
11570         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
11571
11572 2000-02-10  Martin Buchholz  <martin@xemacs.org>
11573
11574         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
11575         Include strings.h to avoid warnings for bzero and strcasecmp.
11576
11577 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11578
11579         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
11580         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
11581
11582         * fns.c (size_bit_vector): New.  Declare bit vectors as a
11583         sequence.
11584
11585 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11586
11587         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
11588         use a value field instead.
11589         (symbol_value_forward_forward): Use value field.
11590         (DEFVAR_SYMVAL_FWD): Use value field.
11591         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
11592         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
11593         (DEFVAR_CONST_INT): Ditto.
11594         (DEFVAR_BOOL): Ditto.
11595         (DEFVAR_CONST_BOOL): Ditto.
11596         (DEFVAR_INT_MAGIC): Ditto.
11597         (DEFVAR_BOOL_MAGIC): Ditto.
11598
11599         * symbols.c (guts_of_unbound_marker): Use value field.
11600         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
11601         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
11602
11603         * lisp.h: Declare dumpopaque and noninteractive1.
11604
11605         * alloc.c (dumpopaque): Added.
11606         (pdump_dump_opaquevec): Added.
11607         (pdump): Call pdump_dump_opaquevec to dump opaque data.
11608         (pdump_load): Reload opaque data.  Sync noninteractive1 with
11609         noninteractive.
11610
11611 2000-02-10  Andy Piper  <andy@xemacs.org>
11612
11613         * glyphs.c (image_instance_layout): if the size changes, mark it
11614         as such.
11615
11616         * redisplay-output.c (redisplay_output_layout): Update the
11617         subwindow here.
11618         (redisplay_output_subwindow): ditto.
11619
11620         * glyphs.c (update_subwindow): make sure we reset flags for
11621         layouts as well as everything else.
11622
11623         * glyphs-widget.c (layout_layout): don't need to set the instances
11624         dimensions here.
11625
11626 2000-02-09  Martin Buchholz  <martin@xemacs.org>
11627
11628         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
11629         not HAVE_DLOPEN, which is a lower-level thing.
11630
11631         * .cvsignore: Ignore gmon.out
11632
11633 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
11634
11635         * .cvsignore: Ignore portable dumper xemacs.dmp file
11636
11637 2000-02-09  Andy Piper  <andy@xemacs.org>
11638
11639         * redisplay-output.c (redisplay_output_layout): be more clever
11640         about when we output based on the changed flags.
11641
11642         * glyphs.h (struct image_instantiator_methods): add update_method.
11643         (struct Lisp_Image_Instance): add changed flags. Declare new
11644         macros for manipulating them.
11645
11646         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
11647         (image_instance_parent_glyph): find an image_instance's parent
11648         glyph or image_instance.
11649         (image_instance_layout): mark the size as changed.
11650         (set_image_instance_dirty_p): new function. mark an image
11651         instance, plus all of its parents, as dirty.
11652         (Fset_image_instance_property): use it.
11653         (Fglyph_animated_timeout_handler): use it.
11654         (update_subwindow): call update_widget and device methods for
11655         update_subwindow. Mark all changed flags as clean.
11656         (Fresize_subwindow): mark size as changed.
11657
11658         * glyphs-x.c (x_finalize_image_instance): try and detect gc
11659         failures.
11660         (x_update_subwindow): only resize subwindows here.
11661         (x_update_widget): new function. Update all changed properties of
11662         a widget.
11663         (x_resize_subwindow): deleted.
11664         (x_widget_set_property): deleted.
11665         (x_progress_gauge_set_property): deleted.
11666         (x_progress_gauge_update): new function. Implement recorded
11667         changes.
11668         (x_tab_control_update): ditto.
11669         (x_tab_control_set_property): deleted.
11670         (console_type_create_glyphs_x): declare new functions.
11671         (image_instantiator_format_create_glyphs_x): ditto.
11672
11673         * glyphs-widget.c (widget_set_property): mark text changed.
11674         (update_widget): new function. Update properties of a widget.
11675         (widget_instantiate): for layouts make sure we set their
11676         children's parent correctly.
11677         (tab_control_set_property): new function. Record changes that will
11678         take place under redisplay's control.
11679         (progress_gauge_set_property): ditto.
11680         (image_instantiator_progress_guage): declare new functions.
11681         (image_instantiator_tab_control): ditto.
11682
11683         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
11684         now.
11685         (mswindows_update_widget): new function. Update all properties on
11686         a widget that have changed.
11687         (mswindows_button_update): new function. Update a button's set
11688         state.
11689         (mswindows_tab_control_update): new function. Update the items in
11690         a tab.
11691         (mswindows_tab_control_set_property): deleted.
11692         (mswindows_progress_gauge_update): new function. Update the
11693         progress gauge's progress.
11694         (mswindows_widget_set_property): deleted. This is all done
11695         asynchronously now.
11696         (mswindows_progress_gauge_set_property): ditto.
11697         (console_type_create_glyphs_mswindows): declare new methods.
11698         (image_instantiator_format_create_glyphs_mswindows): ditto.
11699
11700         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
11701         (msprinter_set_frame_properties): ditto.
11702
11703         * console.h (struct console_methods): Add update_widget_method.
11704
11705 2000-02-09  Andy Piper  <andy@xemacs.org>
11706
11707         * gui-msw.c (Fmswindows_shell_execute): Make
11708         mswindows-shell-execute industrial strength.
11709
11710 2000-02-08  Martin Buchholz  <martin@xemacs.org>
11711
11712         * lrecord.h: Make macro argument `props' match member function `plist'.
11713         * fns.c (Fget):
11714         * fns.c (Fput):
11715         * fns.c (Fremprop):
11716         * fns.c (Fobject_plist):
11717         * alloc.c:
11718         * symbols.c:
11719         Object property list frobbing cleanup.
11720         - Allow any lisp object (compared with `eq'), not just symbols, as
11721           keys in object plists.
11722         - Move symbol plist frobbing into symbols.c, where it belongs.
11723         - Move string plist frobbing into alloc.c, where it belongs.
11724         - Everything's an lrecord now, so no need to test for symbolp, etc.
11725         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
11726
11727         * extents.c: Reorder code to remove declarations.
11728
11729         * frame.h (store_in_alist): Remove useless declaration.
11730
11731 2000-02-07  Martin Buchholz  <martin@xemacs.org>
11732
11733         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
11734         * config.h.in: Add HAVE_XCONVERTCASE.
11735
11736 2000-02-07  Andy Piper  <andy@xemacs.org>
11737
11738         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
11739         it breaks many things.
11740
11741 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11742
11743         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
11744         actually can start a common comment type.
11745         * src/syntax.h (SYNTAX_END_P): ditto for end.
11746
11747 2000-02-07  Martin Buchholz <martin@xemacs.org>
11748
11749         * XEmacs 21.2.28 is released.
11750
11751 2000-02-06  Martin Buchholz  <martin@xemacs.org>
11752
11753         * event-Xt.c (x_keysym_to_character): New.
11754         (maybe_define_x_key_as_self_inserting_character): New.
11755         (x_has_keysym): New.
11756         Auto-define all keys on the keyboard as self-insert-key.
11757
11758 2000-02-02  Martin Buchholz  <martin@xemacs.org>
11759
11760         * menubar.c (vars_of_menubar): A small code simplification.
11761
11762         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
11763
11764         * ExternalShell.c:
11765         * ExternalClient.c:
11766         * EmacsShell-sub.c:
11767         * EmacsManager.c:
11768         * EmacsFrame.c:
11769         Use consistent style for specifying X resources.
11770
11771         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
11772         This makes (dontusethis-set-symbol-value-handler) actually usable.
11773
11774         * lrecord.h (lrecord_decription_type):
11775         * alloc.c (pdump_register_sub):
11776         (pdump_dump_data):
11777         (pdump_reloc_one):
11778         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
11779         Comply with XEmacs coding style.
11780         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
11781         args, and XD_LISP_OBJECT_ARRAY with 3 args.
11782
11783         * keymap.c (Faccessible_keymaps):
11784         Make (accessible-keymaps map "\C-h") do the Right Thing.
11785         Make (accessible-keymaps map []) do the Right Thing.
11786         Make (accessible-keymaps map "") do the Right Thing.
11787         (check_keymap_definition_loop): New function.
11788         (keymap_store_internal): Keep luser from shooting self in foot,
11789           via (define-key ctl-x-4-map "p" global-map).
11790         Remove fullness slot from struct Lisp_Keymap, since hash tables
11791         are now reliable.
11792         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
11793
11794 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11795
11796         * redisplay.c (init_redisplay): Fix small memory leak.
11797         * elhash.h:
11798         * elhash.c (pdump_reorganize_hash_table):
11799         Rename from reorganize_hash_table. Change prototype.
11800         Reuse the original memory for hentries.  Save 100k.
11801         * alloc.c (PDUMP_READ): new macro.
11802         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
11803         * alloc.c: No need to #ifndef before #undef.
11804
11805         * print.c: Allow debug_print() to print readably by modifying
11806         debug_print_readably.  Use consistent variable names.
11807
11808         * .dbxrc: Try to get things to work even if stopped in a function
11809         without source available by explicitly specifying source files.
11810 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11811
11812         * unexnt.c (_start): Removed bogus code which caused loading heap
11813         from differrent executable file.
11814         Removed bogus assignment to _fmode, which caused inconsistencies.
11815
11816 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11817
11818         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
11819         Have spawnve encapsulation regard DONT_ENCAPSULATE.
11820         Do not preliminary `#define signal sigset'.
11821
11822         * systime.h: Do not prototype environ on windows nt and cygwin,
11823         this conflicts with system header.
11824
11825         * syssignal.h: Use correct define for WINDOWSNT
11826
11827         * sysdep.h: Do not prototype environ on windows nt, this conflicts
11828         with system header.
11829
11830         * sysdep.c (near start of file): Fixed commentary and rearranged
11831         ifdefs in readable order.
11832         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
11833         (start_of_text):
11834         (end_of_text):
11835         (end_of_data): Do not compile in if using PDUMP.
11836
11837         * symsinit.h: Prototyped vars_of_nt().
11838
11839         * ntproc.c (windows9x_p): Added, instead of os_subtype.
11840         (find_child_console): Use it.
11841         (sys_kill): Use it.
11842
11843         * ntheap.h: Do not extern os_subtype.
11844
11845         * ntheap.c (cache_system_info): Do not cache unneeded:
11846         nt_major_version, nt_minor_version and os_subtype.
11847         (recreate_heap): Do not compile in when PDUMPing.
11848
11849         * nt.c (geteuid and friends): Use the new varibale
11850         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
11851         (init_user_info): Removed the above mentioned hackery.
11852         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
11853         stat has been fixed in the C runtime.
11854         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
11855
11856         * file-coding.c (struct file_coding_dump): Do not define
11857         ucs_to_mule_table in the struct if not MULE.
11858         (struct struct lrecord_description fcd_description_1): Do not dump
11859         the above.
11860
11861         * emacs.c (main_1): Call vars_of_nt().
11862         (right before Fdump_emacs_data): Don't need lastfile if using both
11863         portabe dumper and system malloc.
11864
11865         * alloc.c (Fmemory_limit): Conditionalized out.
11866         (pdump): Use OPEN_BINARY for the portable dump file.
11867         (pdump_load): Ditto.
11868
11869 2000-02-02  Mike Alexander  <mta@arbortext.com>
11870
11871         * nt.c (convert_time): Set tm_isdst before calling mktime and
11872         avoid calling it at all if the compiler supports 64 bit integers.
11873         Also initialize utc_base_ft before using it.
11874
11875 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11876
11877         * frame.c (change_frame_size_1): Take f->internal_border_width
11878         into consideration when calculating the width of the frame.
11879
11880 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11881
11882         * window.c (frame_min_height):
11883         (frame_size_valid_p):
11884         (frame_pixsize_valid_p): Added.
11885         (check_frame_size): Generalized.
11886
11887         * window.h: Prototyped the above.
11888
11889         * lisp.h:
11890         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
11891         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
11892         Deleted Vwin32_* and Vbinary_process_* unused variables.
11893
11894         * device-msw.c (msprinter_init_device): Do not get printer font
11895         list; Added DEVMODE functions.
11896
11897         * frame-msw.c: Added lots of printer code.
11898
11899         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
11900         general.c.
11901
11902         * console-msw.h: Added more msprinter device private slots.
11903
11904 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11905
11906         * event-msw.c (key_needs_default_processing_p): Added.
11907         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
11908
11909 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11910
11911         * glyphs.c (image_instance_layout): Mark image instance as clean
11912         after layout.
11913         (glyph_dirty_p): Removed redundant function.
11914         (invalidate_glyph_geometry_maybe): Added.
11915         (update_glyph_cachel_data): Call it.
11916
11917         * glyphs.h: Prototyped it.
11918
11919         * redisplay.c (add_glyph_rune): Call it.
11920         (redisplay_window): Reset glyphs cachels when frame faces have
11921         changed, thus forcing recomputation of built-in border glyphs.
11922
11923 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11924
11925         * Makefile.in.in: Make portable dumper and purify play well together.
11926         Add imperfect, but better than nothing, support for pdump.
11927         Remove xemacs.dmp when temacs is re-generated.
11928         Don't ignore errors when dumping xemacs.
11929
11930         * symbols.c (maybe_call_magic_handler): Remove one magic number.
11931
11932 2000-01-28  Andy Piper  <andy@xemacs.org>
11933
11934         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
11935         (setup_normal_frame): ditto.
11936         (setup_frame_without_minibuffer): ditto.
11937         (setup_minibuffer_frame): ditto.
11938         (delete_frame_internal): ditto.
11939         (Fmake_frame_invisible): ditto.
11940         (Ficonify_frame): ditto.
11941
11942         * window.h: change Fset_window_buffer signature.
11943
11944         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
11945         (Fset_window_buffer): allow recording of buffer if the window is
11946         the selected window.
11947         (window_loop): Use new Fset_window signature.
11948
11949 2000-01-23  Daniel Pittman  <daniel@danann.net>
11950
11951         * config.h.in: Added template for `HAVE_ATHENA_3D'
11952
11953 2000-01-29  Andy Piper  <andy@xemacs.org>
11954
11955         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
11956
11957         * gutter.c (output_gutter): Don't output if the window isn't live.
11958
11959 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11960
11961         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
11962         of 01/12/00: Moved SetFocus back here where it belongs.
11963
11964 2000-01-23  Andy Piper  <andy@xemacs.org>
11965
11966         * s/cygwin32.h: declare printer things.
11967
11968 2000-01-26  Andy Piper  <andy@xemacs.org>
11969
11970         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
11971         Alexander.
11972
11973 2000-01-24  Andy Piper  <andy@xemacs.org>
11974
11975         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
11976         (mswindows_button_instantiate): Make sure glyph is a pixmap.
11977
11978         * glyphs-widget.c (widget_instantiate): Avoid shadows.
11979
11980         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
11981
11982         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
11983
11984         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
11985         (mswindows_output_display_block): Avoid local shadows.
11986
11987         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
11988         (mswindows_enqueue_mouse_button_event): ditto.
11989         (mswindows_handle_gui_wm_command): remove declaration.
11990
11991         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
11992         warnings.
11993
11994         * console-msw.h: Avoid shadows.
11995         (mswindows_get_toolbar_button_text):
11996         (emacs_mswindows_create_stream_pair):
11997         (emacs_mswindows_delete_stream_pair):
11998         (mswindows_handle_toolbar_wm_command): declare.
11999
12000         * device-msw.c (build_syscolor_string): Avoid shadows.
12001
12002 2000-01-23  Andy Piper  <andy@xemacs.org>
12003
12004         * glyphs-widget.c (widget_instantiate): reverse the items for
12005         layouts so that children are in the expected order.
12006
12007 2000-01-28  Martin Buchholz  <martin@xemacs.org>
12008
12009         * ralloc.c: safe_bcopy ==> memmove
12010         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
12011         * s/msdos.h: Remove BCOPY macros.
12012         * insdel.c (gap_right): Remove BCOPY conditional code.
12013         * insdel.c (gap_left): Remove BCOPY conditional code.
12014         XEmacs demands a working ANSI C compiler - hence memmove.
12015
12016         * regex.c (regex_compile): Remove accidental use of trigraphs.
12017
12018 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12019
12020         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
12021         event timestamp.
12022
12023 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12024
12025         * event-msw.c (mswindows_drain_windows_queue): Added the
12026         parameter.
12027         (mswindows_need_event): Commented the call to
12028         mswindows_drain_windows_queue().
12029         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
12030         only.
12031
12032         * console-msw.h: Moved a few function prototypes here from
12033         event-msw.c.
12034
12035         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
12036         parameter from unsigned short to unsigned long.
12037         (Fmswindows_shell_execute): Added return value.
12038
12039 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12040
12041         * sysdep.c (init_system_name):
12042           process-unix.c (unix_canonicalized_host_name):
12043         Don't call freeaddrinfo() if getaddrinfo() fails.
12044
12045         * process-unix.c (unix_open_unix_network_stream):
12046         Moved the code to get a port # into address loop.
12047
12048 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12049
12050         * buffer.c (reinit_vars_of_buffer):
12051         The right place to initialize conversion_in_dynarr and
12052         conversion_out_dynarr.
12053
12054         * alloc.c (pdump): Use the real open() till sys_open() is functional.
12055
12056         * process-unix.c (unix_canonicalize_host_name): Muleize.
12057         (unix_open_network_stream): Muleize.
12058
12059         * buffer.h: Fix up prototypes for ralloc.c functions.
12060
12061 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12062         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
12063         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
12064                 instead of gethostbyname()
12065         * process-unix.c: In unix_canonicalize_host_name() and
12066                 unix_open_network_stream(), add code to use getaddrinfo()
12067                 instead of gethostbyname().
12068
12069 2000-01-27  Daniel Pittman <daniel@danann.net>
12070
12071         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
12072         libs when built with flat Athena.
12073
12074 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12075
12076         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
12077         Use coding standards for function prototypes.
12078
12079 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12080
12081         * dialog-msw.c (push_lisp_string_as_unicode):
12082         * doc.c (unparesseuxify_doc_string):
12083         * dired.c (Fuser_name_completion_1):
12084         * dired.c (Fuser_name_all_completions):
12085         * dired.c (free_user_cache):
12086         * dired.c (user_name_completion):
12087         * console-x.c (get_display_arg_connection):
12088         * minibuf.c (clear_echo_area_internal):
12089         * minibuf.c (echo_area_append):
12090         * eldap.c (Fldap_open):
12091         * eldap.c (Fldap_search_internal):
12092         * frame-x.c (x_set_frame_text_value):
12093         * frame-x.c (x_set_frame_properties):
12094         * frame-x.c (x_create_widgets):
12095         * redisplay-tty.c (term_get_fkeys_1):
12096         * objects-x.c (x_parse_nearest_color):
12097         * objects-x.c (x_valid_color_name_p):
12098         * objects-x.c (x_initialize_font_instance):
12099         * objects-x.c (x_list_fonts):
12100         * objects-x.c (x_find_charset_font):
12101         * tooltalk.c (Fadd_tooltalk_message_arg):
12102         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12103         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12104         * process-unix.c (unix_create_process):
12105         * ntproc.c (sys_spawnve):
12106         * sound.c (Fplay_sound_file):
12107         * sound.c (Fplay_sound):
12108         * buffer.c (init_initial_directory):
12109         * buffer.c (init_buffer):
12110         * editfns.c (init_editfns):
12111         * editfns.c (Ftemp_directory):
12112         * editfns.c (Fuser_full_name):
12113         * editfns.c (uncache_home_directory):
12114         * editfns.c (get_home_directory):
12115         * editfns.c (Fuser_home_directory):
12116         * editfns.c (Fformat_time_string):
12117         * editfns.c (Fcurrent_time_string):
12118         * gui-x.c (button_item_to_widget_value):
12119         * database.c (Fopen_database):
12120         * event-Xt.c (x_to_emacs_keysym):
12121         * event-Xt.c (x_event_to_emacs_event):
12122         * event-Xt.c (describe_event_window):
12123         * event-msw.c (mswindows_wnd_proc):
12124         * glyphs-eimage.c (jpeg_instantiate):
12125         * glyphs-eimage.c (gif_instantiate):
12126         * glyphs-eimage.c (png_instantiate):
12127         * glyphs-eimage.c (tiff_instantiate):
12128         * glyphs-x.c (xbm_instantiate_1):
12129         * glyphs-x.c (x_xbm_instantiate):
12130         * glyphs-x.c (x_xface_instantiate):
12131         * glyphs-x.c (autodetect_instantiate):
12132         * glyphs-x.c (cursor_font_instantiate):
12133         * glyphs-x.c (x_widget_instantiate):
12134         * glyphs-x.c (x_widget_set_property):
12135         * glyphs-x.c (x_widget_property):
12136         * glyphs-x.c (BUILD_GLYPH_INST):
12137         * print.c (write_string_to_stdio_stream):
12138         * print.c (output_string):
12139         * print.c (Falternate_debugging_output):
12140         * print.c (Fexternal_debugging_output):
12141         * glyphs-msw.c (extract_xpm_color_names):
12142         * glyphs-msw.c (mswindows_xpm_instantiate):
12143         * glyphs-msw.c (bmp_instantiate):
12144         * glyphs-msw.c (resource_name_to_resource):
12145         * glyphs-msw.c (mswindows_resource_instantiate):
12146         * glyphs-msw.c (xbm_instantiate_1):
12147         * glyphs-msw.c (mswindows_xbm_instantiate):
12148         * glyphs-msw.c (mswindows_xface_instantiate):
12149         * glyphs-msw.c (mswindows_widget_instantiate):
12150         * glyphs-msw.c (add_tree_item):
12151         * glyphs-msw.c (add_tab_item):
12152         * glyphs-msw.c (mswindows_combo_box_instantiate):
12153         * glyphs-msw.c (mswindows_widget_property):
12154         * glyphs-msw.c (mswindows_combo_box_property):
12155         * glyphs-msw.c (mswindows_widget_set_property):
12156         * console.c (stuff_buffered_input):
12157         * objects-msw.c (mswindows_initialize_color_instance):
12158         * objects-msw.c (mswindows_valid_color_name_p):
12159         * objects-msw.c (mswindows_list_fonts):
12160         * objects-msw.c (mswindows_font_instance_truename):
12161         * bytecode.c (optimize_compiled_function):
12162         * select-x.c (symbol_to_x_atom):
12163         * select-x.c (x_atom_to_symbol):
12164         * select-x.c (hack_motif_clipboard_selection):
12165         * select-x.c (selection_data_to_lisp_data):
12166         * select-x.c (lisp_data_to_selection_data):
12167         * select-x.c (Fx_get_cutbuffer_internal):
12168         * select-x.c (Fx_store_cutbuffer_internal):
12169         * buffer.h (TO_EXTERNAL_FORMAT): New function.
12170         * buffer.h (TO_INTERNAL_FORMAT): New function.
12171         * emacs.c (make_arg_list_1):
12172         * emacs.c (make_argc_argv):
12173         * emacs.c (main_1):
12174         * emacs.c (Fdump_emacs):
12175         * emacs.c (split_string_by_emchar_1):
12176         * file-coding.h:
12177         * lisp.h:
12178         * lstream.h:
12179         * symsinit.h:
12180         * device-x.c (x_init_device):
12181         * device-x.c (Fx_valid_keysym_name_p):
12182         * device-x.c (Fx_get_font_path):
12183         * device-x.c (Fx_set_font_path):
12184         * glyphs.c (bitmap_to_lisp_data):
12185         * glyphs.c (pixmap_to_lisp_data):
12186         * alloc.c (make_ext_string): Use coding system arguments.  Update
12187         all callers.
12188         * alloc.c (build_string):
12189         * callproc.c (child_setup):
12190         * callproc.c (init_callproc):
12191         * fileio.c (lisp_strerror):
12192         * fileio.c (directory_file_name):
12193         * fileio.c (Fexpand_file_name):
12194         * fileio.c (Ffile_truename):
12195         * fileio.c (Fsysnetunam):
12196         * fileio.c (Fdo_auto_save):
12197         * sysdep.c (sys_readdir):
12198         * tests.c: New file.  Allow adding C tests.
12199         Replace GET_* macros with a more comprehensible and flexible
12200         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
12201         Modify all calls.
12202         Any coding system can be used to do format conversion.
12203         Eliminate enum external_data_format.
12204         Eliminate convert_to_external_format.
12205         Eliminate convert_to_internal_format.
12206         Make sure file-name, keyboard, terminal, and ctext are always
12207         defined as coding systems or aliases.  Make
12208         file-name-coding-system, terminal-coding-system, and
12209         keyboard-coding-system magical variables that are equivalent to
12210         defining the corresponding coding system aliases.
12211
12212         * file-coding.c (Fcoding_system_canonical_name_p): New function.
12213         * file-coding.c (Fcoding_system_alias_p): New function.
12214         * file-coding.c (Fcoding_system_aliasee): New function.
12215         * file-coding.c (append_suffix_to_symbol): New function.
12216         * file-coding.c (dangling_coding_system_alias_p): New function.
12217         * file-coding.c (Ffind_coding_system):
12218         * file-coding.c (Fcopy_coding_system):
12219         * file-coding.c (encode_coding_no_conversion):
12220         * file-coding.c (syms_of_file_coding):
12221         * file-coding.c (vars_of_file_coding):
12222         Rewrite coding system alias code.
12223         Allow nested aliases, like symbolic links.
12224         Allow redefinition of coding system aliases.
12225         Prevent existence of dangling coding system aliases.
12226
12227         * dired.c (Fuser_name_completion_1):
12228         * dired.c (Fuser_name_all_completions):
12229         A crash would happen if user did QUIT in the middle of building
12230         user_name_cache.  Remove redundant code in mainline and unwind_protect.
12231
12232         * lisp.h:
12233         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
12234
12235         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
12236         an unsigned char *.  Update all callers.
12237
12238 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12239
12240         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
12241
12242 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12243
12244         * elhash.c (hentry_description): Use more portable definition.
12245         (resize_hash_table): Initialize new hentries using
12246         xnew_array_and_zero, thereby simplifying the code.
12247
12248         * mule-charset.c (make_charset): Make sure entire object is
12249         initialized, to avoid Purify warnings.
12250
12251         * alloc.c (resize_string): Fix unlikely crash with big strings.
12252
12253 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12254
12255         * realpath.c (xrealpath):
12256         Don't call getwd().
12257
12258 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12259
12260         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
12261
12262 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
12263
12264         * unexelfsgi.c (unexec): Change the way we decide which segment
12265         should be extended.
12266
12267         Assumption that .bss section should be outside the PT_LOADable
12268         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
12269         it's present) is inside the 'data' segment. This would fail the
12270         test which was used to find a segment to grow and cover new
12271         heap. Instead of this assumption, I created another one - on IRIX
12272         the segment to grow should start below .bss and it's address
12273         should extent above the end of .bss. Once this segment is
12274         identified, it's grown to accommodate the new heap and new
12275         zero-length .bss section is added at the end of .data2.
12276
12277 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12278
12279         * eval.c (Feval): Wrong number of arguments should use original
12280         function, not the indirect_function version of it.
12281
12282 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
12283
12284         * glyphs-x.c (x_button_instantiate): Don't add image if
12285         it is not a pixmap.
12286         (x_locate_pixmap_file): Call Fexpand_file_name when file name
12287         is relative.
12288
12289 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
12290
12291         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
12292         declaration.
12293         (DEFVAR_INT_MAGIC): Ditto.
12294         (DEFVAR_BOOL_MAGIC): Ditto.
12295         * glyphs.h: Reindent backslash.
12296
12297 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12298
12299         * glyphs-widget.c (layout_query_geometry):
12300         (layout_layout): Use correct types for gheight, gwidth.
12301
12302 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12303
12304         * EmacsManager.c (QueryGeometry): Purified.
12305
12306 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12307
12308         * alloc.c (make_float): Make sure entire object is initialized, to
12309         avoid Purify warnings.
12310         (pdump_register_sub): Remove useless assignment.
12311         (pdump): Use xmalloc, not malloc.
12312         (pdump_load): Use xmalloc, not malloc.
12313
12314 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12315
12316         * callproc.c:
12317         * dired-msw.c:
12318         * fileio.c:
12319         * process-nt.c:
12320         * redisplay-msw.c:
12321         * sysdep.c: Removed redundant #include <windows.h>
12322
12323 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12324
12325         * frame.c (delete_frame_internal): Do not delete device when its
12326         implementation so declares.
12327         (delete_frame_internal): Set device selected frame to nil when
12328         last frame goes away.
12329
12330         * device-msw.c (msprinter_device_system_metrics): Implemented.
12331         (mswindows_device_system_metrics): Added 'device-dpi property.
12332
12333         * device.c: (Fdevice_printer_p): Added.
12334         Added 'offset-workspace device metric.
12335
12336         * console.h (device_metrics): Declared DM_offset_workspace.
12337
12338 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12339
12340         * fileio.c (Ffile_truename): Remove pointless and confusing
12341         initialization of elen.
12342
12343         * glyphs-widget.c: Compiler warning fixes.
12344
12345 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
12346
12347         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
12348         instead of a Lisp_Object as argument to make it consistent with
12349         the other LIVE_P macros.
12350         (CHECK_LIVE_PROCESS): New macro.
12351
12352         * process.c: Declare Qprocess_live_p.
12353         (Fprocess_live_p): New function.
12354         (create_process): Use PROCESS_LIVE_P.
12355         (read_process_output): Ditto.
12356         (set_process_filter): Ditto.
12357         (Fdelete_process): Ditto.
12358         (kill_buffer_processes): Ditto
12359         (process_send_signal): Use CHECK_LIVE_PROCESS.
12360         (Fprocess_input_coding_system): Check whether process is still
12361         alive (fix PR#1061).
12362         (Fprocess_output_coding_system): Ditto.
12363         (Fprocess_coding_system): Ditto.
12364         (Fset_process_input_coding_system): Ditto.
12365         (Fset_process_output_coding_system): Ditto.
12366
12367 2000-01-23  Andy Piper  <andy@xemacs.org>
12368
12369         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
12370         layout and widget.
12371
12372         * glyphs.c (mark_image_instance): take into account changed
12373         image_instance format.
12374         (image_instance_equal): ditto.
12375         (image_instance_hash): ditto.
12376
12377         * glyphs-widget.c (widget_instantiate): Incorporate layout
12378         instantiation here. Delay layout of the layout until later.
12379         (layout_instantiate): deleted.
12380         (layout_query_geometry): new function. get the geometry of a
12381         layout.
12382         (layout_layout): layout a layout dynamically.
12383         (image_instantiator_widget): New function - splitting up
12384         image_instantiator_format_create_glyphs_widget for netwinder
12385         compilation.
12386         (image_instantiator_buttons):
12387         (image_instantiator_edit_fields):
12388         (image_instantiator_combo_box):
12389         (image_instantiator_scrollbar):
12390         (image_instantiator_progress_guage):
12391         (image_instantiator_tree_view):
12392         (image_instantiator_tab_control):
12393         (image_instantiator_labels):
12394         (image_instantiator_layout): ditto.
12395         (image_instantiator_format_create_glyphs_widget): Call preceding
12396         functions.
12397
12398 2000-01-22  Martin Buchholz  <martin@xemacs.org>
12399
12400         * process.c (Fset_process_coding_system):
12401         * device-x.c (Fx_keysym_hash_table):
12402         Docstring fixes.
12403
12404         * lstream.c (Lstream_write): Return documented value, not 0.
12405
12406         * fileio.c (directory_file_name):
12407         (Fsubstitute_in_file_name):
12408         (Fsubstitute_insert_file_contents_internal):
12409         (Fwrite_region_internal):
12410         * emacs.c:
12411         * sysdep.c:
12412         * getloadavg.c:
12413         * systty.h:
12414         Remove vestigial APOLLO-conditional code.
12415
12416 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12417
12418         * getpagesize.h: Add guard macros.
12419         * libsst.h: Add guard macros.
12420         * libst.h: Add guard macros.
12421         * line-number.h: Add guard macros.
12422         * ndir.h: Add guard macros.
12423         * sysfloat.h: Add guard macros.
12424         * sysfile.h: Add guard macros.
12425         * sysproc.h: Add guard macros.
12426         * syswait.h: Add guard macros.
12427         * xintrinsic.h: Add guard macros.
12428         * xintrinsicp.h: Add guard macros.
12429         * xmmanager.h: Add guard macros.
12430         * xmmanagerp.h: Add guard macros.
12431         * xmprimitive.h: Add guard macros.
12432         * xmu.h: Add guard macros.
12433         * gpmevent.h: Add copyright statement. Add guard macros.
12434         * miscplay.h: Add guard macros.
12435         * *.h: Use consistent C-standards-approved guard macro names.
12436
12437         * opaque.c (make_opaque): Switch parameter order.
12438         * opaque.h (make_opaque): Switch parameter order.
12439         Update all callers.
12440         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
12441
12442         * config.h.in (type_checking_assert): Added.
12443         (bufpos_checking_assert): Added.
12444
12445 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12446
12447         * alloc.c: Harmless pdump changes.
12448         - Use countof().
12449         - spell alignment correctly.
12450         * sysdep.c: Use countof()
12451
12452 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12453
12454         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
12455         initially_selected_for_input() console method, default to 0.
12456         (semi_canonicalize_console_connection): Try to delegate to
12457         canonicalize_console_connection if no such console method.
12458         (canonicalize_console_connection): Vice versa.
12459         (print_console): Do not print nil connection.
12460
12461         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
12462         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
12463         (XDEVIMPF_FRAMELESS_OK): Added.
12464         (CONSOLE_INHERITS_METHOD): Added.
12465
12466         * console-msw.c (mswindows_canonicalize_console_connection):
12467         Added.
12468         (mswindows_canonicalize_device_connection): Added.
12469
12470         * console-msw.h (struct msprinter_device): Added this struct and
12471         accessor macros.
12472         (mswindows_device): Made fontlist a lisp object.
12473
12474         * device.c (semi_canonicalize_device_connection):  Try to delegate
12475         to canonicalize_device_connection if no such console method.
12476         (canonicalize_device_connection): Vice versa.
12477         (print_device): Do not print nil connection.
12478
12479         * device-msw.c (mswindows_init_device): Call InitCommonControls
12480         when have widgets.
12481         (mswindows_delete_device): Removed fontlist deallocation.
12482         (mswindows_mark_device): Added.
12483
12484         * events.c (event_equal): Added abort() at unreached code.
12485         (event_hash): Ditto.
12486
12487         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
12488         fallback tags of Windows devices.
12489
12490         * general.c (syms_of_general): Initialized Qmsprinter.
12491
12492         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
12493         of fallback tags of Windows devices.
12494
12495         * lisp.h: Declared Qmsprinter.
12496
12497         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
12498         of strings.
12499         (mswindows_list_fonts): Ditto.
12500         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
12501         that it can be used by both mswindows and msprinter devices.
12502         (initialize_font_instance): Added.
12503         (mswindows_initialize_font_instance): Use it.
12504         (msprinter_initialize_font_instance): Added.
12505
12506         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
12507         and implementation flags check.
12508         (redisplay_without_hooks): Changed the call to the above.
12509         (Fredraw_device): Ditto.
12510         (Fredisplay_device): Ditto.
12511
12512         * redisplay-msw.c (get_frame_dc): Implemented.
12513         (get_frame_compdc): Implemented.
12514         (many functions): Use the two functions above to get device
12515         contexts, ether for a window or a printer.
12516
12517 2000-01-21  Olivier Galibert  <galibert@pobox.com>
12518
12519         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
12520         initialization here.
12521         (init_symbols_once_early): Call it.
12522         * emacs.c (main_1): Call it.
12523         * symsinit.h: Declare it.
12524
12525 2000-01-19  Olivier Galibert  <galibert@pobox.com>
12526
12527         * alloc.c: Use a lrecord_header * in the backtrace instead of a
12528         Lisp_Object.
12529         (pdump_backtrace): Ditto.
12530         (pdump_register_object): Ditto.  Cleanup use of the pointers.
12531         (pdump_get_entry): Abort if trying to register a null pointer.
12532         (pdump_dump_data): Cleanup types when relocating.
12533         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
12534         (pdump_dump_rtables): Remove bad casts.
12535         (pdump_load): Cleanup relocation w.r.t union type.  Use a
12536         Lisp_Object instead of a EMACS_INT for the hashtable
12537         reorganization.
12538
12539 2000-01-20  Martin Buchholz  <martin@xemacs.org>
12540
12541         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
12542
12543         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
12544
12545         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
12546
12547         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
12548
12549 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12550
12551         * faces.h (FACE_STRIKETHRU_P): Added.
12552
12553         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
12554         of font variants.
12555
12556         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
12557         (mswindows_set_dc_font): New function, aware of font variants,
12558         separated from mswindows_update_dc.
12559
12560         * objects-msw.h (struct mswindows_font_instance_data): Added
12561         definition.
12562
12563         * objects-msw.c (mswindows_finalize_font_instance): Delete all
12564         cached fonts and the data structure.
12565         (mswindows_initialize_font_instance): Added creation of font data
12566         structure.
12567         (mswindows_print_font_instance): Print at least something.
12568         (mswindows_create_font_variant): Implemented.
12569         (mswindows_get_hfont): Implemented.
12570
12571 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
12572
12573         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
12574         prototyping problem with msvc.
12575
12576         * emacs.c (main_1): added syms_of_gui_mswindows() call
12577
12578         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
12579         syms_of_gui_mswindows() function
12580
12581         * symsinit.h: added the prototype for syms_of_gui_mswindows()
12582
12583 2000-01-18  Martin Buchholz <martin@xemacs.org>
12584
12585         * XEmacs 21.2.27 is released.
12586
12587 2000-01-18  Martin Buchholz  <martin@xemacs.org>
12588
12589         * glyphs-eimage.c (struct tiff_error_struct):
12590         (tiff_error_func):
12591         (tiff_warning_func):
12592         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
12593
12594         * unexmips.c:
12595         * unexhp9k3.c:
12596         * unexfreebsd.c:
12597         * unexec.c: Remove vestigial Lucid C code.
12598         * unexalpha.c:
12599         * unexaix.c:
12600         * termcap.c:
12601         * libsst.c: Ansify.
12602         Remove declarations of errno and strerror().
12603
12604         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
12605
12606         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
12607
12608 2000-01-16  Martin Buchholz  <martin@xemacs.org>
12609
12610         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
12611         Optimize.
12612
12613 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12614
12615         * md5.c:
12616         * file-coding.c:
12617         * file-coding.h:
12618         Change enum eol_type to eol_type_t.
12619
12620 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12621
12622         * gui.c (get_gui_callback): Check cons before accessing car.
12623
12624 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12625
12626         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
12627         (XSETSPECIFIER_TYPE): Ditto.
12628
12629 2000-01-17  Didier Verna  <didier@xemacs.org>
12630
12631         * redisplay.c (generate_fstring_runes): compute string size in
12632         characters, not bytes.
12633
12634 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12635
12636         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
12637
12638 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
12639
12640         * print.c (print_error_message): Call print_prepare().
12641
12642 2000-01-14  Martin Buchholz  <martin@xemacs.org>
12643
12644         * .dbxrc: Renamed from dbxrc.
12645
12646         * events.c (event_to_character):
12647         Use `assert (foo)' instead of `if (!foo) abort()'
12648
12649         * .gdbinit (xtype): Add documentation.
12650         * .gdbinit (check-temacs): New function.
12651         * .gdbinit (check-xemacs): New function.
12652         * dbxrc (check-xemacs): New function.
12653         * dbxrc (check-xemacs): New function.
12654
12655 2000-01-14  Andy Piper  <andy@xemacs.org>
12656
12657         * glyphs-widget.c (widget_query_geometry): Make sure that we
12658         calculate default dimensions correctly.
12659
12660 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12661
12662         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
12663
12664         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
12665         pdump_wire'd variable.
12666
12667         * emacs.c: (main_1): Conditionalized calls to
12668         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
12669
12670 2000-01-13  Martin Buchholz  <martin@xemacs.org>
12671
12672         * window.c (Fset_window_configuration):
12673         * sysdep.c (_start):
12674         * input-method-motif.c (res):
12675         * event-Xt.c (Xt_process_to_emacs_event):
12676         Simple compiler warning fixes.
12677
12678         * bytecode.c (funcall_compiled_function): Use the original
12679         function symbol on the backtrace list in preference to the
12680         compiled_function object in error messages.
12681
12682 2000-01-13  Andy Piper  <andy@xemacs.org>
12683
12684         * glyphs-x.c (update_widget_face): Make sure we update the widget
12685         background as well as foreground.
12686
12687 2000-01-13  Andy Piper  <andy@xemacs.org>
12688
12689         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
12690         fields to subwindow.
12691         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
12692         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
12693         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12694         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12695
12696         * glyphs-widget.c (check_valid_tab_orientation): new function.
12697         (initialize_widget_image_instance): zero orientation and
12698         justification.
12699         (widget_instantiate): pick up orientation.
12700         (tab_control_query_geometry): return appropriate values for
12701         vertical tabs.
12702
12703         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
12704         appropriate creation flags for left, right and bottom tabs.
12705
12706         * s/cygwin32.h: add tab definitions.
12707
12708 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12709
12710         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
12711         frame upon hiding a subwindow.
12712         (mswindows_button_instantiate): Changed the push button style to
12713         BS_PUSHBUTTON.
12714         (mswindows_button_instantiate): Removed button BS_NOTIFY
12715         style.
12716         (mswindows_button_instantiate): Removed redundant check for
12717         a disabled gui item.
12718         (mswindows_button_instantiate): Made use of WS_TABSTOP
12719         consistent: "operable" controls (edit, button, tree, scroll) have
12720         this style, "display-only" ones (static, progress gauge) do
12721         not. This style is currently ignored by XEmacs though. Also,
12722         removed the WS_EX_CONTROLPARENT style - it is not for children,
12723         it is for their parents!
12724         (mswindows_edit_field_instantiate): Ditto.
12725         (mswindows_progress_gauge_instantiate): Ditto.
12726         (mswindows_tree_view_instantiate): Ditto.
12727         (mswindows_tab_control_instantiate): Ditto.
12728         (mswindows_scrollbar_instantiate): Ditto.
12729         (mswindows_combo_box_instantiate): Ditto.
12730         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
12731         style to the "clip" window.
12732         (mswindows_button_instantiate): Removed compilation warning by
12733         equally typing terms of the ?: operator.
12734
12735 2000-01-12  Didier Verna  <didier@xemacs.org>
12736
12737         * redisplay.c (generate_fstring_runes): new parameter holding the
12738         last modeline-format extent.
12739         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
12740         extent, fill the glyph block with it.
12741         (generate_fstring_runes): handle these parameters.
12742         (generate_formatted_string_db): ditto.
12743
12744         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
12745         glyphs'extents in the modeline.
12746
12747 1999-01-11  Mike Woolley  <mike@bulsara.com>
12748
12749         * ntheap.c: Reduced the reserved heap space from 1Gb down to
12750         256Mb, as a workaround for the non-starting problem many people
12751         have experienced.
12752
12753 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12754
12755         * console-tty.c (Fset_console_tty_output_coding_system):
12756         Force redrawing tty frame.
12757
12758 2000-01-10  Didier Verna  <didier@xemacs.org>
12759
12760         * redisplay.c (generate_fstring_runes): fix size computation bug.
12761
12762 2000-01-09  William M. Perry <wmperry@aventail.com>
12763
12764         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
12765
12766 2000-01-09  Andy Piper  <andy@xemacs.org>
12767
12768         * glyphs-msw.c: index -> i to avoid shadows.
12769         (xbm_create_bitmap_from_data): make static.
12770         (check_valid_string_or_int): deleted.
12771         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
12772
12773         * glyphs-x.c (x_update_subwindow): remove unused args.
12774
12775         * glyphs.c (glyph_image_instance): return the thing. Don't set the
12776         back pointer - this is done in allocate_image_instance.
12777         (query_string_font): return Qnil to make the compiler happy.
12778         (unmap_subwindow): set to ~0 to make the compiler happy.
12779         (glyph_query_geometry): comment out until used.
12780         (glyph_layout): ditto.
12781
12782 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12783
12784         * insdel.c (signal_after_change): Remove extraneous unbind_to().