(JX2-7C38): Unify U-00029490.
[chise/xemacs-chise.git] / src / ChangeLog
1 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2
3         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
4
5         * fns.c (Qideographic_structure): New variable.
6         (Qkeyword_char): New variable.
7         (ids_format_unit): New function.
8         (Fideographic_structure_to_ids): New function.
9         (syms_of_fns): Add new symbols `ideographic-structure' and
10         `:char'; add new builtin function `ideographic-structure-to-ids'.
11
12         * data.c (Fchar_ref_p): New function.
13         (syms_of_data): Add new builtin function `char-ref-p'.
14
15         * chartab.h: Add an EXFUN for `Ffind_char'.
16
17 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
18
19         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
20         and `COMPOSE_ADD_CHAR'.
21         (decode_coding_iso2022): Use `decode_flush_er_chars'.
22
23 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
24
25         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
26         instead of `DECODE_ADD_UCS_CHAR'.
27         (COMPOSE_ADD_CHAR): Likewise.
28
29 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
30
31         * text-coding.c (decode_flush_er_chars): New inline function.
32         (decode_add_er_char): New function.
33         (decode_coding_utf8): Use `decode_flush_er_chars' and
34         `decode_add_er_char'.
35
36 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
37
38         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
39         done before `decode_output_utf8_partial_char'.
40
41         * mule-charset.c (complex_vars_of_mule_charset): Specify
42         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
43         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
44
45 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
46
47         * mule-charset.c (decode_defined_char): New function; search
48         mother.
49         (decode_builtin_char): Don't search mother if
50         XCHARSET_MAX_CODE(charset) == 0.
51         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
52         == 0 even if code >= XCHARSET_MAX_CODE(charset).
53         (Fdecode_char): Use `decode_defined_char' instead of
54         `DECODE_DEFINED_CHAR'.
55         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
56         mother of `Vcharset_ucs_jis'.
57
58         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
59         instead of `DECODE_DEFINED_CHAR'.
60
61         * char-ucs.h (decode_defined_char): Renamed from
62         `DECODE_DEFINED_CHAR'; changed to normal function.
63         (DECODE_CHAR): Use `decode_defined_char' instead of
64         `DECODE_DEFINED_CHAR'.
65
66         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
67
68 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
69
70         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
71
72         * text-coding.c (Vcoded_charset_entity_reference_alist): New
73         variable.
74         (Quse_entity_reference): New variable.
75         (Qd): New variable.
76         (Qx): New variable.
77         (QX): New variable.
78         (coding_system_description): Add description for
79         `ccs_priority_list'.
80         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
81         (allocate_coding_system): Initialize `ccs_priority_list' in
82         UTF-2000.
83         (Fmake_coding_system): Add description about
84         'use-entity-reference; setup
85         CODING_SYSTEM_USE_ENTITY_REFERENCE(codesys).
86         (Fcoding_system_property): Accept `disable-composition' and
87         `use-entity-reference' in UTF-2000.
88         (struct decoding_stream): Add new member `er_counter' and `er_buf'
89         in UTF-2000.
90         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
91         (decode_coding_utf8): Decode entity-reference if
92         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
93         (char_encode_utf8): Encode non-Unicode characters as
94         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
95         (str->codesys).
96         (syms_of_file_coding): Add new symbols `use-entity-reference',
97         `d', `x', `X'.
98         (vars_of_file_coding): Add new variable
99         `coded-charset-entity-reference-alist'.
100         (complex_vars_of_file_coding): Declare `disable-composition' and
101         `use-entity-reference' to be coding-system-properties in UTF-2000.
102
103         * file-coding.h (struct Lisp_Coding_System): Add new member
104         `use_entity_reference' and `ccs_priority_list'.
105         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
106         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
107         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
108
109 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
110
111         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
112
113 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
114
115         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
116         `XCHARSET_GRAPHIC(ccs)'.
117
118 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
119
120         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
121         for decoding-table.
122
123 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
124
125         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
126         instead of `XCHARSET_CHARS'.
127
128 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
129
130         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
131         (XCHARSET_BYTE_SIZE): Likewise.
132
133         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
134         mule-charset.c].
135         (XCHARSET_BYTE_SIZE): Likewise.
136
137 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
138
139         * char-ucs.h (decoding_table_check_elements): Delete prototype.
140         (get_ccs_octet_table): New inline function.
141         (put_ccs_octet_table): Likewise.
142         (decoding_table_put_char): Use `get_ccs_octet_table' and
143         `put_ccs_octet_table'.
144         (decoding_table_remove_char): Use `decoding_table_put_char'.
145         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
146
147         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
148         into encoding_table.
149         (make_charset): Use Qunbound instead Qnil as initial value of
150         decoding_table.
151
152 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
153
154         * mule-charset.c (put_char_ccs_code_point): Modify for
155         `decoding_table_remove_char' and `decoding_table_put_char'.
156         (remove_char_ccs): Modify for `decoding_table_remove_char'.
157
158         * char-ucs.h (decoding_table_remove_char): Change arguments to
159         hide decoding_table vector.
160         (decoding_table_put_char): Likewise.
161
162 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
163
164         * mule-charset.c (decoding_table_remove_char): Moved to
165         char-ucs.h.
166         (decoding_table_put_char): Likewise.
167
168         * char-ucs.h (decoding_table_check_elements): New prototype [moved
169         from mule-charset.c].
170         (decoding_table_remove_char): New inline function [moved from
171         mule-charset.c].
172         (decoding_table_put_char): Likewise.
173
174 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
175
176         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
177         instead of `DECODE_CHAR' for mother; don't use special code for
178         chinese-big5 to use code space of chinese-big5-1 and
179         chinese-big5-2.
180         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
181         `MAX_CHAR_BIG5_CDP' for chinese-big5.
182
183         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
184         (MAX_CHAR_BIG5_CDP): Revival.
185
186 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
187
188         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
189         the XLFD registry-encoding name of `chinese-big5'.
190
191 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
192
193         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
194         (Qchinese_big5_cdp): Deleted.
195         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
196         (complex_vars_of_mule_charset): Delete coded-charset
197         `chinese-big5-cdp'.
198
199         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
200         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
201         `CHARSET_ID_OFFSET - n' for private CCS.
202         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
203         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
204         of `MIN_LEADING_BYTE'.
205         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
206         `(CHARSET_ID_OFFSET - 97)'.
207         (MIN_CHAR_BIG5_CDP): Deleted.
208         (MAX_CHAR_BIG5_CDP): Deleted.
209
210 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
211
212         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
213         extension.
214
215 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
216
217         * mule-charset.c (decode_builtin_char): Support mother charsets.
218
219 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
220
221         * mule-charset.c (Q94x94x60): New variable.
222         (charset_code_point): Support conversion `94x94x60'.
223         (Fmake_charset): Likewise.
224         (syms_of_mule_charset): Add new symbol `94x94x60'.
225
226         * char-ucs.h (CONVERSION_94x94x60): New macro.
227
228 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
229
230         * mule-charset.c (charset_code_point): Unify code about
231         `code-offset'.
232
233 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
234
235         * mule-charset.c (charset_code_point): Merge code about builtin
236         characters into code about mother charsets; don't use
237         `range_charset_code_point'.
238         (range_charset_code_point): Deleted.
239
240 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
241
242         * mule-charset.c (Qcode_offset): New variable.
243         (Fmake_charset): Use `XUINT' to get value of `min-code' and
244         `max-code'; accept new property `code-offset'.
245         (syms_of_mule_charset): Add new symbol `code-offset'.
246
247 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
248
249         * mule-charset.c (range_charset_code_point): Fixed.
250
251 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
252
253         * mule-charset.c (decode_builtin_char): Change semantics of
254         code-offset of coded-charset.
255         (charset_code_point): Likewise.
256         (range_charset_code_point): Likewise.
257         (complex_vars_of_mule_charset): Modify for the change.
258
259 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
260
261         * mule-charset.c (Fencode_char): Reverse arguments.
262
263         * mule-charset.c (charset_code_point): Fixed.
264
265 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
266
267         * mule-charset.c (Vcharset_mojikyo): Deleted.
268         (Vcharset_mojikyo_2022_1): Deleted.
269         (Vcharset_mojikyo_pj_{1..21}): Deleted.
270         (Qmin_code): New variable in UTF-2000.
271         (Qmax_code): Likewise.
272         (Qmother): Likewise.
273         (Qconversion): Likewise.
274         (Q94x60): Likewise.
275         (Qmojikyo): Deleted.
276         (Qmojikyo_2022_1): Deleted.
277         (Qmojikyo_pj_{1..22}): Deleted.
278         (mark_charset): Mark `cs->mother'.
279         (charset_description): Add description for `mother'.
280         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
281         new arguments `mother' and `conversion'; use
282         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
283         (charset_code_point): Moved from char-ucs.h; support `mother'
284         charset feature.
285         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
286         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
287         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
288         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
289         allow 2 as the value of `graphic' in UTF-2000; add new properties
290         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
291         require `final' in UTF-2000; modify for `make_charset'.
292         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
293         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
294         (Fcharset_property): Support `mother', `min-code' and `max-code'.
295         (Fencode_char): New function.
296         (syms_of_mule_charset): Add new builtin function `encode-char' in
297         UTF-2000; add new symbols `min-code', `max-code', `mother',
298         `conversion' and `94x60'; delete symbols `mojikyo',
299         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
300         (complex_vars_of_mule_charset): Modify for `make_charset' change;
301         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
302         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
303
304         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
305         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
306
307         * char-ucs.h (Vcharset_mojikyo): Deleted.
308         (Vcharset_mojikyo_2022_1): Deleted.
309         (LEADING_BYTE_MOJIKYO): Deleted.
310         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
311         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
312         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
313         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
314         add new member `mother'; add new member `conversion'.
315         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
316         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
317         (CHARSET_MOTHER): New macro.
318         (CHARSET_CONVERSION): New macro.
319         (CONVERSION_IDENTICAL): New macro.
320         (CONVERSION_94x60): New macro.
321         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
322         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
323         (XCHARSET_MOTHER): New macro.
324         (XCHARSET_CONVERSION): New macro.
325         (MIN_CHAR_MOJIKYO): Deleted.
326         (MAX_CHAR_MOJIKYO): Deleted.
327         (DECODE_MOJIKYO_2022): Deleted.
328         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
329         (charset_code_point): Changed to non-inline function.
330         (encode_char_1): Use `charset_code_point'.
331         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
332
333 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
334
335         * lread.c (read_compiled_function): Fix prototype.
336         (read_vector): Likewise.
337
338 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
339
340         * lrecord.h (struct lrecord_header): Delete `older'.
341         (set_lheader_implementation): Delete code for `older'.
342         (set_lheader_older_implementation): Deleted.
343         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
344         (OLDER_RECORD_P): Deleted.
345         (OLDER_RECORD_HEADER_P): Deleted.
346         (alloc_older_lcrecord): Deleted.
347         (alloc_older_lcrecord_type): Deleted.
348
349         * alloc.c (all_older_lcrecords): Deleted.
350         (alloc_older_lcrecord): Deleted.
351         (disksave_object_finalization_1): Delete code for older objects.
352         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
353         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
354
355 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
356
357         * mule-charset.c (decoding_table_put_char): Use `make_vector'
358         instead of `make_older_vector'.
359         (put_char_ccs_code_point): Likewise.
360         (mark_charset): Mark `cs->decoding_table'.
361         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
362
363         * lisp.h (make_older_vector): Deleted.
364         (make_vector_newer): Deleted.
365
366         * config.h.in (HAVE_GGC): Deleted.
367
368         * alloc.c (make_older_vector): Deleted.
369         (make_vector_newer_1): Deleted.
370         (make_vector_newer): Deleted.
371
372 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
373
374         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
375         (Qideograph_daikanwa_2): New variable.
376         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
377         (complex_vars_of_mule_charset): Add new coded-charset
378         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
379         `LEADING_BYTE_DAIKANWA'.
380
381         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
382         (LEADING_BYTE_DAIKANWA_1): New macro.
383         (LEADING_BYTE_DAIKANWA_2): New macro.
384         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
385
386 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
387
388         * mule-charset.c (complex_vars_of_mule_charset): Change
389         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
390         the second revised version.
391
392 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
393
394         * mule-charset.c (Vcharset_ucs_smp): New variable.
395         (Vcharset_ucs_sip): New variable.
396         (Qucs_smp): New variable.
397         (Qucs_sip): New variable.
398         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
399         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
400         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
401         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
402         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
403         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
404
405         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
406         (LEADING_BYTE_UCS_SIP): New macro.
407         (MIN_CHAR_SMP): New macro.
408         (MAX_CHAR_SMP): New macro.
409         (MIN_CHAR_SIP): New macro.
410         (MAX_CHAR_SIP): New macro.
411
412 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
413
414         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
415         utf-2000.
416
417 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
418
419         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
420         value; don't store value into `encoding_table' of `Lisp_Charset'.
421         (mark_charset): `encoding_table' was deleted.
422         (charset_description): Likewise.
423         (make_charset): Likewise.
424         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
425         `put_char_ccs_code_point'.
426
427         * chartab.h (Fput_char_attribute): New EXFUN.
428
429         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
430         is unified with normal symbol space.
431         (Fget_char_attribute): Likewise.
432         (Fput_char_attribute): Likewise; behavior of
433         `put_char_ccs_code_point' is changed.
434
435         * char-ucs.h: Include "elhash.h".
436         (Vchar_attribute_hash_table): New external variable.
437         (struct Lisp_Charset): Delete `encoding_table'.
438         (CHARSET_ENCODING_TABLE): New implementation; refer
439         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
440         `Lisp_Charset'.
441
442 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
443
444         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
445         (cs) == 0.
446
447 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
448
449         * text-coding.c (char_encode_big5): Prefer charset-g1 than
450         `chinese-big5'.
451
452 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
453
454         * chartab.c (uint8_byte_table_description): New constant.
455         (uint8-byte-table): Use `uint8_byte_table_description'.
456         (uint16_byte_table_description): New constant.
457         (uint16-byte-table): Use `uint16_byte_table_description'.
458
459 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
460
461         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
462         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
463
464 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
465
466         * mule-charset.c (Vcharset_ucs_ks): New variable.
467         (Qucs_ks): New variable.
468         (syms_of_mule_charset): Add new symbol `ucs-ks'.
469         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
470
471         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
472
473 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
474
475         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
476         (Fdecode_char): Likewise.
477
478         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
479         chartab.h.
480         (Fdefine_char): Modify for Fdecode_char.
481         (Ffind_char): Likewise.
482
483         * mule-charset.c (Fdecode_char): Add new optional argument
484         `defined-only'.
485         (Fdecode_builtin_char): Modify for `Fdecode_char'.
486
487 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
488
489         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
490         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
491         (allocate_coding_system): Initialize initial-charsets of
492         CODESYS_BIG5 in XEmacs UTF-2000.
493         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
494         CODESYS_BIG5 in XEmacs UTF-2000.
495         (decode_coding_big5): Use initial-charset-g0 and -g1 of
496         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
497
498         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
499         variables.
500         (Qideograph_hanziku_{1 .. 12}): Likewise.
501         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
502         .. 12}'.
503         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
504         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
505         `ideograph-hanziku-{1 .. 12}'.
506
507         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
508         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
509         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
510         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
511         (DECODE_DEFINED_CHAR): New inline function.
512         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
513
514 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
515
516         * mule-charset.c (Vcharset_china3_jef): Renamed from
517         `Vcharset_japanese_jef_china3'.
518         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
519         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
520         `{MIN|MAX}_CHAR_JEF_CHINA3'..
521         (syms_of_mule_charset): Rename `china3-jef' from
522         `japanese-jef-china3'.
523         (complex_vars_of_mule_charset): Likewise; rename
524         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
525
526         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
527         `LEADING_BYTE_JEF_CHINA3'.
528         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
529         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
530
531 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
532
533         * mule-charset.c (encode_builtin_char_1): Comment out special code
534         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
535
536         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
537         (MAX_CHAR_MOJIKYO_0): Comment out.
538         (MIN_CHAR_CBETA): Changed to 0x00E20000.
539         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
540         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
541         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
542
543 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
544
545         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
546         (Qideograph_cbeta): New variable.
547         (encode_builtin_char_1): Comment out special code for
548         coded-charset `mojikyo' and `japanese-jef-china3'.
549         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
550         (complex_vars_of_mule_charset): Add new coded-charset
551         `ideograph-cbeta'.
552
553         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
554         (MIN_CHAR_CBETA): New macro.
555         (MAX_CHAR_CBETA): New macro.
556
557 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
558
559         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
560         (LEADING_BYTE_JEF_CHINA3): New macro.
561         (MIN_CHAR_JEF_CHINA3): New macro.
562         (MAX_CHAR_JEF_CHINA3): Likewise.
563         (DECODE_CHAR): Fixed.
564
565 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
566
567         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
568         (Qjapanese_jef_china3): New variable.
569         (encode_builtin_char_1): Support `japanese-jef-china3'.
570         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
571         (complex_vars_of_mule_charset): Add new coded-charset
572         `japanese-jef-china3'.
573
574 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
575
576         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
577         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
578         94^4, 96^3, 96^4, 128^n and 256^n set.
579         (put_char_table): Use `XCHARSET_CELL_RANGE'.
580         (map_char_table): Likewise.
581
582 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
583
584         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
585         UTF-2000.
586
587 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
588
589         * chartab.h (get_char_id_table): New inline function.
590
591         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
592         function.
593
594 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
595
596         * chartab.h (decode_char_table_range): New prototype in XEmacs
597         UTF-2000.
598         (put_char_id_table): New inline function in XEmacs UTF-2000.
599
600         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
601         function.
602         (decode_char_table_range): Delete static declaration in XEmacs
603         UTF-2000.
604
605 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
606
607         * chartab.c (put_char_id_table): Use `put_char_table'.
608
609 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
610
611         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
612         (map_over_uint16_byte_table): Likewise.
613         (map_over_byte_table): Likewise.
614         (map_char_table): Modify for `map_over_uint8_byte_table',
615         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
616         UTF-2000.
617
618 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
619
620         * chartab.c (struct map_char_table_for_charset_arg): New
621         structure.
622         (map_char_table_for_charset_fun): New function.
623         (map_char_table): Use `map_char_table' for encoding_table of
624         `range->charset'.
625
626 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
627
628         * chartab.c (map_char_table): Check a character is found in
629         range->charset instead of non default value is defined in
630         char-table when range is CHARTAB_RANGE_ROW.
631
632 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
633
634         * chartab.c (map_char_id_table): Deleted.
635         (Fmap_char_attribute): Use `map_char_table' instead of
636         `map_char_id_table'.
637
638 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
639
640         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
641         UTF-2000.
642         (update_syntax_table): Deleted in XEmacs UTF-2000.
643
644         * syntax.c (find_defun_start): Use `syntax_table' instead of
645         `mirror_syntax_table' in XEmacs UTF-2000.
646         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
647         UTF-2000.
648         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
649         XEmacs UTF-2000.
650         (Fmatching_paren): Likewise.
651         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
652         in XEmacs UTF-2000.
653         (find_start_of_comment): Likewise.
654         (find_end_of_comment): Likewise.
655         (Fforward_comment): Likewise.
656         (scan_lists): Likewise.
657         (char_quoted): Likewise.
658         (Fbackward_prefix_chars): Likewise.
659         (scan_sexps_forward): Likewise.
660         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
661         (update_syntax_table): Likewise.
662
663         * search.c (skip_chars): Use `syntax_table' instead of
664         `mirror_syntax_table' in XEmacs UTF-2000.
665         (wordify): Likewise.
666         (Freplace_match): Likewise.
667
668         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
669         `mirror_syntax_table' in XEmacs UTF-2000.
670         (WORDCHAR_P_UNSAFE): Likewise.
671         (re_match_2_internal): Likewise.
672
673         * font-lock.c (find_context): Use `buf->syntax_table' instead of
674         `buf->mirror_syntax_table' in XEmacs UTF-2000.
675
676         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
677         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
678
679         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
680         XEmacs UTF-2000.
681
682         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
683         UTF-2000.
684         (print_char_table): Print `default_value' in XEmacs UTF-2000.
685         (char_table_description): Delete `mirror_table' in XEmacs
686         UTF-2000.
687         (fill_char_table): Don't call `update_syntax_table' in XEmacs
688         UTF-2000.
689         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
690         (Fcopy_char_table): Likewise.
691         (put_char_table): Don't call `update_syntax_table' in XEmacs
692         UTF-2000.
693
694         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
695         `buf->mirror_syntax_table' in XEmacs UTF-2000.
696         (casify_region_internal): Likewise.
697
698         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
699
700         * buffer.c (common_init_complex_vars_of_buffer): Don't use
701         `mirror_syntax_table' in XEmacs UTF-2000.
702
703         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
704         `buf->mirror_syntax_table' in XEmacs UTF-2000.
705         (Fexpand_abbrev): Likewise.
706
707 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
708
709         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
710
711 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
712
713         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
714         (map_over_uint16_byte_table): Likewise.
715         (map_over_byte_table): Likewise.
716         (get_char_id_table): Refer `cit->default_value'.
717         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
718         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
719         of character-id ranges.
720         (mark_char_table): Mark `ct->default_value'.
721         (char_table_description): Add `default_value'.
722         (fill_char_table): Use `default_value'.
723         (decode_char_table_range): Decode `nil' as
724         `CHARTAB_RANGE_DEFAULT'.
725         (get_char_id_table): Refer `cit->default_value'.
726         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
727         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
728         temporary hack; check value of char-table is bound or not.
729         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
730
731         * chartab.h (struct Lisp_Char_Table): Add new member
732         `default_value' in XEmacs UTF-2000.
733         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
734         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
735         UTF-2000.
736
737 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
738
739         * chartab.h (Lisp_Char_ID_Table): Deleted.
740
741         * chartab.c (char_table_description): Fix typo.
742         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
743         `Lisp_Char_ID_Table'.
744
745 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
746
747         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
748         `CHAR_ID_TABLE_P'.
749
750         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
751         `CHAR_ID_TABLE_P'.
752
753         * chartab.h (XCHAR_ID_TABLE): Deleted.
754         (XSETCHAR_ID_TABLE): Deleted.
755         (CHAR_ID_TABLE_P): Deleted.
756
757         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
758         `CHAR_ID_TABLE_P'.
759         (Fget_composite_char): Likewise.
760         (put_char_table): Likewise.
761         (add_char_attribute_alist_mapper): Fixed.
762         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
763         `CHAR_ID_TABLE_P'.
764         (Fget_char_attribute): Likewise.
765         (Fget_char_attribute): Likewise.
766         (Fmap_char_attribute): Likewise.
767
768         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
769         `CHAR_ID_TABLE_P'.
770         (encode_char_1): Likewise.
771
772 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
773
774         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
775         `XCHAR_ID_TABLE'.
776
777         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
778         instead of `XCHAR_ID_TABLE'.
779         (remove_char_ccs): Likewise.
780
781         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
782         `XCHAR_ID_TABLE'.
783         (Fget_composite_char): Likewise.
784         (Fchar_variants): Likewise.
785         (put_char_table): Likewise.
786         (add_char_attribute_alist_mapper): Likewise.
787         (Fchar_attribute_alist): Likewise.
788         (Fget_char_attribute): Likewise.
789         (Fput_char_attribute): Likewise.
790         (Fmap_char_attribute): Likewise.
791         (Fmap_char_attribute): Likewise.
792
793         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
794         `XCHAR_ID_TABLE'.
795         (encode_char_1): Likewise.
796
797 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
798
799         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
800         `Lisp_Char_ID_Table'.
801         (mark_char_id_table): Deleted.
802         (print_char_id_table): Likewise.
803         (char_id_table_equal): Likewise.
804         (char_id_table_hash): Likewise.
805         (char_id_table_description): Likewise.
806         (char_id_table): Likewise.
807         (make_char_id_table): Use `Fmake_char_table' and
808         `fill_char_table'.
809         (get_char_id_table): Use `Lisp_Char_Table' instead of
810         `Lisp_Char_ID_Table'.
811         (put_char_id_table): Likewise.
812         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
813         `XCHAR_ID_TABLE'.
814         (Fremove_char_attribute): Likewise.
815         (syms_of_chartab): Don't define type `char-id-table'.
816
817         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
818         (char_id_table): Likewise.
819         (GC_CHAR_ID_TABLE_P): Likewise.
820         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
821         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
822         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
823         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
824         (get_char_id_table): Use `Lisp_Char_Table' instead of
825         `Lisp_Char_ID_Table'.
826         (put_char_id_table_0): Likewise.
827         (put_char_id_table): Likewise.
828
829 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
830
831         * chartab.h: Lisp_Byte_Table related codes are moved from
832         chartab.h.
833
834         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
835
836 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
837
838         * chartab.h: Don't include "chartab.h".
839         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
840         (Lisp_Char_ID_Table): Likewise.
841         (char_id_table): Likewise.
842         (XCHAR_ID_TABLE): Likewise.
843         (XSETCHAR_ID_TABLE): Likewise.
844         (CHAR_ID_TABLE_P): Likewise.
845         (GC_CHAR_ID_TABLE_P): Likewise.
846         (get_char_id_table): Likewise.
847
848         * char-ucs.h: Include "chartab.h".
849         (struct Lisp_Char_ID_Table): Moved to chartab.h.
850         (Lisp_Char_ID_Table): Likewise.
851         (char_id_table): Likewise.
852         (XCHAR_ID_TABLE): Likewise.
853         (XSETCHAR_ID_TABLE): Likewise.
854         (CHAR_ID_TABLE_P): Likewise.
855         (GC_CHAR_ID_TABLE_P): Likewise.
856         (get_char_id_table): Likewise.
857
858 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
859
860         * chartab.c (copy_uint8_byte_table): New function.
861         (copy_uint16_byte_table): New function.
862         (copy_byte_table): New function.
863         (map_over_uint8_byte_table): Modify to avoid huge numbers of
864         characters to call.
865         (map_over_uint16_byte_table): Likewise.
866         (map_over_byte_table): Likewise.
867         (get_byte_table): Move prototype to chartab.h.
868         (put_byte_table): Likewise.
869         (put_char_id_table_0): Moved to chartab.h.
870         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
871         (char_table_entry_equal): Likewise.
872         (char_table_entry_hash): Likewise.
873         (char_table_entry_description): Likewise.
874         (char_table_entry): Likewise.
875         (make_char_table_entry): Likewise.
876         (copy_char_table_entry): Likewise.
877         (get_non_ascii_char_table_value): Likewise.
878         (map_over_charset_ascii): Likewise.
879         (map_over_charset_control_1): Likewise.
880         (map_over_charset_row): Likewise.
881         (map_over_other_charset): Likewise.
882         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
883         (print_char_table): Likewise.
884         (char_table_equal): Likewise.
885         (char_table_hash): Likewise.
886         (char_table_description): Likewise.
887         (fill_char_table): Likewise.
888         (Fcopy_char_table): Likewise.
889         (get_char_table): Likewise.
890         (Fget_range_char_table): Likewise.
891         (put_char_table): Likewise.
892         (map_char_table): Likewise.
893         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
894         UTF-2000.
895
896 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
897
898         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
899         `Vauto_fill_chars' in XEmacs UTF-2000.
900
901         * chartab.h (get_byte_table): New prototype [moved from
902         chartab.c].
903         (put_byte_table): Likewise [moved from chartab.c].
904         (put_char_id_table_0): New inline function [moved from chartab.c].
905         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
906         (Lisp_Char_Table_Entry): Likewise.
907         (char_table_entry): Likewise.
908         (XCHAR_TABLE_ENTRY): Likewise.
909         (XSETCHAR_TABLE_ENTRY): Likewise.
910         (CHAR_TABLE_ENTRYP): Likewise.
911         (CHECK_CHAR_TABLE_ENTRY): Likewise.
912         (NUM_ASCII_CHARS): Likewise.
913         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
914         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
915
916 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
917
918         * chartab.c (get_char_id_table): Change interface.
919         (put_char_id_table_0): New function.
920         (put_char_id_table): Change interface; new implementation.
921         (Fget_composite_char): Modify for interface change of
922         `get_char_id_table'.
923         (Fchar_variants): Likewise.
924         (add_char_attribute_alist_mapper): Likewise.
925         (Fchar_attribute_alist): Likewise.
926         (Fget_char_attribute): Likewise.
927         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
928         as same as character as the first argument like `put-char-table';
929         modify for interface change of `put_char_id_table'.
930         (Fremove_char_attribute): Modify for interface change of
931         `put_char_id_table'.
932
933 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
934
935         * text-coding.c: Sync up with XEmacs 21.2.41.
936         (COMPOSE_ADD_CHAR): Modify for interface change of
937         `get_char_id_table'.
938
939         * mule-charset.c (put_char_ccs_code_point): Modify for interface
940         change of `put_char_id_table'.
941         (remove_char_ccs): Likewise.
942
943         * chartab.h (put_char_id_table): Change interface.
944
945         * char-ucs.h (get_char_id_table): Change interface.
946         (charset_code_point): Modify for interface change of
947         `get_char_id_table'.
948         (encode_char_1): Likewise.
949
950 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
951
952         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
953         argument `ccs'.
954         (map_over_uint16_byte_table): Likewise.
955         (map_over_byte_table): Likewise.
956         (map_char_id_table): Add new argument `range' like
957         `map_char_table'.
958         (Fmap_char_attribute): Add new argument `range' like
959         `Fmap_char_table'.
960
961 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
962
963         * chartab.c (map_over_uint8_byte_table): Change interface of
964         mapping function to use struct chartab_range instead of Emchar.
965         (map_over_uint16_byte_table): Likewise.
966         (map_over_byte_table): Likewise.
967         (map_char_id_table): Likewise.
968         (struct slow_map_char_id_table_arg): Deleted.
969         (slow_map_char_id_table_fun): Deleted.
970         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
971         function `slow_map_char_table_fun' instead of struct
972         `slow_map_char_id_table_arg' and function
973         `slow_map_char_id_table_fun'.
974
975 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
976
977         * mule-charset.c: Move char-it-table related codes to chartab.c.
978         (Vutf_2000_version): Moved to chartab.c.
979         (Fdefine_char): Likewise.
980         (Ffind_char): Likewise.
981         (syms_of_mule_charset): Move types `uint8-byte-table',
982         `uint16-byte-table', `byte-table' and `char-id-table' to
983         chartab.c; move functions `char_attribute_list,
984         `find_char_attribute_table, `char_attribute_alist,
985         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
986         `map_char_attribute, `define_char, `find_char, `char_variants and
987         `get_composite_char to chartab.c; move symbols `=>ucs',
988         `->decomposition', `compat', `isolated', `initial', `medial',
989         `final', `vertical', `noBreak', `fraction', `super', `sub',
990         `circle', `square', `wide', `narrow', `small' and `font' to
991         chartab.c.
992         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
993         setting codes for `Vcharacter_composition_table' and
994         `Vcharacter_variant_table' to chartab.c.
995         (complex_vars_of_mule_charset): Move setting code for
996         `Vchar_attribute_hash_table' to chartab.c.
997
998         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
999         (make_char_id_table): New prototype.
1000         (put_char_id_table): Likewise.
1001         (Fget_char_attribute): Likewise.
1002
1003         * chartab.c: Move char-id-table related code from mule-charset.c.
1004         (Vutf_2000_version): Moved from mule-charset.c.
1005
1006         * char-ucs.h (Qucs): New external variable.
1007         (put_char_ccs_code_point): New prototype.
1008         (remove_char_ccs): Likewise.
1009
1010 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1011
1012         * mule-charset.c (Vcharset_ucs_jis): New variable.
1013         (Qucs_jis): Likewise.
1014         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1015         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1016
1017         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1018
1019 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1020
1021         * mule-charset.c (map_over_uint8_byte_table): New function.
1022         (map_over_uint16_byte_table): Likewise.
1023         (map_over_byte_table): Likewise.
1024         (map_char_id_table): Likewise.
1025         (slow_map_char_id_table_fun): Likewise.
1026         (Fmap_char_attribute): Likewise.
1027         (syms_of_mule_charset): Add new function `map-char-attribute'.
1028
1029 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1030
1031         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1032         (syms_of_mule_charset): Add new function `find-char'.
1033
1034 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1035
1036         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1037         XEmacs UTF-2000.
1038         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1039         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1040         XEmacs UTF-2000.
1041         (complex_vars_of_mule_charset): Add new coded-charset
1042         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1043         `ideograph-gt-pj-*'.
1044
1045         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1046
1047 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1048
1049         * mule-charset.c (encode_builtin_char_1): Purge codes about
1050         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1051         {MIN|MAX}_CHAR_HEBREW.
1052         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1053         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1054
1055         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1056         (MAX_CHAR_GREEK): Purged.
1057         (MIN_CHAR_CYRILLIC): Purged.
1058         (MAX_CHAR_CYRILLIC): Purged.
1059         (MIN_CHAR_HEBREW): Commented out.
1060         (MAX_CHAR_HEBREW): Likewise.
1061
1062 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1063
1064         * mule-charset.c (Qto_ucs): New variable.
1065         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1066         (Fdefine_char): Likewise.
1067         (syms_of_mule_charset): Add new symbol `=>ucs'.
1068
1069 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1070
1071         * mule-charset.c (Fdecode_char): Fixed.
1072
1073 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1074
1075         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1076         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1077         "tcvn5712-1".
1078
1079 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1080
1081         * mule-charset.c (Vcharset_ucs_big5): New variable.
1082         (Qucs_big5): Likewise.
1083         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1084         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1085
1086         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1087
1088 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1089
1090         * mule-charset.c (decode_builtin_char): Check Big5 code range
1091         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1092
1093 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1094
1095         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1096         (Qchinese_gb12345): Likewise.
1097         (Fdecode_builtin_char): Fixed.
1098         (syms_of_mule_charset): Add `chinese-gb12345'.
1099         (complex_vars_of_mule_charset): Add coded-charset
1100         `chinese-gb12345'.
1101
1102         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1103         (LEADING_BYTE_CHINESE_GB12345): New macro.
1104
1105 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1106
1107         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1108         and `latin-viscii-upper' for `latin-viscii'.
1109
1110 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1111
1112         * mule-charset.c (Fdecode_builtin_char): Comment out
1113         regularization code for ISO-IR GR representation.
1114
1115 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1116
1117         * mule-charset.c (decode_builtin_char): New function; renamed from
1118         `make_builtin_char'; return -1 instead of signal.
1119         (Fdecode_builtin_char): Use `decode_builtin_char'.
1120
1121         * char-ucs.h (decode_builtin_char): New prototype; renamed from
1122         `make_builtin_char'.
1123         (DECODE_CHAR): Use `decode_builtin_char' instead of
1124         `make_builtin_char'; use mapping table of `chinese-big5' for
1125         `chinese-big5-{1,2}'.
1126
1127 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1128
1129         * text-coding.c (char_encode_big5): New function.
1130         (char_finish_big5): Likewise.
1131         (reset_encoding_stream): Use `char_encode_big5' and
1132         `char_finish_big5' for CODESYS_BIG5.
1133         (mule_encode): Don't use `encode_coding_big5'.
1134         (encode_coding_big5): Deleted.
1135
1136 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1137
1138         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
1139         0x81- in XEmacs UTF-2000.
1140         (detect_coding_big5): Likewise.
1141
1142 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1143
1144         * mule-charset.c (Fdefine_char): Don't use a CCS property to
1145         generate character-id if the CCS property does not have
1146         corresponding predefined character.
1147         (make_builtin_char): Return -1 if corresponding predefined
1148         character is not found.
1149         (Fdecode_char): Return nil if corresponding character is not
1150         found.
1151         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
1152         don't map to builtin ucs space.
1153
1154 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1155
1156         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
1157         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
1158
1159 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1160
1161         * mule-charset.c (Vcharset_ideograph_gt): New variable.
1162         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
1163         (Qideograph_gt): Likewise.
1164         (Qideograph_gt_pj_{1..11}): Likewise.
1165         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
1166         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
1167         `ideograph-gt-pj-11'.
1168         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
1169         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
1170         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
1171
1172         * char-ucs.h (LEADING_BYTE_GT): New macro.
1173         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
1174         (MIN_CHAR_GT): Likewise.
1175         (MAX_CHAR_GT): Likewise.
1176
1177 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1178
1179         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
1180         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
1181
1182         * doprnt.c (unsigned_int_converters): Add `c'.
1183         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
1184
1185         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
1186         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
1187         `MIN_CHAR_MOJIKYO'.
1188         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
1189         (MAX_CHAR_MOJIKYO_0): New macro.
1190         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
1191
1192 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1193
1194         * mule-charset.c (Fdefine_char): Delete cemented out code.
1195         (encode_builtin_char_1): Modify for new allocation of builtin
1196         Mojikyo characters.
1197
1198         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
1199
1200 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1201
1202         * mule-charset.c (Vcharset_ucs_cns): New variable.
1203         (Qucs_cns): New variable.
1204         (syms_of_mule_charset): Add new symbol `ucs-cns'.
1205         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
1206
1207 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1208
1209         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
1210
1211 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1212
1213         * search.c (search_buffer): Make `charset_base_code' as
1214         character-id >> 6 to eliminate the corresponding last byte in
1215         UTF-8 representation [I'm not sure it is right thing].
1216         (boyer_moore): Likewise.
1217
1218 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1219
1220         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
1221         representation in MULE.
1222
1223 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1224
1225         * text-coding.c (Fmake_coding_system): Use
1226         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
1227         `EXTERNAL_PROPERTY_LIST_LOOP'.
1228
1229 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1230
1231         * text-coding.c (decode_output_utf8_partial_char): New function.
1232         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
1233
1234 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1235
1236         * text-coding.c (decode_coding_utf8): Output original byte
1237         sequence if it is broken; change order of conditions.
1238
1239         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
1240         of conditions.
1241
1242         * mb-multibyte.h (BYTE_ASCII_P):
1243         Use bit ops for char-signedness safety.
1244         (BYTE_C0_P): Use bit ops for char-signedness safety.
1245         (BYTE_C1_P): Use bit ops for char-signedness safety.
1246
1247         * character.h: (XCHAR_OR_CHAR_INT):
1248         Always use inline function.
1249         Remove redundant type checking assert() - XINT will abort quite
1250         nicely.
1251
1252 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1253
1254         * text-coding.c: (Fencode_shift_jis_char):
1255         (Fencode_big5_char):
1256         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1257         Replace 0 with '\0' when working with bytes.
1258         Replace initial "(" with "\(" in docstrings.
1259
1260         (Fmake_coding_system):
1261         When type is ccl and value is vector, register it with a proper
1262         symbol.  And checks whether the given ccl program is valid.
1263         (mule_decode): When calling ccl_driver, if src indicates
1264         NULL pointer, set an empty string instead.
1265         (mule_encode): Likewise.
1266
1267         (detect_eol_type):
1268         (detect_coding_sjis):
1269         (decode_coding_sjis):
1270         (detect_coding_big5):
1271         (decode_coding_big5):
1272         (detect_coding_ucs4):
1273         (decode_coding_ucs4):
1274         (detect_coding_utf8):
1275         (decode_coding_utf8):
1276         (detect_coding_iso2022):
1277         (decode_coding_iso2022):
1278         (decode_coding_no_conversion):
1279         (mule_decode):
1280         Make all detecting and decoding functions take an Extbyte * arg.
1281         (text_encode_generic):
1282         (encode_coding_big5):
1283         (encode_coding_no_conversion):
1284         (mule_encode):
1285         Make all encoding functions take a Bufbyte * arg.
1286         Use size_t instead of unsigned int for memory sizes.
1287         Only cast to unsigned char whenever dereferencing Extbyte *.
1288
1289         (struct lrecord_description fcd_description_1): Use countof.
1290         (complex_vars_of_file_coding):
1291         Use countof instead of sizeof.
1292         Use CHECK_NATNUM instead of CHECK_INT.
1293
1294 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1295
1296         * mule-charset.c (Fget_char_attribute): Add new optional argument
1297         `default-value'.
1298         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1299         (remove_char_ccs): Likewise.
1300
1301 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1302
1303         * text-coding.c (char_encode_shift_jis): New implementation in
1304         UTF-2000.
1305         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1306         ...)'.
1307
1308         * mule-charset.c (Vcharset_chinese_big5): New variable in
1309         UTF-2000.
1310         (Qchinese_big5): New variable in UTF-2000.
1311         (BIG5_SAME_ROW): New macro in UTF-2000.
1312         (make_builtin_char): Use builtin characters of
1313         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1314         characters of `Vcharset_chinese_big5'.
1315         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1316         (complex_vars_of_mule_charset): Add new coded-charset
1317         `chinese-big5' in UTF-2000.
1318
1319         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1320         (Vcharset_chinese_big5): New external variable declaration.
1321         (Vcharset_japanese_jisx0208_1990): Likewise.
1322
1323 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1324
1325         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1326         function.
1327         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1328
1329 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1330
1331         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1332         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1333         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1334         `mojikyo-pj-*'.
1335
1336 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1337
1338         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1339
1340 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1341
1342         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1343         to 0.17.
1344
1345 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1346
1347         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1348         for `CHARSET_BY_ATTRIBUTES'.
1349         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1350         `CHARSET_BY_ATTRIBUTES'.
1351
1352         * text-coding.c (struct decoding_stream): Rename member `CH' to
1353         `CPOS'.
1354         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1355         (decode_coding_sjis): Likewise.
1356         (decode_coding_big5): Likewise.
1357         (decode_coding_ucs4): Likewise.
1358         (decode_coding_utf8): Likewise.
1359         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1360         `CHARSET_BY_ATTRIBUTES'.
1361         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1362         `str->counter'; decode 3, 4 bytes sets.
1363         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1364         sets.
1365         (decode_coding_no_conversion): Use `str->cpos' instead of
1366         `str->ch'.
1367
1368         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1369         (Qmojikyo_2022_1): New variable.
1370         (make_charset): Don't use `CHARSET_TYPE_*'.
1371         (range_charset_code_point): Support coded-charset
1372         `mojikyo-2022-1'.
1373         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1374         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1375         `CHARSET_BY_ATTRIBUTES'.
1376         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1377         `CHARSET_BY_ATTRIBUTES'.
1378         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1379         (complex_vars_of_mule_charset): Add new coded-charset
1380         `mojikyo-2022-1'.
1381
1382         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1383         interface; changed to inline function.
1384
1385         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1386         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1387         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1388         (CHARSET_TYPE_94): Deleted.
1389         (CHARSET_TYPE_94X94): Deleted.
1390         (CHARSET_TYPE_96): Deleted.
1391         (CHARSET_TYPE_96X96): Deleted.
1392         (CHARSET_TYPE_128): Deleted.
1393         (CHARSET_TYPE_128X128): Deleted.
1394         (CHARSET_TYPE_256): Deleted.
1395         (CHARSET_TYPE_256X256): Deleted.
1396         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1397         to inline function.
1398         (DECODE_MOJIKYO_2022): New inline function.
1399         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1400         `Vcharset_mojikyo_2022_1'.
1401
1402 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1403
1404         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1405         instead of `EQ'.
1406         (put_byte_table): Likewise.
1407         (char_id_table_equal): Use `get_byte_table' [new implementation].
1408
1409 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1410
1411         * mule-charset.c: Include <limits.h> in UTF-2000.
1412         (BT_UINT8_MIN): New macro in UTF-2000.
1413         (BT_UINT8_MAX): New macro in UTF-2000.
1414         (BT_UINT8_t): New macro in UTF-2000.
1415         (BT_UINT8_nil): New macro in UTF-2000.
1416         (BT_UINT8_unbound): New macro in UTF-2000.
1417         (INT_UINT8_P): New inline function in UTF-2000.
1418         (UINT8_VALUE_P): New inline function in UTF-2000.
1419         (UINT8_ENCODE): New inline function in UTF-2000.
1420         (UINT8_DECODE): New inline function in UTF-2000.
1421         (mark_uint8_byte_table): New function in UTF-2000.
1422         (print_uint8_byte_table): New function in UTF-2000.
1423         (uint8_byte_table_equal): New function in UTF-2000.
1424         (uint8_byte_table_hash): New function in UTF-2000.
1425         (make_uint8_byte_table): New function in UTF-2000.
1426         (uint8_byte_table_same_value_p): New function in UTF-2000.
1427         (BT_UINT16_MIN): New macro in UTF-2000.
1428         (BT_UINT16_MAX): New macro in UTF-2000.
1429         (BT_UINT16_t): New macro in UTF-2000.
1430         (BT_UINT16_nil): New macro in UTF-2000.
1431         (BT_UINT16_unbound): New macro in UTF-2000.
1432         (INT_UINT16_P): New inline function in UTF-2000.
1433         (UINT16_VALUE_P): New inline function in UTF-2000.
1434         (UINT16_ENCODE): New inline function in UTF-2000.
1435         (UINT16_DECODE): New inline function in UTF-2000.
1436         (UINT8_TO_UINT16): New inline function in UTF-2000.
1437         (mark_uint16_byte_table): New function in UTF-2000.
1438         (print_uint16_byte_table): New function in UTF-2000.
1439         (uint16_byte_table_equal): New function in UTF-2000.
1440         (uint16_byte_table_hash): New function in UTF-2000.
1441         (make_uint16_byte_table): New function in UTF-2000.
1442         (uint16_byte_table_same_value_p): New function in UTF-2000.
1443         (print_byte_table): New function in UTF-2000.
1444         (byte-table): Use `print_byte_table' as printer.
1445         (make_byte_table): Delete second argument `older'.
1446         (byte_table_same_value_p): New function in UTF-2000.
1447         (copy_byte_table): Deleted.
1448         (get_byte_table): New function in UTF-2000.
1449         (put_byte_table): New function in UTF-2000.
1450         (print_char_id_table): New function in UTF-2000.
1451         (char-id-table): Use `print_char_id_table' as printer.
1452         (make_char_id_table): Delete second argument `older'.
1453         (get_char_id_table): Use `get_byte_table [new implementation].
1454         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1455         implementation].
1456         (Ffind_char_attribute_table): New function in UTF-2000.
1457         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1458         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1459         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1460         (syms_of_mule_charset): Add new function
1461         `find-char-attribute-table' in UTF-2000.
1462
1463         * lrecord.h (enum lrecord_type): Add
1464         `lrecord_type_uint16_byte_table' and
1465         `lrecord_type_uint8_byte_table'.
1466
1467         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1468         (Lisp_Uint8_Byte_Table): New type.
1469         (XUINT8_BYTE_TABLE): New macro.
1470         (XSETUINT8_BYTE_TABLE): New macro.
1471         (UINT8_BYTE_TABLE_P): New macro.
1472         (GC_UINT8_BYTE_TABLE_P): New macro.
1473         (struct Lisp_Uint16_Byte_Table): New structure.
1474         (Lisp_Uint16_Byte_Table): New type.
1475         (XUINT16_BYTE_TABLE): New macro.
1476         (XSETUINT16_BYTE_TABLE): New macro.
1477         (UINT16_BYTE_TABLE_P): New macro.
1478         (GC_UINT16_BYTE_TABLE_P): New macro.
1479
1480 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1481
1482         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1483         (Vcharacter_ideographic_strokes_table): Deleted.
1484         (Vcharacter_total_strokes_table): Deleted.
1485         (Vcharacter_morohashi_daikanwa_table): Deleted.
1486         (Vcharacter_decomposition_table): Deleted.
1487         (Qname): Deleted because it is duplicated.
1488         (Qideographic_radical): Deleted.
1489         (Qideographic_strokes): Deleted.
1490         (Qtotal_strokes): Deleted.
1491         (Qmorohashi_daikanwa): Deleted.
1492         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1493         `ideographic-radical', `ideographic-strokes', `total-strokes',
1494         `morohashi-daikanwa' and `->decomposition'.
1495         (Fget_char_attribute): Likewise.
1496         (Fput_char_attribute): Likewise; use `make-vector' instead of
1497         `make_older_vector' for `->decomposition' value.
1498         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1499         `ideograph-daikanwa'.
1500         (syms_of_mule_charset): Delete builtin symbols `name',
1501         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1502         `morohashi-daikanwa'.
1503         (vars_of_mule_charset): Don't setup
1504         `Vcharacter_ideographic_radical_table',
1505         `Vcharacter_ideographic_strokes_table',
1506         `Vcharacter_total_strokes_table',
1507         `Vcharacter_morohashi_daikanwa_table' and
1508         `Vcharacter_decomposition_table'.
1509
1510 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1511
1512         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1513         `make_older_vector', `make_vector_newer_1' and
1514         `make_vector_newer'.
1515
1516         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1517         `make_older_vector' and `make_vector_newer'.
1518
1519         * config.h.in (HAVE_GGC): New macro.
1520
1521 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1522
1523         * mule-charset.c (struct char_attribute_list_closure): New
1524         structure in UTF-2000.
1525         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1526         (Fchar_attribute_list): Likewise.
1527         (Fset_charset_mapping_table): Use `make_vector_newer'.
1528         (Fdecode_builtin_char): New function in UTF-2000.
1529         (syms_of_mule_charset): Add new function `char-attribute-list' and
1530         `decode-builtin-char' in UTF-2000.
1531
1532         * lisp.h (make_vector_newer): New prototype.
1533
1534         * alloc.c (make_vector_newer_1): New function.
1535         (make_vector_newer): New function.
1536
1537 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1538
1539         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1540         50100)'.
1541
1542 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1543
1544         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1545         (Vcharacter_attribute_table): Deleted.
1546         (Vcharacter_name_table): Deleted.
1547         (put_char_attribute): Deleted.
1548         (remove_char_attribute): Deleted.
1549         (struct char_attribute_alist_closure): New structure.
1550         (add_char_attribute_alist_mapper): New function.
1551         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1552         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1553         (Fget_char_attribute): Likewise.
1554         (Fput_char_attribute): Likewise.
1555         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1556         of `remove_char_attribute'.
1557         (Fdefine_char): Return character.
1558         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1559         and `Vcharacter_name_table'.
1560         (complex_vars_of_mule_charset): Likewise
1561         `Vchar_attribute_hash_table'.
1562
1563 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1564
1565         * character.h (CHARC_CHARSET): New macro.
1566         (CHARC_CHARSET_ID): New macro.
1567         (CHARC_CODE_POINT): New macro.
1568         (CHARC_COLUMNS): New macro.
1569         (CHARC_TO_CHAR): New inline function.
1570         (CHARC_EQ): New inline function.
1571         (CHARC_ASCII_EQ): New inline function.
1572         (CHARC_IS_SPACE): New inline function.
1573         (ASCII_TO_CHARC): New inline function.
1574
1575         * char-ucs.h (encode_char_2): Deleted.
1576         (ENCODE_CHAR): Use `encode_char_1' again.
1577         (breakup_char_1): Likewise.
1578         (CHAR_TO_CHARC): New inline function.
1579
1580         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1581
1582 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1583
1584         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1585         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1586         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1587         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1588         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1589         `CHARC_IS_SPACE'.
1590         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1591
1592         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1593         `CHARC_CODE_POINT'.
1594         (x_output_display_block): Use `CHARC_CHARSET' and
1595         `CHARC_ASCII_EQ'.
1596
1597         * redisplay-tty.c (tty_output_display_block): Use
1598         `CHARC_ASCII_EQ'.
1599         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1600
1601         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1602
1603         * insdel.c (find_charsets_in_charc_string): Use
1604         `CHARC_CHARSET_ID'.
1605         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1606         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1607         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1608         (convert_charc_string_into_malloced_string): Likewise.
1609
1610 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1611
1612         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1613         instead of <Emchar_dynarr *> for buf; use
1614         `convert_bufbyte_string_into_charc_dynarr' instead of
1615         `convert_bufbyte_string_into_emchar_dynarr'; use
1616         `find_charsets_in_charc_string' instead of
1617         `find_charsets_in_emchar_string'.
1618
1619         * redisplay.h:
1620         - Include "character.h".
1621         (struct rune): New member `cglyph'; delete member `chr'.
1622
1623         * redisplay.c (redisplay_text_width_charc_string): New function;
1624         delete `redisplay_text_width_emchar_string'.
1625         (rtw_charc_dynarr): New variable; renamed from
1626         `rtw_emchar_dynarr'.
1627         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1628         `rtw_emchar_dynarr'; use
1629         `convert_bufbyte_string_into_charc_dynarr' instead of
1630         `convert_bufbyte_string_into_emchar_dynarr'; use
1631         `redisplay_text_width_charc_string' instead of
1632         `redisplay_text_width_emchar_string'.
1633         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1634         instead of `rtw_emchar_dynarr'; use
1635         `convert_bufbyte_string_into_charc_dynarr' instead of
1636         `convert_bufbyte_string_into_emchar_dynarr'.
1637         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1638         `redisplay_text_width_charc_string' instead of
1639         `redisplay_text_width_emchar_string'.
1640         (create_text_block): Modify for <struct rune> change.
1641         (generate_formatted_string_db): Likewise.
1642         (create_string_text_block): Likewise.
1643         (pixel_to_glyph_translation): Likewise.
1644
1645         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1646         instead of <const Emchar *>.
1647         (x_text_width): Likewise.
1648         (x_output_display_block): Use <Charc_dynarr *> instead
1649         <Emchar_dynarr *>; modify for <structure rune> change.
1650         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1651         *>.
1652
1653         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1654         <const Emchar *>; use `charc_string_displayed_columns' instead of
1655         `emchar_string_displayed_columns'.
1656         (tty_output_display_block): Use <Charc_dynarr *> instead of
1657         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1658         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1659         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1660         `tty_output_emchar_dynarr_dynarr'.
1661         (tty_output_charc_dynarr): New function; delete
1662         `tty_output_charc_dynarr'.
1663
1664         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1665         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1666         <Emchar_dynarr *> for buf; use
1667         `convert_bufbyte_string_into_charc_dynarr' instead of
1668         `convert_bufbyte_string_into_emchar_dynarr'.
1669
1670         * frame.c (title_string_charc_dynarr): New variable; renamed from
1671         `title_string_emchar_dynarr'.
1672         (generate_title_string): Use `title_string_charc_dynarr' instead
1673         of `title_string_emchar_dynarr'; use
1674         `convert_charc_string_into_malloced_string' instead of
1675         `convert_emchar_string_into_malloced_string'.
1676         (init_frame): Use `title_string_charc_dynarr' instead of
1677         `title_string_emchar_dynarr'.
1678
1679         * console.h:
1680         - Include "character.h".
1681         (struct console_methods): Use <const Charc *> instead of <const
1682         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1683         <Emchar_dynarr *> in output_string_method.
1684
1685         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1686         <Emchar_dynarr *>.
1687
1688         * console-stream.c (stream_text_width): Use <const Charc *>
1689         instead of <const Emchar *>.
1690
1691         * character.h (Charc_dynarr): New type.
1692
1693         * char-ucs.h (structure Charc): New structure; define new type
1694         `Charc'.
1695
1696         * char-lb.h (DECODE_CHAR): New inline function.
1697         (encode_char_1): New inline function.
1698         (ENCODE_CHAR): New macro.
1699         (structure Charc): New structure; define new type `Charc'.
1700
1701         * char-1byte.h (Vcharset_control_1): New macro.
1702         (Vcharset_latin_iso8859_1): New macro.
1703         (DECODE_CHAR): New inline function.
1704         (encode_char_1): New inline function.
1705         (ENCODE_CHAR): New macro.
1706         (structure Charc): New structure; define new type `Charc'.
1707
1708         * insdel.c (find_charsets_in_charc_string): New function; delete
1709         `find_charsets_in_emchar_string'.
1710         (charc_string_displayed_columns): New function; delete
1711         `emchar_string_displayed_columns'.
1712         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1713         `convert_bufbyte_string_into_emchar_dynarr'.
1714         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1715         `convert_charc_string_into_bufbyte_dynarr'.
1716         (convert_charc_string_into_malloced_string): New function; delete
1717         `convert_charc_string_into_malloced_string'.
1718
1719         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1720         `find_charsets_in_emchar_string'.
1721         (charc_string_displayed_columns): New prototype; delete
1722         `emchar_string_displayed_columns'.
1723         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1724         `convert_charc_string_into_bufbyte_dynarr'.
1725         (convert_charc_string_into_malloced_string): New prototype; delete
1726         `convert_charc_string_into_malloced_string'.
1727
1728 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1729
1730         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1731
1732 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1733
1734         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1735
1736         * char-ucs.h: Use <short> for <Charset_ID>.
1737
1738         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1739         <Charset_ID>.
1740
1741 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1742
1743         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1744         to 0.16.
1745
1746 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1747
1748         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1749         variable.
1750         (Qmorohashi_daikanwa): New variable.
1751         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1752         for `morohashi-daikanwa' attribute.
1753         (Fget_char_attribute): Likewise.
1754         (Fput_char_attribute): Likewise.
1755         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1756         has the same value of `ideograph-daikanwa'.
1757         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1758         (vars_of_mule_charset): Setup
1759         `Vcharacter_morohashi_daikanwa_table'.
1760
1761 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1762
1763         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1764         attributes.
1765         (add_charset_to_list_mapper): Add `key' instead of
1766         `XCHARSET_NAME (value)' to return aliases.
1767
1768 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1769
1770         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1771         variable.
1772         (Vcharacter_ideographic_strokes_table): New variable.
1773         (Qideographic_radical): New variable.
1774         (Qideographic_strokes): New variable.
1775         (Fchar_attribute_alist): Use
1776         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1777         attribute; use `Vcharacter_ideographic_strokes_table' for
1778         `ideographic-strokes' attribute.
1779         (Fget_char_attribute): Likewise.
1780         (Fput_char_attribute): Likewise.
1781         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1782         `ideographic-strokes'.
1783         (vars_of_mule_charset): Setup
1784         `Vcharacter_ideographic_radical_table' and
1785         `Vcharacter_ideographic_strokes_table'.
1786
1787 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1788
1789         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1790         (Qtotal_strokes): New variable.
1791         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1792         `total-strokes' attribute.
1793         (Fget_char_attribute): Likewise.
1794         (Fput_char_attribute): Likewise.
1795         (syms_of_mule_charset): Add new symbol `total-strokes'.
1796         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1797
1798 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1799
1800         * mule-charset.c (Vcharacter_decomposition_table): New variable.
1801         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
1802         are found.
1803         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
1804         `->decomposition' attribute.
1805         (Fput_char_attribute): Likewise.
1806         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
1807
1808 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1809
1810         * mule-charset.c (decoding_table_check_elements): New function.
1811         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
1812
1813 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1814
1815         * mule-charset.c (Fset_charset_mapping_table): Use
1816         `put_char_ccs_code_point'.
1817
1818 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1819
1820         * mule-charset.c (decoding_table_put_char): New inline function.
1821         (put_char_ccs_code_point): Use `decoding_table_put_char'.
1822
1823 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1824
1825         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
1826         (XCHARSET_BYTE_SIZE): New macro.
1827         (decoding_table_remove_char): New inline function.
1828         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
1829         `decoding_table_remove_char'.
1830         (remove_char_ccs): Use `decoding_table_remove_char'.
1831         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
1832
1833 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1834
1835         * mule-charset.c (Vcharacter_name_table): New variable.
1836         (Qname): New variable.
1837         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
1838         attribute.
1839         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
1840         `Vcharacter_name_table' for `name' attribute.
1841         (Fremove_char_attribute): Use function `remove_char_ccs'.
1842         (put_char_ccs_code_point): New function.
1843         (remove_char_ccs): New function.
1844         (syms_of_mule_charset): Add new symbol `name'.
1845         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
1846
1847 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1848
1849         * mule-charset.c (make_byte_table): Add new argument `older'.
1850         (make_char_id_table): Likewise.
1851         (copy_char_id_table): Comment out because it is not used.
1852         (put_char_id_table): Modify for `make_byte_table'.
1853         (Fput_char_attribute): Make encoding_table as older object;
1854         inherit older bit of `Vcharacter_composition_table'.
1855         (mark_charset): Don't mark `cs->encoding_table'.
1856         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
1857         normal object; make `Vcharacter_composition_table' as an older
1858         object; delete staticpro for `Vcharacter_composition_table'; make
1859         `Vcharacter_variant_table' as a normal object.
1860
1861         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
1862         (mark_object): Don't check older object in UTF-2000.
1863
1864         * lrecord.h (struct lrecord_header): Add new member `older' in
1865         UTF-2000.
1866         (set_lheader_implementation): Setup `SLI_header->older' in
1867         UTF-2000.
1868         (set_lheader_older_implementation): New macro in UTF-2000.
1869         (OLDER_RECORD_P): New macro in UTF-2000.
1870         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
1871         (alloc_older_lcrecord): New prototype in UTF-2000.
1872         (alloc_older_lcrecord_type): New macro in UTF-2000.
1873
1874 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1875
1876         * mule-charset.c (byte_table_description): Use
1877         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
1878         (char_id_table_description): Delete bogus `, 1'.
1879         (Fget_char_attribute): Refer encoding_table of each coded-charset
1880         to get value of coded-charset attribute of a character.
1881         (Fput_char_attribute): Use `make_older_vector' instead of
1882         `make_vector'; use encoding_table of each coded-charset to store
1883         value of coded-charset attribute of a character.
1884         (Fremove_char_attribute): Use encoding_table of each coded-charset
1885         to store value of coded-charset attribute of a character.
1886         (mark_charset): Mark `cs->encoding_table'; don't mark
1887         `cs->decoding_table'.
1888         (charset_description): Add description of new member
1889         `encoding_table'.
1890         (make_charset): Initialize `encoding_table'.
1891
1892         * char-ucs.h (struct Lisp_Charset): Add new member
1893         `encoding_table'.
1894         (CHARSET_ENCODING_TABLE): New macro.
1895         (XCHARSET_ENCODING_TABLE): New macro.
1896         (charset_code_point): New implementation.
1897         (encode_char_1): Likewise.
1898
1899         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
1900         (disksave_object_finalization_1): Call finalizers of
1901         `all_older_lcrecords' in UTF-2000.
1902         (make_older_vector): New function in UTF-2000.
1903         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
1904         UTF-2000.
1905
1906         * lisp.h (make_older_vector): New prototype in UTF-2000.
1907
1908 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1909
1910         * lrecord.h (enum lrecord_type): Rename
1911         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
1912
1913         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
1914         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
1915         `get_char_code_table'.
1916
1917         * mule-charset.c (mark_char_id_table): Renamed from
1918         `mark_char_code_table'.
1919         (char_id_table_equal): Renamed from `char_code_table_equal'.
1920         (char_id_table_hash): Renamed from `char_code_table_hash'.
1921         (make_char_id_table): Renamed from `make_char_code_table'.
1922         (copy_char_id_table): Renamed from `copy_char_code_table'.
1923         (get_char_id_table): Renamed from `get_char_code_table'.
1924         (put_char_id_table): Renamed from `put_char_code_table'.
1925         (to_char_id): Renamed from `to_char_code'.
1926
1927         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
1928         `Lisp_Char_Code_Table'.
1929         (char_id_table): Renamed from `char_code_table'.
1930         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
1931         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
1932         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
1933         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
1934         (get_char_id_table): Renamed from `get_char_code_table'.
1935
1936 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1937
1938         * lrecord.h (enum lrecord_type): Rename
1939         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
1940
1941         * mule-charset.c (mark_byte_table): Renamed from
1942         `mark_char_byte_table'.
1943         (byte_table_equal): Renamed from `char_byte_table_equal'.
1944         (byte_table_hash): Renamed from `byte_table_hash'.
1945         (make_byte_table): Renamed from `make_byte_table'.
1946         (copy_byte_table): Renamed from `copy_char_byte_table'.
1947
1948         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
1949         `Lisp_Char_Byte_Table'.
1950         (byte_table): Renamed from `char_byte_table'.
1951         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
1952         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
1953         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
1954         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
1955
1956 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1957
1958         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
1959         (dfc_convert_to_internal_format): Likewise.
1960         
1961         * text-coding.c (Fcoding_system_canonical_name_p): New function.
1962         * text-coding.c (Fcoding_system_alias_p): New function.
1963         * text-coding.c (Fcoding_system_aliasee): New function.
1964         * text-coding.c (append_suffix_to_symbol): New function.
1965         * text-coding.c (dangling_coding_system_alias_p): New function.
1966         * text-coding.c (Ffind_coding_system):
1967         * text-coding.c (Fcopy_coding_system):
1968         * text-coding.c (encode_coding_no_conversion):
1969         * text-coding.c (syms_of_file_coding):
1970         * text-coding.c (vars_of_file_coding):
1971         Rewrite coding system alias code.
1972         Allow nested aliases, like symbolic links.
1973         Allow redefinition of coding system aliases.
1974         Prevent existence of dangling coding system aliases.
1975         Eliminate convert_to_external_format.
1976         Eliminate convert_to_internal_format.
1977         
1978         * text-coding.c: Change enum eol_type to eol_type_t.
1979
1980 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1981
1982         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
1983         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1984
1985         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
1986         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1987
1988 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1989
1990         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
1991         `ideograph-daikanwa'.
1992
1993         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
1994         (Vcharset_ucs_bmp): Likewise.
1995         (Vcharset_mojikyo): Add new extern variable definition.
1996         (Vcharset_latin_iso8859_2): Deleted because it is not used.
1997         (Vcharset_latin_iso8859_3): Likewise.
1998         (Vcharset_latin_iso8859_4): Likewise.
1999         (Vcharset_latin_iso8859_9): Likewise.
2000         (Vcharset_latin_viscii_lower): Likewise.
2001         (Vcharset_latin_viscii_upper): Likewise.
2002         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2003         `mojikyo' code-point is used to decode.
2004         (encode_char_2): New function [to convert `mojikyo' code-point to
2005         Mojikyo font encoding].
2006         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2007         (breakup_char_1): Likewise.
2008         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2009
2010 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2011
2012         * text-coding.c (Fmake_coding_system): Add document about
2013         `disable-composition' property.
2014
2015 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2016
2017         * text-coding.c (Qdisable_composition): New variable; delete
2018         `Qcomposite'.
2019         (Fmake_coding_system): Add new property `disable-composite';
2020         delete property `composite'.
2021         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2022         instead of `!CODING_SYSTEM_COMPOSITE'.
2023         (syms_of_file_coding): Add new symbol `disable-composition';
2024         delete symbol `composite'.
2025
2026         * file-coding.h (struct Lisp_Coding_System): Add
2027         `disable_composition'; delete `enable_composition'.
2028         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2029         `CODING_SYSTEM_COMPOSITE'.
2030         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2031         `XCODING_SYSTEM_COMPOSITE'.
2032
2033 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2034
2035         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2036         to 0.15.
2037
2038 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2039
2040         * text-coding.c (Qcomposite): New variable.
2041         (Fmake_coding_system): Add new property `composite'.
2042         (struct decoding_stream): Add `combined_char_count',
2043         `combined_chars' and `combining_table' in UTF-2000.
2044         (COMPOSE_FLUSH_CHARS): New macro.
2045         (COMPOSE_ADD_CHAR): New macro.
2046         (reset_decoding_stream): Reset `str->combined_char_count' and
2047         `str->combining_table' in UTF-2000.
2048         (decode_coding_iso2022): Modify for character-decomposition.
2049         (syms_of_file_coding): Add new symbol `composite'.
2050
2051 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2052
2053         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2054         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2055         of `Vcharacter_composition_table' if `->decomposition' property
2056         has only 1 element.
2057         (Qlatin_tcvn5712): New variable.
2058         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2059         (complex_vars_of_mule_charset): Add new coded-charset
2060         `latin-tcvn5712'.
2061
2062         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2063
2064 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2065
2066         * file-coding.h (struct Lisp_Coding_System): Add
2067         `enable_composition'.
2068         (CODING_SYSTEM_COMPOSITE): New macro.
2069         (XCODING_SYSTEM_COMPOSITE): New macro.
2070
2071 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2072
2073         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2074
2075 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2076
2077         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2078         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2079
2080 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2081
2082         * mule-charset.c (Vcharset_mojikyo): New variable.
2083         (Fdefine_char): Don't use coded-charset which does not have
2084         non-builtin character range to allocate character-id.
2085         (Qmojikyo): New variable.
2086         (syms_of_mule_charset): Add new symbol `mojikyo'.
2087         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2088
2089         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2090         (LEADING_BYTE_MOJIKYO): New macro.
2091         (MIN_CHAR_MOJIKYO): New macro.
2092         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2093         (MAX_CHAR_MOJIKYO): New macro.
2094
2095 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2096
2097         * mule-charset.c (remove_char_attribute): Fixed.
2098
2099 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2100
2101         * mule-charset.c (remove_char_attribute): New function.
2102         (Fremove_char_attribute): New function.
2103         (encode_builtin_char_1): Comment out builtin-support for
2104         greek-iso8859-7 and cyrillic-iso8859-5.
2105         (Fdecode_char): Check `code' is an integer.
2106         (syms_of_mule_charset): Add `remove-char-attribute'.
2107         (MIN_CHAR_GREEK): Deleted.
2108         (MAX_CHAR_GREEK): Likewise.
2109         (MIN_CHAR_CYRILLIC): Likewise.
2110         (MAX_CHAR_CYRILLIC): Likewise.
2111         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2112         MAX_CHAR_GREEK for `greek-iso8859-7'.
2113
2114         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
2115         (MAX_CHAR_GREEK): Likewise.
2116         (MIN_CHAR_CYRILLIC): Likewise.
2117         (MAX_CHAR_CYRILLIC): Likewise.
2118
2119 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
2120
2121         * mule-charset.c (Fdefine_char): Fix problem when new code-point
2122         format is used without `ucs' property.
2123         (Fdecode_char): Fix problem with GR representation.
2124         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
2125         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
2126
2127 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2128
2129         * mule-charset.c (make_builtin_char): New function.
2130         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
2131         (Fset_charset_mapping_table): Modify for new representation of
2132         code-point.
2133         (Fdecode_char): New function.
2134         (syms_of_mule_charset): Add new builtin function `decode-char' in
2135         UTF-2000.
2136
2137         * char-ucs.h (make_builtin_char): New prototype.
2138         (DECODE_CHAR): New inline function.
2139         (MAKE_CHAR): Use `DECODE_CHAR'.
2140
2141 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
2142
2143         * text-coding.c (parse_charset_conversion_specs): Use
2144         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
2145         `XCHARSET_TYPE'.
2146         (iso2022_designate): Likewise.
2147
2148         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
2149         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
2150
2151         * mule-charset.c (Vcharset_ucs): New variable.
2152         (print_charset): Change design; use `CHARSET_CHARS' and
2153         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
2154         (make_charset): Change signature to specify `chars' and
2155         `dimension' instead of `type'.
2156         (range_charset_code_point): Modify for 256^n-set.
2157         (encode_builtin_char_1): Encode as `ucs' in default.
2158         (Fmake_charset): Modify for `make_charset'.
2159         (Fmake_reverse_direction_charset): Likewise.
2160         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
2161         UTF-2000.
2162         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
2163         for `make_charset'.
2164
2165         * char-ucs.h (Vcharset_ucs): New variable.
2166         (LEADING_BYTE_UCS): New macro.
2167         (struct Lisp_Charset): Delete `type'; change type of `dimension'
2168         and `chars' to `unsigned short' from `unsigned int'.
2169         (CHARSET_TYPE): Deleted.
2170         (XCHARSET_TYPE): Deleted.
2171
2172 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
2173
2174         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
2175
2176         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
2177         (ENCODE_CHAR): New macro.
2178
2179 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2180
2181         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2182         to 0.14 (Kawachi-Katakami).
2183
2184 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2185
2186         * text-coding.c (char_encode_shift_jis): Modify for
2187         `charset_code_point'.
2188         (char_encode_iso2022): Likewise.
2189
2190         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
2191         (integer) instead of list of <Lisp_Object>s (integers) as the
2192         format of code-point of a coded-charset.
2193         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2194         (encode_builtin_char_1): New function; delete
2195         `split_builtin_char'.
2196         (charset_code_point): Return <int> instead of <Lisp_Object>.
2197         (Fsplit_char): Don't use `SPLIT_CHAR'.
2198
2199         * char-ucs.h (encode_builtin_char_1): New prototype; delete
2200         prototype for `split_builtin_char'.
2201         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2202         (charset_code_point): Likewise.
2203         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
2204         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
2205
2206 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
2207
2208         * mule-charset.c (complex_vars_of_mule_charset): Don't define
2209         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
2210
2211 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2212
2213         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
2214
2215         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
2216         (MAX_CHAR_OBS_94x94): Deleted.
2217
2218 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2219
2220         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
2221
2222         * char-ucs.h (MAX_CHAR_BMP): New macro.
2223
2224 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2225
2226         * text-coding.c: Sync with r21-2-24.
2227
2228 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2229
2230         * file-coding.c: Modify for UTF-2000.
2231
2232 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2233
2234         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2235         to 0.13 (Takaida).
2236
2237 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2238
2239         * mule-charset.c (split_builtin_char): Delete builtin support for
2240         `katakana-jisx0201'.
2241         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
2242         BMP area in builtin representation.
2243
2244         * char-ucs.h (MAKE_CHAR): Delete builtin support for
2245         `Vcharset_katakana_jisx0201'.
2246
2247 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
2248
2249         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2250         (Qisolated): New variable.
2251         (Qinitial): New variable.
2252         (Qmedial): New variable.
2253         (Qfinal): New variable.
2254         (Qvertical): New variable.
2255         (Qsmall): New variable.
2256         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2257         `Qvertical' and `Qsmall'.
2258         (Qmojikyo_pj_[1 .. 21]): New variable.
2259         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2260         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2261         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2262         .. 21]'.
2263
2264 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2265
2266         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2267         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2268         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2269
2270 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2271
2272         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2273         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2274         BMP.
2275         (Qjapanese_jisx0208_1990): New variable.
2276         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2277         (complex_vars_of_mule_charset): Add new coded-charset
2278         `japanese-jisx0208-1990'.
2279
2280         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2281         (MIN_CHAR_JIS_X0208_1990): New macro.
2282         (MAX_CHAR_JIS_X0208_1990): New macro.
2283
2284 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2285
2286         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2287         coded-charset is not found.
2288
2289 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2290
2291         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2292         (Fdefine_char): Use `Fmake_char'.
2293
2294 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2295
2296         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2297         (Vcharset_hiragana_jisx0208): Deleted.
2298         (Vcharset_katakana_jisx0208): Deleted.
2299         (Qideograph_daikanwa): New variable.
2300         (Qhiragana_jisx0208): Deleted.
2301         (Qkatakana_jisx0208): Deleted.
2302         (split_builtin_char): Split `ideograph-daikanwa'.
2303         (Fsplit_char): New implementation for UTF-2000.
2304         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2305         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2306         (complex_vars_of_mule_charset): Add new coded-charset
2307         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2308         `katakana-jisx0208'.
2309
2310         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2311         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2312         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2313         (MIN_CHAR_DAIKANWA): New macro.
2314         (MAX_CHAR_DAIKANWA): New macro.
2315
2316 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2317
2318         * data.c (Fstring_to_number): Don't recognize floating point if
2319         base is not 10.
2320
2321 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2322
2323         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2324
2325 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2326
2327         * mule-charset.c (Qsquare): New variable.
2328         (to_char_code): Add `Qsquare'.
2329         (syms_of_mule_charset): Add new symbol `square'.
2330
2331 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2332
2333         * mule-charset.c (Qcircle): New variable.
2334         (to_char_code): Add `Qcircle'.
2335         (syms_of_mule_charset): Add new symbol `circle'.
2336
2337 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2338
2339         * mule-charset.c (Qfont): New variable.
2340         (to_char_code): Add `Qfont'.
2341         (syms_of_mule_charset): Add new symbol `font'.
2342
2343 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2344
2345         * mule-charset.c (Qsub): New variable.
2346         (to_char_code): Add `Qsub'.
2347         (syms_of_mule_charset): Add new symbol `sub'.
2348
2349 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2350
2351         * mule-charset.c (Fput_char_attribute): Convert each element of
2352         VALUE to GL position if ATTRIBUTE is a GR-set,
2353
2354 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2355
2356         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2357         coded-charset is a GR-set.
2358
2359 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2360
2361         * mule-charset.c (Fput_char_attribute): Check each element of
2362         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2363
2364 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2365
2366         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2367         UTF-2000.
2368         (Qethiopic_ucs): New variable in UTF-2000.
2369         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2370         (complex_vars_of_mule_charset): Add new coded-charset
2371         `ethiopic-ucs' in UTF-2000.
2372
2373         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2374         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2375         9)'.
2376         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2377         10)'.
2378         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2379
2380 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2381
2382         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2383         `ascii'.
2384
2385 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2386
2387         * mule-charset.c (Vcharacter_variant_table): New variable.
2388         (Q_ucs): New variable.
2389         (Fchar_variants): New function.
2390         (Fput_char_attribute): Register `->ucs' value to
2391         `Vcharacter_variant_table'.
2392         (syms_of_mule_charset): Add new function `char-variants' and new
2393         symbol `->ucs'.
2394         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2395
2396 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2397
2398         * mule-charset.c (get_char_code_table): Allow negative character
2399         code.
2400         (put_char_code_table): Likewise.
2401         (Vcharacter_composition_table): New variable.
2402         (Q_decomposition): New variable.
2403         (Qwide): New variable.
2404         (Qnarrow): New variable.
2405         (Qcompat): New variable.
2406         (QnoBreak): New variable.
2407         (Qsuper): New variable.
2408         (Qfraction): New variable.
2409         (to_char_code): New function.
2410         (Fget_composite_char): New function.
2411         (Fput_char_attribute): Register `->decomposition' value to
2412         `Vcharacter_composition_table'.
2413         (syms_of_mule_charset): Add new function `get-composite-char', new
2414         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2415         `super' and `fraction'.
2416         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2417
2418 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2419
2420         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2421         character; copy the return value.
2422
2423 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2424
2425         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2426
2427         * mule-charset.c (range_charset_code_point): Must use make_int.
2428         (split_builtin_char): New function.
2429
2430 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2431
2432         * mule-charset.c (char_byte_table): Change name from
2433         "char-code-table" to "char-byte-table".
2434         (mark_char_code_table): New function.
2435         (char_code_table_equal): New function.
2436         (char_code_table_hash): New function.
2437         (char_code_table_description): New constant.
2438         (char_code_table): New type.
2439         (make_char_code_table): New function.
2440         (copy_char_code_table): New function.
2441         (get_char_code_table): Modify for `char_code_table' type.
2442         (put_char_code_table): Likewise.
2443         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2444         (Kashiwara).
2445
2446         * char-ucs.h (char_code_table): New type.
2447         (XCHAR_CODE_TABLE): New macro.
2448         (XSETCHAR_CODE_TABLE): New macro.
2449         (CHAR_CODE_TABLE_P): New macro.
2450         (GC_CHAR_CODE_TABLE_P): New macro.
2451         (struct Lisp_Char_Code_Table): New structure.
2452
2453 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2454
2455         * mule-charset.c (Fmake_charset): Setup byte_offset for
2456         {94|96}^n-set.
2457
2458 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2459
2460         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2461         character.
2462
2463 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2464
2465         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2466         is found.
2467
2468 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2469
2470         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2471         charset, it is regarded as a charset.
2472         (put_char_attribute): New function in UTF-2000.
2473         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2474         charset, mapping-table of the charset is modified.
2475         (Fdefine_char): New function in UTF-2000.
2476         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2477         `Fput_char_attribute'.
2478         (syms_of_mule_charset): Add new function `define-char' and new
2479         symbol `ucs' in UTF-2000.
2480         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2481
2482 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2483
2484         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2485         non-UTF-2000 configuration.
2486
2487 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2488
2489         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2490         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2491
2492         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2493         deleted.
2494         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2495         (Fset_charset_mapping_table): Likewise.
2496
2497         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2498         (CHARSET_ENCODING_TABLE): Delete.
2499         (XCHARSET_ENCODING_TABLE): Delete.
2500         (charset_code_point): New interface.
2501
2502 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2503
2504         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2505         instead of `charset_get_byte1' and `charset_get_byte2'.
2506
2507         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2508         (charset_get_byte2): Deleted.
2509
2510 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2511
2512         * char-ucs.h (SPLIT_CHAR): New inline function.
2513         (breakup_char_1): Use `SPLIT_CHAR'.
2514
2515         * mule-charset.c (range_charset_code_point): New function.
2516         (charset_code_point): New function.
2517
2518         * char-ucs.h (range_charset_code_point): New interface.
2519         (breakup_char_1): Use `range_charset_code_point'.
2520
2521 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2522
2523         * mule-charset.c (Fmake_charset): Delete unused local variable
2524         `code_offset'.
2525
2526         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2527         (breakup_char_1): Find a charset and code-point in
2528         `Vcharacter_attribute_table'.
2529
2530 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2531
2532         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2533         to 0.10 (Yao).
2534
2535 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2536
2537         * mule-charset.c (Vcharacter_attribute_table): New variable.
2538         (Fchar_attribute_alist): New function.
2539         (Fget_char_attribute): New function.
2540         (Fput_char_attribute): New function.
2541         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2542         too.
2543         (syms_of_mule_charset): Add new function `char-attribute-alist',
2544         `get-char-attribute' and `put-char-attribute'.
2545         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2546
2547 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2548
2549         * mule-charset.c (Fmake_charset): Just use
2550         `get_unallocated_leading_byte'.
2551
2552         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2553         sets; don't use final-byte based number for private sets.
2554
2555 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2556
2557         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2558         integer.
2559
2560 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2561
2562         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2563         to 0.9.
2564
2565 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2566
2567         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2568         of `CHAR_LEADING_BYTE' in UTF-2000.
2569
2570         * insdel.c (find_charsets_in_bufbyte_string): Use
2571         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2572         (find_charsets_in_emchar_string): Likewise.
2573
2574         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2575         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2576
2577         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2578         (CHAR_CHARSET_ID): New macro.
2579
2580 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2581
2582         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2583         charset-id - MIN_LEADING_BYTE.
2584         (put_char_table): Likewise.
2585
2586 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2587
2588         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2589         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2590         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2591         (CHARSET_ID_OFFSET): New macro.
2592         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2593         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2594         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2595         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2596         4).
2597         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2598         5).
2599         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2600         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2601         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2602         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2603         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2604
2605 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2606
2607         * mule-charset.c (next_allocated_leading_byte): New variable in
2608         UTF-2000.
2609         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2610         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2611         (get_unallocated_leading_byte): Simply use
2612         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2613         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2614         UTF-2000.
2615
2616         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2617         (MAX_LEADING_BYTE_PRIVATE): New macro.
2618         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2619         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2620
2621 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2622
2623         * mule-charset.c (Fmake_charset): Allocate final-byte based
2624         charset-id for 94-set, 96-set and 94x94-set.
2625
2626 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2627
2628         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2629         ambiguous `else'.
2630         (Fmake_charset): Likewise.
2631         (complex_vars_of_mule_charset): Modify the font registry of
2632         `ucs-bmp' not to match `Ethiopic-Unicode'.
2633
2634 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2635
2636         * mule-charset.c (complex_vars_of_mule_charset): Add font
2637         registory of `ucs-bmp'.
2638
2639 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2640
2641         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2642         coded-charsets in `default-coded-charset-priority-list' when
2643         breaking up a character.
2644
2645         * mule-charset.c (Vcharset_latin_viscii): New variable.
2646         (Qlatin_viscii): New variable.
2647         (make_charset): Don't use `decoding_table'.
2648         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2649         byte_offset.
2650         (Fset_charset_mapping_table): New implementation.
2651         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2652         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2653         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2654         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2655         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2656         charset `latin_viscii'.
2657
2658         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2659         (CHARSET_TYPE_94X94): Change to 1 from 2.
2660         (CHARSET_TYPE_96): Change to 2 from 1.
2661         (CHARSET_TYPE_128): New macro.
2662         (CHARSET_TYPE_128X128): Change to 5 from 4.
2663         (CHARSET_TYPE_256): New macro.
2664         (CHARSET_TYPE_256X256): Change to 7 from 5.
2665         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2666
2667 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2668
2669         * text-coding.c (char_encode_shift_jis): Refer
2670         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2671         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2672
2673         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2674         (char_byte_table_equal): New function in UTF-2000.
2675         (char_byte_table_hash): New function in UTF-2000.
2676         (char_byte_table_description): New constant in UTF-2000.
2677         (char_byte_table): New type in UTF-2000.
2678         (make_char_byte_table): New function in UTF-2000.
2679         (copy_char_byte_table): New function in UTF-2000.
2680         (make_char_code_table): New macro in UTF-2000.
2681         (get_char_code_table): New function in UTF-2000.
2682         (put_char_code_table): New function in UTF-2000.
2683         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2684         (charset_description): Add setting in UTF-2000.
2685         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2686         `CHARSET_TO_BYTE1_TABLE(cs)'.
2687         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2688         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2689         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2690         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2691         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2692         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2693         `CHARSET_TO_BYTE2_TABLE(cs)'.
2694
2695         * char-ucs.h (char_byte_table): New type.
2696         (XCHAR_BYTE_TABLE): New macro.
2697         (XSETCHAR_BYTE_TABLE): New macro.
2698         (CHAR_BYTE_TABLE_P): New macro.
2699         (GC_CHAR_BYTE_TABLE_P): New macro.
2700         (struct Lisp_Char_Byte_Table): New structure.
2701         (get_char_code_table): New interface.
2702         (Emchar_to_byte_table): Deleted.
2703         (get_byte_from_character_table): Deleted.
2704         (struct Lisp_Charset): Add `encoding_table'; delete
2705         `to_byte1_table' and `to_byte2_table'.
2706         (CHARSET_ENCODING_TABLE): New macro.
2707         (CHARSET_TO_BYTE1_TABLE): Deleted.
2708         (CHARSET_TO_BYTE2_TABLE): Deleted.
2709         (XCHARSET_ENCODING_TABLE): New macro.
2710         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2711         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2712
2713 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2714
2715         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2716         `vietnamese-viscii-*'.
2717
2718 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2719
2720         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2721         (Qvietnamese_viscii_upper): New variable.
2722         (Fdefine_charset_alias): New function.
2723         (syms_of_mule_charset): Add new function `define-charset-alias'.
2724         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2725         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2726         `latin-viscii-*'.
2727
2728 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2729
2730         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2731         (MAX_CHAR_OBS_94x94): New macro.
2732         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2733         for 94x94 sets.
2734
2735         * mule-charset.c (put_byte_from_character_table): Change unit size
2736         from 128 to 256.
2737         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2738         not defined.
2739         (Fmake_reverse_direction_charset): Modify dummy argument of
2740         `make_charset' for non-UTF-2000 environment.
2741
2742 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2743
2744         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2745
2746         * mule-charset.c (destroy_byte_from_character_table): New macro.
2747         (latin_jisx0201_to_ucs): Deleted.
2748         (latin_iso8859_2_to_ucs): Deleted.
2749         (latin_iso8859_3_to_ucs): Deleted.
2750         (latin_iso8859_4_to_ucs): Deleted.
2751         (latin_iso8859_9_to_ucs): Deleted.
2752         (latin_viscii_lower_to_ucs): Deleted.
2753         (latin_viscii_upper_to_ucs): Deleted.
2754         (mark_charset): Mark `cs->decoding_table'.
2755         (Fcharset_mapping_table): Fix DOC-string.
2756         (Fset_charset_mapping_table): New function.
2757         (syms_of_mule_charset): Add nwe function
2758         `set-charset-mapping-table'.
2759         (complex_vars_of_mule_charset): Don't setup and use
2760         `latin_*_to_ucs'.
2761
2762 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2763
2764         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2765         charset.
2766
2767 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2768
2769         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2770         (Vcharset_katakana_jisx0208): New variable.
2771         (Qhiragana_jisx0208): New variable.
2772         (Qkatakana_jisx0208): New variable.
2773         (make_charset): Add new argument `byte_offset'.
2774         (charset_get_byte1): Modify for new coded-charset definition; use
2775         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2776         `XCHARSET_BYTE_OFFSET'.
2777         (Fmake_charset): Modify for `make_charset'.
2778         (Fmake_reverse_direction_charset): Likewise.
2779         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2780         `katakana-jisx0208'.
2781         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2782         `.'  in font registry of charset `katakana-jisx0201',
2783         `latin-jisx0201', `vietnamese-viscii-lower' and
2784         `vietnamese-viscii-upper'; modify DOC-string of charset
2785         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2786         registry of charset `japanese-jisx0208' not to use font for JIS
2787         X0208:1990; add new charset `hiragana-jisx0208' and
2788         `katakana-jisx0208'.
2789
2790         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2791         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2792         (struct Lisp_Charset): Add `byte_offset'.
2793         (CHARSET_BYTE_OFFSET): New macro.
2794         (XCHARSET_UCS_MIN): New macro.
2795         (XCHARSET_UCS_MAX): New macro.
2796         (XCHARSET_CODE_OFFSET): New macro.
2797         (XCHARSET_BYTE_OFFSET): New macro.
2798         (MIN_CHAR_HIRAGANA): New macro.
2799         (MAX_CHAR_HIRAGANA): New macro.
2800         (MIN_CHAR_KATAKANA): New macro.
2801         (MAX_CHAR_KATAKANA): New macro.
2802         (MAKE_CHAR): Modify for new coded-charset definition; use
2803         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2804         `XCHARSET_BYTE_OFFSET'.
2805
2806 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2807
2808         * mule-charset.c (CHAR96): Deleted.
2809         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
2810         <Lisp_Object>.
2811         (latin_iso8859_2_to_ucs): Likewise.
2812         (latin_iso8859_3_to_ucs): Likewise.
2813         (latin_iso8859_4_to_ucs): Likewise.
2814         (latin_iso8859_9_to_ucs): Likewise.
2815         (latin_viscii_lower_to_ucs): Likewise.
2816         (latin_viscii_upper_to_ucs): Likewise.
2817         (latin_tcvn5712_to_ucs): Commented out.
2818         (make_charset): Change type of argument `decoding_table' from
2819         <Emchar*> to <Lisp_Object> [vector of characters].
2820         (Fmake_charset): Modify for `make_charset'.
2821         (Fmake_reverse_direction_charset): Likewise.
2822         (Fcharset_mapping_table): New function in UTF-2000.
2823         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
2824         UTF-2000.
2825         (complex_vars_of_mule_charset): Modify for type change of
2826         `*_to_ucs'; modify for `make_charset'.
2827
2828         * char-ucs.h (struct Lisp_Charset): Change type of
2829         `decoding_table' from <Emchar*> to <Lisp_Object>.
2830         (MAKE_CHAR): Modify for new specification of `decoding_table'.
2831
2832 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2833
2834         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
2835         error with non-UTF-2000-Mule.
2836
2837 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
2838
2839         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
2840         in lisp again].
2841         (Vcharset_chinese_cns11643_4): Likewise.
2842         (Vcharset_chinese_cns11643_5): Likewise.
2843         (Vcharset_chinese_cns11643_6): Likewise.
2844         (Vcharset_chinese_cns11643_7): Likewise.
2845         (Qchinese_cns11643_3): Likewise.
2846         (Qchinese_cns11643_4): Likewise.
2847         (Qchinese_cns11643_5): Likewise.
2848         (Qchinese_cns11643_6): Likewise.
2849         (Qchinese_cns11643_7): Likewise.
2850         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
2851         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2852         and `chinese-cns11643-7' to lisp/mule/chinese.el.
2853         (complex_vars_of_mule_charset): Likewise.
2854
2855 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2856
2857         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
2858         96-set.
2859         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
2860         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
2861
2862 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2863
2864         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
2865         0xFF60.
2866         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
2867         (breakup_char_1): Likewise.
2868
2869         * text-coding.c (char_encode_iso2022): Keep designated charsets if
2870         one of them includes the specified character.
2871
2872 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2873
2874         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
2875
2876 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2877
2878         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
2879
2880 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2881
2882         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
2883         definition for non-UTF-2000 Mule.
2884         (latin_iso8859_3_to_ucs): Likewise.
2885         (latin_iso8859_4_to_ucs): Likewise.
2886         (latin_iso8859_9_to_ucs): Likewise.
2887         (latin_jisx0201_to_ucs): Likewise.
2888         (MIN_CHAR_THAI): Likewise.
2889         (MAX_CHAR_THAI): Likewise.
2890         (MIN_CHAR_GREEK): Likewise.
2891         (MAX_CHAR_GREEK): Likewise.
2892         (MIN_CHAR_HEBREW): Likewise.
2893         (MAX_CHAR_HEBREW): Likewise.
2894         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
2895         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
2896         (MIN_CHAR_CYRILLIC): Likewise.
2897         (MAX_CHAR_CYRILLIC): Likewise.
2898
2899 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2900
2901         * char-ucs.h (breakup_char_1): Use
2902         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
2903         thai-tis620 and katakana-jisx0201 area.
2904
2905 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2906
2907         * char-ucs.h (breakup_char_1): Use
2908         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
2909         area.
2910
2911         * text-coding.c (reset_encoding_stream): Fixed.
2912         (char_encode_ucs4): Delete `& 255'.
2913
2914         * char-ucs.h (breakup_char_1): Use
2915         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
2916
2917 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2918
2919         * file-coding.c (Fmake_coding_system): Don't set up
2920         `codesys->fixed.size'.
2921         (encode_coding_no_conversion): Don't refer
2922         `str->codesys->fixed.size'.
2923
2924 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2925
2926         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
2927         (latin_a_char_to_byte1): Deleted.
2928         (latin_a_char_to_byte2): Deleted.
2929
2930 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2931
2932         * mule-charset.c (make_charset): Add new argument `ucs_min',
2933         `ucs_max' and `code_offset'.
2934         (charset_get_byte1): New implementation [delete specific charset
2935         depended implementations].
2936         (Fmake_charset): Modify for `make_charset'.
2937         (Fmake_reverse_direction_charset): Likewise.
2938         (complex_vars_of_mule_charset): Likewise.
2939
2940         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
2941         `code_offset'.
2942         (CHARSET_UCS_MIN): New macro.
2943         (CHARSET_UCS_MAX): New macro.
2944         (CHARSET_CODE_OFFSET): New macro.
2945         (MAKE_CHAR): Delete charset depended definitions [except
2946         katakana-jisx0201].
2947
2948 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2949
2950         * char-ucs.h (breakup_char_1): Use
2951         `Vdefault_coded_charset_priority_list' for C0-Controls,
2952         Basic-Latin, C1-Controls and Latin-1-Supplement area.
2953
2954 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2955
2956         * char-ucs.h (charset_get_byte1): New function.
2957         (XCHARSET_GET_BYTE1): Deleted.
2958         (charset_get_byte2): New function.
2959         (XCHARSET_GET_BYTE2): Deleted.
2960         (Vdefault_coded_charset_priority_list): New external variable.
2961         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
2962         `Vdefault_preferred_coded_charset_list'.
2963
2964         * mule-charset.c (charset_get_byte1): New function.
2965         (charset_get_byte2): New function.
2966         (Vdefault_coded_charset_priority_list): New variable.
2967         (vars_of_mule_charset): Add new variable
2968         `default-coded-charset-priority-list'.
2969
2970 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2971
2972         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
2973         (XCHARSET_GET_BYTE2): New inline function.
2974         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
2975         `XCHARSET_GET_BYTE2'.
2976
2977 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2978
2979         * mule-charset.c (make_charset): Initialize
2980         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
2981         NULL if table is not defined.
2982
2983 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2984
2985         * text-coding.c (char_encode_shift_jis): Use
2986         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
2987         `ucs_to_latin_jisx0201'.
2988
2989         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
2990         (ucs_to_latin_iso8859_2): Deleted.
2991         (ucs_to_latin_iso8859_3): Deleted.
2992         (ucs_to_latin_iso8859_4): Deleted.
2993         (ucs_to_latin_iso8859_9): Deleted.
2994         (ucs_to_latin_viscii_lower): Deleted.
2995         (ucs_to_latin_viscii_upper): Deleted.
2996         (ucs_to_latin_tcvn5712): Deleted.
2997         (make_charset): Add new argument `decoding_table'; set up
2998         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
2999         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3000         `decoding_table' is defined in UTF-2000.
3001         (Fmake_charset): Modify for `make_charset'.
3002         (Fmake_reverse_direction_charset): Likewise.
3003         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3004         and `GENERATE_96_SET'.
3005
3006         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3007         (ucs_to_latin_jisx0201): Deleted.
3008         (latin_iso8859_2_to_ucs): Deleted.
3009         (ucs_to_latin_iso8859_2): Deleted.
3010         (latin_iso8859_3_to_ucs): Deleted.
3011         (ucs_to_latin_iso8859_3): Deleted.
3012         (latin_iso8859_4_to_ucs): Deleted.
3013         (ucs_to_latin_iso8859_4): Deleted.
3014         (latin_iso8859_9_to_ucs): Deleted.
3015         (ucs_to_latin_iso8859_9): Deleted.
3016         (latin_viscii_lower_to_ucs): Deleted.
3017         (ucs_to_latin_viscii_lower): Deleted.
3018         (latin_viscii_upper_to_ucs): Deleted.
3019         (ucs_to_latin_viscii_upper): Deleted.
3020         (struct Lisp_Charset): Renamed `encoding_table' to
3021         `to_byte1_table'; add `to_byte2_table'.
3022         (CHARSET_DECODING_TABLE): New macro.
3023         (CHARSET_TO_BYTE1_TABLE): New macro.
3024         (CHARSET_TO_BYTE2_TABLE): New macro.
3025         (XCHARSET_DECODING_TABLE): New macro.
3026         (XCHARSET_TO_BYTE1_TABLE): New macro.
3027         (XCHARSET_TO_BYTE2_TABLE): New macro.
3028         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3029         tables.
3030         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3031         don't use `ucs_to_*' tables.
3032
3033 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3034
3035         * text-coding.c (Fmake_coding_system): Don't set up
3036         `codesys->fixed.size'.
3037         (encode_coding_no_conversion): Use `if' instead of `switch'.
3038
3039         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3040
3041 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3042
3043         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3044         (Fmake_charset): Modify for `make_charset'.
3045         (Fmake_reverse_direction_charset): Likewise.
3046         (complex_vars_of_mule_charset): Likewise.
3047
3048 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3049
3050         * text-coding.c (char_encode_shift_jis): Use table
3051         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3052
3053 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3054
3055         * text-coding.c (text_encode_generic): Use `if' instead of
3056         `switch'.
3057         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3058         decode JIS-Latin.
3059
3060 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3061
3062         * text-coding.c (encode_coding_sjis): Deleted.
3063         (char_encode_shift_jis): New function.
3064         (char_finish_shift_jis): New function.
3065         (reset_encoding_stream): Set up `encode_char' and `finish' for
3066         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3067         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3068         (char_encode_utf8): Treat `eol_type'.
3069
3070 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3071
3072         * file-coding.c (decode_coding_iso2022): Use
3073         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3074
3075 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3076
3077         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3078         to 0.7 (Hirano).
3079
3080 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3081
3082         * char-lb.h (CHAR_COLUMNS): New macro.
3083
3084 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3085
3086         * text-coding.c (char_encode_ucs4): New function.
3087         (char_finish_ucs4): New function.
3088         (encode_coding_ucs4): Deleted.
3089         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3090         (text_encode_generic): Delete local variable `charset' and `half'.
3091         (ucs_to_mule_table): Deleted.
3092         (mule_to_ucs_table): Deleted.
3093         (Fset_ucs_char): Deleted.
3094         (ucs_to_char): Deleted.
3095         (Fucs_char): Deleted.
3096         (Fset_char_ucs): Deleted.
3097         (Fchar_ucs): Deleted.
3098         (decode_ucs4): Deleted.
3099         (mule_char_to_ucs4): Deleted.
3100         (encode_ucs4): Deleted.
3101         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3102         (decode_coding_utf8): Likewise.
3103         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3104         (char_encode_iso2022): Fixed.
3105         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3106         `Fset_char_ucs' and `Fchar_ucs'.
3107         (complex_vars_of_file_coding): Don't initialize
3108         `ucs_to_mule_table'.
3109
3110         * objects-tty.c (tty_initialize_font_instance): Don't use
3111         `XCHARSET_COLUMNS'.
3112
3113         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3114         UTF-2000.
3115
3116         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
3117         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3118
3119         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
3120         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3121         (emchar_string_displayed_columns): Likewise.
3122
3123         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
3124         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3125         (string_column_at_point): Likewise.
3126         (Fmove_to_column): Likewise.
3127
3128         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
3129         `encoding_table' and `decoding_table'.
3130         (CHARSET_REP_BYTES): Deleted.
3131         (XCHARSET_REP_BYTES): Deleted.
3132         (XCHARSET_COLUMNS): Deleted.
3133         (CHAR_COLUMNS): New macro.
3134         (lookup_composite_char): Deleted unconditionally.
3135         (composite_char_string): Likewise.
3136
3137 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3138
3139         * char-ucs.h (Emchar_to_byte_table): New type.
3140         (get_byte_from_character_table): New function interface.
3141         (Vcharset_latin_jisx0201): New variable.
3142         (latin_jisx0201_to_ucs): New variable.
3143         (ucs_to_latin_jisx0201): New variable.
3144         (Vcharset_latin_iso8859_2): New variable.
3145         (latin_iso8859_2_to_ucs): New variable.
3146         (ucs_to_latin_iso8859_2): New variable.
3147         (Vcharset_latin_iso8859_3): New variable.
3148         (latin_iso8859_3_to_ucs): New variable.
3149         (ucs_to_latin_iso8859_3): New variable.
3150         (Vcharset_latin_iso8859_4): New variable.
3151         (latin_iso8859_4_to_ucs): New variable.
3152         (ucs_to_latin_iso8859_4): New variable.
3153         (Vcharset_latin_iso8859_9): New variable.
3154         (latin_iso8859_9_to_ucs): New variable.
3155         (ucs_to_latin_iso8859_9): New variable.
3156         (Vcharset_latin_viscii_lower): New variable.
3157         (latin_viscii_lower_to_ucs): New variable.
3158         (ucs_to_latin_viscii_lower): New variable.
3159         (Vcharset_latin_viscii_upper): New variable.
3160         (latin_viscii_upper_to_ucs): New variable.
3161         (ucs_to_latin_viscii_upper): New variable.
3162         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
3163         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
3164         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
3165         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
3166         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
3167         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
3168         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
3169         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
3170         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
3171         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
3172
3173         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
3174         (Vcharset_latin_viscii_upper): New variable.
3175         (make_byte_from_character_table): New function.
3176         (put_byte_from_character_table): New function.
3177         (get_byte_from_character_table): New function.
3178         (CHAR96): New macro.
3179         (ucs_to_latin_jisx0201): New variable.
3180         (latin_jisx0201_to_ucs): New variable.
3181         (ucs_to_latin_iso8859_2): New variable.
3182         (latin_iso8859_2_to_ucs): New variable.
3183         (ucs_to_latin_iso8859_3): New variable.
3184         (latin_iso8859_3_to_ucs): New variable.
3185         (ucs_to_latin_iso8859_4): New variable.
3186         (latin_iso8859_4_to_ucs): New variable.
3187         (ucs_to_latin_iso8859_9): New variable.
3188         (latin_iso8859_9_to_ucs): New variable.
3189         (ucs_to_latin_viscii_lower): New variable.
3190         (latin_viscii_lower_to_ucs): New variable.
3191         (ucs_to_latin_viscii_upper): New variable.
3192         (latin_viscii_upper_to_ucs): New variable.
3193         (ucs_to_latin_tcvn5712): New variable.
3194         (latin_tcvn5712_to_ucs): New variable.
3195         (Qlatin_viscii_lower): New variable.
3196         (Qlatin_viscii_upper): New variable.
3197         (syms_of_mule_charset): Set up new symbol
3198         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
3199         (complex_vars_of_mule_charset): Set up new charset
3200         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
3201         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
3202         `ucs_to_<CHARSET>' tables.
3203
3204 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3205
3206         * text-coding.c: New file.
3207
3208 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3209
3210         * mule-charset.c (Fmake_char): Fix problem of 256-set.
3211
3212         * char-ucs.h (Vcharset_ucs_bmp): New variable.
3213         (MAKE_CHAR): Modify for `ucs-bmp'.
3214         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
3215         non-MULE characters of BMP.
3216
3217 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
3218
3219         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3220         to 0.6.
3221
3222 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3223
3224         * lstream.h:
3225         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
3226         - Include character.h for `CHAR_ASCII_P'.
3227
3228         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
3229
3230         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
3231         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
3232
3233         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
3234         (BYTE_C0_P): Likewise.
3235         (BYTE_C1_P): Likewise.
3236         (Lstream_get_emchar_1): Likewise.
3237         (Lstream_fput_emchar): Likewise.
3238         (Lstream_funget_emchar): Likewise.
3239         (copy_internal_to_external): Likewise.
3240         (copy_external_to_internal): Likewise.
3241
3242         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
3243         (BYTE_C0_P): Likewise.
3244         (BYTE_C1_P): Likewise.
3245         (Lstream_get_emchar_1): Likewise.
3246         (Lstream_fput_emchar): Likewise.
3247         (Lstream_funget_emchar): Likewise.
3248         (copy_internal_to_external): Likewise.
3249         (copy_external_to_internal): Likewise.
3250
3251         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3252         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3253
3254         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3255         (BYTE_ASCII_P): Moved to mb-1byte.h.
3256
3257 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3258
3259         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3260
3261         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3262         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3263         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3264         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3265         (VALIDATE_CHARPTR_FORWARD): Likewise.
3266         (simple_charptr_emchar): Moved to mb-multibyte.h.
3267         (simple_set_charptr_emchar): Likewise.
3268         (simple_charptr_copy_char): Likewise.
3269         (non_ascii_charptr_emchar): Likewise.
3270         (non_ascii_set_charptr_emchar): Likewise.
3271         (non_ascii_charptr_copy_char): Likewise.
3272         (charptr_emchar): Moved to mb-*byte.h.
3273         (set_charptr_emchar): Likewise.
3274         (charptr_copy_char): Likewise.
3275
3276         * mb-1byte.h, mb-multibyte.h: New files.
3277
3278 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3279
3280         * mb-utf-8.h (MULTIBYTE): New macro.
3281         (MAX_EMCHAR_LEN): Moved from buffer.h.
3282         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3283
3284         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3285
3286         * mb-lb.h, multibyte.h: New files.
3287
3288         * char-1byte.h (Charset_ID): Moved from buffer.h.
3289         (MIN_LEADING_BYTE): Likewise.
3290         (LEADING_BYTE_ASCII): Likewise.
3291         (NUM_LEADING_BYTES): Likewise.
3292         (CHARSETP): Likewise.
3293         (CHARSET_BY_LEADING_BYTE): Likewise.
3294         (XCHARSET_LEADING_BYTE): Likewise.
3295         (XCHARSET_GRAPHIC): Likewise.
3296         (XCHARSET_COLUMNS): Likewise.
3297         (XCHARSET_DIMENSION): Likewise.
3298         (CHAR_CHARSET): Likewise.
3299         (CHAR_LEADING_BYTE): Likewise.
3300         (BREAKUP_CHAR): Likewise.
3301         (Vcharset_ascii): Likewise.
3302
3303         * buffer.h: Include multibyte.h unconditionally.
3304         (VALID_CHARPTR_P): Moved to multibyte.h.
3305         (ASSERT_VALID_CHARPTR): Likewise.
3306         (REAL_INC_CHARPTR): Likewise.
3307         (REAL_INC_CHARBYTIND): Likewise.
3308         (REAL_DEC_CHARPTR): Likewise.
3309         (INC_CHARPTR): Likewise.
3310         (INC_CHARBYTIND): Likewise.
3311         (DEC_CHARPTR): Likewise.
3312         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3313         (VALIDATE_CHARPTR_FORWARD): Likewise.
3314         (charptr_n_addr): Likewise.
3315         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3316         (simple_charptr_emchar): Moved to multibyte.h.
3317         (simple_set_charptr_emchar): Likewise.
3318         (simple_charptr_copy_char): Likewise.
3319         (non_ascii_charptr_emchar): Likewise.
3320         (non_ascii_set_charptr_emchar): Likewise.
3321         (non_ascii_charptr_copy_char): Likewise.
3322         (charptr_emchar): Likewise.
3323         (set_charptr_emchar): Likewise.
3324         (charptr_copy_char): Likewise.
3325         (charptr_emchar_n): Likewise.
3326         (Charset_ID): Moved to char-1byte.h.
3327         (Vcharset_ascii): Likewise.
3328         (CHAR_CHARSET): Likewise.
3329         (CHAR_LEADING_BYTE): Likewise.
3330         (LEADING_BYTE_ASCII): Likewise.
3331         (NUM_LEADING_BYTES): Likewise.
3332         (MIN_LEADING_BYTE): Likewise.
3333         (CHARSETP): Likewise.
3334         (CHARSET_BY_LEADING_BYTE): Likewise.
3335         (XCHARSET_LEADING_BYTE): Likewise.
3336         (XCHARSET_GRAPHIC): Likewise.
3337         (XCHARSET_COLUMNS): Likewise.
3338         (XCHARSET_DIMENSION): Likewise.
3339         (BREAKUP_CHAR): Likewise.
3340
3341 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3342
3343         * character.h: Add document about interface for characters.
3344
3345         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3346         (MAKE_CHAR): Delete comment about
3347         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3348         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3349         (BREAKUP_CHAR): Modify name of arguments.
3350         (CHAR_CHARSET): Modify name of argument.
3351
3352         * buffer.h: Delete document about Emchar accessors.
3353
3354 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3355
3356         * character.h (CHAR_INTP): Moved from buffer.h
3357         (CHAR_OR_CHAR_INTP): Likewise.
3358         (XCHAR_OR_CHAR_INT): Likewise.
3359         (CHECK_CHAR_COERCE_INT): Likewise.
3360
3361         * buffer.h (CHAR_INTP): Moved to character.h
3362         (CHAR_OR_CHAR_INTP): Likewise.
3363         (XCHAR_OR_CHAR_INT): Likewise.
3364         (CHECK_CHAR_COERCE_INT): Likewise.
3365
3366 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3367
3368         * character.h:
3369         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3370         - Include char-1byte.h, char-lb.h or char-ucs.h.
3371
3372         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3373
3374         * buffer.h: Include character unconditionally.
3375         (valid_char_p): Moved to char-*.h.
3376         (non_ascii_valid_char_p): Moved to char-lb.h.
3377
3378         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3379
3380 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3381
3382         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3383         in UTF-2000 because it is not ported yet and not to use
3384         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3385         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3386         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3387
3388         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3389         (CHAR_ASCII_P): Moved from character.h.
3390
3391         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3392         (CHAR_ASCII_P): Likewise.
3393         (CHAR_FIELD1_MASK): Deleted.
3394         (CHAR_FIELD2_MASK): Deleted.
3395         (CHAR_FIELD3_MASK): Deleted.
3396         (MAX_CHAR_BASIC_LATIN): New macro.
3397         (CHAR_FIELD1): Deleted.
3398         (CHAR_FIELD2_INTERNAL): Deleted.
3399         (CHAR_FIELD3_INTERNAL): Deleted.
3400         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3401         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3402         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3403         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3404         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3405         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3406         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3407         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3408         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3409         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3410         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3411         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3412         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3413         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3414         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3415         (MIN_CHAR_COMPOSITION): Deleted.
3416         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3417         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3418
3419 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3420
3421         * buffer.h: Include mb-utf-8.h in UTF-2000.
3422
3423         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3424
3425         * mb-utf-8.h: New file.
3426
3427 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3428
3429         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3430         instead of `int'.
3431
3432         * mule-charset.h, buffer.h (Charset_ID): New type.
3433
3434 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3435
3436         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3437         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3438         instead of `MULE_CHAR_PRIVATE_OFFSET',
3439         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3440         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3441         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3442
3443         * character.h (Vcharset_japanese_jisx0212): New variable
3444         definition.
3445
3446 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3447
3448         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3449         (charset_by_attributes): Delete array about direction.
3450         (latin_a_char_to_charset): New variable in UTF-2000.
3451         (latin_a_char_to_byte1): New variable in UTF-2000.
3452         (latin_a_char_to_byte2): New variable in UTF-2000.
3453         (Qucs_bmp): New variable.
3454         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3455         `Bufbyte'.
3456         (next_allocated_2_byte_leading_byte): Likewise.
3457         (non_ascii_set_charptr_emchar): Likewise.
3458         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3459         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3460         `charset_by_attributes'.
3461         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3462         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3463         and `CHARSET_BY_LEADING_BYTE'.
3464         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3465         `utf-2000-version' to `vars_of_mule_charset'.
3466         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3467         define `leading-code-private-11' in UTF-2000; move setting of
3468         `utf-2000-version' from `syms_of_mule_charset'.
3469         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3470         UTF-2000.
3471
3472         * character.h (Charset_ID): New type.
3473         (LEADING_BYTE_UCS_BMP): New macro.
3474         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3475         (CHARSET_ID_OFFSET_94): New macro.
3476         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3477         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3478         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3479         final-byte.
3480         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3481         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3482         (CHARSET_ID_OFFSET_96): New macro.
3483         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3484         CHARSET_ID_OFFSET_96 and final-byte.
3485         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3486         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3487         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3488         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3489         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3490         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3491         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3492         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3493         (LEADING_BYTE_THAI_TIS620): Likewise.
3494         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3495         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3496         (CHARSET_ID_OFFSET_94x94): New macro.
3497         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3498         CHARSET_ID_OFFSET_94x94 and final-byte.
3499         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3500         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3501         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3502         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3503         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3504         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3505         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3506         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3507         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3508         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3509         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3510         (CHARSET_TYPE_128X128): New macro.
3511         (CHARSET_TYPE_256X256): New macro.
3512         (XCHARSET_PRIVATE_P): Delete unconditionally.
3513         (charset_by_attributes): Delete array about direction.
3514         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3515         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3516         (MIN_CHAR_94): New macro.
3517         (MAX_CHAR_94): New macro.
3518         (MIN_CHAR_96): New macro.
3519         (MAX_CHAR_96): New macro.
3520         (MIN_CHAR_94x94): New macro.
3521         (MAX_CHAR_94x94): New macro.
3522         (MIN_CHAR_96x96): New macro.
3523         (MAX_CHAR_96x96): New macro.
3524         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3525         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3526         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3527         - 32)'.
3528         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3529         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3530         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3531         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3532         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3533         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3534         `XCHARSET_LEADING_BYTE' to make code-point.
3535         (latin_a_char_to_charset): New variable.
3536         (latin_a_char_to_byte1): New variable.
3537         (latin_a_char_to_byte2): New variable.
3538         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3539         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3540         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3541
3542         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3543         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3544         (find_charsets_in_emchar_string): Likewise.
3545         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3546
3547         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3548         `int'.
3549         (decode_coding_iso2022): Likewise.
3550
3551         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3552         of `unsigned char'.
3553
3554         * redisplay.c (redisplay_text_width_emchar_string): Use
3555         `Charset_ID' instead of `unsigned char'.
3556         (redisplay_frame_text_width_string): Likewise.
3557
3558         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3559         `unsigned char'.
3560
3561         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3562         instead of `unsigned char'.
3563         (face_cachel_charset_font_metric_info): Likewise.
3564
3565         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3566         (get_non_ascii_char_table_value): Likewise.
3567         (get_char_table): Likewise.
3568         (put_char_table): Likewise.
3569         (map_over_other_charset): Likewise.
3570         (map_char_table): Likewise.
3571
3572         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3573         instead of `unsigned char'.
3574
3575 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3576
3577         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3578         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3579
3580         * mule-charset.c (leading_code_private_11): Don't define in
3581         UTF-2000.
3582
3583         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3584         in UTF-2000 because it is not ported yet and not to use
3585         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3586
3587 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3588
3589         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3590
3591 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3592
3593         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3594         in UTF-2000.
3595
3596         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3597         of unsigned char to store leading-byte.
3598
3599         * chartab.c (get_non_ascii_char_table_value): Don't use
3600         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3601
3602         * file-coding.c (encode_coding_big5): Delete bogus implementation
3603         in UTF2000.
3604
3605         * character.h (LEADING_BYTE_*): Delete definition for
3606         non-UTF-2000.
3607         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3608         (LEADING_BYTE_PREFIX_P): Deleted.
3609         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3610         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3611         (BUFBYTE_LEADING_BYTE_P): Deleted.
3612         (CHARSET_PRIVATE_P): Deleted unconditionally.
3613         (rep_bytes_by_first_byte): Deleted unconditionally.
3614         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3615         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3616         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3617         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3618         (CHAR_FIELD2): Deleted.
3619         (CHAR_FIELD3): Deleted.
3620         (MAKE_CHAR): Delete definition for non-UTF-2000.
3621         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3622         (breakup_char_1): New implementation.
3623         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3624         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3625
3626 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3627
3628         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3629         condition.
3630
3631 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3632
3633         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3634         (CHARSET_PRIVATE_P): Likewise.
3635         (XCHARSET_PRIVATE_P): Likewise.
3636         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3637
3638         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3639         UTF2000.
3640         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3641
3642 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3643
3644         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3645         (NUM_LEADING_BYTES): Changed from 128 to 256.
3646         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3647         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3648         UTF2000.
3649         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3650
3651         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3652         UTF2000.
3653         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3654         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3655         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3656         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3657         (Qchinese_cns11643_3): New variable in UTF2000.
3658         (Qchinese_cns11643_4): New variable in UTF2000.
3659         (Qchinese_cns11643_5): New variable in UTF2000.
3660         (Qchinese_cns11643_6): New variable in UTF2000.
3661         (Qchinese_cns11643_7): New variable in UTF2000.
3662         (syms_of_mule_charset): Define `chinese-cns11643-3',
3663         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3664         and `chinese-cns11643-7' in UTF2000.
3665         (vars_of_mule_charset): Initialize
3666         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3667         + 1 in UTF2000.
3668         (complex_vars_of_mule_charset): Setup charset
3669         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3670         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3671
3672 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3673
3674         * mule-charset.c: Move setting for `leading-code-private-11' from
3675         `syms_of_mule_charset' to `vars_of_mule_charset'.
3676
3677 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3678
3679         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3680         and `NUM_LEADING_BYTES' in assert.
3681
3682 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3683
3684         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3685         instead of 128.
3686         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3687         `NUM_LEADING_BYTES' instead of 128.
3688
3689 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3690
3691         * mule-charset.h (charset_by_leading_byte): Use
3692         `NUM_LEADING_BYTES' instead of 128.
3693         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3694
3695         * mule-charset.c (charset_by_leading_byte): Use
3696         `NUM_LEADING_BYTES' instead of 128.
3697         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3698
3699         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3700         128.
3701
3702 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3703
3704         * mule-charset.c (syms_of_mule_charset): Update to
3705         0.4 (Shin-Imamiya).
3706
3707 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3708
3709         * file-coding.c (encode_coding_sjis): New implementation for
3710         UTF2000.  (decode_coding_sjis): Ditto.
3711
3712 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3713
3714         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3715         Don't define in UTF2000.
3716
3717         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3718         defined.
3719
3720         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3721         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3722         MULE.
3723
3724 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3725
3726         * config.h.in (CHAR_IS_UCS4): New macro.
3727
3728         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3729         conventional MULE representation.
3730         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3731
3732         * mule-charset.h: Reverted to original.
3733
3734         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3735         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3736         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3737
3738         * character.h: New file.
3739
3740         * file-coding.c (Fmake_coding_system): Set 1 to
3741         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3742         defined.
3743         (encode_coding_no_conversion): New implementation for UTF2000.
3744
3745         * file-coding.h (struct Lisp_Coding_System): Add new member
3746         `fixed.size'.
3747
3748 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3749
3750         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3751         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3752         (encode_coding_iso2022): New implementation for UTF2000.
3753
3754 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3755
3756         * mule-canna.c (c2mu): New implementation for UTF2000.
3757         (m2c): Likewise.
3758
3759 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3760
3761         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3762
3763 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3764
3765         * file-coding.c (reset_encoding_stream): Set 0 to
3766         `str->iso2022.current_char_boundary' in UTF2000.
3767         (encode_utf8): Don't define in UTF2000.
3768         (encode_coding_utf8): New implementation for UTF-8 representation
3769         of UTF2000.
3770         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3771
3772 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3773
3774         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3775
3776         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3777         UTF2000.
3778         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3779
3780         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3781
3782         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3783         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3784         as UTF-8 in UTF2000.
3785         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3786         (non_ascii_valid_char_p): Don't define in UTF2000.
3787         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3788         (Lstream_get_emchar_1): Likewise.
3789         (utf-2000-version): New variable in UTF2000.
3790
3791         * lread.c (read_escape): Add new reader `u'.
3792
3793         * insdel.c (three_to_one_table): Don't define in UTF2000.
3794         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3795         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3796         UTF2000.
3797         (bytind_to_bufpos_func): Likewise.
3798         (buffer_mule_signal_inserted_region): Likewise.
3799         (vars_of_insdel): Don't initialize `three_to_one_table'.
3800         (init_buffer_text): Use `buf->text->mule_size' instead of
3801         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3802         UTF2000.
3803
3804         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
3805         UTF-8 representation in UTF2000.
3806         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
3807         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
3808         (decode_coding_iso2022): Don't define local variable `lb' in
3809         UTF2000; don't use LEADING_BYTE in UTF2000; use
3810         `DECODE_ADD_UCS_CHAR' in UTF2000.
3811         (convert_to_external_format): Decode as UTF-8 in UTF2000.
3812
3813         * config.h.in (UTF2000): New macro.
3814
3815         * buffer.h (struct buffer_text): Add new member `mule_size' and
3816         don't add `mule_shifter' and `mule_three_p' in UTF2000.
3817         (valid_char_p): Return always 1 in UTF2000.
3818         (MAX_EMCHAR_LEN): 6 in UTF2000.
3819         (three_to_one_table): Don't define in UTF2000.
3820         (real_bufpos_to_bytind): Modify for UTF-8 representation in
3821         UTF2000.
3822         (real_bytind_to_bufpos): Likewise.
3823
3824         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
3825
3826 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3827
3828         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
3829         representation change.
3830         (Vutf_2000_version): New variable.
3831         (leading_code_private_11): New variable.
3832         (syms_of_mule_charset): Add new variables `utf-2000-version' and
3833         `leading-code-private-11'.
3834
3835         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
3836         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
3837         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
3838         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
3839         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
3840         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
3841         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
3842         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
3843         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
3844         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
3845         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
3846         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
3847         (MIN_CHAR_GREEK): New macro.
3848         (MAX_CHAR_GREEK): New macro.
3849         (MIN_CHAR_CYRILLIC): New macro.
3850         (MAX_CHAR_CYRILLIC): New macro.
3851         (MIN_CHAR_HEBREW): New macro.
3852         (MAX_CHAR_HEBREW): New macro.
3853         (MIN_CHAR_THAI): New macro.
3854         (MAX_CHAR_THAI): New macro.
3855         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
3856         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
3857         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
3858         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
3859         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
3860         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
3861         (CHAR_FIELD2): New inline function.
3862         (CHAR_FIELD3): New inline function.
3863         (MULE_CHAR_PRIVATE_OFFSET): New macro.
3864         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
3865         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
3866         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
3867         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
3868         (MIN_CHAR_COMPOSITION): Likewise.
3869         (CHAR_LEADING_BYTE): Modified for character representation change.
3870         (MAKE_CHAR): Likewise.
3871
3872         * lisp.h (Vcharset_latin_iso8859_1): New variable.
3873         (Vcharset_greek_iso8859_7): Likewise.
3874         (Vcharset_cyrillic_iso8859_5): Likewise.
3875         (Vcharset_hebrew_iso8859_8): Likewise.
3876         (Vcharset_thai_tis620): Likewise.
3877         (Vcharset_katakana_jisx0201): Likewise.
3878
3879 2001-02-08  Martin Buchholz <martin@xemacs.org>
3880
3881         * XEmacs 21.2.44 "Thalia" is released.
3882
3883 2001-02-06  Martin Buchholz  <martin@xemacs.org>
3884
3885         Fixes crashes in kill-emacs on some systems.
3886         * process-unix.c (unix_kill_child_process):
3887         It's OK for kill() to fail with ESRCH.
3888
3889 2001-02-07  Martin Buchholz  <martin@xemacs.org>
3890
3891         Contortions to make .gdbinit tricks work on most systems.
3892         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
3893         * alloc.c (dbg_valmask): Make non-const.
3894         * alloc.c (dbg_typemask): Make non-const.
3895         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
3896         * alloc.c (dbg_valbits): Make non-const.
3897         * alloc.c (dbg_gctypebits): Make non-const.
3898         * .gdbinit (decode_object): Make it work with AIX cc.
3899
3900 2001-02-06  Martin Buchholz  <martin@xemacs.org>
3901
3902         * elhash.c (make_general_lisp_hash_table):
3903         Use simpler and more efficient calloc to clear entries.
3904
3905 2001-02-07  Martin Buchholz  <martin@xemacs.org>
3906
3907         * window.c (window_scroll): Work around an AIX C compiler bug.
3908         Fixes 'scroll-up' does nothing problem with xlC.
3909
3910 2001-02-05  Martin Buchholz  <martin@xemacs.org>
3911
3912         * .gdbinit: Remove obsolete comment.
3913
3914 2001-01-31  Mike Alexander  <mta@arbortext.com>
3915
3916         * select.c (Fown_selection_internal): Set owned_p for device
3917         method correctly.
3918
3919 2001-02-01  Martin Buchholz  <martin@xemacs.org>
3920
3921         Port to g++ 2.97.
3922         "not" cannot be used as a macro name as it is an operator in C++
3923         * config.h.in: Stop #defining `not'.
3924         * chartab.c (check_category_char): not ==> not_p
3925         * chartab.h: Likewise.
3926         * regex.c (re_match_2_internal): Likewise.
3927
3928 2001-02-02  Martin Buchholz  <martin@xemacs.org>
3929
3930         * lisp-disunion.h: Fix up comments.
3931
3932 2001-01-31  Martin Buchholz  <martin@xemacs.org>
3933
3934         * keymap.c (define_key_check_and_coerce_keysym):
3935         (syms_of_keymap):
3936         Support mouse-6 and mouse-7 bindings in the obvious way.
3937
3938 2001-02-01  Martin Buchholz  <martin@xemacs.org>
3939
3940         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
3941
3942 2001-01-30  Martin Buchholz  <martin@xemacs.org>
3943
3944         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
3945         Previous patch missed DEFVAR_INT_MAGIC.
3946         Make sure future DEFVAR_foo use correct types.
3947         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
3948         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
3949         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
3950         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
3951         * (DEFVAR_INT): Likewise.
3952         * redisplay.c (vertical_clip): Should be of type Fixnum.
3953         * redisplay.c (horizontal_clip): Likewise.
3954         * lisp.h (dump_add_opaque_int): New.
3955         (dump_add_opaque_fixnum): New.
3956
3957 2001-01-29  Andy Piper  <andy@xemacs.org>
3958
3959         * glyphs-widget.c (check_valid_int_or_function): allow symbols
3960         since they can be eval'ed
3961
3962 2001-01-29  Martin Buchholz  <martin@xemacs.org>
3963
3964         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
3965         Oops, XEmacs redefines `class'.  Use `typename' instead.
3966
3967 2001-01-28  Martin Buchholz  <martin@xemacs.org>
3968
3969         * dumper.c: Fix C++ compile errors.
3970
3971 2001-01-29  Martin Buchholz  <martin@xemacs.org>
3972
3973         * tparam.c: Use correct prototypes.
3974
3975 2001-01-28  Martin Buchholz  <martin@xemacs.org>
3976
3977         * sysproc.h: #include util.h for NetBSD's openpty.
3978
3979 2001-01-27  Martin Buchholz  <martin@xemacs.org>
3980
3981         More 64-bit correctness.
3982         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
3983         Use a typedef `fixnum' for the type used for DEFVAR_INT.
3984         Fix up comments.
3985         This finally finishes the 64-bit SGI port.
3986         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
3987         * symbols.c: Fix up comments and type casts.
3988         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
3989         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
3990         * symeval.h (Fixnum): New type.
3991         * symeval.h (symbol_value_type): Fix up comment.
3992
3993         * commands.h:
3994         * nt.c:
3995         * emacs.c:
3996         * data.c:
3997         * redisplay.c:
3998         * abbrev.c:
3999         * dired-msw.c:
4000         * event-Xt.c:
4001         * eldap.c:
4002         * window.c:
4003         * sound.c:
4004         * event-stream.c:
4005         * eval.c:
4006         * buffer.c:
4007         * mule-canna.c: A million DEFVAR_INTs here...
4008         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
4009         * extents.c:
4010         * cmdloop.c:
4011         * lisp.h:
4012         * select-x.c:
4013         * console-x.h:
4014         * event-msw.c:
4015         * mule-wnnfns.c:
4016         * hpplay.c:
4017         * ralloc.c:
4018         * alloc.c:
4019         * keymap.c:
4020         * profile.c:
4021         s/int/Fixnum/g in DEFVAR_INT declarations.
4022
4023 2001-01-26  Martin Buchholz  <martin@xemacs.org>
4024
4025         Port pdump to SGI alignment-sensitive environment.
4026         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
4027         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
4028         properly aligned.
4029         Define and use aligned reading and writing macros.
4030         Use buffered stdio instead of posix i/o for faster dumping.
4031         Eliminate kludgy 256 byte space for header.
4032         Read and write from dump file using structs for alignment safety.
4033         * dumper.c (pdump_align_stream): New.
4034         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
4035         * dumper.c (PDUMP_READ_ALIGNED): New.
4036         * dumper.c (PDUMP_WRITE_ALIGNED): New.
4037         * dumper.c (pdump_static_Lisp_Object): New struct.
4038         * dumper.c (pdump_static_pointer): New struct.
4039         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
4040         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
4041         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
4042         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
4043
4044         * dumper.c (pdump_backtrace):
4045         * dumper.c (pdump_get_indirect_count):
4046         * dumper.c (pdump_register_object):
4047         * dumper.c (pdump_register_struct):
4048         * dumper.c (pdump_reloc_one):
4049         * dumper.c (pdump_scan_by_alignment):
4050         * dumper.c (pdump_dump_from_root_struct_ptrs):
4051         * dumper.c (pdump_dump_opaques):
4052         * dumper.c (pdump_dump_rtables):
4053         * dumper.c (pdump_dump_from_root_objects):
4054         * dumper.c (pdump):
4055         * dumper.c (pdump_load_finish):
4056         Use aligned reading and writing.
4057
4058         * dumper.c (pdump_free): Make static.
4059         * dumper.c (pdump_hFile): Likewise.
4060         * dumper.c (pdump_hMap): Likewise.
4061
4062 2001-01-26  Martin Buchholz <martin@xemacs.org>
4063
4064         * XEmacs 21.2.43 "Terspichore" is released.
4065
4066 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4067
4068         Type fiddling for window_config.saved_windows_count
4069         * window.c (struct window_config): 
4070         Make saved_windows_count member unsigned.
4071         * window.c (sizeof_window_config_for_n_windows): 
4072         Make parameter unsigned.
4073         * window.c (mark_window_config):
4074         * window.c (window_config_equal):
4075         * window.c (free_window_configuration):
4076         * window.c (Fset_window_configuration):
4077         * window.c (count_windows):
4078         * window.c (Fcurrent_window_configuration):
4079         * window.c (reinit_vars_of_window):
4080         Update all callers and users.
4081
4082 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4083
4084         Alignment correctness for flexible arrays.
4085         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
4086         Make alignment-correct. Add interesting comments.
4087         * alloc.c (size_vector):
4088         * alloc.c (make_vector_internal):
4089         * alloc.c (make_bit_vector_internal):
4090         * alloc.c (sweep_bit_vectors_1):
4091         * fns.c (size_bit_vector):
4092         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
4093         * window.c (sizeof_window_config_for_n_windows): 
4094         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
4095
4096 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4097
4098         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
4099
4100 2001-01-23  Andy Piper  <andy@xemacs.org>
4101
4102         * select.c (Fown_selection_internal): pass owned_p
4103
4104         * select-msw.c (mswindows_own_selection): New Signature.
4105
4106         * console.h (struct console_methods): add owned_p to
4107         _own_selection.
4108
4109         * select-x.c (x_own_selection): pass owned_p
4110         (hack_motif_clipboard_selection): use owned_p
4111         (vars_of_select_x): new variable -
4112         x_selection_strict_motif_ownership.
4113
4114 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4115
4116         * specifier.h (specifier_data_offset): Remove pointless parens.
4117         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
4118
4119 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4120
4121         Make Lisp_Object sizeof methods be alignment-correct.
4122         pdump must restore objects to the same alignment as the C compiler
4123         assumes.  It really matters on SGIs.
4124         * lstream.c (aligned_sizeof_lstream): New.
4125         (sizeof_lstream): Use aligned_sizeof_lstream.
4126         (Lstream_new): Likewise.
4127         * opaque.c (aligned_sizeof_opaque): New.
4128         (sizeof_opaque): Use aligned_sizeof_opaque.
4129         (make_opaque): Likewise.
4130         * specifier.c (aligned_sizeof_specifier): New.
4131         (sizeof_specifier): Use aligned_sizeof_specifier.
4132         (make_specifier_internal): Likewise.
4133
4134 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4135
4136         * lstream.h (struct lstream): Use max_align_t for trailing data.
4137         * specifier.h (struct Lisp_Specifier): Likewise.
4138
4139 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4140
4141         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
4142         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
4143         (CCL_SUSPEND): Likewise.
4144         (CCL_INVALID_CMD): Likewise.
4145         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
4146         (ccl_driver): Likewise.
4147         (CCL_WRITE_CHAR): Macro hygiene.
4148         (CCL_WRITE_STRING): Macro hygiene.
4149
4150 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4151
4152         Port "portable" dumper to SunOS 4 and HP-UX.
4153         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
4154         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
4155         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
4156
4157 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4158
4159         * lisp.h (ALIGNOF): A better definition for C++.
4160
4161 2001-01-20  Martin Buchholz  <martin@xemacs.org>
4162
4163         Macro hygiene.
4164         Fix printf warnings: int format, long int arg.
4165         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
4166         (PUSH_FAILURE_POINT): Use correct printf formats.
4167         (POP_FAILURE_POINT): Use correct printf formats.  
4168         Use do {...} while (0)
4169
4170 2001-01-20  Martin Buchholz <martin@xemacs.org>
4171
4172         * XEmacs 21.2.42 "Poseidon" is released.
4173
4174 2001-01-20  Martin Buchholz  <martin@xemacs.org>
4175
4176         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
4177
4178 2001-01-19  Martin Buchholz  <martin@xemacs.org>
4179
4180         De-kludgify FIXED_TYPE free list frobbing.
4181         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
4182         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
4183         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
4184         * alloc.c (Lisp_Free): New pseudo lisp object definition.
4185         * alloc.c (LRECORD_FREE_P): New.
4186         * alloc.c (MARK_LRECORD_AS_FREE): New.
4187         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
4188         * alloc.c (STRUCT_FREE_P): Deleted.
4189         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
4190         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
4191         * alloc.c (STRING_CHARS_FREE_P): New.
4192         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
4193         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
4194         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
4195         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
4196         * alloc.c (resize_string): Use new definitions.
4197         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
4198         * alloc.c (verify_string_chars_integrity): Use new definitions.
4199         * alloc.c (compact_string_chars): Use new definitions.
4200         * alloc.c: Update monster comments.
4201         * lrecord.h (lrecord_type): Add some new lrecord types for
4202         alloc.c's use.
4203
4204 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4205
4206         Improve alignment hackery.
4207         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
4208         (max_align_t): Moved from opaque.h - general purpose.
4209         (ALIGN_PTR): Use size_t, not long.
4210         * opaque.h (max_align_t): Move to lisp.h.
4211
4212 2001-01-18  Norbert Koch  <nk@LF.net>
4213
4214         * gui.h: Fix and add prototypes to fix build problems.
4215
4216 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4217
4218         temacs is going away, so `dump-temacs' is now a bad name.
4219         * .dbxrc (dump-temacs): Rename to `dmp'.
4220         * .gdbinit (dump-temacs): Rename to `dmp'.
4221
4222 2001-01-17  Andy Piper  <andy@xemacs.org>
4223
4224         * glyphs.c (print_image_instance): comment to make martin happy.
4225
4226         * glyphs-x.c (x_redisplay_widget): update faces after a frame
4227         change.
4228
4229         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
4230         activation.
4231         (mswindows_tab_control_redisplay): warning suppression.
4232
4233         * glyphs-widget.c (widget_update): re-write to cope with updated
4234         items.
4235         (widget_instantiate): use new gui_item functions.
4236         (tab_control_update): deleted.
4237         (progress_gauge_update): deleted.
4238         (image_instantiator_progress_guage): take out update reference.
4239         (image_instantiator_tree_view): ditto.
4240         (image_instantiator_tab_control): ditto.
4241
4242         * gui.c (widget_gui_parse_item_keywords): new function. Do things
4243         Right the new way.
4244         (gui_item_add_keyval_pair): re-write to cope with descriptors and
4245         return whether anything was changed.
4246         (update_gui_item_keywords): as it sounds.
4247
4248         * gui.h: declare widget_gui_parse_item_keywords.
4249
4250         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
4251         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
4252
4253 2001-01-17  Martin Buchholz <martin@xemacs.org>
4254
4255         * XEmacs 21.2.41 "Polyhymnia" is released.
4256
4257 2001-01-16  Didier Verna  <didier@xemacs.org>
4258
4259         * glyphs.c (image_instantiate): don't use fallbacks when
4260         instantiating a face's background pixmap by inheritance.
4261
4262 2001-01-14  Mike Sperber <mike@xemacs.org>
4263
4264         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
4265         Conditionalize accordingly.
4266
4267 2001-01-16  Martin Buchholz  <martin@xemacs.org>
4268
4269         * dumper.c (pdump_file_get): Fix a compiler warning.
4270
4271 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4272
4273         Make Purify happy when pdumping.
4274         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
4275         iniitalizing all bits of new lisp object memory.
4276         * symbols.c (Fmake_local_variable): Likewise.
4277         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
4278         * symbols.c (Fdefvaralias): Likewise.
4279         * mule-charset.c (vars_of_mule_charset): Likewise.
4280
4281 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4282         Add the `-nd' flag when running pre-dump operations under the debugger.
4283         * .dbxrc (run-temacs): Add `-nd'.
4284         * .dbxrc (update-elc): Likewise.
4285         * .dbxrc (dump-temacs): Likewise.
4286         * .gdbinit (run-temacs): Likewise.
4287         * .gdbinit (check-temacs): Likewise.
4288         * .gdbinit (update-elc): Likewise.
4289         * .gdbinit (dump-temacs): Likewise.
4290
4291 2001-01-14  Martin Buchholz  <martin@xemacs.org>
4292
4293         Allow building 64-bit executables on AIX with GNU malloc, e.g.
4294         export OBJECT_MODE=64
4295         configure --pdump --use-union-type=no
4296         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
4297         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
4298
4299         * miscplay.c (sndcnv8U_2mono):
4300         Avoid two uses of `++' in the same expression.
4301         Suppresses a GCC warning.
4302
4303 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4304
4305         Make sure future compilers don't miscompile alloc.c.
4306         * alloc.c:
4307         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
4308         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
4309
4310 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4311
4312         * dumper.c: A little post-pdump-rename comment fixup.
4313
4314 2001-01-09  Jerry James  <james@eecs.ku.edu>
4315
4316         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
4317
4318 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4319
4320         * *.[ch]: Globally rename symbols using the following `pdump-rename'
4321         script:
4322         #!/bin/sh
4323         replace_symbol () {
4324           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
4325         }
4326
4327         replace_symbol pdump_wire_lists pdump_weak_object_chains
4328         replace_symbol pdump_wire_list dump_add_weak_object_chain
4329
4330         replace_symbol pdump_wires pdump_root_objects
4331         replace_symbol pdump_wire dump_add_root_object
4332
4333         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
4334         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
4335
4336         replace_symbol dumpstructinfos pdump_root_struct_ptrs
4337         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
4338         replace_symbol dumpstructinfo pdump_root_struct_ptr
4339         replace_symbol dumpstruct dump_add_root_struct_ptr
4340
4341         replace_symbol dumpopaque dump_add_opaque
4342         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
4343         replace_symbol dumpopaqueinfos pdump_opaques
4344         replace_symbol dumpopaqueinfo pdump_opaque
4345
4346         replace_symbol nb_structdump nb_root_struct_ptrs
4347         replace_symbol nb_opaquedump nb_opaques
4348
4349         replace_symbol align_table pdump_align_table
4350         replace_symbol dump_header pdump_header
4351
4352         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
4353         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
4354
4355
4356 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4357
4358         * s/aix4.h: Keep the C for AIX compiler from overaggressively
4359         optimizing bytecount_to_charcount().
4360
4361 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4362
4363         * config.h.in:
4364         (HAVE_DLFCN_H): Removed.
4365         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
4366
4367 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4368
4369         Portable dumper maintainability improvements.
4370         * alloc.c (staticpro):
4371         * alloc.c (staticpro_nodump):
4372         * alloc.c (garbage_collect_1):
4373         * alloc.c (reinit_alloc_once_early):
4374         * alloc.c (init_alloc_once_early):
4375         * alloc.c: Move dumper functions to alloc.c.
4376         * dumper.c (pdump_backtrace):
4377         * dumper.c (pdump_dump_structs):
4378         * dumper.c (pdump_dump_opaques):
4379         * dumper.c (pdump_dump_rtables):
4380         * dumper.c (pdump_dump_wired):
4381         * dumper.c (pdump):
4382         * dumper.c (pdump_load_check):
4383         * dumper.c (pdump_load_finish):
4384         * dumper.c (pdump_file_unmap):
4385         * dumper.c (pdump_file_get):
4386         * dumper.c (pdump_resource_free):
4387         * dumper.c (pdump_resource_get):
4388         * dumper.c (pdump_file_free):
4389         * dumper.c (pdump_file_try):
4390         * dumper.c (pdump_load):
4391         Remove fixed size limits on staticpro(), staticpro_nodump(),
4392         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
4393         Remove custom code for dumping lrecord_implementations_table - use
4394         dumpopaque instead.
4395         Remove (most of the) custom code for dumping staticpros - dump it
4396         like any other dynarr.
4397
4398         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
4399         * dumper.c: Moved functions from alloc.c.
4400         * alloc.c (dumpstruct): Moved to dumper.c.
4401         * alloc.c (dumpopaque): Likewise.
4402         * alloc.c (pdump_wire): Likewise.
4403         * alloc.c (pdump_wire_list): Likewise.
4404
4405         * lisp.h (Dynarr_sizeof): New.
4406         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
4407         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
4408         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
4409
4410         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
4411         * lisp.h (dumpopaque): ditto.
4412         * lisp.h (pdump_wire): ditto.
4413         * lisp.h (pdump_wire_list): ditto.
4414
4415 2001-01-09  Martin Buchholz  <martin@xemacs.org>
4416
4417         * make-src-depend (PrintPatternDeps):
4418         Use `sort' to make output independent of perl version.
4419
4420 2001-01-08  Martin Buchholz  <martin@xemacs.org>
4421
4422         Port to Netbsd 1.5.
4423         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
4424         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
4425
4426 2001-01-03  Didier Verna  <didier@xemacs.org>
4427
4428         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
4429         that `focus_frame' is alive before thinking of calling
4430         `redisplay_redraw_cursor' on it.
4431
4432 2001-01-08  Martin Buchholz <martin@xemacs.org>
4433
4434         * XEmacs 21.2.40 is released.
4435
4436 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4437
4438         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
4439
4440 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4441
4442         * alloc.c (dbg_valmask): Make const.
4443         * alloc.c (dbg_typemask): Make const.
4444         * alloc.c (dbg_USE_UNION_TYPE): Make const.
4445         * alloc.c (dbg_valbits): Make const.
4446         * alloc.c (dbg_gctypebits): Make const.
4447
4448 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
4449
4450         * redisplay-x.c (x_bevel_area):
4451         redisplay.h (struct rune):
4452         Typo fixes in comments.
4453
4454 2001-01-05  Andy Piper  <andy@xemacs.org>
4455
4456         * glyphs-x.c (x_redisplay_widget): use size changed for offset
4457         adjustment.
4458
4459         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
4460
4461 2001-01-05  Martin Buchholz  <martin@xemacs.org>
4462
4463         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
4464
4465         * mule-ccl.c (stack_idx_of_map_multiple):
4466         Non const global data must not be initialized!
4467         Found by MIYASHITA Hisashi.
4468
4469 2001-01-02  Andy Piper  <andy@xemacs.org>
4470
4471         * frame.c (change_frame_size): make sure frame size is always
4472         marked as changed.
4473
4474         * glyphs.c (image_instance_layout): minor code reuse.
4475
4476         * window.c (Fcurrent_window_configuration): revert previous
4477         change.
4478
4479 2001-01-02  Martin Buchholz  <martin@xemacs.org>
4480
4481         * glyphs.h:
4482         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
4483
4484 2000-12-31  Andy Piper  <andy@xemacs.org>
4485
4486         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
4487         when widget gets unmapped.
4488
4489         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
4490         function. Make sure widgets losing focus don't just drop it.
4491         (handle_focus_event_1): record the widget with focus.
4492
4493 2000-12-31  Andy Piper  <andy@xemacs.org>
4494
4495         * window.c (allocate_window): use
4496         make_image_instance_cache_hash_table.
4497         (make_dummy_parent): ditto.
4498         (Fset_window_configuration): ditto.
4499
4500         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
4501
4502         * glyphs.c (process_image_string_instantiator): use
4503         INSTANTIATOR_TYPE.
4504         (get_image_instantiator_governing_domain): ditto.
4505         (normalize_image_instantiator): ditto.
4506         (instantiate_image_instantiator): ditto.
4507         (make_image_instance_1): ditto.
4508         (image_instantiate): ditto. Key on glyph *and* instantiator type.
4509         (instantiator_eq_equal): new function for use with instance hash
4510         tables.
4511         (instantiator_eq_hash): ditto.
4512         (make_image_instance_cache_hash_table): create a suitable hash
4513         table for storing image instances.
4514
4515         * elhash.h (hash_table_weakness): new internal weakness type
4516         HASH_TABLE_KEY_CAR_VALUE_WEAK.
4517         declare new functions.
4518
4519         * elhash.c (finish_marking_weak_hash_tables): introduce yet
4520         another weakness type for glyphs.
4521         (make_standard_lisp_hash_table): new function split out from
4522         make_general_lisp_hash_table.
4523         (make_lisp_hash_table): call make_standard_lisp_hash_table.
4524         (hash_table_instantiate): ditto.
4525         (Fmake_hash_table): ditto.
4526
4527 2000-12-31  Martin Buchholz <martin@xemacs.org>
4528
4529         * XEmacs 21.2.39 is released.
4530
4531 2000-12-29  Andy Piper  <andy@xemacs.org>
4532
4533         * menubar.c (menubar_visible_p_changed): signal the frame changed.
4534
4535         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
4536         the frame has changed so that we pick up geometry changes such as
4537         menubar visibility.
4538
4539 2000-12-28  Andy Piper  <andy@xemacs.org>
4540
4541         * lastfile.c (my_ebss): make a char array so we can pad the
4542         bss. Fixes cygwin unexec.
4543
4544         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
4545
4546 2000-12-26  Andy Piper  <andy@xemacs.org>
4547
4548         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
4549         comments and try and be more precise about a non-/SIGIO world.
4550         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
4551         SIGIO.
4552
4553         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
4554         we don't normalize to zero width or height.
4555
4556 2000-12-24  Andy Piper  <andy@xemacs.org>
4557
4558         * Makefile.in.in (ldflags): add -mwindows when appropriate.
4559
4560 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
4561
4562         * s/sco5.h: SCO 5 has pty support.
4563
4564 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
4565
4566         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
4567         input-method-xlib.c contains whole contents of input-method-xfs.c,
4568         so we can use input-method-xlib.c's code for USE_XFONTSET
4569         using #ifdefs.
4570         * input-method-xfs.c: removed.
4571
4572 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
4573
4574         * file-coding.h (enum coding_category_type): reorder enumerators to
4575         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
4576         (now one greater than largest real coding_category_type enumerator).
4577         * file-coding.c (coding_category_symbol, coding_category_by_priority,
4578         coding_category_system, fcd_descriptihon_1, decode_coding_category,
4579         Fcoding_category_list, Fset_coding_priority_list,
4580         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
4581         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
4582
4583 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4584
4585         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
4586         * redisplay-output.c (redisplay_output_window): Clear top of window
4587         when face is changed.
4588         * redisplay-x.c (x_redraw_exposed_window): Call
4589         redisplay_clear_top_of_window.
4590         * redisplay.h: Publish redisplay_clear_top_of_window.
4591
4592 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4593
4594         * buffer.c (Fkill_buffer): Map over all devices.
4595         * window.c (window_loop): Remove UNSHOW_BUFFER code.
4596         (list_windows): New function.
4597         (list_all_windows): Ditto.
4598         (Freplace_buffer_in_windows): Use them.
4599
4600 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4601
4602         * database.c (berkdb_subtype): Recognize new subtype `queue'.
4603         (Fopen_database): Use `db_create' instead of `db_open'.
4604         (syms_of_database): Initialize Qqueue.
4605
4606 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4607
4608         * buffer.c (common_init_complex_vars_of_buffer): Initialize
4609         buffer_local_face_property.
4610         * buffer.h (struct buffer): New member buffer_local_face_property.
4611         * window.c (Fset_window_buffer):  Mark window's face as changed
4612         when buffer has buffer local face.
4613         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
4614         * objects.c (color_after_change): Set buffer_local_face_property
4615         when locale of face specifier is buffer.
4616         * objects.c (font_after_change): Ditto.
4617         * objects.c (face_boolean_after_change): Ditto.
4618         * glyphs.c (image_after_change): Ditto.
4619
4620 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4621
4622         * nt.c (mswindows_fstat): Report file permissions, volume serial
4623         number, etc. Code adapted from FSF Emacs 20.7.
4624
4625 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4626
4627         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
4628         of stat when we don't have symbolic links, to make sure
4629         mswindows_stat is called on mswindows.
4630
4631 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
4632
4633         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
4634
4635 2000-12-12  Martin Buchholz  <martin@xemacs.org>
4636
4637         * doprnt.c (emacs_doprnt_1): More printing fixes.
4638         Make printing of numbers compatible with libc and FSF Emacs.
4639         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
4640         Use the system printf to do most of the hard work of formatting,
4641         instead of doprnt_1().
4642         Calculate memory to allocate for format string.
4643         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
4644         (doprnt_1): Cleaner code and documentation.
4645
4646 2000-12-01  Jerry James  <james@eecs.ukans.edu>
4647
4648         * Makefile.in.in: Use the loop variable to install headers.
4649
4650 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4651
4652         * window.c (Fsplit_window): Don't invalidate face cache.
4653
4654 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4655
4656         * minibuf.c (Fall_completions): Undo the previous change
4657         which removed checking elements start with space.
4658
4659 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4660
4661         * mule-canna.c: Didier suppression.
4662
4663 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4664
4665         * mule-canna.c: rename static unsigned char buf[] to key_buffer
4666         (warning suppression).  Add English comment translations.
4667
4668 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4669
4670         * unexelfsgi.c (unexec): Better test for mmap failure.
4671
4672 2000-12-05  Martin Buchholz <martin@xemacs.org>
4673
4674         * XEmacs 21.2.38 is released.
4675
4676 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4677
4678         * redisplay.c (bar-cursor): Make a user variable.
4679
4680         * symsinit.h: Add init_postgresql_from_environment.
4681
4682 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4683
4684         * regex.c: Convert to clean C.
4685
4686 2000-12-05  Dan Holmsand  <dan@eyebee.com>
4687
4688         * realpath.c:
4689         Don't #include sysfile.h. Revert to duplicating PATH_MAX
4690         initialization.
4691         (sys_readlink): renamed to system_readlink to avoid conflict with
4692         the other sys_readlink.
4693
4694 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
4695
4696         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
4697
4698 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
4699
4700         * postgresql.c (init_postgresql_from_environment): new function.
4701         (vars_of_postgresql): Move code initializing Lisp variables out and
4702         into init_postgresql_from_environment.
4703         emacs.c (main_1): Call init_postgresql_from_environment if and only
4704         if running a dumped XEmacs.
4705
4706 2000-08-31  Dan Holmsand  <dan@eyebee.com>
4707
4708         * buffer.c: Make find-file-compare-truenames default to true on
4709         windows.
4710
4711         * realpath.c (win32_abs_start):
4712         (cygwin_readlink):
4713         (win32_readlink): New functions.
4714         (xrealpath): Return really real filenames on windows.
4715
4716         * fileio.c (Ffile_truename): Make file-truename work on windows.
4717
4718 2000-11-29  Didier Verna  <didier@xemacs.org>
4719
4720         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
4721         * faces.c (update_face_cachel_data): use it.
4722         * faces.c (add_face_cachel): use it. Complete background pixmap
4723         frobbing in face cache if `update_face_cachel_data' has not done so.
4724
4725 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
4726
4727         * search.c (string_match_1): Don't set last_thing_searched
4728         when search failed.
4729
4730 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
4731
4732         * buffer.c: Include casetab.h
4733         (common_init_complex_vars_of_buffer): Use new case-table object.
4734         * buffer.h: Include casetab.h
4735         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
4736         (DOWNCASE_TABLE_OF): Ditto.
4737         * bufslots.h: Remove char-tables and add case-table.
4738         * casetab.c: Include casetab.h
4739         (CASE_TABLE_P): Removed.
4740         (mark_case_table): New function.
4741         (allocate_case_table): New function.
4742         (Fcase_table_p): Use new case-table.
4743         (case_table_char): New function.
4744         (Fget_case_table): Ditto.
4745         (Fput_case_table): Ditto.
4746         (Fput_case_table_pair): Ditto.
4747         (Fcopy_case_table): Ditto.
4748         (Fcurrent_case_table): Return case-table.
4749         (Fstandard_case_table): Return case-table.
4750         (Fset_case_table): Fix doc-string.
4751         (set_case_table): Use case-table
4752         (syms_of_casetab): DEFSUBR new functions.
4753         (complex_vars_of_casetab): Set up standard case-table.
4754         * casetab.h: New file.
4755         * editfns.c: Include casetab.h
4756         (Fcompare_buffer_substrings): Use case-table.
4757         * inline.c: Include casetab.h
4758         * lisp.h: Remove bogus extern.
4759         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
4760         * search.c: Include casetab.h
4761         (TRANSLATE_ASCII): Removed.
4762         (TRANSLATE): Unconditionally translate character.
4763         (looking_at_1): Use case-table.
4764         (string_match_1): Ditto.
4765         (fast_string_match): Ditto.
4766         (search_command): Ditto.
4767         (search_buffer): Separate boyer_moore.  Check whether
4768         boyer_moore is possible.
4769         (simple_search): New function.
4770         (boyer_moore): Separated from search_buffer. Translate char.
4771
4772 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
4773
4774         * regex.c (RE_TR_ASCII): Removed.
4775         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
4776         (PATFETCH): Call PATFETCH_RAW.
4777         (PATFETCH_RAW): Fetch Emchar.
4778         (PATUNFETCH): Decrement charptr.
4779         (GET_BUFFER_SPACE): Rename b to buf_end.
4780         (BUF_PUSH): Ditto.
4781         (BUF_PUSH_2): Ditto.
4782         (BUF_PUSH_3): Ditto.
4783         (EXTEND_BUFFER): Ditto.
4784         (SET_LIST_BIT): Ditto.
4785         (regex_compile): Ditto.  Translate non ASCII char.
4786         (compile_range): Ditto.
4787         (re_search_2): Ditto.
4788         (re_match_2_internal): Compare Emchar.
4789         (bcmp_translate): Ditto.
4790
4791 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
4792
4793         * lisp.h (basic char/int typedefs):  comment improvement.
4794
4795 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
4796
4797         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
4798         unstomp inhibit_site_lisp.  Improve comments.
4799
4800 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
4801
4802         * mule-charset.c (Fcharset_property):  improve type checking, comments.
4803
4804 2000-11-28  Andy Piper  <andy@xemacs.org>
4805
4806         * redisplay-output.c (redisplay_output_subwindow): make sure we do
4807         clipped display for windows in the gutter also.
4808         (redisplay_display_boxes_in_window_p): change semantics of return
4809         codes to be more intuitive.
4810
4811         * gutter.h: declare display_boxes_in_gutter_p.
4812
4813         * gutter.c (display_boxes_in_gutter_p): new function for
4814         redisplay.
4815
4816 2000-11-22  Andy Piper  <andy@xemacs.org>
4817
4818         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
4819         autodetect domain.
4820
4821 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
4822
4823         * callproc.c (Fold_call_process_internal):
4824         * gpm.c (Freceive_gpm_event):
4825         (tty_get_foreign_selection): Might be just warning supression.
4826         * fileio.c (Fwrite_region_internal):
4827         (Fset_visited_file_modtime):
4828         * keymap.c (event_matches_key_specifier_p):
4829         Initialize GCPROed variable.
4830
4831         * menubar-x.c (command_builder_find_menu_accelerator):
4832         Initialize before use.
4833
4834 2000-11-23  Andy Piper  <andy@xemacs.org>
4835
4836         * unexcw.c (unexec): make the resulting executable executable.
4837
4838 2000-11-21  Martin Buchholz  <martin@xemacs.org>
4839
4840         * doc.c (get_doc_string):
4841         Use size_t, not int, for result of XSTRING_LENGTH.
4842
4843         * cmds.c (Fdelete_char):
4844         * cmds.c (Fpoint_at_eol):
4845         * cmds.c (Fself_insert_command):
4846         Use EMACS_INT, not int, for result of XINT.
4847         Someday, someone will want to insert more than 2**31 identical characters.
4848
4849         * cmds.c (Fdelete_char):
4850         * cmds.c (Fdelete_backward_char):
4851         * syntax.c (Fforward_word):
4852         * syntax.c (Fforward_comment):
4853         Make COUNT argument optional, for consistency with forward-char et al.
4854
4855 2000-11-22  Martin Buchholz  <martin@xemacs.org>
4856
4857         * lisp.h:
4858         * print.c (long_to_string):
4859         Return a useful value: the pointer at end of data written.
4860
4861         * doprnt.c:
4862         Use `static const char * const' for constant strings.
4863         (union printf_arg): Delete `i', `ui' members.
4864         (get_doprnt_args):
4865         (emacs_doprnt_1):
4866         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
4867         Do all printf-ing via the `l' specifier.
4868         Use EMACS_INT instead of int.
4869         Optimize.
4870
4871 2000-11-20  Didier Verna  <didier@xemacs.org>
4872
4873         * faces.c (update_face_cachel_data): don't frob the background
4874         pixmap when the window is being created. The face is needed but
4875         does not exist yet.
4876
4877 2000-11-20  Andy Piper  <andy@xemacs.org>
4878
4879         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
4880         messing with a debug environment.
4881
4882 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4883
4884         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
4885
4886 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4887
4888         * casetab.c (Fcase_table_p): Fix compile error and crash.
4889
4890 2000-11-18  Philip Aston  <philipa@mail.com>
4891
4892         * s/cygwin32.h: Cygwin has SVR4-like pty support.
4893
4894 2000-11-18  Martin Buchholz  <martin@xemacs.org>
4895
4896         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
4897         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
4898
4899 2000-11-17  Martin Buchholz  <martin@xemacs.org>
4900
4901         * config.h.in: Define HAVE_ELF_H if elf.h exists.
4902         * unexelf.c: Use HAVE_ELF_H.
4903         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
4904         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
4905         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
4906         Greg Harrington <greg_harrington@hotmail.com> provided a machine
4907         for testing.
4908         So this is an unexelfsgi.c from a different line of development.
4909
4910 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4911
4912         * regex.c (RE_TR_ASCII): New function.
4913         (RE_TRANSLATE): Call it.
4914
4915 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4916
4917         * buffer.h (TRT_TABLE_OF): Remove assert.
4918         (IN_TRT_TABLE_DOMAIN): Removed.
4919
4920 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
4921
4922         * free-hook.c (log_gcpro):
4923         (show_gcprohist): Add support for GCPRO5.
4924
4925 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
4926
4927         * emacs.c (main_1): Improve -sd error message when --pdump=no.
4928
4929 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
4930
4931         * symeval.h: Declare flush_all_buffer_local_cache.
4932
4933         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
4934         (flush_buffer_local_cache): Added.
4935         (flush_all_buffer_local_cache): Added.
4936
4937         * lrecord.h: Remove unused XD_LO_RESET_NIL.
4938
4939         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
4940         (pdump_dump_data): Ditto.
4941         (pdump_reloc_one): Ditto.
4942         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
4943         before dumping.
4944
4945
4946 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4947
4948         * buffer.c: Remove if 0'ed entry.
4949         * buffer.h: Rewrite TRT to use char-table.
4950         * bufslots.h: Remove mirror tables.
4951         * casetab.c: Remove mirror tables.
4952         (CASE_TABLE_P): New macro.
4953         (Fcase_table_p): Element of a case table is string or char-table.
4954         (make_mirror_trt_table): Removed.
4955         (set_case_table): Setup char-table from strings for backward
4956         compatibility.
4957         * dired.c (Fdirectory_files):
4958         * dired-msw.c: (mswindows_get_files):
4959         * lisp.h: Change prototype of re_pattern_buffer.
4960         * regex.c: (RE_TRANSLATE): New macro.
4961         (TRANSLATE_P): Ditto.
4962         Change translate to type RE_TRANSLATE_TYPE.
4963         * regex.h: Define RE_TRANSLATE_TYPE
4964         * search.c (TRANSLATE): New macro.
4965         (TRANSLATE_ASCII): New macro.
4966         Translate table is changed to Lisp_Object.
4967         (signal_failure): Inhibit return.
4968
4969 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4970
4971         * device-msw.c:
4972         * eldap.c:
4973         * event-Xt.c:
4974         * event-stream.c:
4975         * print.c:
4976         Do UNGCPRO before return.
4977
4978 2000-11-14  Martin Buchholz <martin@xemacs.org>
4979
4980         * XEmacs 21.2.37 is released.
4981
4982 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4983
4984         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
4985         Add comments about discarded return value.
4986
4987 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
4988
4989         * callint.c:
4990         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
4991
4992 2000-10-27  Andy Piper  <andy@xemacs.org>
4993
4994         * gutter.c (Fset_default_gutter_position): default left and right
4995         gutters to visible.
4996         (calculate_gutter_size): calculate resonable heuristic for left
4997         and right gutter sizes.
4998         (specifier_vars_of_gutter): change left and right gutter sizes to
4999         autodetect.
5000         (calculate_gutter_size_from_display_lines): new function.
5001         (output_gutter): check for resizing on left and right gutters.
5002         (clear_gutter): don't special case top and left gutters.
5003         (specifier_vars_of_gutter): use new signature for
5004         set_specifier_caching.
5005
5006         * glyphs-x.c (x_redisplay_widget): spelling fix.
5007         * glyphs.c (specifier_vars_of_glyphs):
5008         * menubar.c (specifier_vars_of_menubar):
5009         * redisplay.c (specifier_vars_of_redisplay):
5010         * toolbar.c (specifier_vars_of_toolbar):
5011         * window.c (specifier_vars_of_window):
5012         * scrollbar.c (specifier_vars_of_scrollbar):
5013         (complex_vars_of_scrollbar): use new signature for
5014         set_specifier_caching.
5015
5016         * specifier.c (set_specifier_caching): include recompute flag.
5017         (recompute_one_cached_specifier_in_window): always recompute if
5018         flag set.
5019         (recompute_one_cached_specifier_in_frame): ditto.
5020
5021         * specifier.h (struct specifier_caching): add recompute flag.
5022
5023 2000-10-24  Andy Piper  <andy@xemacs.org>
5024
5025         * unexcw.c (copy_executable_and_dump_data_section): add new
5026         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
5027         5.0 happy.
5028
5029 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5030
5031         * console-x.h (x_device): New member modifier_release_time.
5032         * event-Xt.c (x_handle_sticky_modifiers):
5033         Bound interval modifier keys are sticky.
5034         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
5035         * events.h: extern it.
5036
5037 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5038
5039         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
5040
5041 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5042
5043         * event-stream.c (execute_command_event): Preserve current_events
5044         and the like when event is misc-user-event.
5045         Inhibit quit during the call to maybe_echo_keys.
5046
5047 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5048
5049         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
5050         symlink when buffer is killed.
5051         (inhibit_clash_detection): New variable.
5052
5053 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5054
5055         * console.c (Fset_input_method): Trigger redisplay on tty.
5056
5057 2000-11-07  Martin Buchholz  <martin@xemacs.org>
5058
5059         * process.c (Fprocess_status): Revert to previous behavior:
5060         (process-status "nosuchprocess") ==> nil
5061
5062 2000-11-06  Martin Buchholz  <martin@xemacs.org>
5063
5064         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
5065         Work around another GCC 2.95.2 optimizer bug.
5066
5067 2000-11-02  Martin Buchholz  <martin@xemacs.org>
5068
5069         * process.c (Fget_process): Use LIST_LOOP_2.
5070         (kill_buffer_processes): Use LIST_LOOP_2.
5071
5072         * minibuf.c (Fall_completions):
5073         Delete old non-functional code for FSF fourth argument.
5074
5075         * frame.c (frame_matches_frame_spec):
5076         Renamed from `frame_matches_frametype'.  Update all callers.
5077         (device_matches_device_spec):
5078         Renamed from 'device_matches_console_spec'.  Update all callers.
5079
5080         * doc.c (Fsubstitute_command_keys):
5081         Remove buffer overflow crash.  Small code cleanups.
5082
5083         * casetab.c (check_case_table): Simpler code.
5084
5085         * window.c (Freplace_buffer_in_windows):
5086         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
5087         (and similar implementation) as Fdelete_windows_on.
5088         Update all callers.
5089
5090         * alloc.c (Fmake_list):
5091         * alloc.c (make_vector):
5092         * alloc.c (Fmake_vector):
5093         * alloc.c (make_bit_vector):
5094         * alloc.c (Fmake_bit_vector):
5095         * alloc.c (Fbit_vector):
5096         * alloc.c (Fmake_string):
5097         * alloc.c (Fpurecopy):
5098         * alloc.c (Fmemory_limit):
5099         * buffer.c:
5100         * buffer.c (Fget_buffer):
5101         * buffer.c (Fkill_buffer):
5102         * buffer.c (complex_vars_of_buffer):
5103         * bytecode.c (Fcompiled_function_stack_depth):
5104         * callint.c (Fprefix_numeric_value):
5105         * event-stream.c:
5106         * event-stream.c (Fread_key_sequence):
5107         * casetab.c:
5108         * casetab.c (Fcase_table_p):
5109         * casetab.c (check_case_table):
5110         * casetab.c (Fset_case_table):
5111         * casetab.c (Fset_standard_case_table):
5112         * chartab.c:
5113         * chartab.c (Fchar_table_type):
5114         * chartab.c (Freset_char_table):
5115         * chartab.c (Fget_char_table):
5116         * chartab.c (Fget_range_char_table):
5117         * chartab.c (Fput_char_table):
5118         * chartab.c (Fmap_char_table):
5119         * chartab.c (Fcategory_table_p):
5120         * chartab.c (Fcheck_category_at):
5121         * chartab.c (Fchar_in_category_p):
5122         * chartab.c (Fcategory_table):
5123         * chartab.c (Fcopy_category_table):
5124         * chartab.c (Fset_category_table):
5125         * chartab.c (Fcategory_designator_p):
5126         * chartab.c (Fcategory_table_value_p):
5127         * cmds.c (Fdelete_char):
5128         * cmds.c (Fdelete_backward_char):
5129         * cmds.c (Fself_insert_command):
5130         * cmds.c (Fself_insert_internal):
5131         * console.c (Fvalid_console_type_p):
5132         * console.c (Fcdfw_console):
5133         * console.c (Fconsole_type):
5134         * console.c (Fconsole_name):
5135         * console.c (Fconsole_device_list):
5136         * console.c (Fconsole_on_window_system_p):
5137         * data.c:
5138         * data.c (Feq):
5139         * data.c (Fold_eq):
5140         * data.c (Fsubr_interactive):
5141         * data.c (Fchar_to_int):
5142         * data.c (Fint_to_char):
5143         * data.c (Fsetcar):
5144         * data.c (Fsetcdr):
5145         * data.c (Fnumber_to_string):
5146         * data.c (Fstring_to_number):
5147         * data.c (Frem):
5148         * database.c (mark_database):
5149         * database.c (finalize_database):
5150         * database.c (Fdatabase_live_p):
5151         * database.c (Fdatabasep):
5152         * device-x.c (Fx_get_resource):
5153         * device.c (Fdfw_device):
5154         * dired.c:
5155         * dired.c (Ffile_name_completion):
5156         * dired.c (Ffile_name_all_completions):
5157         * dired.c (Fuser_name_completion):
5158         * dired.c (Fuser_name_completion_1):
5159         * dired.c (Fuser_name_all_completions):
5160         * doc.c (Fdocumentation):
5161         * doc.c (Fdocumentation_property):
5162         * doc.c (Fsubstitute_command_keys):
5163         * editfns.c:
5164         * editfns.c (Fchar_to_string):
5165         * editfns.c (Fstring_to_char):
5166         * editfns.c (Ftemp_directory):
5167         * editfns.c (Finsert_char):
5168         * editfns.c (Fbuffer_substring_no_properties):
5169         * editfns.c (Fnarrow_to_region):
5170         * editfns.c (Fchar_equal):
5171         * editfns.c (Fchar_Equal):
5172         * editfns.c (Ftranspose_regions):
5173         * emacs.c (Fdump_emacs):
5174         * eval.c (Fthrow):
5175         * eval.c (Fcommand_execute):
5176         * eval.c (Fautoload):
5177         * eval.c (Fbacktrace):
5178         * eval.c (Fbacktrace_frame):
5179         * events.c:
5180         * events.c (Fcopy_event):
5181         * events.c (Fcharacter_to_event):
5182         * events.c (Fevent_button):
5183         * events.c (Fevent_process):
5184         * extents.c:
5185         * extents.c (Fnext_extent_change):
5186         * extents.c (Fextent_property):
5187         * faces.c (Ffacep):
5188         * faces.c (Fmake_face):
5189         * file-coding.c:
5190         * file-coding.c (Fencode_shift_jis_char):
5191         * file-coding.c (Fencode_big5_char):
5192         * fileio.c (Ffile_name_directory):
5193         * fileio.c (Ffile_name_nondirectory):
5194         * fileio.c (Ffile_name_as_directory):
5195         * fileio.c (Fdirectory_file_name):
5196         * fileio.c (Ffile_truename):
5197         * fileio.c (Fsubstitute_in_file_name):
5198         * fileio.c (Ffile_modes):
5199         * fileio.c (Fset_file_modes):
5200         * fileio.c (Fset_default_file_modes):
5201         * fileio.c (Fverify_visited_file_modtime):
5202         * floatfns.c (Facos):
5203         * floatfns.c (Fasin):
5204         * floatfns.c (Fatan):
5205         * floatfns.c (Fcos):
5206         * floatfns.c (Fsin):
5207         * floatfns.c (Ftan):
5208         * floatfns.c (Fbessel_j0):
5209         * floatfns.c (Fbessel_j1):
5210         * floatfns.c (Fbessel_jn):
5211         * floatfns.c (Fbessel_y0):
5212         * floatfns.c (Fbessel_y1):
5213         * floatfns.c (Fbessel_yn):
5214         * floatfns.c (Ferf):
5215         * floatfns.c (Ferfc):
5216         * floatfns.c (Flog_gamma):
5217         * floatfns.c (Fexp):
5218         * floatfns.c (Fexpt):
5219         * floatfns.c (Flog):
5220         * floatfns.c (Flog10):
5221         * floatfns.c (Fsqrt):
5222         * floatfns.c (Fcube_root):
5223         * floatfns.c (Facosh):
5224         * floatfns.c (Fasinh):
5225         * floatfns.c (Fatanh):
5226         * floatfns.c (Fcosh):
5227         * floatfns.c (Fsinh):
5228         * floatfns.c (Ftanh):
5229         * floatfns.c (Fabs):
5230         * floatfns.c (Ffloat):
5231         * floatfns.c (Flogb):
5232         * floatfns.c (Fceiling):
5233         * floatfns.c (Ffloor):
5234         * floatfns.c (Fround):
5235         * floatfns.c (Ftruncate):
5236         * floatfns.c (Ffceiling):
5237         * floatfns.c (Fffloor):
5238         * floatfns.c (Ffround):
5239         * floatfns.c (Fftruncate):
5240         * fns.c (Fstring_equal):
5241         * fns.c (Fstring_lessp):
5242         * fns.c (concat2):
5243         * fns.c (concat3):
5244         * fns.c (vconcat2):
5245         * fns.c (vconcat3):
5246         * fns.c (Fsubstring):
5247         * fns.c (Fassoc):
5248         * fns.c (Fold_assoc):
5249         * fns.c (assoc_no_quit):
5250         * fns.c (Fassq):
5251         * fns.c (Fold_assq):
5252         * fns.c (assq_no_quit):
5253         * fns.c (Frassoc):
5254         * fns.c (Fold_rassoc):
5255         * fns.c (Frassq):
5256         * fns.c (Fold_rassq):
5257         * fns.c (rassq_no_quit):
5258         * fns.c (Fremassoc):
5259         * fns.c (remassoc_no_quit):
5260         * fns.c (Fremassq):
5261         * fns.c (remassq_no_quit):
5262         * fns.c (Fremrassoc):
5263         * fns.c (Fremrassq):
5264         * fns.c (remrassq_no_quit):
5265         * fns.c (Fsort):
5266         * fns.c (Fplist_get):
5267         * fns.c (Fplist_put):
5268         * fns.c (Fplist_remprop):
5269         * fns.c (Fplist_member):
5270         * fns.c (Flax_plist_get):
5271         * fns.c (Flax_plist_put):
5272         * fns.c (Flax_plist_remprop):
5273         * fns.c (Flax_plist_member):
5274         * fns.c (Fequal):
5275         * fns.c (Fold_equal):
5276         * fns.c (Frequire):
5277         * fns.c (Fbase64_encode_region):
5278         * fns.c (Fbase64_encode_string):
5279         * fns.c (Fbase64_decode_region):
5280         * frame.c:
5281         * frame.c (frame_matches_frame_spec):
5282         * frame.c (device_matches_device_spec):
5283         * frame.c (next_frame):
5284         * frame.c (previous_frame):
5285         * frame.c (Fnext_frame):
5286         * frame.c (Fprevious_frame):
5287         * frame.c (Fframe_property):
5288         * frame.c (Fset_frame_height):
5289         * frame.c (Fset_frame_size):
5290         * frame.h:
5291         * glyphs.c:
5292         * glyphs.c (if):
5293         * glyphs.c (decode_error_behavior_flag):
5294         * glyphs.c (Fmake_image_instance):
5295         * indent.c (Findent_to):
5296         * intl.c (Fignore_defer_gettext):
5297         * keymap.c (Fkeymapp):
5298         * keymap.c (Flookup_key):
5299         * lread.c:
5300         * lread.c (Fload_internal):
5301         * lread.c (Feval_buffer):
5302         * lread.c (Feval_region):
5303         * macros.c (Fexecute_kbd_macro):
5304         * marker.c (set_marker_internal):
5305         * marker.c (Fset_marker):
5306         * marker.c (set_marker_restricted):
5307         * marker.c (Fcopy_marker):
5308         * marker.c (noseeum_copy_marker):
5309         * menubar.c:
5310         * menubar.c (Fpopup_menu):
5311         * minibuf.c:
5312         * mule-charset.c (Fcharset_name):
5313         * mule-charset.c (Fchar_charset):
5314         * mule-charset.c (Fchar_octet):
5315         * mule-charset.c (Fsplit_char):
5316         * mule-wnnfns.c (Fwnn_open):
5317         * mule-wnnfns.c (Fwnn_dict_comment):
5318         * mule-wnnfns.c (Fwnn_quit_henkan):
5319         * mule-wnnfns.c (Fwnn_word_toroku):
5320         * mule-wnnfns.c (Fwnn_word_sakujo):
5321         * mule-wnnfns.c (Fwnn_word_use):
5322         * mule-wnnfns.c (Fwnn_hindo_set):
5323         * objects.c:
5324         * objects.c (Fmake_color_instance):
5325         * objects.c (Fmake_font_instance):
5326         * print.c (Fwrite_char):
5327         * process.c:
5328         * process.c (mark_process):
5329         * process.c (print_process):
5330         * process.c (get_process_from_usid):
5331         * process.c (Fprocessp):
5332         * process.c (Fprocess_live_p):
5333         * process.c (Fget_process):
5334         * process.c (Fget_buffer_process):
5335         * process.c (get_process):
5336         * process.c (Fprocess_id):
5337         * process.c (Fprocess_name):
5338         * process.c (Fprocess_command):
5339         * process.c (init_process_io_handles):
5340         * process.c (start_process_unwind):
5341         * process.c (Fstart_process_internal):
5342         * process.c (Fopen_multicast_group_internal):
5343         * process.c (Fset_process_window_size):
5344         * process.c (read_process_output):
5345         * process.c (send_process):
5346         * process.c (Fprocess_tty_name):
5347         * process.c (Fset_process_buffer):
5348         * process.c (Fprocess_buffer):
5349         * process.c (Fprocess_mark):
5350         * process.c (set_process_filter):
5351         * process.c (Fset_process_filter):
5352         * process.c (Fprocess_filter):
5353         * process.c (Fprocess_send_region):
5354         * process.c (Fprocess_send_string):
5355         * process.c (exec_sentinel):
5356         * process.c (Fset_process_sentinel):
5357         * process.c (Fprocess_sentinel):
5358         * process.c (status_notify):
5359         * process.c (Fprocess_status):
5360         * process.c (Fprocess_exit_status):
5361         * process.c (process_send_signal):
5362         * process.c (Fprocess_send_eof):
5363         * process.c (deactivate_process):
5364         * process.c (remove_process):
5365         * process.c (Fdelete_process):
5366         * process.c (kill_buffer_processes):
5367         * process.c (Fprocess_kill_without_query):
5368         * process.c (Fprocess_kill_without_query_p):
5369         * rangetab.c:
5370         * rangetab.c (Fget_range_table):
5371         * rangetab.c (Fput_range_table):
5372         * rangetab.c (Fremove_range_table):
5373         * rangetab.c (Fclear_range_table):
5374         * search.c:
5375         * search.c (Fskip_chars_forward):
5376         * search.c (Fskip_chars_backward):
5377         * search.c (Fskip_syntax_forward):
5378         * search.c (Fskip_syntax_backward):
5379         * search.c (search_command):
5380         * search.c (Freplace_match):
5381         * search.c (Fregexp_quote):
5382         * select.c (Fown_selection_internal):
5383         * select.c (Fselection_owner_p):
5384         * select.c (Fselection_exists_p):
5385         * select.c (Fget_selection_internal):
5386         * specifier.c:
5387         * symbols.c:
5388         * symbols.c (Fintern):
5389         * symbols.c (Fintern_soft):
5390         * symbols.c (Funintern):
5391         * symbols.c (Fapropos_internal):
5392         * symbols.c (Fset_default):
5393         * syntax.c:
5394         * syntax.c (Fsyntax_table_p):
5395         * syntax.c (Fcopy_syntax_table):
5396         * syntax.c (Fset_syntax_table):
5397         * syntax.c (Fchar_syntax):
5398         * syntax.c (syntax_match):
5399         * syntax.c (Fmatching_paren):
5400         * syntax.c (Fforward_word):
5401         * syntax.c (scan_lists):
5402         * syntax.c (Fscan_lists):
5403         * syntax.c (Fscan_sexps):
5404         * syntax.c (Fparse_partial_sexp):
5405         * toolbar.c (Fcheck_toolbar_button_syntax):
5406         * tooltalk.doc:
5407         * window.c:
5408         * window.c (Fwindowp):
5409         * window.c (Fwindow_live_p):
5410         * window.c (Fwindow_point):
5411         * window.c (Fdelete_window):
5412         * window.c (Fnext_window):
5413         * window.c (Fprevious_window):
5414         * window.c (Fother_window):
5415         * window.c (window_loop):
5416         * window.c (Fget_lru_window):
5417         * window.c (Fsplit_window):
5418         * window.c (Fenlarge_window):
5419         * window.c (Fenlarge_window_pixels):
5420         * window.c (Fshrink_window):
5421         * window.c (Fshrink_window_pixels):
5422         * window.c (change_window_height):
5423         * window.c (Fwindow_configuration_p):
5424         * window.c (Fcurrent_window_configuration):
5425         * window.h:
5426         * casefiddle.c (casify_object):
5427         * casefiddle.c (Fupcase):
5428         * casefiddle.c (Fdowncase):
5429         * casefiddle.c (Fcapitalize):
5430         * casefiddle.c (Fupcase_initials):
5431         * casefiddle.c (casify_region_internal):
5432         * casefiddle.c (casify_region):
5433         * casefiddle.c (Fupcase_region):
5434         * casefiddle.c (Fdowncase_region):
5435         * casefiddle.c (Fcapitalize_region):
5436         * casefiddle.c (Fupcase_initials_region):
5437         * casefiddle.c (Fupcase_word):
5438         * casefiddle.c (Fdowncase_word):
5439         * casefiddle.c (Fcapitalize_word):
5440         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
5441         Replace 0 with '\0' when working with bytes.
5442         Replace initial "(" with "\(" in docstrings.
5443
5444 2000-11-01  Martin Buchholz  <martin@xemacs.org>
5445
5446         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
5447
5448         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
5449
5450 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5451
5452         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
5453
5454 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5455
5456         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
5457         correctly.
5458
5459 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5460
5461         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
5462         (inhibit_auto_save_session): New variable.
5463         (vars_of_fileio): Declare and initialize them.
5464         * fileio.c (Fdo_auto_save): Don't create session file if
5465         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
5466
5467 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5468
5469         * sgiplay.c (play_internal): C++ compilability.
5470         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
5471         * callproc.c (Fold_call_process_internal):
5472         Remove unused vars `env', `first'.
5473         * scrollbar.c (update_scrollbar_instance):
5474         #### unused var `current_window'.
5475         * redisplay-tty.c: Put currently unused vars insert_mode_on,
5476         etc. within #ifdef NOT_YET.
5477         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
5478         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
5479         * specifier.c (specifier_instance):
5480         #### unused var `tag'.
5481         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
5482
5483 2000-10-27  Martin Buchholz  <martin@xemacs.org>
5484
5485         * fns.c (Fbutlast):
5486         * fns.c (list_sort):
5487         * fns.c (Ffillarray):
5488         * fns.c (bytecode_nconc2):
5489         * fns.c (Fnconc):
5490         * fns.c (mapcar1):
5491         * fns.c (Fmapconcat):
5492         Be pedantically 64-bit correct.  For the time when someone will
5493         want to have a list with length > 2**32.
5494
5495         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
5496         Work around MIPSpro compiler bug.
5497
5498         * process-unix.c (unix_kill_child_process): Add snarky comment.
5499         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
5500
5501         * config.h.in: Oops, _getpt ==> _getpty
5502
5503 2000-10-26  Martin Buchholz  <martin@xemacs.org>
5504
5505         * config.h.in:
5506         * regex.c:
5507         Use void*, not char*, as return type of alloca().
5508
5509         * alloc.c (free_marker): Side effect inside assert expression!
5510
5511 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
5512
5513         * mule-charset.c (Fset_charset_ccl_program): To check
5514         if the given ccl program is valid, use setup_ccl_program()
5515         instead of CHECK_VECTOR().
5516         (Fmake_charset): Likewise.
5517
5518 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
5519
5520         * faces.c (get_extent_fragment_face_cache_index):
5521         Fix cachel.merged_faces memory leak.
5522
5523 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
5524
5525         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
5526         Reset MSB of octets obtained by DECODE_SJIS
5527         because of the incompatibility with Emacs.
5528         (ccl_driver)<CCL_ENCODE_SJIS>:
5529         Set MSB of octets before passing them to
5530         ENCODE_SJIS because of the incompatibility
5531         with Emacs.
5532
5533 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
5534
5535         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
5536         (DECLARE_LRECORD): Undo the last change.
5537         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
5538
5539 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
5540
5541         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
5542         the implementation to lrecord_implementations_table.
5543
5544 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
5545
5546         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
5547         initial value of `lrecord_type_##c_name' and
5548         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
5549         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
5550         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
5551         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
5552         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
5553
5554 2000-10-17  Martin Buchholz  <martin@xemacs.org>
5555
5556         * miscplay.c (sndcnv8S_2mono):
5557         (sndcnv2monounsigned):
5558         (sndcnvULaw_2linear):
5559         (sndcnv16swap):
5560         Remove implementation-defined behavior.
5561
5562 2000-10-12  Martin Buchholz  <martin@xemacs.org>
5563
5564         * input-method-xlib.c: Warning suppression.
5565
5566 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
5567
5568         * mule-ccl.c: Sync up with Emacs 21.0.90.
5569         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
5570         Do nothing.
5571         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
5572         Likewise.
5573         (ccl_driver[WriteMultibyteChar2]): Bug fix.
5574         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
5575         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
5576         leading char belongs to official 2-dimensional charset.
5577         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
5578         write the given character as is.  Otherwise,
5579         if it is a multibyte char, convert it by
5580         non_ascii_set_charptr_emchar, then write it.
5581         (CCL_WRITE_STRING): Likewise.
5582         (ccl_get_compiled_code): New function.
5583         (setup_ccl_program): When ccl_prog is invalid,
5584         return -1.
5585         (Fregister_code_conversion_map): New function.
5586         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
5587
5588         * mule-ccl.h: Sync up with Emacs 21.0.90.
5589         (Fregister_ccl_program): export it.
5590
5591         * redisplay-msw.c (separate_textual_runs):
5592         If ccl program is not valid, don't do ccl conversion.
5593
5594         * redisplay-x.c (separate_textual_runs): Ditto.
5595
5596         * file-coding.c (Fmake_coding_system):
5597         When type is ccl and value is vector, register it
5598         with a proper symbol.  And checks whether the
5599         given ccl program is valid.
5600         (mule_decode): When calling ccl_driver, if src indicates
5601         NULL pointer, set an empty string instead.
5602         (mule_encode): Likewise.
5603
5604 2000-10-11  Martin Buchholz  <martin@xemacs.org>
5605
5606         The following large batch of changes gets us back to a state of
5607         C++ compilability.  Extbyte is now a char, which means that
5608         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
5609
5610         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
5611
5612         * sound.c (Fplay_sound): Type correctness.
5613
5614         * select-x.c (hack_motif_clipboard_selection): Type correctness.
5615         (x_get_window_property): Type correctness.
5616         (receive_incremental_selection): unsigned char ==> Extbyte
5617         (selection_data_to_lisp_data): unsigned char ==> Extbyte
5618         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
5619         (Fx_store_cutbuffer_internal): Type correctness.
5620
5621         * process-unix.c (try_to_initialize_subtty): Type correctness.
5622
5623         * objects-x.c (x_print_color_instance): Type correctness.
5624         (x_print_font_instance): Type correctness.
5625         (x_list_fonts): SExtbyte ==> Extbyte.
5626         (valid_x_font_name_p): SExtbyte ==> Extbyte.
5627         (x_find_charset_font): SExtbyte ==> Extbyte.
5628         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
5629         (truename_via_XListFonts): SExtbyte ==> Extbyte.
5630         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
5631         Use bufbyte_strcmp.
5632
5633         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
5634         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
5635         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
5636         (BYTE_C0_P): Use bit ops for char-signedness safety.
5637         (BYTE_C1_P): Use bit ops for char-signedness safety.
5638         (CHARSET_BY_LEADING_BYTE):
5639         (CHARSET_BY_ATTRIBUTES):
5640         Always use inline function.
5641         Use type_checking_assert.
5642         Hide chlook.
5643
5644         * mule-charset.c (non_ascii_charptr_copy_char):
5645         Modify to work with both ASCII and non-ASCII characters.
5646         Improve docs and variable names.
5647         Replace over-clever fall-through switch with a simple loop.
5648         (Lstream_get_emchar_1):
5649         Replace over-clever fall-through switch with a simple loop.
5650
5651         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5652         Warning suppression.
5653
5654         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
5655         the return value of Lstream_getc, which could be EOF as well.
5656
5657         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
5658
5659         * lisp.h: Make Extbyte a char, not unsigned char, so that external
5660         APIs can be used on Extbytes without casts.  Risky!
5661         (SExtbyte): Remove.
5662         (UExtbyte): Remove.
5663
5664         * input-method-xlib.c (XIM_init_device):
5665         Use Xlib.h instead of IntrinsicP.h.
5666         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
5667         which will break in X11R7.
5668         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
5669         to call XRegisterIMInstantiateCallback with correct types.
5670
5671         * gui-x.c (button_item_to_widget_value): Type correctness.
5672
5673         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
5674
5675         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
5676         (xbm_instantiate_1): Type correctness.
5677         (BUILD_GLYPH_INST):  Type correctness.
5678
5679         * fileio.c (Fsubstitute_in_file_name): Type correctness.
5680
5681         * file-coding.c:
5682         (decode_coding_sjis):
5683         (decode_coding_big5):
5684         (decode_coding_ucs4):
5685         (decode_coding_utf8):
5686         (decode_coding_iso2022):
5687         (decode_coding_no_conversion):
5688         Make all decoding functions take an Extbyte * arg.
5689         (encode_coding_sjis):
5690         (encode_coding_big5):
5691         (encode_coding_ucs4):
5692         (encode_coding_utf8):
5693         (encode_coding_iso2022):
5694         (encode_coding_no_conversion):
5695         Make all encoding functions take a Bufbyte * arg.
5696         Use size_t instead of unsigned int for memory sizes.
5697         Only cast to unsigned char whenever dereferencing Extbyte *.
5698
5699         * doc.c (unparesseuxify_doc_string): Type correctness.
5700
5701         * console-x.c (split_up_display_spec):
5702         Rewrite without using details of internal string representation.
5703         (x_semi_canonicalize_device_connection): Type correctness.
5704
5705         * config.h.in:
5706         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
5707         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
5708         (HAVE_XFREE386): Removed.
5709
5710         * buffer.h (DEC_CHARPTR): `const' correctness.
5711         (bufbyte_strcmp): New.
5712         (bufbyte_memcmp): New.
5713
5714         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
5715
5716         * buffer.h (XCHAR_OR_CHAR_INT):
5717         Always use inline function.
5718         Remove redundant type checking assert() - XINT will abort quite nicely.
5719
5720 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5721
5722         * search.c (Freplace_match): Set newtext to an empty string.
5723
5724 2000-10-10  Martin Buchholz  <martin@xemacs.org>
5725
5726         * s/decosf1-3.h: Remove #include of stropts.h
5727         * s/ptx.h: Remove #include of stropts.h
5728         * s/usg5-4.h: Remove #include of stropts.h
5729         * sysproc.h:
5730         * config.h.in:
5731         Use stropts.h, not sys/stropts.h.
5732         Use strtio.h, not sys/strtio.h.
5733
5734 2000-10-04  Martin Buchholz <martin@xemacs.org>
5735
5736         * XEmacs 21.2.36 is released.
5737
5738 2000-09-21  Andy Piper  <andy@xemacs.org>
5739
5740         * glyphs-x.c (x_redisplay_widget): make sure non-structural
5741         changes still involve copying the widget tree.
5742         (update_widget_face): make sure a change is register in the widget
5743         tree. Call update_tab_widget_face appropriately.
5744         (update_tab_widget_face): ditto.
5745         (x_tab_control_redisplay): make sure non-structural changes still
5746         involve copying the widget tree.
5747
5748 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
5749
5750         * lread.c (locate_file): Check the path element is non-nil.
5751
5752 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5753
5754         * lisp.h: Warning suppression for SCO compilers.
5755
5756         * redisplay-tty.c (reset_tty_modes): Fix crash.
5757         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
5758
5759 2000-09-27  Martin Buchholz  <martin@xemacs.org>
5760
5761         Big signal/process handling overhaul.  Bugs fixed:
5762         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
5763         M-x comint-kill-subjob should work for both values nil and t of
5764         process-connection-type. It was broken on most platforms.
5765         Testing on Irix and Cygwin still needed.  Other plaforms tested.
5766         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
5767         * process-unix.c: Signal/Process handling overhaul.
5768         (pty_name): make 64 bytes, as `expect' does, for paranoia.
5769         (allocate_pty): Use all available modern methods of allocating
5770         ptys, falling back to old style BSD allocation as a last resort.
5771         Use allegedly more secure Unix98 pty allocation by default.
5772         (allocate_pty_the_old_fashioned_way): New. the last resort.
5773         (unix_create_process): Push ptem, ldterm, ttcompat where
5774         available.  Autoconfiscate.
5775         (try_to_initialize_subtty): New.
5776         (unix_kill_child_process): Proper signal handling for ptys on most
5777         platforms, using special knowledge of AIX, BSD, etc...
5778         (unix_create_process): Always disconnect_controlling_terminal() for
5779         subprocesses, whether using ptys or not.
5780         * process.h: Remove old getpt-dependent PTY code.
5781         * process.c (Fprocess_send_signal): New, obvious generic function.
5782         (decode_signal): New.
5783         (Finterrupt_process):
5784         (Fkill_process):
5785         (Fquit_process):
5786         (Fstop_process):
5787         (Fcontinue_process):
5788         (Fsignal_process): Use decode_signal.
5789         (process_send_signal):
5790         Many docstring corrections.
5791         Allow any signal to be sent to a process object.
5792         * config.h.in: Add symbols for big signal/process overhaul.
5793         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
5794         * sysproc.h: Include process-related headers, where available:
5795         sys/stropts.h sys/strtio.h pty.h libutil.h
5796         * s/irix4-0.h:
5797         * s/irix5-0.h:
5798         * s/cygwin32.h:
5799         * s/gnu.h:
5800         * s/linux.h:
5801         * s/hpux.h:
5802         * s/aix3-1.h:
5803         Remove old S&M pty stuff.
5804         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
5805         * systty.h: Simplify cpp hackery, improve comments.
5806         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
5807
5808         * editfns.c (Fformat_time_string):
5809         Be a little more paranoid with the return value of ctime.
5810
5811         * fileio.c (check_executable):
5812         (check_writable):
5813         Use symbolic constants X_OK, W_OK.
5814
5815         * console-x.c (split_up_display_spec): Fix a warning.
5816
5817 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5818
5819         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
5820         * ntproc.c (sys_spawnve): make_string ==> build_string
5821         Small clarity improvements.
5822
5823 2000-09-30  Martin Buchholz  <martin@xemacs.org>
5824
5825         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
5826
5827         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
5828
5829         * config.h.in (HAVE_STRCASECMP): Remove.
5830
5831 2000-09-29  Martin Buchholz  <martin@xemacs.org>
5832
5833         * redisplay-output.c (redisplay_output_pixmap):
5834         Cleaner and possibly more 64-bit correct code.
5835
5836 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5837
5838         * dumper.c (pdump_load_finish): move restoration of
5839         `noninteractive1' to emacs.c (main_1).
5840         * emacs.c (main_1): protect LISP-visible command-line flags
5841         from pdump_load().
5842
5843 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
5844
5845         * Makefile.in.in (versionclean):  Use EXE_TARGET and
5846         DUMP_TARGET instead of literal program names.
5847
5848 2000-09-20  Martin Buchholz  <martin@xemacs.org>
5849
5850         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
5851
5852 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5853
5854         * *: Spelling mega-patch
5855
5856 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5857
5858         * fns.c (bad_bad_turtle):
5859         Delete "Eek!" comment, since we fixed the bug to which it refers.
5860
5861 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5862
5863         * alloca.c: Replace REGISTER with register.
5864
5865 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
5866
5867         * file-coding.c (ucs_to_char): Use countof.
5868
5869 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5870
5871         * file-coding.c: (ucs_to_char):
5872         (complex_vars_of_file_coding):
5873         Use countof instead of sizeof.
5874         Use CHECK_NATNUM instead of CHECK_INT.
5875
5876         * sysdep.c (strcasecmp): Remove.
5877         * device-x.c (ascii_strcasecmp): New.
5878         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
5879         Avoid using non-standard non-portable strcasecmp.
5880
5881 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5882
5883         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
5884         * font-lock.c: remove reference to emacsfns.h.
5885         * search.c: small doc improvement.
5886         * event-Xt.c: correct file names in comments.
5887         * console-x.h Correct file names in comments.
5888         * frame.c: Correct file names in comments.
5889         * event-stream.c: remove Energize from comments.
5890
5891 2000-09-15  Martin Buchholz  <martin@xemacs.org>
5892
5893         * symeval.h (DEFERROR_STANDARD):
5894         (DEFERROR):
5895         (DEFSYMBOL):
5896         (DEFSYMBOL_NO_DUMP):
5897         (DEFSYMBOL_MULTIWORD_PREDICATE):
5898         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
5899         (DEFKEYWORD):
5900         The construct &##name is not sensible C.
5901         Fixes compilation errors with Unixware native compiler.
5902
5903 2000-09-14  Martin Buchholz  <martin@xemacs.org>
5904
5905         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
5906         (next_frame_internal): Removed.  We now just have next_frame.
5907         (next_frame):
5908         Write a simpler and cleaner one-pass algorithm.
5909         Remove called_from_delete_device arg and #ifdefed-out code.
5910         (previous_frame):
5911         Renamed from prev_frame.  Update callers.
5912         Cleaned up to have an analogous implementation to next_frame.
5913         (other_visible_frames_internal): Remove the
5914         called_from_delete_device bogus arg, and hence, remove this
5915         function.  Just use other_visible_frames().
5916
5917         * window.c (Fnext_window):
5918         Prettify docstring.
5919         Since next_frame() is guaranteed to return a frame, remove check
5920         for nil inserted in previous patch.
5921         (Fprevious_window):
5922         Prettify docstring.
5923         Make code look more like Fnext_window.
5924         (window_loop):
5925         Respect the `console' arg when iterating through windows.
5926         Fixes bug: (get-buffer-window buffer t device) not respecting
5927         the `device' arg.
5928         This function needs more work, as others have pointed out.
5929
5930         * frame.h: Rename prev_frame to previous_frame.
5931         device_matches_console_spec no longer takes a `frame' arg.
5932
5933         * s/gnu.h:
5934         * s/linux.h:
5935         * s/hpux.h:
5936         Use EMACS_BLOCK_SIGNAL instead of sigblock.
5937         From "Golubev I. N." <gin@mo.msk.ru>.
5938
5939         * make-src-depend: Fix typo.
5940
5941 2000-09-13  Martin Buchholz  <martin@xemacs.org>
5942
5943         * window.c (Fnext_window):
5944         next_frame() might return nil, not a frame.
5945         Fixes this crash:
5946         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5947
5948         * frame.c (next_frame_internal):
5949         We've passed a frame if we've passed its device.
5950         Fixes this crash:
5951         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5952 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
5953
5954 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5955
5956         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
5957         Allow option to suppress accelerators in menu/dialog items.
5958         (populate_or_checksum_helper): Pass dialog title through above.
5959
5960 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5961
5962         * event-msw.c (mswindows_key_to_emacs_keysym):
5963         Add "pause" key, fix "menu" key.
5964
5965 2000-09-09  Martin Buchholz  <martin@xemacs.org>
5966
5967         * eval.c (reinit_vars_of_eval):
5968         Increase max_lisp_eval_depth to 1000,
5969         required for thai-xtis.el to byte-compile under some circumstances.
5970
5971 2000-09-04  Martin Buchholz  <martin@xemacs.org>
5972
5973         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
5974         From Kenichi Handa.
5975
5976 2000-09-01  Martin Buchholz  <martin@xemacs.org>
5977
5978         * make-src-depend: Make the generated Makefiles smaller.
5979
5980         * s/hpux.h (SETUP_SLAVE_PTY):
5981         Provide a %d in the format string for the errno argument.
5982
5983         * editfns.c (Ftemp_directory):
5984         Warning fix.
5985         Avoid buffer overrun on very long file name.
5986
5987         * input-method-xlib.c (XIM_init_device):
5988         6th parameter of XRegisterIMInstantiateCallback has different
5989         pointer types on different OSes, so simply cast to (void *).
5990
5991         * unexhp9k800.c: Warning fixes.  Fiddly changes.
5992
5993         * sysdll.c (dll_open):
5994         shl_load will hang hard if passed a NULL filename.
5995         Simply return NULL for compatibility with dlopen.
5996         * sysdll.c: Conform to XEmacs coding standards.
5997
5998         * sysdep.c (get_pty_max_bytes):
5999         Support pty input lines longer than 512 bytes on HP-UX 10.20.
6000
6001 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6002
6003         * tooltalk.c: Add #include <syssignal.h>
6004
6005 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
6006
6007         * s/hpux.h: Don't use undefined function sigunblock().
6008
6009 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6010
6011         * config.h.in: Add HAVE_BALLOON_HELP.
6012         * emacs.c: Use HAVE_BALLOON_HELP.
6013         * Makefile.in.in (x_objs):
6014         Make Balloon Help conditional on finding shape.h.
6015
6016 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
6017
6018         * syntax.c (regex_emacs_buffer_p): New variable.
6019         * syntax.h (regex_emacs_buffer_p): extern.
6020         * search.c (looking_at_1):
6021         (string_match_1):
6022         (fast_string_match):
6023         (search_buffer): Set regex_emacs_buffer_p.
6024         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
6025         when before_dot, at_dot, after_dot.
6026
6027 2000-08-23  Andy Piper  <andy@xemacs.org>
6028
6029         * gui-x.c (popup_selection_callback): Only set action_occurred
6030         when we really have an image instance.
6031         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
6032
6033 2000-08-23  Andy Piper  <andy@xemacs.org>
6034
6035         * gui-msw.c (mswindows_handle_gui_wm_command): set
6036         action_occurred.
6037         * gui-x.c (popup_selection_callback): ditto.
6038
6039         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
6040         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
6041         (struct Lisp_Image_Instance): add action_occurred flag.
6042
6043         * glyphs.c (redisplay_subwindow): use action_occurred flag.
6044         (image_instance_changed): ditto.
6045         (reset_frame_subwindow_instance_cache): only unmap windows - do
6046         not remove them from the cache also.
6047
6048         * glyphs-widget.c (tab_control_update): better debug.
6049         (progress_gauge_update): ditto.
6050         (layout_update): ditto.
6051         (layout_instantiate): ditto.
6052         (tab_control_order_only_changed): cope with null pending items.
6053
6054         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
6055         debug. Force selection of an item when an action occurred. Cope
6056         with null pending_items.
6057         (mswindows_progress_gauge_redisplay): better debug.
6058         * glyphs-x.c (x_tab_control_redisplay): ditto.
6059
6060         * redisplay.c (redisplay_frame): reset the frame cache if the
6061         frame is garbaged.
6062
6063         * window.c (Fset_window_configuration): potentially re-enable
6064         frame cache reset.
6065         (window_unmap_subwindows): need to finalize instances here since
6066         it is only used in mark_window_as_deleted.
6067
6068 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
6069
6070         * nas.c (SndOpenDataForReading):
6071         nas.c (WaveOpenDataForReading):
6072         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
6073         Somehow escaped from the 2000-08-14 patch.
6074
6075 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6076
6077         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
6078         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
6079
6080 2000-08-21  Andy Piper  <andy@xemacs.org>
6081
6082         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
6083         window if it is not already displayed.
6084
6085         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
6086         it is not already displayed.
6087
6088         * window.c (Fset_window_configuration): don't reset the frame
6089         cache.
6090
6091         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
6092         instances from the frame cache if we are actually finalizing them.
6093         (reset_frame_subwindow_instance_cache): reset frame cache only
6094         after unmapping everything.
6095         (map_subwindow): set displayed flag after mapping.
6096
6097 2000-08-21  Martin Buchholz  <martin@xemacs.org>
6098
6099         * data.c (indirect_function):
6100         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
6101
6102         * eval.c (function_argcount):
6103         Use original function when signaling errors.
6104
6105 2000-08-18  Andy Piper  <andy@xemacs.org>
6106
6107         * frame.c (delete_frame_internal): use new
6108         free_frame_subwindow_instances name.
6109
6110         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
6111         (add_tab_item): make return type correct.
6112         (mswindows_tab_control_instantiate): assert index of tab.
6113         (mswindows_tab_control_redisplay): Re-code to use
6114         gui_item_equal_sans_selected and gui_item_list_find_selected.
6115
6116         * glyphs-widget.c (tab_control_update): Correct comment.
6117
6118         * window.c (window_unmap_subwindows): use new
6119         unmap_subwindow_instance_cache_mapper.
6120         (window_unmap_subwindows_cache_mapper): deleted.
6121         (Fset_window_configuration): comparisons should now be with
6122         EQ. Preserve the subwindow instance cache across configuration
6123         changes.
6124         (allocate_window): ditto.
6125         (make_dummy_parent): ditto.
6126
6127         * glyphs.c (free_frame_subwindow_instances): rename from
6128         free_frame_subwindow_instance_cache. finalize all instances rather
6129         than just those in the display cache.
6130         (finalize_all_subwindow_instances): walk windows unmapping and
6131         finalizing subwindows.
6132         (unmap_subwindow_instance_cache_mapper): moved from
6133         window.c. Allow finalization as well as unmapping.
6134
6135         * gui.c (gui_item_list_find_selected): new function.
6136
6137         * gui.h (gui_item_list_find_selected): declare.
6138
6139         * glyphs-x.c (x_tab_control_redisplay): pick tab
6140         explicitly. Re-code to use gui_item_equal_sans_selected and
6141         gui_item_list_find_selected.
6142
6143         * glyphs-x.h: add lwlib-utils.h
6144
6145         * buffer.c (Frecord_buffer): undo previous change.
6146
6147 2000-08-09  Vin Shelton  <acs@xemacs.org>
6148
6149         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
6150         possible.  Create temporary files more securely.  The patch was
6151         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
6152         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
6153         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
6154         for details.
6155
6156 2000-08-07  Ben Wing  <ben@xemacs.org>
6157
6158         * getloadavg.c: remove duplicate (and windows-breaking)
6159         includes of fcntl.h and sys/file.h.
6160
6161         * nt.c: remove duplicate getloadavg() definition.
6162
6163         * sysdll.h (Qdll_filename_encoding): add missing stand-in
6164         encodings.
6165
6166 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6167
6168         * eval.c (function_argcount): If function needs to be autoloaded
6169         actually use the loaded definition.
6170         GCPRO function.
6171
6172 2000-08-05  Ben Wing  <ben@xemacs.org>
6173
6174         * getloadavg.c: add prototype for getloadavg().  remove
6175         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
6176         of the code).  remove duplicate header includes.
6177
6178         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
6179
6180         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
6181         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
6182         useful load average.
6183
6184         * alloc.c (reinit_alloc_once_early): removed references to
6185         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
6186         the lisp vars are the only things referencing the malloc_sbrk_*
6187         vars, and they were already if 0'd out.  these vars only exist
6188         in the older malloc.c, which is basically unused, and they're
6189         only for informational purposes.
6190
6191         * m\*.h: removed useless VIRT_ADDR_VARIES.
6192
6193         * m\powerpc.h: removed stray NO_ARG_ARRAY.
6194
6195 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
6196
6197         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
6198         color if the image is a mono pixmap.
6199
6200 2000-07-30  Ben Wing  <ben@xemacs.org>
6201
6202         * Makefile.in.in (release):
6203         Remove stray @.
6204
6205         * buffer.c (directory_is_current_directory):
6206         * dired-msw.c (mswindows_get_files):
6207         * dired.c:
6208         * dired.c (Fdirectory_files):
6209         * dired.c (file_name_completion_stat):
6210         * dired.c (Ffile_attributes):
6211         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
6212         preprocessor tricks, to avoid problems on some machines
6213         (e.g. SCO).
6214
6215         * callproc.c (egetenv): GC docs.
6216
6217         * console-msw.h:
6218         * console-msw.h (struct mswindows_dialog_id):
6219         * lrecord.h (lrecord_type):
6220         New object for use with MSW dialogs.
6221
6222         * console.h (struct console_methods):
6223         New enable/disable frame methods, for proper modal dialogs.
6224
6225         * device-msw.c (msprinter_default_printer): Fix to follow
6226         proper Mule conventions.
6227
6228         * device-msw.c:
6229         * device-msw.c (signal_open_printer_error):
6230         * device-msw.c (msprinter_init_device):
6231         * device-msw.c (ensure_not_printing):
6232         * device-msw.c (plist_get_margin):
6233         * device-msw.c (Fmsprinter_select_settings):
6234         * device-msw.c (finalize_devmode):
6235         * device-msw.c (Fmsprinter_settings_despecialize):
6236         * device-msw.c (signal_enum_priner_error):
6237         * extents.c (decode_extent):
6238         * extents.c (decode_map_extents_flags):
6239         * extents.c (decode_extent_at_flag):
6240         * extents.c (Fextent_at):
6241         * extents.c (Fextents_at):
6242         * extents.c (symbol_to_glyph_layout):
6243         [[[[2]]]] Use structured errors.
6244
6245         * dialog-msw.c:
6246         * dialog-msw.c (mswindows_is_dialog_msg):
6247         * dialog-msw.c (mark_mswindows_dialog_id):
6248         * dialog-msw.c (dialog_proc):
6249         * dialog-msw.c (handle_question_dialog_box):
6250         * dialog-msw.c (syms_of_dialog_mswindows):
6251         Define new object to clean up marking; use it as a dialog identifier.
6252         Call new delete-dialog-box-hook.
6253
6254         * dialog-x.c (dbox_selection_callback):
6255         * dialog-x.c (dbox_descriptor_to_widget_value):
6256         * dialog-x.c (x_make_dialog_box_internal):
6257         Call new delete-dialog-box-hook.
6258         Return an id.
6259
6260         * dialog.c:
6261         * dialog.c (syms_of_dialog):
6262         * dialog.c (vars_of_dialog):
6263         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
6264
6265         * eval.c:
6266         * eval.c (signal_call_debugger):
6267         when noninteractive, output stack traces on the console instead
6268         of in a (never-seen) buffer.
6269
6270         * eval.c (signal_type_error):
6271         * eval.c (invalid_argument_2):
6272         * lisp.h:
6273         new funs for use w/structured errors.
6274
6275         * event-Xt.c:
6276         * event-Xt.c (x_to_emacs_keysym):
6277         * event-Xt.c (describe_event):
6278         * event-Xt.c (emacs_Xt_event_handler):
6279         * event-Xt.c (vars_of_event_Xt):
6280         * event-msw.c:
6281         * event-msw.c (mswindows_wnd_proc):
6282         * event-msw.c (vars_of_event_mswindows):
6283         rename {x,mswindows}-debug-events to debug-{}-events for
6284         consistency with other debug-foo variables.
6285
6286         * event-stream.c:
6287         document next-event more clearly.
6288
6289         * fileio.c (Ffile_name_directory):
6290         * fileio.c (Ffile_name_nondirectory):
6291         * fileio.c (Funhandled_file_name_directory):
6292         * fileio.c (file_name_as_directory):
6293         * fileio.c (Ffile_name_as_directory):
6294         * fileio.c (directory_file_name):
6295         * fileio.c (Fdirectory_file_name):
6296         * fileio.c (Fmake_temp_name):
6297         * fileio.c (Ffile_truename):
6298         * fileio.c (Fsubstitute_in_file_name):
6299         * fileio.c (expand_and_dir_to_file):
6300         * fileio.c (barf_or_query_if_file_exists):
6301         * fileio.c (check_executable):
6302         * fileio.c (Ffile_exists_p):
6303         * fileio.c (Ffile_writable_p):
6304         * fileio.c (Ffile_directory_p):
6305         * fileio.c (Ffile_regular_p):
6306         * fileio.c (Ffile_modes):
6307         * fileio.c (Ffile_newer_than_file_p):
6308         * fileio.c (Fverify_visited_file_modtime):
6309         * fileio.c (Fset_visited_file_modtime):
6310         * fileio.c (auto_save_1):
6311         (1). (2).
6312         fix up gcpro's.
6313
6314         * frame-msw.c:
6315         * frame-msw.c (mswindows_init_frame_1):
6316         * frame-msw.c (mswindows_enable_frame):
6317         * frame-msw.c (error_frame_unsizable):
6318         * frame-msw.c (msprinter_init_frame_1):
6319         * frame-msw.c (msprinter_init_frame_3):
6320         * frame-msw.c (console_type_create_frame_mswindows):
6321         (2).
6322         implement new enable/disable frame methods.
6323
6324         * frame-x.c:
6325         * frame-x.c (x_enable_frame):
6326         * frame-x.c (console_type_create_frame_x):
6327         implement new enable/disable frame methods.
6328
6329         * frame.c:
6330         * frame.c (Fdisable_frame):
6331         * frame.c (syms_of_frame):
6332         * frame.h (struct frame):
6333         implement new enable/disable frame methods/functions.
6334
6335         * general-slots.h:
6336         add initial-focus.
6337
6338         * glyphs-msw.c (mswindows_widget_instantiate):
6339         comment that initial-focus should be implemented.
6340
6341         * glyphs-widget.c:
6342         * glyphs-widget.c (check_valid_instantiator):
6343         * glyphs-widget.c (check_valid_orientation):
6344         * glyphs-widget.c (check_valid_tab_orientation):
6345         * glyphs-widget.c (check_valid_justification):
6346         * glyphs-widget.c (check_valid_border):
6347         * glyphs-widget.c (check_valid_callback):
6348         * glyphs-widget.c (check_valid_int_or_function):
6349         * glyphs-widget.c (check_valid_string_or_vector):
6350         * glyphs-widget.c (check_valid_item_list_1):
6351         * glyphs-widget.c (widget_validate):
6352         * glyphs-widget.c (combo_box_validate):
6353         * glyphs-widget.c (widget_instantiate):
6354         * glyphs-widget.c (syms_of_glyphs_widget):
6355         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
6356         * glyphs-widget.c (image_instantiator_combo_box):
6357         * glyphs-widget.c (image_instantiator_scrollbar):
6358         * glyphs-widget.c (image_instantiator_tab_control):
6359         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
6360         (2).
6361         support (unimplemented) keyword initial-focus.
6362         reindent long macros.
6363
6364         * glyphs-x.c (x_redisplay_widget):
6365         * glyphs-x.c (x_button_instantiate):
6366         * glyphs-x.c (x_button_redisplay):
6367         * glyphs-x.c (x_progress_gauge_instantiate):
6368         * glyphs-x.c (x_edit_field_instantiate):
6369         * glyphs-x.c (x_combo_box_instantiate):
6370         * glyphs-x.c (x_tab_control_instantiate):
6371         * glyphs-x.c (x_label_instantiate):
6372         * gui-x.c:
6373         * gui-x.c (button_item_to_widget_value):
6374         * gui-x.c (gui_items_to_widget_values_1):
6375         * gui-x.c (gui_item_children_to_widget_values):
6376         * gui-x.c (gui_items_to_widget_values):
6377         * gui-x.h:
6378         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6379         add new flag to gui-parsing routines to indicate whether
6380         accelerator specs should be supported.
6381
6382         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
6383
6384         * glyphs.h (struct Lisp_Image_Instance):
6385         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
6386         add initial-focus flag.
6387
6388         * gui.c:
6389         * gui.c (syms_of_gui):
6390         * gui.c (vars_of_gui):
6391         clean up menu-no-selection-hook.
6392
6393         * gui.h:
6394         support delete-dialog-box-hook.
6395
6396         * lread.c (Fload_internal):
6397         * lread.c (locate_file_in_directory_mapper):
6398         (1).
6399
6400         * lrecord.h:
6401         * lrecord.h (struct toolbar_button):
6402         * lrecord.h (syms_of_toolbar):
6403         document how to create a new object.
6404
6405         * menubar-msw.c (mswindows_char_is_accelerator):
6406         may be called on frames w/o menus.
6407
6408         * menubar.c (vars_of_menubar):
6409         clean up :filter docs.
6410
6411         * nt.c (readdir):
6412         * ntproc.c:
6413         (1).
6414
6415         * process-nt.c:
6416         * process-nt.c (validate_signal_number):
6417         * process-nt.c (signal_cannot_launch):
6418         * process-nt.c (nt_create_process):
6419         * process-nt.c (nt_send_process):
6420         * process-nt.c (nt_kill_child_process):
6421         * process-nt.c (nt_open_network_stream):
6422         * process-nt.c (syms_of_process_nt):
6423         (2).
6424         delete quote-handling.  call new lisp code that does it better.
6425
6426         * process-unix.c (connect_to_file_descriptor):
6427         * process-unix.c (allocate_pty):
6428         * process-unix.c (unix_send_process):
6429         * process-unix.c (unix_kill_child_process):
6430         * process-unix.c (unix_open_network_stream):
6431         * process-unix.c (unix_open_multicast_group):
6432         (1). (2).
6433
6434         * process.c:
6435         * process.c (Fstart_process_internal):
6436         (2).  need to canonicalize process path even if absolute.
6437
6438         * select-msw.c (symbol_to_ms_cf):
6439         * select-msw.c (ms_cf_to_symbol):
6440         * select-msw.c (cf_is_autofreed):
6441         * select-msw.c (mswindows_destroy_selection):
6442         * select.c:
6443         * select.c (syms_of_select):
6444         * select.h:
6445         support dibv5, fix bugs. (from Mike Alexander)
6446
6447         * select.c (Fget_selection_internal):
6448         * select.c (select_convert_out):
6449
6450         * sysdep.c:
6451         * sysdep.c (xemacs_stat):
6452         renamed.
6453
6454         * sysdep.c (mkdir):
6455         * sysdep.c (rmdir):
6456         but keep original stat() here because we provide encapsulation
6457         around these funs.
6458
6459         * sysfile.h:
6460         * sysfile.h (fstat):
6461         remove stat garbage.
6462
6463         * syswindows.h:
6464         fix X/MSW conflict.
6465         don't include tchar.h.  it's inappropriate because it makes
6466         compile-time distinctions when we want runtime distinctions.
6467         (we provide our own tchar replacements)
6468
6469         * toolbar.c:
6470         use default object printer for toolbar-button.
6471
6472         * unexcw.c:
6473         make sure we don't encapsulate.
6474
6475         * window.c (vars_of_window):
6476         emphasize that temp-buffer-show-hook is obsolete.
6477
6478 2000-08-05  Martin Buchholz  <martin@xemacs.org>
6479
6480         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
6481         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
6482
6483         * events.c (Fevent_timestamp_lessp):
6484         Not 64-bit clean.  Use EMACS_INT, not int.
6485
6486 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
6487
6488         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
6489         unsigned int and changed the last enum to
6490         lrecord_type_last_built_in_type.
6491         (lrecord_implementations_table): changed prototype to know how
6492         long the array is supposed to be.
6493         (lrecord_type_count): new unsigned int to keep track of the
6494         current number of lisp lrecord types.
6495         (DEFINE_EXTERNAL_LRECORD):
6496         (DECLARE_EXTERNAL_LRECORD): Added these two for external
6497         dynamic-modules to declare new lisp types. They are the same
6498         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
6499         int for each new type, and increment lrecord_type_count by 1.
6500
6501         * alloc.c (lrecord_implementations_table): Changed to reference
6502         lrecord_type_last_built_in_type for the size of the array.
6503         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
6504
6505 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
6506
6507         * glyphs.h (check_valid_item_list): Renamed from
6508         check_valid_item_list_1.
6509
6510 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
6511
6512         * select.c (Qselect_coerce): New.
6513         * select.c (Vselection_coercion_alist): New.
6514         * select.c (syms_of_select): Declare.
6515         * select.c (get-selection-internal): Use it.
6516         Use the new select-coerce functionality.
6517
6518         * select.c (select_coerce): New.
6519         * select.h (select_coerce): Declare.
6520         New function to coerce one type of data into another.
6521
6522 2000-08-03  Martin Buchholz  <martin@xemacs.org>
6523
6524         * callproc.c (Fcall_process_internal):
6525         (Fcall_process_internal):
6526         * process-unix.c (unix_create_process):
6527         Save and restore the value of errno, so that error messages are accurate.
6528
6529 2000-08-01  Martin Buchholz  <martin@xemacs.org>
6530
6531         * elhash.c (print_hash_table):
6532         Fix printing of hash tables to also use `key-and-value' instead of `t'.
6533         Prettify docstrings and indentation.
6534
6535 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
6536
6537         * window.c (Fwindow_pixel_edges): Subtract frame border and
6538         gutter size.
6539
6540 2000-07-31  Andy Piper  <andy@xemacs.org>
6541
6542         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
6543         will acknowledge the change.
6544
6545         * glyphs.h: declare tab_control_order_only_changed.
6546
6547         * glyphs-x.c (x_tab_control_redisplay): use
6548         tab_control_order_only_changed.
6549
6550         * glyphs-widget.c (tab_control_order_only_changed): new function.
6551
6552         * glyphs-msw.c (mswindows_tab_control_redisplay): use
6553         tab_control_order_only_changed.
6554
6555         * gui.c (gui_item_equal_sans_selected): new function.
6556         (gui_item_equal): use it.
6557
6558         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
6559         :properties in favor of :items..
6560
6561         * glyphs-widget.c (check_valid_item_list): rename from
6562         check_valid_item_list_1.
6563         (check_valid_item_list_1): renamed.
6564         (combo_box_validate): deprecate :properties in favor of :items.
6565         (widget_instantiate): ditto.
6566         (tab_control_update): ditto.
6567         (image_instantiator_combo_box): ditto.
6568         (image_instantiator_tree_view): ditto.
6569         (image_instantiator_tab_control): ditto.
6570         (layout_post_instantiate): remove dead code.
6571
6572         * print.c (debug_print_no_newline): only write to debugger if in
6573         WIN32_NATIVE.
6574
6575         * elhash.c (Fmake_hash_table): update doc string.
6576
6577         * event-msw.c (mswindows_wnd_proc): don't allow processing of
6578         messages whilst in GC. This at least stops XEmacs crashing but has
6579         the potential for wierd behaviour.
6580
6581 2000-07-31  Martin Buchholz  <martin@xemacs.org>
6582
6583         * config.h.in:
6584         Make existence of s&m files optional.
6585
6586         * s/bsd386.h: Remove HAVE_GETLOADAVG.
6587         * s/freebsd.h: Remove HAVE_GETLOADAVG.
6588         * s/gnu.h: Remove HAVE_GETLOADAVG.
6589         * s/netbsd.h: Remove HAVE_GETLOADAVG.
6590         * s/sol2.h: Remove HAVE_GETLOADAVG.
6591         * lisp.h: Remove getloadavg() declaration.
6592         * fns.c:
6593         Include <sys/loadavg.h> if available.
6594         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
6595         * config.h.in:  Group together getloadavg()-related macros.
6596         Use only configure-time tests to detect getloadavg().
6597
6598 2000-07-30  Martin Buchholz  <martin@xemacs.org>
6599
6600         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
6601
6602 2000-07-25  Andy Piper  <andy@xemacs.org>
6603
6604         * syswindows.h: add tchar.h for native builds.
6605
6606         * frame.c (syms_of_frame): remove set-glyph-image.
6607
6608         * general-slots.h: add Qset_glyph_image.
6609
6610         * glyphs-widget.c (layout_update): add domain arg to
6611         set-glyph-image.
6612         (syms_of_glyphs_widget): remove set-glyph-image.
6613
6614 2000-07-23  Ben Wing  <ben@xemacs.org>
6615
6616         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
6617         Vpopup_frame_list.
6618
6619 2000-07-22  Andy Piper  <andy@xemacs.org>
6620
6621         * symsinit.h: add syms_of_win32().
6622
6623         * gui-msw.c (syms_of_gui_mswindows): remove
6624         Fmswindows_shell_execute.
6625         (Fmswindows_shell_execute): moved to win32.c.
6626
6627         * emacs.c (main_1): add syms_of_win32 ().
6628
6629         * win32.c (init_potentially_nonexistent_functions): rewrite in
6630         compiler-friendly terms.
6631         (Fmswindows_shell_execute): move here from gui-msw.c.
6632         (syms_of_win32): new.
6633
6634         * device-msw.c (Fmswindows_printer_list): clean up args to
6635         EnumPrinters.
6636         Don't include tchar under cygwin or mingw.
6637         (msprinter_default_printer): make cygwin-friendly.
6638
6639 2000-07-21  Andy Piper  <andy@xemacs.org>
6640
6641         * glyphs-widget.c (image_instantiator_tree_view): use tab
6642         control's update function.
6643         (layout_property): new function. Retrieve items.
6644
6645         * glyphs-msw.c (mswindows_tree_view_redisplay): new
6646         function. Re-populate the tree view from the pending items.
6647
6648         * glyphs.c (instantiate_image_instantiator): Make sure the domain
6649         is designated the parent if the domain is an image instance. This
6650         is needed so that dirtiness can be cascade up the hierarchy and
6651         thus for layout children to be redisplayed correctly.
6652         (allocate_image_instance): rename glyph -> parent.
6653
6654         * redisplay.h: change redisplay_output_layout signature.
6655
6656         * redisplay-msw.c (mswindows_output_display_block): use domain
6657         arg.
6658
6659         * redisplay-x.c (x_output_display_block): use domain arg.
6660
6661 2000-07-10  Andy Piper  <andy@xemacs.org>
6662
6663         * window.c (Fset_window_configuration): add comment.
6664
6665         * redisplay-output.c (compare_runes):
6666         (redisplay_output_subwindow): redisplay rather than update subwindow.
6667         (redisplay_output_layout): ditto.
6668
6669         * redisplay-msw.c (mswindows_frame_output_end):
6670         (mswindows_frame_output_end): make defer window pos optional.
6671
6672         * lisp.h: add Flast.
6673
6674         * glyphs.h (struct image_instantiator_methods): add dest_mask top
6675         normalize method. Change update method to be for changed
6676         instantiators. Add redisplay method. Change signature of layout
6677         method.
6678         (struct Lisp_Image_Instance): add instantiator.
6679         (IMAGE_INSTANCE_INSTANTIATOR): new.
6680         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
6681         (XIMAGE_INSTANCE_INSTANTIATOR): new.
6682         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
6683
6684         * glyphs.c:
6685         (find_instantiator_differences): new function.
6686         (Fset_instantiator_property): new convenience function.
6687         (check_image_instance_structure): strictly check for vector
6688         instantiators.
6689         (normalize_image_instantiator): make non-static.
6690         (instantiate_image_instantiator): pass on dest_mask and use new
6691         signatures for image_instance_layout and friends.
6692         (mark_image_instance): mark the instantiator. Mark the subwindow
6693         face not the widget face.
6694         (image_instance_equal): add instantiator.
6695         (image_instance_hash): ditto.
6696         (allocate_image_instance): ditto.
6697         (Fset_image_instance_property): removed.
6698         (Fimage_instance_file_name): ditto.
6699         (Fcolorize_image_instance): ditto.
6700         (image_instance_layout): add offsets to be set.
6701         (update_image_instance): new function. update an image instance
6702         from its changed instantiator.
6703         (inherit_normalize): add dest_mask.
6704         (xbm_normalize): ditto.
6705         (xface_normalize): ditto.
6706         (xpm_normalize): ditto.
6707         (text_update): set_property -> update.
6708         (image_instantiate): use the glyph identity as a hash key, not the
6709         instantiator.
6710         (glyph_width): use new image_instance_layout signature.
6711         (glyph_ascent): ditto.
6712         (glyph_descent): ditto.
6713         (glyph_height): ditto.
6714         (glyph_query_geometry): ressurrect.
6715         (glyph_layout): ditto.
6716         (redisplay_subwindow): update -> redisplay.
6717         (syms_of_glyphs): add Fset_instantiator_property.
6718         (image_instantiator_format_create): set_property -> update.
6719
6720         * glyphs-x.c:
6721         (autodetect_normalize): add dest_maks to signature.
6722         (x_redisplay_subwindow): update -> redisplay.
6723         (x_redisplay_widget): ditto.
6724         (x_button_redisplay): ditto.
6725         (x_progress_gauge_redisplay): ditto.
6726         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
6727         stacking order.
6728         (console_type_create_glyphs_x): update -> redisplay.
6729         (image_instantiator_format_create_glyphs_x): ditto.
6730
6731         * glyphs-widget.c:
6732         (check_valid_instantiator): disallow glyphs in the instantiator,
6733         they must now be vectors.
6734         (check_valid_instantiator_list): ditto.
6735         (glyph_instantiator_to_glyph): use internal symbol rather than
6736         intern.
6737         (widget_update): renamed from widget_set_property. Call cascaded
6738         update methods.
6739         (redisplay_widget): renamed from update_widget.
6740         (widget_layout): image_instance_layout now takes position as well
6741         as size.
6742         (widget_normalize): ditto.
6743         (widget_instantiate): ditto.
6744         (tab_control_query_geometry) ditto.:
6745         (tab_control_update): renamed from tab_control_set_property.
6746         (progress_gauge_update): set_property -> update.
6747         (layout_normalize): rewrite so that child instantiators are
6748         normalized also.
6749         (layout_update): new function. Create glyphs from the normalized
6750         children and cope with any other layout keywords. We do not
6751         instantiate children here that will be take care of by
6752         redisplay_output_layout.
6753         (layout_instantiate): call layout_update and not much else.
6754         (layout_post_instantiate): not sure whether this is needed
6755         anymore.
6756         (layout_query_geometry): query glyph geometry rather than
6757         image_instance geometry.
6758         (layout_layout): set offsets from pass in parameters. Use glyph
6759         geometry and layout functions rather than image instance ones.
6760         (native_layout_layout): ditto.
6761         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
6762         (image_instantiator_widget): set_property -> update.
6763         (image_instantiator_buttons): ditto.
6764         (image_instantiator_progress_guage): ditto.
6765         (image_instantiator_tab_control): ditto.
6766         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
6767         (image_instantiator_layout): add update method.
6768
6769         * glyphs-msw.c (bmp_normalize):
6770         (mswindows_resource_normalize): add dest_mask so that it can be
6771         proprogated by layout_normalize.
6772         (begin_defer_window_pos): make optional because it may not be the
6773         right thing to do and it introduces differences with X.
6774         (mswindows_unmap_subwindow): ditto.
6775         (mswindows_map_subwindow): ditto.
6776         (mswindows_redisplay_subwindow): renamed from
6777         mswindows_update_subwindow.
6778         (mswindows_redisplay_widget): ditto.
6779         (mswindows_button_redisplay): renamed from
6780         mswindows_button_update. Update is now what the instantiation
6781         function does for a changed instantiator.
6782         (mswindows_progress_gauge_instantiate): set the progress value
6783         here if appropriate.
6784         (mswindows_tab_control_redisplay): cope with re-ordering of the
6785         members of the tab widget by simply selecting the new top
6786         widget. This makes things appear ok if you click on a tab.
6787         (mswindows_combo_box_instantiate): image_instance_layout now takes
6788         position as well as size.
6789         (mswindows_progress_gauge_redisplay): renamed from
6790         mswindows_progress_gauge_update.
6791         (console_type_create_glyphs_mswindows): fix update -> redisplay.
6792         (image_instantiator_format_create_glyphs_mswindows): ditto.
6793
6794         * glyphs-eimage.c (jpeg_normalize):
6795         (gif_normalize):
6796         (png_normalize):
6797         (tiff_normalize): add dest_mask so that it can be proprogated by
6798         layout_normalize.
6799
6800         * elhash.c:
6801         (print_hash_table):
6802         (hash_table_weakness_validate):
6803         (decode_hash_table_weakness):
6804         (Fhash_table_weakness):
6805         (Fhash_table_type):
6806         (syms_of_elhash): use Ben's naming scheme for hashtable types..
6807
6808         * console.h (struct console_methods): move update_* to
6809         redisplay_*.
6810
6811 2000-07-20  Ben Wing  <ben@xemacs.org>
6812
6813         * *.[ch] (XSETOBJ): remove unused middle argument.
6814         lisp-disunion.h: correct wrap_object() to one argument.
6815
6816 2000-07-15  Ben Wing  <ben@xemacs.org>
6817
6818         * s/cygwin32.h:
6819         * s/cygwin32.h (CYGWIN_CONV_PATH):
6820         Add missing logb prototype for v1.1.
6821         Use post-b20 names and alias to pre-b20 names when pre-b20.
6822
6823         * s/windowsnt.h: [5].
6824
6825 2000-07-15  Ben Wing  <ben@xemacs.org>
6826
6827         * Makefile.in.in (x_objs):
6828         * Makefile.in.in (sheap_objs):
6829         * Makefile.in.in (objs):
6830         added win32.o, cosmetic cleanups.
6831
6832         * alloc.c (Fmake_byte_code):
6833         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
6834         etc. macros which declare their own args now.
6835
6836         * alloc.c (syms_of_alloc):
6837         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
6838
6839         * buffer.c:
6840         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
6841
6842         * buffer.c (Fget_file_buffer):
6843         Fixed GCPRO problem.
6844
6845         * buffer.c (get_truename_buffer):
6846         Fixed comment about GC checking.
6847
6848         * buffer.c (syms_of_buffer):
6849         Undeclared those dedicated frame funs.
6850         [2].
6851
6852         * buffer.h:
6853         Define convenience macros for internal/external conversions.
6854         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
6855         and Qenvironment_variable_encoding for cleaner code.
6856
6857         * bufslots.h:
6858         Remove dedicated-frame; in lisp.
6859
6860         * bytecode.c (funcall_compiled_function):
6861         [1].
6862
6863         * bytecode.c (syms_of_bytecode):
6864         [2].
6865
6866         * console-msw.c:
6867         * console-msw.c (mswindows_show_console): Rewrote.
6868
6869         * console-msw.c (Fmswindows_debugging_output): New.
6870         Sends to OutputDebugString (special MSWin debugger interface).
6871
6872         * console-msw.c (Fmswindows_message_box):
6873         Fixed stupid bugs so it works when called from kill-emacs.
6874
6875         * console-msw.c (syms_of_console_mswindows):
6876         Declare Fmswindows_debugging_output.
6877
6878         * console-msw.h:
6879         New MSWin prototypes.
6880
6881         * console-msw.h (struct mswindows_frame):
6882         New entry last-click-mods for improved button-modifier support.
6883
6884         * console-msw.h (FRAME_MSWINDOWS_POPUP):
6885         New struct entry `popup' with corresponding accessor.
6886
6887         * console-x.c:
6888         * console-x.c (split_up_display_spec):
6889         * console-x.c (get_display_arg_connection):
6890         * console-x.c (x_semi_canonicalize_console_connection):
6891         * console-x.c (x_canonicalize_device_connection):
6892         [[[6]]]: Change char to more specific type.
6893         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
6894
6895         * console-x.c (x_semi_canonicalize_console_connection):
6896         * console-x.c (x_canonicalize_device_connection):
6897         [[[9]]]: Fix up error signalling to use new structured error system.
6898
6899         * console-x.h:
6900         [[[4]]]: Define codesys aliases:
6901         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
6902         Qx_color_name_encoding, Qx_display_name_encoding.
6903
6904         * console.h (struct console_methods):
6905         New method make_dialog_box_internal supersedes older
6906         popup_dialog_box method.
6907
6908         * data.c:
6909         Define many new errors, part of new structured errors.
6910
6911         * data.c (init_errors_once_early):
6912         * data.c (syms_of_data):
6913         [2].
6914
6915         * device-msw.c (mswindows_init_device):
6916         [[[5]]]: Cleanup to support NT 3.51.
6917
6918         * device-msw.c (decode_devmode): Cleanup.
6919
6920         * device-msw.c (mswindows_handle_print_setup_dialog_box):
6921         * device-msw.c (mswindows_handle_print_dialog_box):
6922         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6923         * device-msw.c (syms_of_device_mswindows):
6924         Delete the dialog box primitives recently introduced by Kirill and
6925         instead interface to general dialog box interface.
6926
6927         * device-x.c:
6928         * device-x.c (compute_x_app_name):
6929         * device-x.c (x_init_device):
6930         * device-x.c (Fx_valid_keysym_name_p):
6931         * device-x.c (Fx_set_font_path):
6932         [6].
6933         [7].
6934
6935         * device.h (wrap_device): New.
6936         First of its kind; meant to replace XSETDEVICE.
6937
6938         * dialog-msw.c: Many file-dialog symbols.
6939
6940         * dialog-msw.c (mswindows_register_popup_frame): New.
6941         * dialog-msw.c (mswindows_is_dialog_msg): New.
6942         For supporting kbd traversal in dialog boxes.
6943
6944         * dialog-msw.c (dialog_proc):
6945         Support hitting ESC in dialogs.
6946
6947         * dialog-msw.c (struct):
6948         Common dialog box errors.
6949
6950         * dialog-msw.c (handle_file_dialog_box): New.
6951         Add file dialog code.
6952
6953         * dialog-msw.c (handle_question_dialog_box):
6954         Redo existing code to support new question dialog syntax.
6955
6956         * dialog-msw.c (console_type_create_dialog_mswindows):
6957         We support new dialog console method.
6958
6959         * dialog-msw.c (syms_of_dialog_mswindows):
6960         * dialog-msw.c (vars_of_dialog_mswindows):
6961         New file dialog symbols, vars.
6962
6963         * dialog-x.c:
6964         * dialog-x.c (maybe_run_dbox_text_callback):
6965         * dialog-x.c (dbox_descriptor_to_widget_value):
6966         * dialog-x.c (x_make_dialog_box_internal):
6967         * dialog-x.c (console_type_create_dialog_x):
6968         Mule-ize entire file.
6969         Redo to support question dialog syntax.
6970         [6].
6971
6972         * dialog.c:
6973         * dialog.c (Fmake_dialog_box_internal):
6974         * dialog.c (syms_of_dialog):
6975         Kill old popup-dialog-box, replace with new primitive.
6976         Just call device method or signal error.
6977
6978         * eldap.c (Fldap_open):
6979         * eldap.c (Fldap_search_basic):
6980         * eldap.c (Fldap_add):
6981         * eldap.c (Fldap_modify):
6982         [1].
6983         [7].
6984
6985         * emacs.c:
6986         * emacs.c (make_arg_list_1):
6987         * emacs.c (make_arg_list):
6988         Mule-ize call to dll_init().
6989         [6].
6990         [8].
6991
6992         * emacs.c (make_argc_argv):
6993         * emacs.c (free_argc_argv):
6994         * emacs.c (init_cmdargs):
6995         * emacs.c (main_1):
6996         * emacs.c (Fkill_emacs):
6997         * emacs.c (Fdump_emacs):
6998         Update comments about what can be used in syms_* etc.
6999         Call init_win32() when necessary.
7000         Fix up MS Win dialog box in kill-buffer to actually work right.
7001         [7].
7002
7003         * eval.c:
7004         * eval.c (For):
7005         * eval.c (Fand):
7006         * eval.c (Fprogn):
7007         * eval.c (Fprog1):
7008         * eval.c (Fprog2):
7009         * eval.c (FletX):
7010         * eval.c (Flet):
7011         * eval.c (condition_case_3):
7012         * eval.c (Feval):
7013         * eval.c (function_argcount):
7014         * eval.c (funcall_lambda):
7015         [1].
7016
7017         * eval.c (type_error): New.
7018         * eval.c (maybe_type_error): New.
7019         * eval.c (continuable_type_error): New.
7020         * eval.c (maybe_continuable_type_error): New.
7021         * eval.c (type_error_with_frob): New.
7022         * eval.c (maybe_type_error_with_frob): New.
7023         * eval.c (continuable_type_error_with_frob): New.
7024         * eval.c (maybe_continuable_type_error_with_frob): New.
7025         New functions for use with structured errors.
7026
7027         * event-Xt.c:
7028         * event-Xt.c (x_event_to_emacs_event):
7029         Buttons are now modifiers too.
7030
7031         * event-Xt.c (emacs_Xt_current_event_timestamp):
7032         Implement new event method.
7033         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
7034
7035         * event-msw.c:
7036         * event-msw.c (ntpipe_shove_writer): [5].
7037         * event-msw.c (mswindows_enqueue_mouse_button_event):
7038         * event-msw.c (mswindows_drain_windows_queue):
7039         * event-msw.c (mswindows_wnd_proc): [7].
7040         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
7041         * event-msw.c (mswindows_modifier_state):
7042         Throughout: support new button modifiers.
7043
7044         * event-msw.c (emacs_mswindows_current_event_timestamp):
7045         Implement new event method.
7046         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
7047
7048         * event-stream.c:
7049         * event-stream.c (event_stream_current_event_timestamp): New.
7050         * event-stream.c (maybe_kbd_translate): New functionality.
7051         * event-stream.c (vars_of_event_stream):
7052         Document new kbd-translate-table functionality.
7053
7054         * event-stream.c (Fcurrent_event_timestamp): New.
7055         New primitive for use in fabricated events.
7056         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
7057
7058         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
7059
7060         * events.c:
7061         * events.c (Fmake_event):
7062         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
7063         [1].
7064         [9].
7065
7066         * events.c (format_event_object): fix gcc warnings.
7067
7068         * events.c (Fevent_timestamp): Document new primitives.
7069
7070         * events.c (TIMESTAMP_HALFSPACE): New.
7071
7072         * events.c (Fevent_timestamp_lessp): New.  New primitive for
7073         comparing timestamps correctly (half-space algorithm).
7074
7075         * events.c (Fevent_modifier_bits): Doc fix.
7076
7077         * events.c (Fevent_modifiers): Major doc addition.
7078         * events.c (event_x_y_pixel_internal): Typo fix.
7079         * events.c (syms_of_events): Declare new primitives.
7080
7081         * events.h:
7082         Update long comment for button modifiers, timestamps.
7083
7084         * events.h (struct event_stream):
7085         New current_event_timestamp method.
7086
7087         * extents.c:
7088         * extents.c (extent_in_region_p):
7089         * extents.c (decode_extent):
7090         * extents.c (Fset_extent_parent):
7091         * extents.c (decode_map_extents_flags):
7092         Fix gcc warnings.
7093         [9].
7094
7095         * extents.c (struct extent_at_arg):
7096         * extents.c (decode_extent_at_flag):
7097         * extents.c (extent_at_mapper):
7098         * extents.c (extent_at_bytind):
7099         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
7100         * extents.c (Fextents_at): New primitive. [9].
7101         * extents.c (symbol_to_glyph_layout): [9].
7102         Support new primitive `extents-at'.
7103
7104
7105         * extents.c (get_text_property_bytind):
7106         extent_at_bytind has another arg.
7107         [9].
7108
7109         * extents.c (syms_of_extents): New primitive.
7110
7111         * file-coding.c (Fmake_coding_system): [1].
7112         * file-coding.c (subsidiary_coding_system): fix gcc warning
7113         * file-coding.c (syms_of_file_coding): [2].
7114
7115         * fileio.c (Fexpand_file_name):
7116         * fileio.c (Fsysnetunam):
7117         * fileio.c (Ffile_exists_p):
7118         * fileio.c (Ffile_executable_p):
7119         * fileio.c (Fverify_visited_file_modtime):
7120         Clean up GCPROing.
7121
7122         * fileio.c (syms_of_fileio): [2].
7123
7124         * filelock.c (lock_file_1):
7125         * filelock.c (current_lock_owner):
7126         * filelock.c (lock_if_free):
7127         * filelock.c (lock_file):
7128         * filelock.c (unlock_file):
7129         Clean up GCPROing.
7130
7131         * fns.c (concat): Fix gcc warning.
7132
7133         * fns.c (Fmember):
7134         * fns.c (Fold_member):
7135         * fns.c (Fmemq):
7136         * fns.c (Fold_memq):
7137         * fns.c (memq_no_quit):
7138         * fns.c (Fassoc):
7139         * fns.c (Fold_assoc):
7140         * fns.c (Fassq):
7141         * fns.c (Fold_assq):
7142         * fns.c (assq_no_quit):
7143         * fns.c (Frassoc):
7144         * fns.c (Fold_rassoc):
7145         * fns.c (Frassq):
7146         * fns.c (Fold_rassq):
7147         * fns.c (rassq_no_quit):
7148         * fns.c (Fdelete):
7149         * fns.c (Fold_delete):
7150         * fns.c (Fdelq):
7151         * fns.c (Fold_delq):
7152         * fns.c (delq_no_quit):
7153         * fns.c (Fremassoc):
7154         * fns.c (Fremassq):
7155         * fns.c (remassq_no_quit):
7156         * fns.c (Fremrassoc):
7157         * fns.c (Fremrassq):
7158         * fns.c (remrassq_no_quit):
7159         * fns.c (Freverse):
7160         * fns.c (mapcar1):
7161         [1].
7162
7163         * frame-msw.c (mswindows_init_frame_1):
7164         * frame-msw.c (mswindows_delete_frame):
7165         Register popups with dialog code so keyboard traversing works.
7166
7167         * frame-tty.c (tty_raise_frame_no_select): [1].
7168
7169         * frame-x.c:
7170         * frame-x.c (x_set_frame_text_value):
7171         * frame-x.c (x_set_frame_properties):
7172         * frame-x.c (x_create_widgets):
7173         [7].
7174
7175         * frame.c:
7176         * frame.c (Fmouse_pixel_position): Minor doc fixes.
7177
7178         * frame.h (wrap_frame): New.
7179         Macro like wrap_device.
7180
7181         * general.c:
7182         * general.c (SYMBOL):
7183         * general.c (syms_of_general):
7184         Major reorg.  This is now just a wrapper and symbols themselves
7185         are listed in general-slots.h.
7186
7187         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
7188         * glyphs-msw.c (mswindows_resource_instantiate): [5].
7189
7190         * glyphs-msw.c (mswindows_native_layout_instantiate):
7191         Add DS_CONTROL so keyboard traversal will work.
7192
7193         * glyphs-widget.c:
7194         * glyphs-widget.c (syms_of_glyphs_widget):
7195         Move some symbols to general-slots.h.
7196
7197         * glyphs-x.c:
7198         * glyphs-x.c (xbm_instantiate_1):
7199         * glyphs-x.c (x_xbm_instantiate):
7200         * glyphs-x.c (x_xface_instantiate):
7201         * glyphs-x.c (autodetect_instantiate):
7202         * glyphs-x.c (cursor_font_instantiate):
7203         * glyphs-x.c (x_update_widget):
7204         * glyphs-x.c (x_widget_instantiate):
7205         * glyphs.c (bitmap_to_lisp_data):
7206         * glyphs.c (pixmap_to_lisp_data):
7207         [7].
7208
7209         * glyphs.c (syms_of_glyphs):
7210         [2].
7211
7212         * gui-x.c:
7213         * gui-x.c (print_widget_value):
7214         * gui-x.c (menu_separator_style_and_to_external):
7215         * gui-x.c (add_accel_and_to_external):
7216         * gui-x.c (button_item_to_widget_value):
7217         * gui-x.c (gui_items_to_widget_values_1):
7218         * gui-x.c (gui_items_to_widget_values):
7219         * gui-x.c (syms_of_gui_x):
7220         * gui-x.c (vars_of_gui_x):
7221         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
7222         [9].
7223
7224         * gui-x.h:
7225         Muleize, prototype changes matching gui-x.c.
7226
7227         * gui.c:
7228         * gui.c (separator_string_p):
7229         * gui.c (gui_item_add_keyval_pair):
7230         * gui.c (make_gui_item_from_keywords_internal):
7231         * gui.c (signal_too_long_error):
7232         * gui.c (parse_gui_item_tree_item):
7233         * gui.c (syms_of_gui):
7234         * gui.c (vars_of_gui):
7235         * gui.h:
7236         menu-no-selection-hook moved here (used by MSWin).
7237         Move some symbols to general-slots.h.
7238         [6].
7239         [9].
7240
7241         * insdel.c (get_buffer_pos_char):
7242         * insdel.c (get_buffer_range_char):
7243         Add GC comments.
7244
7245         * keymap.c (keymap_lookup_directly):
7246         * keymap.c (keymap_store):
7247         * keymap.c (ensure_meta_prefix_char_keymapp):
7248         * keymap.c (describe_map):
7249         * keymap.h:
7250         Support new button modifiers.
7251
7252         * lisp-disunion.h (wrap_object):
7253         * lisp-disunion.h (XSETOBJ):
7254         Rename make_obj to wrap_object.
7255
7256         * lisp-union.h:
7257         * lisp-union.h (make_int):
7258         * lisp-union.h (make_char):
7259         Support wrap_object.
7260
7261         * lisp.h:
7262         * lisp.h (LIST_LOOP):
7263         * lisp.h (EXTERNAL_LIST_LOOP):
7264         * lisp.h (LIST_LOOP_2):
7265         * lisp.h (EXTERNAL_LIST_LOOP_1):
7266         * lisp.h (EXTERNAL_LIST_LOOP_2):
7267         * lisp.h (EXTERNAL_LIST_LOOP_3):
7268         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
7269         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
7270         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
7271         * lisp.h (EXTERNAL_ALIST_LOOP_5):
7272         * lisp.h (EXTERNAL_ALIST_LOOP_6):
7273         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
7274         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
7275         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
7276         * lisp.h (struct Lisp_Symbol):
7277         * lisp.h (maybe_continuable_error_with_frob):
7278         Fix up section comments.
7279         Add new types for char to indicate usage.
7280         Delete symbols auto-generated from general-slots.h.
7281         Add prototypes for structured error functions.
7282         Add long comments describing looping macros and change interface
7283         so that lvalues are automatically declared.
7284         Add NO_DECLARE macro in case callers want to declare lvalues
7285         themselves.
7286
7287         * lread.c (read_syntax_error):
7288         * lread.c (continuable_read_syntax_error):
7289         * lread.c (read_structure):
7290         * lread.c (sequence_reader):
7291         * lread.c (read_list_conser):
7292         * lread.c (read_compiled_function):
7293         Rename syntax_error and continuable_syntax_error to avoid clash
7294         with same-named structured error functions.
7295
7296         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7297         * menubar-msw.c (populate_menu_add_item):
7298         * menubar-msw.c (populate_or_checksum_helper):
7299         [5].
7300         [9].
7301
7302         * menubar-x.c:
7303         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
7304         Mule-ize whole file.
7305
7306         * menubar.c (Fnormalize_menu_item_name): Add optimization.
7307
7308         * mule-charset.c (Fmake_charset):
7309         * mule-wnnfns.c (Fwnn_set_param):
7310         [1].
7311
7312         * ntproc.c (create_child):
7313         * ntproc.c (Fwin32_set_current_locale):
7314         Add comments portending doom.
7315
7316         * objects-msw.c:
7317         * objects-msw.c (old_font_enum_callback_2):
7318         * objects-msw.c (font_enum_callback_1):
7319         * objects-msw.c (mswindows_enumerate_fonts):
7320         [5].
7321
7322         * objects-x.c:
7323         * objects-x.c (allocate_nearest_color):
7324         * objects-x.c (x_parse_nearest_color):
7325         * objects-x.c (x_initialize_color_instance):
7326         * objects-x.c (x_print_color_instance):
7327         * objects-x.c (x_finalize_color_instance):
7328         * objects-x.c (x_valid_color_name_p):
7329         * objects-x.c (x_initialize_font_instance):
7330         * objects-x.c (x_print_font_instance):
7331         * objects-x.c (valid_x_font_name_p):
7332         * objects-x.c (truename_via_FONT_prop):
7333         * objects-x.c (truename_via_random_props):
7334         * objects-x.c (truename_via_XListFonts):
7335         * objects-x.c (x_font_truename):
7336         * objects-x.c (x_font_instance_truename):
7337         * objects-x.c (x_font_instance_properties):
7338         * objects-x.c (x_list_fonts):
7339         * objects-x.c (x_find_charset_font):
7340         Mule-ize entire file.
7341         [7].
7342
7343         * objects-x.h:
7344         Mule-verify.
7345
7346         * print.c:
7347         * print.c (std_handle_out_external):
7348         * print.c (debug_print_no_newline):
7349         * print.c (syms_of_print):
7350         Output to all debugger kinds in debug-print.
7351         Fix console-output code under MSWin to actually work.
7352
7353         * process-nt.c (send_signal):
7354         * process-nt.c (nt_create_process):
7355         Use newer Unicode macros.
7356
7357         * process-unix.c (unix_create_process):
7358         * process-unix.c (unix_canonicalize_host_name):
7359         * process-unix.c (unix_open_network_stream):
7360         [7].
7361
7362         * scrollbar-x.c:
7363         Mule-verify.
7364
7365         * search.c (syms_of_search):
7366         [2].
7367
7368         * select-msw.c (mswindows_destroy_selection):
7369         Use LIST_LOOP_2.
7370
7371         * select-x.c (symbol_to_x_atom):
7372         [7].
7373
7374         * select.c (syms_of_select):
7375         [2].
7376
7377         * sound.c (Fplay_sound_file):
7378         [7].
7379
7380         * specifier.c:
7381         * specifier.c (decode_specifier_type):
7382         * specifier.c (Fvalid_specifier_locale_type_p):
7383         * specifier.c (check_valid_locale_or_locale_type):
7384         * specifier.c (decode_locale):
7385         * specifier.c (decode_locale_type):
7386         * specifier.c (decode_locale_list):
7387         * specifier.c (check_valid_domain):
7388         * specifier.c (decode_specifier_tag_set):
7389         * specifier.c (Fcanonicalize_tag_set):
7390         * specifier.c (Fdefine_specifier_tag):
7391         * specifier.c (Fspecifier_tag_predicate):
7392         * specifier.c (check_valid_inst_list):
7393         * specifier.c (check_valid_spec_list):
7394         * specifier.c (decode_how_to_add_specification):
7395         * specifier.c (check_modifiable_specifier):
7396         * specifier.c (specifier_add_spec):
7397         * specifier.c (boolean_validate):
7398         * specifier.c (display_table_validate):
7399         [9].
7400
7401         * specifier.c (syms_of_specifier):
7402         Move some symbols to general-slots.h.
7403         [2].
7404
7405         * symbols.c:
7406         * symbols.c (Fmapatoms):
7407         * symbols.c (Fapropos_internal):
7408         Add GCPROs.
7409
7410         * symbols.c (set_default_buffer_slot_variable):
7411         * symbols.c (set_default_console_slot_variable):
7412         [1].
7413
7414         * symbols.c (defsymbol_massage_name_1):
7415         * symbols.c (defkeyword_massage_name):
7416         * symbols.c (deferror_1):
7417         * symbols.c (deferror):
7418         * symbols.c (deferror_massage_name_and_message):
7419         * symeval.h:
7420         * symeval.h (DEFSYMBOL):
7421         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
7422
7423         * symbols.c (syms_of_symbols):
7424         [2].
7425
7426         * symsinit.h:
7427         * symsinit.h (init_win32): New.
7428         Also new is syms_of_dialog_mswindows.
7429
7430         * syswindows.h:
7431         Add new Unicode macros, missing Cygwin wide-char functions,
7432         convenience conversion macros for Qmswindows_tstr, macros for
7433         encapsulating required MSWin <-> Cygwin filename conversions,
7434         prototype for dynamically-extracted (not in NT 3.51) functions.
7435
7436         * toolbar-x.c:
7437         Mule-verify.
7438
7439         * tooltalk.c (Fadd_tooltalk_message_arg):
7440         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
7441         * tooltalk.c (Fadd_tooltalk_pattern_arg):
7442         [7].
7443
7444         * tooltalk.c (syms_of_tooltalk):
7445         [2].
7446
7447         * unexnt.c:
7448         * unexnt.c (unexec):
7449         Fix up headers, declaration of unexec() to be more standard.
7450
7451 2000-07-20  Martin Buchholz  <martin@xemacs.org>
7452
7453         * offix.h: Revert change to guard macros - they're used in offix.c!
7454
7455 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7456
7457         * lisp.h: Defsubred Fdelete.
7458
7459         * console-msw.h:  (msprinter_default_printer): Added.
7460
7461         * console-msw.c (msprinter_canonicalize_console_connection):
7462         (msprinter_canonicalize_device_connection): Added.
7463
7464         * device-msw.c (msprinter_default_printer):
7465         (Fmswingows_get_default_printer):
7466         (signal_enum_priner_error):
7467         (Fmswingows_printer_list): Added.
7468
7469 2000-07-19  Martin Buchholz <martin@xemacs.org>
7470
7471         * XEmacs 21.2.35 is released.
7472
7473 2000-07-19  Martin Buchholz  <martin@xemacs.org>
7474
7475         * select-x.c (x_handle_selection_request):
7476         Text selected in xemacs and pasted into xterm failed to appear.
7477         Spelling fixes and cosmetic changes.
7478
7479 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7480
7481         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
7482         XEmacs frame (fix for doubling chars in dialog boxes).
7483
7484 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7485
7486         * select.c (select_convert_in, select_convert_out):
7487         Don't call intern() every time.
7488
7489         * select.c (Qselect_convert_in, Qselect_convert_out): New.
7490         * select.c (vars_of_select): Initialise them.
7491
7492 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7493
7494         * select.c (selection-coercible-types): New.
7495
7496         * select.c (own-selection-internal):
7497         * select.c (get-selection-internal):
7498         MULE bug fix - these should default to COMPOUND_TEXT and not
7499         STRING for MULE. I think.
7500
7501         * select.c (select_convert_out): Use selection-coercible-types
7502         to find types that we can attempt to perform coercions on.
7503
7504 2000-07-18  Martin Buchholz  <martin@xemacs.org>
7505
7506         * mule-wnnfns.c:
7507         * mule-canna.c:
7508         Add coding: cookie to identify encoding.
7509
7510         * mule-canna.c (CANNA_mode_keys): make static.
7511         Use proper prototypes, even for functions of no arguments.
7512         Remove external prototype for Fding().
7513
7514         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
7515
7516         * select.c (syms_of_select): Add missing DEFSUBR.
7517
7518 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7519
7520         * select.c (get_selection_internal, own_selection_internal):
7521         Make the type default to STRING, rather than placing a nil type
7522         into Vselection_alist.
7523
7524 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7525
7526         * gpmevent.c (tty_selection_exists_p):
7527         * gpmevent.c (tty_own_selection):
7528         Updated parameter lists.
7529
7530 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
7531
7532         * select.h (selection-alist): Removed declaration.
7533
7534         * select.h (get_local_selection):
7535         * select.c (get_local_selection):
7536         Made static.
7537
7538         * select.h (convert_selection): Removed declaration.
7539         * select.c (convert_selection): Removed.
7540         This function belongs in Lisp.
7541
7542         * select.h (select_convert_in): Declare.
7543         * select.h (select_convert_out): Declare.
7544         * select.c (select_convert_in): New.
7545         * select.c (select_convert_out): New.
7546         New conversion functions for other files to call.
7547
7548         * select.h (select_notify_buffer_kill): Declare.
7549         * select.c (select_notify_buffer_kill): New.
7550         New functions that get called from kill-buffer.
7551
7552         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
7553         X-specific lisp code.
7554
7555         * select.h: Declare some of the lisp-visible functions for
7556         external use.
7557
7558         * select.c (clean_local_selection_data): Removed. This was
7559         a disgusting function, and previously should have been in
7560         select-x.c in any case. The functionality is now provided
7561         in select-convert-from-integer (select.el).
7562
7563         * select.c (available-selection-types): Fixed stupidity where
7564         INTEGER and ATOM got added twice. Also add STRING when we see an
7565         extent.
7566
7567         * select.c (get-selection-internal): Removed symbol stripping. No
7568         longer causes conversion when data comes from the internal cache.
7569
7570         * select.c (syms_of_select): Added new functions.
7571
7572         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
7573         error checking - previously this called abort!
7574
7575         * select-x.c (x_own_selection): Changed comment.
7576
7577         * select-x.c (x_handle_selection_request): Use select_convert_out.
7578         Don't mess with selection-alist; it's an internal variable of select.c.
7579
7580         * select-x.c (x_get_foreign_selection): Use select_convert_in.
7581
7582         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
7583         rather than messing with selection-alist.
7584
7585         * select-msw.c (mswindows_get_foreign_selection):
7586         Use TO_INTERNAL_FORMAT rather than hacking.
7587
7588 2000-07-14  Martin Buchholz  <martin@xemacs.org>
7589
7590         * process-unix.c (unix_open_multicast_group):
7591         (unix_open_multicast_group): Remove useless casts.
7592
7593 2000-07-13  Martin Buchholz  <martin@xemacs.org>
7594
7595         * sound.c (Fplay_sound): Fix `unused variable' warning.
7596
7597         * emacs.c (main): Use correct type for _environ on SCO5.
7598
7599 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
7600
7601         * console.h (own_selection_method):
7602         * console.h (selection_exists_p_method):
7603         * console.h (available_selection_types_method): New.
7604         * console.h (register_selection_data_type_method): New.
7605         * console.h (selection_data_type_name): New.
7606
7607         * console-msw.h (mswindows_destroy_selection): Declare it.  New
7608         function & alist to track GlobalAlloc()'d handles that need
7609         releasing when the clipboard data gets replaced or emptied.
7610
7611         * event-msw.c (mswindows_wnd_proc): Call it.
7612
7613         * lisp.h, general.c (Qappend): New symbol representing a
7614         `how-to-add' mode.
7615
7616         * select.c (own-selection-internal):
7617         * select.c (selection-exists-p):
7618         * select.c (available-selection-types): New.
7619         * select.c (register-selection-data-type): New.
7620         * select.c (selection-data-type-name): New.  New functions to deal
7621         with device-specific selection data formats.
7622         * select.c (selection-converter-out-alist): Renamed.
7623         * select.c (selection-converter-in-alist): New.
7624         * select.c (selection-appender-alist): New.  Added new alists.
7625         * select.c (syms_of_select, vars_of_select): Added new symbols &
7626         variables.
7627         * select.c (get_local_selection): Split.
7628         * select.c: Removed spurious type checking - selections may now be
7629         of any type, not just strings.
7630         * select.c (own-selection-internal):
7631
7632         * select.h, select.c (convert_selection): New. Created
7633         convert_selection() function based on get_local_selection().
7634         * select.h, select.c (QCF_*): New symbols representing mswindows
7635         clipboard formats.
7636         * select.h, select.c (Qreplace_all, Qreplace_existing): New
7637         symbols representing `how-to-add' modes.
7638
7639         * select-msw.c (x_sym_p): New.
7640         * select-msw.c (symbol_to_ms_cf): New.
7641         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
7642         symbols & clipboard formats. Can also handle string names.
7643         * select-msw.c (mswindows_own_selection):
7644         * select-msw.c (mswindows_selection_exists_p):
7645         Added `data-type' parameter. Use it.
7646         * select-msw.c (mswindows_available_selection_types): New.
7647         * select-msw.c (mswindows_register_selection_data_type): New.
7648         * select-msw.c (mswindows_selection_data_type_name): New.
7649         * select-msw.c (mswindows_own_selection):
7650         * select-msw.c (mswindows_get_foreign_selection):
7651         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
7652         * select-msw.c (console_create_select_mswindows): Added new methods.
7653         * select-msw.c (mswindows_destroy_selection): New.
7654         * select-msw.c (Vhandle_alist): New list.
7655         * select-msw.c (mswindows_own_selection):
7656
7657         * select-x.c (x_own_selection):
7658         * select-x.c (x_selection_exists_p):
7659         * select-x.c: Added some comments about maybe using new
7660         functionality.
7661         * select-x.c (x_own_selection):
7662
7663         * specifier.c: Remove definition of Qappend (now in general.c)
7664         * specifier.c (syms_of_specifier): Remove Qappend.
7665
7666 2000-07-12  Martin Buchholz  <martin@xemacs.org>
7667
7668         * config.h.in: Add socklen_t.
7669
7670         * s/decosf4-0.h: No special compiler flags needed or desired.
7671         In particular, undefine _BSD for DEC OSF 4.0.
7672
7673 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7674
7675         * redisplay-msw.c (msprinter_frame_output_end): Added.
7676         (console_type_create_redisplay_mswindows): Referred the above.
7677
7678         * frame.c (setup_frame_without_minibuffer): Do not create a
7679         default minibuffer frame on a printer device.
7680
7681         * frame-msw.c (apply_dc_geometry): Added.
7682         (msprinter_start_page):
7683         (msprinter_init_frame_3):
7684         (msprinter_eject_page): Use it.
7685
7686         * console-msw.h (struct msprinter_frame): Added pix_left and top,
7687         and removed residual duplex and orientation properties.
7688
7689 2000-07-11  Martin Buchholz  <martin@xemacs.org>
7690
7691         * eval.c (function_argcount): Work around a DEC CC compiler bug.
7692
7693         * unexalpha.c: Remove system prototypes from C sources!
7694
7695 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
7696
7697         * eval.c: Remove references to M-x edit-options in DEFUNs for
7698         `defvar' and `defconst'.
7699
7700 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7701
7702         * config.h.in: Remove SMART_INCLUDE hackery.
7703
7704         PostgreSQL hacking:
7705         * config.h.in: Don't use SMART_INCLUDE.
7706
7707         * postgresql.h: Include libpq-fe.h here.  Fix typo.
7708         * inline.c: Simply #include "postgresql.h"
7709         * postgresql.c:
7710         - Don't use SMART_INCLUDE
7711         - Use simply "const".
7712         - Use standard doc string conventions.
7713         - Use correct type for result of PQstatus.
7714
7715 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7716
7717         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
7718
7719         C++ compilation changes.
7720         * config.h.in (EXTERN_C): Define.
7721         * config.h.in (not): This is also a C++ keyword.
7722         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
7723         * cm.c: Use EXTERN_C.
7724         * redisplay-tty.c: Use EXTERN_C.
7725         * sysdep.c: Use EXTERN_C.  Remove Gould support.
7726
7727 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7728
7729         * general.c: Remove duplicate definition for Qfunction.
7730
7731 2000-07-08  Ben Wing  <ben@xemacs.org>
7732
7733         * device-msw.c (msprinter_init_device):
7734         * device-msw.c (sync_printer_with_devmode):
7735         * device-msw.c (handle_devmode_changes):
7736         * device-msw.c (print_dialog_worker):
7737         * device-msw.c (Fmsprinter_apply_settings):
7738         * device-msw.c (hash_devmode):
7739         * device-msw.c (Fmsprinter_settings_despecialize):
7740         use Qmswindows_tstr, not Qctext.
7741
7742         * vm-limit.c (check_memory_limits):
7743         avoid infinite loop printing warning messages.
7744
7745 2000-07-05  Craig Lanning  <lanning@scra.org>
7746
7747         * Makefile.in.in: Add support for including the Windows resources
7748         when building with the cygwin and mingw targets.
7749
7750         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
7751         not set or not correct.
7752         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
7753         (init_initial_directory): Don't try to use $PWD on the
7754         WIN32_NATIVE target.
7755
7756         * s\cygwin32.h:
7757         [[Add -mwindows to eliminate console window.]] not required --ben
7758         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7759         (MAIL_USE_POP): removed; now handled by configure.
7760
7761         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
7762         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
7763         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7764         (MAIL_USE_POP): removed; now handled by configure.
7765         (ENCAPSULATE_STAT): from Dan Holmsand, added.
7766         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
7767         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
7768         constant string.
7769         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
7770         up from <winsock.h> via systime.h.
7771         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
7772         (getpagesize): from Dan Holmsand, added.
7773         Added #endif which was left dangling by Ben's mega patch; added
7774         comment to help prevent this in the future.
7775
7776         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
7777
7778 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7779
7780         * console-msw.h (struct mswindows_device): Removed unnecessary
7781         cached device geometry values.
7782         Added update_tick and an accessor macro.
7783         (Lisp_Devmode): Added lrecord declaration.
7784         (struct msprinter_device): Contain devmode as a Lisp object.
7785         Added mswindows_get_selected_frame_hwnd();
7786
7787         * console.h (struct console_methods): Indentation nitpicking.
7788
7789         * device-msw.c (mswindows_init_device): Do not initialize geometry
7790         cache. Initialize update tick.
7791         (mswindows_device_system_metrics): Ask the device for its geometry.
7792         (global_free_2_maybe):
7793         (devmode_to_hglobal):
7794         (handle_printer_changes):
7795         (ensure_not_printing):
7796         (print_dialog_worker):
7797         (Fmsprinter_print_setup_dialog):
7798         (Fmsprinter_print_dialog):
7799         (plist_get_margin):
7800         (plist_set_margin):
7801         (Fmsprinter_page_setup_dialog): Added functions.
7802         (sync_printer_with_devmode):
7803         (handle_devmode_changes):
7804         (Fmsprinter_get_settings):
7805         (Fmsprinter_select_settings):
7806         (Fmsprinter_apply_settings):
7807         (allocate_devmode):
7808         (Fmsprinter_settings_copy):
7809         (Fmsprinter_settings_despecialize):
7810         (print_devmode):
7811         (finalize_devmode):
7812         (equal_devmode):
7813         (hash_devmode): Added functions
7814         (syms_of_device_mswindows): Init devmode lrecord class.
7815
7816         * device.h: Added an exfun for find-device.
7817
7818         * event-msw.c (mswindows_wnd_proc): Do not update the cached
7819         geometry; although, recreate the device compatible DC.
7820
7821         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
7822         (msprinter_init_frame_3):
7823         (msprinter_frame_property):
7824         (msprinter_internal_frame_property_p):
7825         (msprinter_frame_properties):
7826         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
7827         print job properties (will move to device settings).
7828
7829         * lisp.h: Added symbols.
7830
7831         * general.c (syms_of_general): Declared them.
7832
7833         * hash.c (string_hash): Added.
7834
7835         * lrecord.h (lrecord_type): Added devmode lrecord type.
7836
7837 2000-07-02  Mike Sperber <mike@xemacs.org>
7838
7839         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
7840         FreeBSD 4.0.
7841
7842 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
7843
7844         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
7845         integer.
7846
7847 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
7848
7849         * data.c (Fstring_to_number): Don't recognize floating point if
7850         base is not 10.
7851
7852 2000-06-22  Martin Buchholz  <martin@xemacs.org>
7853
7854         * glyphs-widget.c (tab_control_query_geometry):
7855         (widget_query_geometry):
7856         (button_query_geometry):
7857         * glyphs.c (text_query_geometry):
7858         Enforce type correctness.
7859
7860 2000-06-18  Martin Buchholz  <martin@xemacs.org>
7861
7862         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
7863         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
7864
7865 2000-06-17  Martin Buchholz  <martin@xemacs.org>
7866
7867         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
7868         conflicts with gcc's fixincluded version of FOO.h.
7869
7870         * glyphs.h (image_instance_geometry): Remove trailing `,'
7871
7872 2000-06-08  Mike Alexander  <mta@arbortext.com>
7873
7874         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
7875         (shove_thread): Don't write the same output twice
7876         (make_ntpipe_output_stream): Increase priority of shove thread
7877         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
7878         chance to run
7879         (ntpipe_shove_closer): Don't delete the pipe until we're done with
7880         it.
7881
7882 2000-06-12  Ben Wing  <ben@xemacs.org>
7883
7884         * s\mingw32.h (sigset):
7885         * s\windowsnt.h (sigset):
7886         rename msw_ to mswindows_ for consistency with general convention.
7887
7888 2000-06-12  Ben Wing  <ben@xemacs.org>
7889
7890         * console-msw.c:
7891         * console-msw.c (mswindows_get_console_hwnd):
7892         * console-msw.c (mswindows_ensure_console_allocated):
7893         * console-msw.c (mswindows_hide_console):
7894         * console-msw.c (mswindows_show_console):
7895         * console-msw.c (mswindows_ensure_console_buffered):
7896         * console-msw.c (mswindows_output_console_string):
7897         * console-msw.c (mswindows_windows9x_p):
7898         * console-msw.h:
7899         * device-msw.c (mswindows_get_workspace_coords):
7900         * device-msw.c (mswindows_device_system_metrics):
7901         * dialog-msw.c (mswindows_popup_dialog_box):
7902         * event-msw.c (mswindows_wnd_proc):
7903         * frame-msw.c (mswindows_size_frame_internal):
7904         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7905         * menubar-msw.c (displayable_menu_item):
7906         * menubar-msw.c (mswindows_char_is_accelerator):
7907         * nt.c:
7908         * nt.c (mswindows_sigset):
7909         * nt.c (mswindows_sigrelse):
7910         * nt.c (mswindows_sigpause):
7911         * nt.c (mswindows_raise):
7912         * nt.c (timer_proc):
7913         * ntproc.c:
7914         * ntproc.c (find_child_console):
7915         * ntproc.c (sys_kill):
7916         * print.c:
7917         * print.c (std_handle_out_external):
7918         * process-nt.c (find_child_console):
7919         * process-nt.c (send_signal_the_95_way):
7920         * process-nt.c (ensure_console_window_exists):
7921         * process-nt.c (nt_create_process):
7922         * syssignal.h:
7923         rename msw_ to mswindows_ for consistency with general convention.
7924
7925         * emacs.c:
7926         * dumper.c:
7927         include nt.h, not syswindows.h.
7928
7929         * nt.c (mswindows_fstat):
7930         * nt.c (mswindows_stat):
7931         prefix mswindows_ instead of attempting to directly override the
7932         library functions.  fix declarations.
7933
7934         * nt.h:
7935         include syswindows.h.  move some sysdep.h stuff here.
7936
7937         * ntheap.h:
7938         include syswindows.h, not <windows.h>.
7939
7940         * ntplay.c:
7941         clean up headers.
7942
7943         * sysdep.c:
7944         clean up headers.
7945
7946         * sysdep.c (sys_fstat):
7947         * sysdep.c (sys_stat):
7948         call mswindows versions when appropriate.
7949
7950         * sysdep.h:
7951         move mswin decls to nt.h.
7952
7953         * syswindows.h:
7954         add long comment describing appropriate use of the various windows
7955         headers.
7956
7957 2000-06-11  Ben Wing  <ben@xemacs.org>
7958
7959         * device-x.c: Correct doc string for sixth arg of x-get-resource.
7960
7961 2000-06-10  Ben Wing  <ben@xemacs.org>
7962
7963         * Makefile.in.in (release):
7964         Correction to make sure xemacs.exe always dumped when correct.
7965
7966         * alloca.c:
7967         * balloon_help.c:
7968         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
7969
7970         * buffer.c (set_buffer_internal):
7971         [[[[2]]]]: Remove HAVE_FEP code.
7972
7973         * buffer.c (init_initial_directory):
7974         [3].
7975
7976         * bytecode.c:
7977         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
7978         individual files.
7979
7980         * callproc.c:
7981         * callproc.c (call_process_cleanup):
7982         * callproc.c (Fold_call_process_internal):
7983         * callproc.c (child_setup):
7984         * callproc.c (getenv_internal):
7985         * callproc.c (init_callproc):
7986         * callproc.c (vars_of_callproc):
7987         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
7988         __CYGWIN32__ -> CYGWIN.
7989         DOS_NT -> WIN32_NATIVE.
7990         Remove MSDOS support/references, converting to WIN32_NATIVE
7991           where correct.
7992         __MINGW32__ -> MINGW.
7993         Fix windows.h includes.
7994         Remove bogus HAVE_NTGUI.
7995
7996         * config.h.in:
7997         [2].
7998
7999         * console-msw.c:
8000         mswindows_message_outputted added for use in allowing startup
8001         errors on the console to be seen.
8002
8003         * console-msw.c (msw_ensure_console_allocated):
8004         * console-msw.c (msw_output_console_string):
8005         * console-msw.c (DHEADER):
8006         * console-msw.c (DOPAQUE_DATA):
8007         * console-msw.c (DEVENT):
8008         * console-msw.c (DCONS):
8009         * console-msw.c (DCONSCDR):
8010         * console-msw.c (DSTRING):
8011         * console-msw.c (DVECTOR):
8012         * console-msw.c (DSYMBOL):
8013         * console-msw.c (DSYMNAME):
8014         Fix warnings.
8015
8016         * console-stream.c (stream_init_console):
8017         Fix text/binary problems.
8018
8019         * device-msw.c:
8020         * device-msw.c (mswindows_finish_init_device):
8021         * device-msw.c (mswindows_delete_device):
8022         [1].
8023
8024         * device.c (handle_asynch_device_change):
8025         [3].
8026
8027         * dgif_lib.c:
8028         * dgif_lib.c (DGifOpenFileName):
8029         * dgif_lib.c (DGifOpenFileHandle):
8030         * dgif_lib.c (DGifGetLine):
8031         * dgif_lib.c (DGifGetPixel):
8032         Added config.h/lisp.h, fix up includes.
8033         [1].
8034
8035         * dired-msw.c:
8036         [4].
8037
8038         * dired.c:
8039         * dired.c (file_name_completion):
8040         * dired.c (Ffile_attributes):
8041         * dired.c (syms_of_dired):
8042         [1].
8043
8044         * dumper.c:
8045         * dumper.c (pdump_file_unmap):
8046         * dumper.c (pdump_load):
8047         [1].
8048
8049         * editfns.c:
8050         * editfns.c (Ftemp_directory):
8051         * editfns.c (user_login_name):
8052         * editfns.c (Fuser_real_login_name):
8053         * editfns.c (get_home_directory):
8054         [1].
8055
8056         * elhash.c (finish_marking_weak_hash_tables):
8057         [[[[5]]]]: Fix GCC warnings.
8058
8059         * emacs.c:
8060         * emacs.c (mswindows_handle_hardware_exceptions):
8061         * emacs.c (make_arg_list_1):
8062         * emacs.c (main_1):
8063         * emacs.c (Fkill_emacs):
8064         * emacs.c (Fdump_emacs):
8065         [1].
8066         Fix problems with nested crashes, add long comment.
8067
8068         * event-Xt.c (init_event_Xt_late):
8069         [1].
8070
8071         * event-msw.c:
8072         * event-msw.c (mswindows_dde_callback):
8073         * event-msw.c (mswindows_handle_sticky_modifiers):
8074         * event-msw.c (mswindows_wnd_proc):
8075         [1].
8076         [5].
8077
8078         * events.c (character_to_event):
8079         [1].
8080
8081         * fileio.c:
8082         * fileio.c (Ffile_name_directory):
8083         * fileio.c (Ffile_name_nondirectory):
8084         * fileio.c (directory_file_name):
8085         * fileio.c (Fexpand_file_name):
8086         * fileio.c (Fsubstitute_in_file_name):
8087         * fileio.c (Ffile_name_absolute_p):
8088         * fileio.c (check_executable):
8089         * fileio.c (Ffile_readable_p):
8090         * fileio.c (Ffile_accessible_directory_p):
8091         * fileio.c (Ffile_modes):
8092         * fileio.c (Funix_sync):
8093         * fileio.c (vars_of_fileio):
8094         [1]. [4].
8095
8096         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
8097
8098         Expand getdefdir defn.
8099         Fix bogus rename() comment.
8100
8101         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
8102         to use standard XEmacs include files, e.g. sysfile.h, rather
8103         than system-specific includes.
8104
8105         * fns.c:
8106         * fns.c (Fsubseq):
8107         [5]. [6].
8108
8109         * frame.c (vars_of_frame):
8110         [1].
8111
8112         * getloadavg.c:
8113         * getloadavg.c (getloadavg):
8114         [1]. [6].
8115         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
8116         (We don't use it elsewhere in the code; just add a comment.)
8117
8118         * gif_io.c:
8119         [6].
8120         Add config.h.
8121
8122         * glyphs-msw.c:
8123         * glyphs-msw.c (mswindows_resource_instantiate):
8124         [1].
8125
8126         * glyphs-x.c (x_native_layout_instantiate):
8127         [5].
8128
8129         * gui-msw.c (Fmswindows_shell_execute):
8130         [1].
8131
8132         * insdel.c:
8133         [4].
8134
8135         * lisp.h:
8136         [4]. [5].
8137
8138         * lread.c (locate_file_in_directory_mapper):
8139         [1].
8140
8141         * lstream.c:
8142         [4].
8143
8144         * mem-limits.h:
8145         * mem-limits.h (get_lim_data):
8146         [1].
8147
8148         * menubar-msw.c:
8149         [4].
8150
8151         * ndir.h:
8152         [1].
8153
8154         * nt.c:
8155         * nt.c (getwd):
8156         * nt.c (closedir):
8157         * nt.c (rva_to_section):
8158         * nt.c (mswindows_executable_type):
8159         [1]. [6].
8160         Fix closedir() defn.
8161
8162         * nt.h:
8163         [[[[8]]]]: *_OK defs moved to sysfile.h.
8164
8165         * ntproc.c:
8166         [6]. [7].
8167
8168         * objects-x.c:
8169         [4].
8170
8171         * print.c:
8172         * print.c (std_handle_out_external):
8173         [1]. [4].
8174
8175         * process-nt.c:
8176         * process-nt.c (nt_create_process):
8177         [6].
8178         try to fix process quoting somewhat.
8179
8180         * process-unix.c (unix_create_process):
8181         [1].
8182
8183         * process.c:
8184         * process.c (vars_of_process):
8185         Add Vnull_device.
8186
8187         * process.h:
8188         [1].
8189
8190         * realpath.c:
8191         * realpath.c (xrealpath):
8192         [1].
8193
8194         * redisplay-tty.c (init_tty_for_redisplay):
8195         [3].
8196
8197         * redisplay.c:
8198         [4]. [6].
8199
8200         * scrollbar-msw.c:
8201         [4].
8202
8203         * sheap.c:
8204         * sheap.c (more_static_core):
8205         * sheap.c (report_sheap_usage):
8206         [5]. [6].
8207
8208         * signal.c:
8209         * signal.c (alarm_signal):
8210         [1]. [6].
8211
8212         * sound.c:
8213         [6].
8214
8215         * strftime.c:
8216         * strftime.c (zone_name):
8217         [1]. [5].
8218
8219         * symsinit.h (init_sunpro):
8220         [1].
8221
8222         * syscommctrl.h:
8223         commctrl.h not in Cygwin b20.1.
8224
8225         * sysdep.c:
8226         * sysdep.c (endif):
8227         * sysdep.c (sys_subshell):
8228         * sysdep.c (init_baud_rate):
8229         * sysdep.c (emacs_get_tty):
8230         * sysdep.c (emacs_set_tty):
8231         * sysdep.c (tty_init_sys_modes_on_device):
8232         * sysdep.c (init_system_name):
8233         * sysdep.c (sys_open):
8234         * sysdep.c (interruptible_open):
8235         * sysdep.c (sys_fopen):
8236         * sysdep.c (sys_mkdir):
8237         * sysdep.c (sys_rename):
8238         * sysdep.c (get_process_times_1):
8239         [1]. [6].
8240
8241         * sysdep.h:
8242         [1].
8243
8244         * sysdir.h:
8245         * sysdir.h (DIRENTRY_NONEMPTY):
8246         [1]. [6].
8247
8248         * sysdll.c (dll_init):
8249         * sysdll.h:
8250         [1].
8251
8252         * sysfile.h:
8253         [1]. [6]. [8].
8254         added text/binary defs.
8255
8256         * sysfloat.h:
8257         [1].
8258
8259         * sysproc.h:
8260         * sysproc.h (EDESTADDRREQ):
8261         * sysproc.h (poll_fds_for_input):
8262         [1]. [6].
8263
8264         * syspwd.h:
8265         [6].
8266
8267         * syssignal.h:
8268         [1].
8269
8270         * systime.h:
8271         [1]. [6].
8272
8273         * systty.h:
8274         [1].
8275
8276         * syswindows.h:
8277         [1].
8278         Always define WIN32_LEAN_AND_MEAN.
8279
8280         * unexcw.c (unexec):
8281         [5].
8282
8283         * unexec.c:
8284         * unexec.c (copy_text_and_data):
8285         * unexec.c (adjust_lnnoptrs):
8286         [1].
8287
8288         * unexnt.c:
8289         * unexnt.c (_start):
8290         [1].
8291
8292 2000-06-07  Ben Wing  <ben@xemacs.org>
8293
8294         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
8295         was used only as a model.  We've long since extracted any useful
8296         logic or code out of this. (I just did an exhaustive search.)
8297
8298         * s\msdos.h: Removed.
8299
8300         * s\windows95.h: Removed.
8301
8302 2000-06-10  Ben Wing  <ben@xemacs.org>
8303
8304         * s\cygwin32.h:
8305         [1]. [5].
8306         Don't use extern with fun defs.
8307
8308         * s\mingw32.h:
8309         [1]. [7].
8310         Remove nt\inc include.
8311         Remove getdisk, getdefdir. (The former is unused, the latter
8312         expanded in fileio.h.)
8313
8314         * s\windowsnt.h:
8315         * s\windowsnt.h (WIN32_NATIVE):
8316         * s\windowsnt.h (HAVE_STRCASECMP):
8317         [1]. [7].
8318         Add long comment about preprocessor changes.
8319         Remove getdisk, getdefdir. (The former is unused, the latter
8320         expanded in fileio.h.)
8321
8322 2000-06-10  Ben Wing  <ben@xemacs.org>
8323
8324         * m\arm.h:
8325         * m\delta.h:
8326         * m\intel386.h:
8327         * m\sequent.h:
8328         * m\template.h:
8329         * m\windowsnt.h:
8330         [1].
8331         Remove bogus/unused NO_SOCK_SIGIO.
8332
8333 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
8334
8335         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
8336         not an Emchar.
8337
8338 2000-06-04  Mike Sperber <mike@xemacs.org>
8339
8340         * casetab.c (set_case_table): For `set-standard-case-table',
8341         actually deposit the new case tables where the rest of XEmacs can
8342         see them.
8343
8344 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
8345
8346         * data.c (Faset): Don't cast XCHAR() to unsigned char.
8347
8348 2000-06-05  Ben Wing  <ben@xemacs.org>
8349
8350         * callproc.c (child_setup): Don't do close_load_descs() under
8351         MS Windows.  Put in a comment explaining why.
8352
8353 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
8354
8355         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
8356         Toolkit shell" which breaks `kill-compilation' on Windows NT
8357         native, retaining STDERR handling improvements.
8358
8359 2000-06-01  Andreas Jaeger  <aj@suse.de>
8360
8361         * s/s390.h: Support for S390, based on a patch by Martin
8362         Schwidefsky <schwidefsky@de.ibm.com>.
8363
8364 2000-05-30  Andy Piper  <andy@xemacs.org>
8365
8366         * window.c (allocate_window):
8367         (make_dummy_parent):
8368         (Fset_window_configuration): use new hashtable type.
8369
8370         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
8371         (struct image_instantiator_methods):
8372         (struct Lisp_Image_Instance): make instance geometry signed.
8373
8374         * glyphs.c (instantiate_image_instantiator):
8375         (image_instance_query_geometry):
8376         (image_instance_layout):
8377         (image_instance_layout):
8378         (query_string_geometry):
8379         (text_query_geometry):
8380         (image_instantiate):
8381         (image_instantiate):
8382         (cache_subwindow_instance_in_frame_maybe):
8383         (subwindow_query_geometry): make instance geometry signed.
8384
8385         * glyphs-widget.c (widget_query_geometry):
8386         (widget_layout):
8387         (button_query_geometry):
8388         (tree_view_query_geometry):
8389         (tab_control_query_geometry):
8390         (layout_query_geometry):
8391         (layout_layout):
8392         (native_layout_layout): make instance geometry signed.
8393
8394 2000-05-29  Olivier Galibert  <galibert@pobox.com>
8395
8396         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
8397         constant.
8398
8399         * general.c (syms_of_general): Add Qfull_assoc symbol.
8400
8401         * data.c (finish_marking_weak_lists): Mark full-assoc lists
8402         correctly.
8403         (decode_weak_list_type): Decode full-assoc type.
8404         (encode_weak_list_type): Encode full-assoc type.
8405         (Fmake_weak_list): Update doc string.
8406
8407 2000-05-30  Andy Piper  <andy@xemacs.org>
8408
8409         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
8410
8411         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
8412         (decode_hash_table_weakness): ditto.
8413         (Fhash_table_weakness): ditto.
8414         (Fhash_table_type): ditto.
8415         (finish_marking_weak_hash_tables): ditto.
8416         (hash_table_weakness_validate): ditto.
8417         (syms_of_elhash): ditto.
8418
8419 2000-05-28  Martin Buchholz <martin@xemacs.org>
8420
8421         * XEmacs 21.2.34 is released.
8422
8423 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8424
8425         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
8426         start cache.
8427         (updating_line_start_cache): Gone.
8428         (regenerate_window): Replace resetting of VERTICAL_CLIP by
8429         generic code to force a minimum of 1 line laid out in the
8430         CMOTION_DISP case.
8431
8432 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8433
8434         * glyphs.c (instantiate_image_instantiator): Check for initialized
8435         height & width no longer special cases IMAGE_NOTHING.
8436         (nothing_instantiate): Set height and width of instance.
8437
8438 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8439
8440         * unexelf.c (unexec): Search for ".data" section.
8441         Initialize new_data2_offset from old_data_index.
8442         Remove redundant check for ElfW.
8443
8444 2000-05-23  Andy Piper  <andy@xemacs.org>
8445
8446         * glyphs.c (get_image_instantiator_governing_domain): allow more
8447         specific domains as the governing domain rather than expecting an
8448         exact match. This fixes problems with layouts.
8449
8450 2000-05-22  Andy Piper  <andy@xemacs.org>
8451
8452         * redisplay-output.c (compare_runes): check for non-images
8453
8454         * glyphs.c (set_glyph_dirty_p): ditto.
8455         (update_glyph_cachel_data): ditto.
8456
8457         * glyphs-widget.c (layout_post_instantiate): ditto.
8458         (layout_post_instantiate): ditto.
8459
8460         * event-msw.c (mswindows_wnd_proc): warning removal.
8461
8462 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
8463
8464         * s\mingw32.h: Added #undef for CLASH_DETECTION.
8465
8466         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
8467
8468         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
8469
8470         * nt.c (rva_to_section): mingw32 needs rva_to_section.
8471         (mswindows_executable_type): mingw32 now has enough headers for
8472         this to work.
8473
8474 2000-05-20  Andy Piper  <andy@xemacs.org>
8475
8476         * console-msw.c (mswindows_output_last_error): ; -> ,
8477
8478 2000-05-12  Andy Piper  <andy@xemacs.org>
8479
8480         * console-msw.c (FROB): compare ints with ints.
8481
8482 2000-05-11  Andy Piper  <andy@xemacs.org>
8483
8484         * glyphs-x.c (x_finalize_image_instance): make minimal build
8485         happy.
8486
8487 2000-05-20  Ben Wing  <ben@xemacs.org>
8488
8489         * event-Xt.c:
8490         * event-Xt.c (vars_of_event_Xt):
8491         move modifier-keys-are-sticky to event-stream.c.
8492
8493         * event-msw.c:
8494         * event-msw.c (mswindows_enqueue_mouse_button_event):
8495         * event-msw.c (key_needs_default_processing_p):
8496         * event-msw.c (XEMSW_LCONTROL):
8497         * event-msw.c (mswindows_handle_sticky_modifiers):
8498         * event-msw.c (FROB):
8499         * event-msw.c (clear_sticky_modifiers):
8500         * event-msw.c (output_modifier_keyboard_state):
8501         * event-msw.c (output_alt_keyboard_state):
8502         * event-msw.c (mswindows_wnd_proc):
8503         * event-msw.c (mswindows_modifier_state):
8504         * event-msw.c (emacs_mswindows_handle_magic_event):
8505         implement sticky modifiers.
8506
8507         * event-stream.c:
8508         * event-stream.c (vars_of_event_stream):
8509         move modifier-keys-are-sticky here.
8510
8511         * lisp.h:
8512         add CHECK_FUNCTION.
8513
8514         * rangetab.c:
8515         implement map-range-table.
8516
8517
8518 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
8519
8520         * redisplay-tty.c (reset_tty_modes):
8521         (tty_redisplay_shutdown): Adjust argument type to
8522         tty_frame_output_end.
8523
8524 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8525
8526         * eval.c (Fbacktrace): Don't output a line with only right
8527         parenthesis.
8528
8529 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
8530
8531         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
8532         (Fpq_reset_poll): Ditto.
8533
8534 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
8535
8536         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
8537
8538 2000-05-16  Ben Wing  <ben@xemacs.org>
8539
8540         * buffer.c:
8541         * buffer.c (dfc_convert_to/from_internal_format):
8542         * buffer.c (reinit_vars_of_buffer):
8543         Fix conversion functions to allow reentrancy.
8544
8545         * console-msw.c:
8546         * console-msw.c (mswindows_output_last_error):
8547         New fun, generally useful -- output a human-readable
8548         version of GetLastError() on the console.
8549
8550         * console-msw.h:
8551         * console-msw.h (struct mswindows_frame):
8552         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
8553
8554         * console-stream.c (stream_output_begin):
8555         * console-stream.c (stream_output_end):
8556         * console-stream.c (stream_output_vertical_divider):
8557         * console-stream.c (stream_clear_region):
8558         * console-stream.c (stream_flash):
8559         * console-stream.c (console_type_create_stream):
8560         Delete blank stream methods, not needed.
8561
8562         * console.h (struct console_methods):
8563         Split begin/end methods into window and frame.
8564
8565         * event-msw.c:
8566         * event-msw.c (mswindows_handle_paint):
8567         * event-msw.c (output_alt_keyboard_state):
8568         * event-msw.c (mswindows_wnd_proc):
8569         * event-msw.c (vars_of_event_mswindows):
8570         Comment about problems with ignored-expose.
8571         Define mswindows-debug-events; not really implemented.
8572
8573         * frame-msw.c (mswindows_init_frame_1):
8574         random cleanups.
8575
8576         * glyphs-msw.c:
8577         * glyphs-msw.c (begin_defer_window_pos):
8578         * glyphs-msw.c (mswindows_unmap_subwindow):
8579         * glyphs-msw.c (mswindows_map_subwindow):
8580         * glyphs-msw.c (mswindows_resize_subwindow):
8581         Use DeferWindowPos to reduce flashing when mapping/unmapping.
8582
8583         * glyphs.c (make_image_instance_1):
8584         Fix crash.
8585
8586         * gutter.c (Fredisplay_gutter_area):
8587         Use new begin/end methods.
8588
8589         * lisp.h (Dynarr_new2):
8590         New creation fun.
8591
8592         * redisplay-msw.c:
8593         * redisplay-msw.c (mswindows_frame_output_begin):
8594         * redisplay-msw.c (mswindows_frame_output_end):
8595         * redisplay-msw.c (console_type_create_redisplay_mswindows):
8596         New begin/end methods -- handle DeferWindowPos.
8597
8598         * redisplay-output.c (redisplay_move_cursor):
8599         * redisplay-output.c (redraw_cursor_in_window):
8600         * redisplay-output.c (redisplay_update_line):
8601         * redisplay-output.c (redisplay_output_window):
8602         New begin/end methods.
8603
8604         * redisplay-tty.c:
8605         * redisplay-tty.c (tty_frame_output_begin):
8606         * redisplay-tty.c (tty_frame_output_end):
8607         * redisplay-tty.c (console_type_create_redisplay_tty):
8608         New begin/end methods.
8609
8610         * redisplay-x.c:
8611         * redisplay-x.c (x_window_output_begin):
8612         * redisplay-x.c (x_window_output_end):
8613         * redisplay-x.c (console_type_create_redisplay_x):
8614         New begin/end methods.
8615
8616         * redisplay.c (redisplay_frame):
8617         * redisplay.c (Fredisplay_echo_area):
8618         New begin/end methods.
8619         use MAYBE_DEVMETH for clear_frame; it may not exist.
8620
8621         * window.h (WINDOW_XFRAME):
8622         WINDOW_XFOO macros -- get locale and decode struct pointer.
8623
8624
8625 2000-05-12  Ben Wing  <ben@xemacs.org>
8626
8627         * emacs.c:
8628         * emacs.c (ensure_no_quitting_from_now_on):
8629         * emacs.c (fatal_error_signal):
8630         * emacs.c (mswindows_handle_hardware_exceptions):
8631         * emacs.c (main):
8632         * emacs.c (Fkill_emacs):
8633         * emacs.c (shut_down_emacs):
8634         * emacs.c (assert_failed):
8635         various improvements in fatal error handling.
8636
8637         * eval.c:
8638         move preparing_for_armageddon to emacs.c.
8639
8640         * lisp.h:
8641         declare fatal_error_in_progress.
8642
8643         * print.c:
8644         * print.c (std_handle_out_external):
8645         * print.c (std_handle_out_va):
8646         * print.c (stderr_out):
8647         * print.c (stdout_out):
8648         use console under mswin when no standard output.
8649         don't do code conversion during fatal error.
8650
8651         * scrollbar.c (Fscrollbar_page_up):
8652         * scrollbar.c (Fscrollbar_page_down):
8653         fix missing else.  reindent.
8654
8655 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
8656
8657         Emergency fix.
8658
8659         * glyphs.h (GLYPH_CACHEL_DESCENT):
8660         (GLYPH_CACHEL_DESCENT):
8661         (GLYPH_CACHEL_DESCENT):
8662         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
8663         used in case these are inline functions.
8664         Use more absurd values to error check.
8665
8666         include window.h for error check functions.
8667
8668 2000-05-11  Ben Wing  <ben@xemacs.org>
8669
8670         * cmdloop.c (Freally_early_error_handler):
8671         Display message box under windows; otherwise, message will disappear
8672         before it can be viewed.
8673
8674         * console-msw.c:
8675         * console-msw.c (Fmswindows_message_box):
8676         * console-msw.c (FROB):
8677         * console-msw.c (syms_of_console_mswindows):
8678         Define new fun `mswindows-message-box'.
8679         #### I will merge this into `popup-dialog-box'; just give me
8680         a bit of time.
8681
8682         * general.c:
8683         * general.c (syms_of_general):
8684         Some new symbols used in `mswindows-message-box'.
8685
8686         * glyphs.c:
8687         * glyphs.c (Fset_image_instance_property):
8688         put warning in this fun.
8689
8690         * glyphs.h:
8691         * glyphs.h (GLYPH_CACHEL_WIDTH):
8692         * glyphs.h (GLYPH_CACHEL_ASCENT):
8693         * glyphs.h (GLYPH_CACHEL):
8694         * glyphs.h (GLYPH_CACHEL_GLYPH):
8695         define error-checking versions to try to catch a bug i've seen --
8696         redisplay gets in an infinite loop because the glyph width of the
8697         continuation glyph is 65535.
8698
8699         * lisp.h:
8700         Extern message-box stuff.
8701
8702         * window.c (allocate_window):
8703         * window.c (make_dummy_parent):
8704         * window.c (Fset_window_configuration):
8705         Use EQUAL not EQ for subwindow caches to make them work a bit
8706         better. (Something is still very broken.)
8707
8708
8709 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8710
8711         * glyphs.c (image_instantiate): Suppress gcc warnings.
8712         (Fmake_image_instance): Fix doc string.
8713         * specifier.c (Fmake_specifier): Ditto.
8714
8715 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
8716
8717         * paths.h.in (PATH_LOCK): Removed.
8718         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
8719         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
8720
8721 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8722
8723         * fns.c (Ffeaturep): Update e-mail address in doc-string.
8724         Document (featurep '(and xemacs 21.02)).
8725
8726 2000-05-09  Ben Wing  <ben@xemacs.org>
8727
8728         * buffer.c (complex_vars_of_buffer):
8729         update modeline-format doc.
8730
8731         * device.h:
8732         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
8733
8734         * emacs.c:
8735         timeline of all released versions of Emacs, for use in creating
8736         authorship comments and in synching up.
8737
8738         * glyphs-widget.c (image_instantiator_buttons):
8739         * glyphs-widget.c (image_instantiator_edit_fields):
8740         * glyphs-widget.c (image_instantiator_combo_box):
8741         * glyphs-widget.c (image_instantiator_scrollbar):
8742         * glyphs-widget.c (image_instantiator_progress_guage):
8743         * glyphs-widget.c (image_instantiator_tree_view):
8744         * glyphs-widget.c (image_instantiator_tab_control):
8745         * glyphs-widget.c (image_instantiator_labels):
8746         * glyphs-widget.c (image_instantiator_layout):
8747         * glyphs-widget.c (image_instantiator_native_layout):
8748         rename decode_domain method to governing_domain.
8749
8750         * glyphs.c:
8751         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
8752         * glyphs.c (add_entry_to_device_ii_format_list):
8753         make sure we don't put an entry more than once into the list.
8754         * glyphs.c (check_instance_cache_mapper):
8755         *************************************************************
8756         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8757         HAVE BEEN GETTING.
8758         *************************************************************
8759         * glyphs.c (get_image_instantiator_governing_domain):
8760         clean up, expand on new concept of governing domain.
8761         * glyphs.c (instantiate_image_instantiator):
8762         * glyphs.c (allocate_image_instance):
8763         use governing_domain instead of cache_domain in naming.
8764         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
8765         * glyphs.c (make_image_instance_1):
8766         * glyphs.c (Fmake_image_instance):
8767         allow for any domain (not just device), and process the
8768         governing domain correctly.  very big doc fix.
8769         * glyphs.c (Fimage_instance_domain):
8770         new primitive, to retrieve the governing domain of an image instance.
8771         * glyphs.c (image_instantiate):
8772         use new governing_domain stuff.  this fixes a crash you could get
8773         by instantiating certain widget glyphs in frame locales. (should
8774         signal an error instead of crashing.)
8775         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
8776         * glyphs.c (Fglyphp): clean up doc.
8777         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
8778         * glyphs.c (syms_of_glyphs):
8779         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
8780         * glyphs.c (image_instantiator_format_create): add some comments about
8781         bogus code.
8782         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
8783         for current-display-table. (Apparently Hrjove implemented in 1998 a
8784         design I wrote up in 1996, but didn't update the doc string.)
8785
8786         * glyphs.h: clean up a doc string.
8787         * glyphs.h (governing_domain):
8788         * glyphs.h (struct image_instantiator_methods):
8789         changes for governing_domain stuff.
8790
8791         * gutter.c:
8792         * gutter.c (Fgutter_specifier_p):
8793         * gutter.c (Fgutter_size_specifier_p):
8794         * gutter.c (Fgutter_visible_specifier_p):
8795         * objects.c:
8796         * objects.c (Fcolor_specifier_p):
8797         * objects.c (Ffont_specifier_p):
8798         * objects.c (Fface_boolean_specifier_p):
8799         doc strings moved to make-*-specifier.
8800
8801         * redisplay.c (add_disp_table_entry_runes_1):
8802         * redisplay.c (generate_fstring_runes):
8803         * redisplay.c (screen):
8804         add random comments and doc strings.
8805
8806         * specifier.c:
8807         * specifier.c (Fmake_specifier):
8808         major overhaul of this doc string.
8809
8810         * specifier.c (Fvalid_specifier_domain_p):
8811         comment about the bogosity of image instances being domains.
8812         * specifier.c (decode_domain):
8813         now non-static, used in glyphs.c.
8814         * specifier.c (specifier_instance):
8815         comment about the bogosity of image instances being domains.
8816         * specifier.c (Fgeneric_specifier_p):
8817         move doc string to make-generic-specifier.
8818         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
8819         rebackslashify.
8820
8821         * specifier.h:
8822         * specifier.h (DOMAIN_FRAME):
8823         * specifier.h (DOMAIN_LIVE_P):
8824         * specifier.h (DOMAIN_XDEVICE):
8825         rebackslashify.
8826         add comments about problems with these macros.
8827         prototype for decode_domain.
8828
8829         * toolbar.c:
8830         * toolbar.c (Ftoolbar_specifier_p):
8831         move doc string to `make-toolbar-specifier'.
8832
8833         * window.c (window_unmap_subwindows_cache_mapper):
8834         *************************************************************
8835         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8836         HAVE BEEN GETTING.
8837         *************************************************************
8838
8839 2000-05-09  Andy Piper  <andy@xemacs.org>
8840
8841         * glyphs.h: declare reset_frame_subwindow_instance_cache.
8842
8843         * window.c (Fset_window_configuration): reset the frame subwindow
8844         cache and re-initialize the window subwindow caches.
8845
8846         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
8847
8848 2000-05-09  Ben Wing  <ben@xemacs.org>
8849
8850         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
8851         DWORD.
8852
8853 2000-04-26  Mike Woolley  <mike@bulsara.com>
8854
8855         * ntheap.c: Changed recreate_heap to limit the amount reserved
8856         for the heap to that which is actually available. Also now
8857         displays a message box (with some dignostics) in the event that
8858         it still can't start.
8859
8860 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
8861
8862         * callproc.c (Fold_call_process_internal): GCPRO path
8863
8864 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
8865
8866         Patch by Bill Perry.
8867
8868         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
8869         back data instead of #ifdef.
8870         (Fscrollbar_page_down): ditto.
8871
8872 2000-05-07  Ben Wing  <ben@xemacs.org>
8873
8874         * buffer.h:
8875         Kludge for defining Qmswindows_tstr.
8876
8877         * nt.c:
8878         * nt.c (open_input_file):
8879         * nt.c (open_output_file):
8880         * nt.c (rva_to_section):
8881         * nt.c (mswindows_executable_type):
8882         Move all memory-mapped-file routines here (some were in unexnt.c,
8883         which is bad because they are used by process-nt.c, and unexnt
8884         won't be around when portable dumping).  Synched the above routines
8885         with FSF 20.6.
8886
8887         * nt.h:
8888         Removed ifdef'd out bogus code.
8889         Fixed some prototypes.
8890
8891         * nt.h (file_data):
8892         * nt.h (OFFSET_TO_RVA):
8893         * nt.h (RVA_TO_OFFSET):
8894         * nt.h (RVA_TO_PTR):
8895         Moved the memory-mapped-file structures, macros and prototypes
8896         here, to parallel nt.c.  ntheap.h should really be removed
8897         entirely, and it's a non-portable-dumper specific file.
8898
8899         * ntheap.h (round_to_next):
8900         Moved the memory-mapped-file structures, macros and prototypes
8901         to nt.h.
8902
8903         * ntproc.c (compare_env):
8904         Moved rva_to_section and mswindows_executable_type to nt.c.
8905         Moved compare_env to process-nt.c.
8906         ntproc.c will die, one day.
8907
8908         * ntproc.c (sys_spawnve):
8909         Account for win32_ -> mswindows_.
8910
8911         * process-nt.c:
8912         * process-nt.c (struct nt_process_data):
8913         * process-nt.c (ensure_console_window_exists):
8914         * process-nt.c (compare_env):
8915         * process-nt.c (nt_create_process):
8916         * process-nt.c (nt_kill_process_by_pid):
8917         * process-nt.c (syms_of_process_nt):
8918         * process-nt.c (vars_of_process_nt):
8919         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
8920         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
8921         changes).  Eliminate our old `nt-quote-process-args' mechanism.
8922         Synch up nt_create_process with FSF 20.6 sys_spawnve.
8923         Move compare_env here from ntproc.c.
8924
8925         * process.c (Fprocess_send_region):
8926         Takes an optional fourth argument, BUFFER, which should fix some
8927         problems with call-process.
8928
8929         * syscommctrl.h:
8930         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
8931
8932         * syswindows.h:
8933         Move ICC_BAR_CLASSES to syscommctrl.h.
8934         Add preliminary macros for MSWindows/Mule.  More to come.
8935
8936         * unexnt.c:
8937         * unexnt.c (unexec):
8938         open_output_file moved to nt.c.
8939
8940
8941 2000-05-05  Andy Piper  <andy@xemacs.org>
8942
8943         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
8944         instance from the frame cache also since GC may catch up too late
8945         to make frame deletion sane.
8946
8947 2000-05-04  Andy Piper  <andy@xemacs.org>
8948
8949         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
8950         (x_finalize_image_instance): ungcpro on deletion.
8951
8952         * glyphs.c (image_instantiator_format_create): give pointers a
8953         query geometry method so that the geometry is at least set.
8954
8955         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
8956         initialize layouts if using widgets.
8957
8958 2000-05-03  Andy Piper  <andy@xemacs.org>
8959
8960         * nt.c: remove bogus reference to sysmmsystem.h
8961
8962         * gui-x.c (popup_selection_callback): fix no selection abort.
8963
8964 2000-05-02  Andy Piper  <andy@xemacs.org>
8965
8966         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
8967         (mswindows_widget_instantiate): ditto.
8968
8969         * glyphs-widget.c (initialize_widget_image_instance): initialize
8970         children correctly.
8971         (widget_instantiate): cope with children and items in the same
8972         instance.
8973
8974         * glyphs.c (mark_image_instance): cope with children as a first
8975         class member.
8976         (image_instance_equal): ditto.
8977         (image_instance_hash): ditto.
8978         (image_instance_changed): ditto.
8979
8980 2000-04-30  Andy Piper  <andy@xemacs.org>
8981
8982         * glyphs.c (subwindow_query_geometry): new function. Return some
8983         defaults.
8984         (subwindow_instantiate): don't assign dimensions if none have been
8985         given.
8986         (image_instantiator_format_create): add subwindow_query_geometry.
8987         (print_image_instance): cope with layouts as widgets.
8988
8989 2000-04-29  Andy Piper  <andy@xemacs.org>
8990
8991         * frame.c (delete_frame_internal): call
8992         free_frame_subwindow_instance_cache so that all subwindows are
8993         finalized before their parent.
8994         (mark_frame): remove subwindow_cachels.
8995         (Fmake_frame): remove subwindow_cachel manipulation.
8996         (allocate_frame_core): subwindow_instance_cache is a weak list.
8997         (delete_frame_internal): set subwindow_instance_cache to nil.
8998
8999         * glyphs-msw.c (mswindows_finalize_image_instance): make double
9000         finalization safe.
9001         (mswindows_finalize_image_instance): use the device
9002         not the domain as the domain may have died already.
9003
9004         * glyphs-x.c (x_finalize_image_instance): ditto.
9005         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
9006         HEIGHT.
9007
9008         * redisplay-output.c (redisplay_unmap_subwindows): update for
9009         subwindow instance cache as a weak list.
9010         (redisplay_unmap_subwindows_maybe): ditto.
9011         (redisplay_unmap_subwindows_except_us): ditto.
9012
9013         * glyphs.c (unmap_subwindow): error checking will check the domain
9014         so don't deal with it here. Don't use cachels anymore.
9015         (map_subwindow): ditto.
9016         (update_subwindow_cachel_data): remove old accessor names.
9017         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
9018         (Fresize_subwindow): don't update cachel.
9019         (mark_subwindow_cachels):
9020         (update_subwindow_cachel_data):
9021         (add_subwindow_cachel):
9022         (get_subwindow_cachel_index):
9023         (update_subwindow_cachel):
9024         (reset_subwindow_cachels):
9025         (mark_subwindow_cachels_as_not_updated): deleted.
9026         (cache_subwindow_instance_in_frame_maybe): new function. Add a
9027         subwindow instance to the frame cache.
9028         (find_matching_subwindow): update for subwindow instance cache as
9029         a weak list.
9030         (update_widget_instances): ditto.
9031         (image_instance_type_to_mask):inlined.
9032         (free_frame_subwindow_instance_cache): new function. finalize all
9033         subwindows that are instantiated.
9034
9035         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
9036         of cachel information.
9037         (IMAGE_INSTANCE_DISPLAY_X):
9038         (IMAGE_INSTANCE_DISPLAY_Y):
9039         (IMAGE_INSTANCE_DISPLAY_WIDTH):
9040         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
9041         (XIMAGE_INSTANCE_DISPLAY_X):
9042         (XIMAGE_INSTANCE_DISPLAY_Y):
9043         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
9044         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
9045         remove subwindow_cachel structure and function references.
9046         (image_instance_type_to_mask): inline from glyphs.c
9047
9048         * redisplay.c (redisplay_frame): remove subwindow_cachel
9049         references.
9050
9051         * frame.h (struct frame): remove subwindow_cachels.
9052         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
9053
9054         * frameslots.h: add subwindow_instance_cache.
9055
9056         * window.c (replace_window): check subwindow cache of replacement.
9057         (window_unmap_subwindows_cache_mapper):
9058         (window_unmap_subwindows): new functions. Unmap all subwindows
9059         cached on this window.
9060         (mark_window_as_deleted): unmap all subwindows.
9061
9062 2000-04-27  Andy Piper  <andy@xemacs.org>
9063
9064         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
9065
9066         * glyphs-widget.c (widget_layout): return something.
9067         (layout_layout): return something. Fail if not initialized.
9068         (layout_query_geometry): ditto.
9069         (image_instantiator_native_layout): new function. Initialized the
9070         native layout type.
9071         (widget_instantiate): don't do layout stuff here.
9072
9073         * glyphs.c (instantiate_image_instantiator): reorded calling or
9074         instantiate and post_instantiate with layout in between.
9075         (image_instance_layout): be more selective about deciding whether
9076         the layout has been done or not.
9077
9078         * glyphs.h (struct image_instantiator_methods): return a value
9079         from layout_method.
9080
9081 2000-04-26  Andy Piper  <andy@xemacs.org>
9082
9083         * glyphs.c (allocate_image_instance): make initial width and
9084         height unspecified. Set initialized to 0.
9085
9086         * syscommctrl.h new file. Encapsulates commctrl.h.
9087
9088         * syswindows.h new file. Encapsulates windows.h.
9089
9090         * ntplay.c: use new syswindows.h and syscommctrl.h header.
9091         * nt.c: ditto.
9092         * console-msw.h: ditto.
9093
9094         * redisplay-tty.c (tty_output_display_block): remove layout references.
9095
9096         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
9097         window handle rather than just the frame.
9098
9099         * glyphs.c (mark_image_instance): remove layout references.
9100         (print_image_instance): ditto.
9101         (image_instance_equal): ditto.
9102         (image_instance_hash): ditto.
9103         (decode_image_instance_type): ditto.
9104         (encode_image_instance_type): ditto.
9105         (image_instantiate): ditto.
9106         (allocate_glyph): ditto.
9107         (Fimage_instance_height): ditto.
9108         (Fimage_instance_width): ditto.
9109         (update_subwindow): ditto.
9110
9111         * redisplay-x.c (x_output_display_block): recode for layouts as
9112         widgets.
9113
9114         * redisplay-output.c (redisplay_output_layout): recode for layouts
9115         as widgets.
9116         (compare_runes): remove layout references.
9117
9118         * redisplay-msw.c (mswindows_output_display_block): recode for
9119         layouts as widgets.
9120
9121         * glyphs-widget.c (image_instantiator_layout): remove
9122         layout_possible_dest_types.
9123         (layout_possible_dest_types): deleted.
9124
9125         * glyphs.h (image_instance_type): remove layout references.
9126         (struct Lisp_Image_Instance): ditto. Add initialized flag.
9127         (IMAGE_INSTANCE_INITIALIZED): new accessor.
9128         (XIMAGE_INSTANCE_INITIALIZED): ditto.
9129
9130 2000-04-25  Andy Piper  <andy@xemacs.org>
9131
9132         * glyphs-widget.c (image_instantiator_buttons):
9133         (image_instantiator_edit_fields):
9134         (image_instantiator_combo_box):
9135         (image_instantiator_scrollbar):
9136         (image_instantiator_progress_guage):
9137         (image_instantiator_tree_view):
9138         (image_instantiator_tab_control):
9139         (image_instantiator_labels):
9140         (image_instantiator_layout): call default post_instantiate method.
9141         (widget_post_instantiate): new function. Simply lays out the
9142         widgets.
9143
9144         * glyphs.h (struct image_instantiator_methods): add
9145         post_instantiate method.
9146
9147         * glyphs.c (instantiate_image_instantiator): add post_instantiate
9148         method calls.
9149
9150 2000-04-23  Andy Piper  <andy@xemacs.org>
9151
9152         * glyphs.h (struct image_instantiator_methods): add
9153         decode_domain_method.
9154         (struct Lisp_Image_Instance): remove subwindow frame - it can be
9155         derived from the domain.
9156         (IMAGE_INSTANCE_FRAME): new accessor.
9157         (XIMAGE_INSTANCE_FRAME): ditto.
9158
9159         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
9160         instead of _SUBWINDOW_FRAME.
9161         (finalize_image_instance): ditto.
9162         (Fimage_instance_foreground): ditto.
9163         (Fimage_instance_background): ditto.
9164         (image_instantiate): ditto.
9165         (update_subwindow_cachel): ditto.
9166         (update_subwindow): ditto.
9167         (unmap_subwindow): ditto.
9168         (map_subwindow): ditto
9169         (subwindow_instantiate): ditto.
9170         * glyphs-msw.c (mswindows_update_widget): ditto.
9171         (mswindows_progress_gauge_instantiate): ditto.
9172         (mswindows_tab_control_update): ditto.
9173         * glyphs-x.c (x_update_widget): ditto.
9174         (x_widget_instantiate): ditto.
9175         (x_tab_control_instantiate): ditto.
9176         (x_tab_control_update): ditto.
9177         * event-msw.c (mswindows_wnd_proc): ditto
9178
9179         * glyphs-widget.c (image_instantiator_layout): use
9180         subwindow_decode_domain.
9181         (image_instantiator_buttons): ditto.
9182         (image_instantiator_edit_fields): ditto.
9183         (image_instantiator_combo_box): ditto.
9184         (image_instantiator_scrollbar): ditto.
9185         (image_instantiator_progress_guage): ditto.
9186         (image_instantiator_tree_view): ditto.
9187         (image_instantiator_tab_control): ditto.
9188         (image_instantiator_labels): ditto.
9189         (image_instantiator_layout): ditto.
9190
9191         * glyphs.c: add instance error checking to many functions.
9192         (instantiate_image_instantiator): decode device from cache_domain.
9193         (image_instantiate): partially rewrite by using
9194         decode_image_instantiator_domain to determine what domain the
9195         instance needs to be cached in.
9196         (decode_image_instantiator_domain): new function. Determine what
9197         domain the image needs to be cached in.
9198         (check_window_subwindow_cache): new error checking function.
9199         (check_instance_cache_mapper): ditto.
9200         (check_image_instance_structure): ditto.
9201         (subwindow_decode_domain): new function. Encodes a window as a
9202         subwindow's cache domain.
9203         (image_instantiator_format_create): use it for text and
9204         subwindows.
9205
9206 2000-04-21  Andy Piper  <andy@xemacs.org>
9207
9208         * glyphs.c (image_instance_device): new function.
9209         (image_instance_frame): new function.
9210         (image_instance_window): new function.
9211         (image_instance_live_p): new function.
9212
9213         * window.c (mark_window_as_deleted): reset the subwindow_instance_
9214         cache to nil.
9215
9216         * glyphs.h (struct Lisp_Image_Instance): device->domain.
9217         (IMAGE_INSTANCE_DOMAIN): new accessor.
9218         (XIMAGE_INSTANCE_DOMAIN): ditto.
9219
9220         * glyphs-x.c (x_finalize_image_instance): device->domain.
9221
9222         * glyphs-msw.c (init_image_instance_geometry): device->domain.
9223         (mswindows_finalize_image_instance): ditto.
9224
9225         * glyphs-eimage.c (jpeg_instantiate): device->domain.
9226         (gif_instantiate): ditto.
9227         (png_instantiate): ditto.
9228         (tiff_instantiate): ditto.
9229
9230         * glyphs.c (instantiate_image_instantiator): use domain rather
9231         than device.
9232         (mark_image_instance): device -> domain.
9233         (print_image_instance): ditto.
9234         (finalize_image_instance): ditto.
9235         (image_instance_equal): ditto.
9236         (allocate_image_instance): ditto.
9237         (Fcolorize_image_instance): ditto.
9238         (query_string_geometry): ditto.
9239         (image_instantiate): ditto
9240         (query_string_font): ditto.
9241         (image_instantiate): ditto.
9242         (update_subwindow): ditto.
9243         (unmap_subwindow): ditto.
9244         (map_subwindow): ditto.
9245         (subwindow_instantiate): ditto.
9246
9247         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
9248         (DOMAIN_FRAME): ditto.
9249         (DOMAIN_WINDOW): ditto.
9250         (DOMAIN_LIVE_P): ditto.
9251         (XDOMAIN_DEVICE): ditto.
9252         (XDOMAIN_FRAME): ditto.
9253         (XDOMAIN_WINDOW): ditto.
9254
9255         * specifier.c (Fvalid_specifier_domain_p): add image instances as
9256         a valid specifier domain.
9257
9258 2000-04-19  Andy Piper  <andy@xemacs.org>
9259
9260         * glyphs-widget.c (syms_of_glyphs_widget): remove
9261         widget-callback-current-channel.
9262         (vars_of_glyphs_widget): ditto.
9263         * glyphs.h: ditto
9264
9265         * gui.c (get_gui_callback): revert to previous behaviour.
9266
9267 2000-04-18  Andy Piper  <andy@xemacs.org>
9268
9269         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
9270         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
9271         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
9272
9273         * glyphs.c (image_instance_equal): add margin_width.
9274         (image_instance_hash): ditto.
9275
9276         * glyphs-widget.c (widget_instantiate): deal with margin-width.
9277         (layout_query_geometry): ditto.
9278         (layout_layout): ditto.
9279         (syms_of_glyphs_widget): add margin-width.
9280         (image_instantiator_layout): allow margin-width.
9281
9282         * glyphs.c (update_widget_instances): make a normal function.
9283         (syms_of_glyphs): remove Qupdate_widget_instances.
9284         * glyphs.h: ditto.
9285
9286         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
9287         so that we don't corrupt ideas about the last event or
9288         command. Remove widget-callback-current-channel fiddling.
9289         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9290
9291 2000-05-01  Martin Buchholz <martin@xemacs.org>
9292
9293         * XEmacs 21.2.33 is released.
9294
9295 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
9296
9297         * make-src-depend: Allow dots in header file name.
9298
9299 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
9300
9301         * mule-charset.h (struct charset_lookup): Add
9302         next_allocated_1_byte_leading_byte and
9303         next_allocated_2_byte_leading_byte.
9304         * mule-charset.c: Move above two variables so that those values
9305         will be dumped.
9306
9307 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
9308
9309         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
9310         when string length is zero.
9311         (find_charsets_in_emchar_string): Ditto.
9312
9313 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
9314
9315         * lisp.h: extern Qdialog and Qmenubar.
9316
9317         * gui-x.c: added events.h.
9318                 also fixed typo which made the file uncompilable.
9319
9320         * general.c: Added Qmenubar and Qdialog
9321
9322 2000-04-28  Ben Wing  <ben@xemacs.org>
9323
9324         * frame-msw.c (mswindows_init_frame_1):
9325         * frame-msw.c (mswindows_mark_frame):
9326         * event-msw.c (mswindows_enqueue_dispatch_event):
9327         * console-msw.h:
9328         * console-msw.h (struct mswindows_frame):
9329         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
9330         there are now three hash tables for callbacks.
9331         mswindows_enqueue_dispatch_event is no longer static.
9332
9333         * dialog-x.c (maybe_run_dbox_text_callback):
9334         * dialog-x.c (dbox_descriptor_to_widget_value):
9335         switch to new cons3 form for callbacks.
9336
9337         * glyphs-msw.c (mswindows_register_gui_item):
9338         * glyphs-msw.c (mswindows_widget_instantiate):
9339         * glyphs-msw.c (add_tree_item):
9340         * glyphs-msw.c (add_tab_item):
9341         new image instance parameter, so it can be passed to callback-ex.
9342         respect :callback-ex as well as :callback.
9343
9344         * glyphs-widget.c (VALID_GUI_KEYWORDS):
9345         add :callback-ex.
9346
9347         * glyphs.c (print_image_instance):
9348         prettify, e.g. now prints widget type.
9349
9350         * gui-x.h:
9351         certain funs have new image instance parameter.
9352
9353         * gui.c:
9354         * gui.c (get_gui_callback):
9355         * gui.c (gui_item_add_keyval_pair):
9356         * gui.c (gui_item_init):
9357         * gui.c (gui_add_item_keywords_to_plist):
9358         * gui.c (mark_gui_item):
9359         * gui.c (gui_item_hash):
9360         * gui.c (gui_item_equal):
9361         * gui.c (copy_gui_item):
9362         * gui.c (syms_of_gui):
9363         recognize callback-ex in a number of places.
9364         also, fix the annoying "can't get out of yes-no dialog" bug.
9365
9366         * gui.h:
9367         * gui.h (struct Lisp_Gui_Item):
9368         recognize callback-ex in a number of places.
9369
9370         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9371         new parameter in button_item_to_widget_value.
9372
9373         * glyphs-x.c (x_update_widget):
9374         * glyphs-x.c (x_button_instantiate):
9375         * glyphs-x.c (x_button_update):
9376         * glyphs-x.c (x_progress_gauge_instantiate):
9377         * glyphs-x.c (x_edit_field_instantiate):
9378         * glyphs-x.c (x_combo_box_instantiate):
9379         * glyphs-x.c (x_tab_control_instantiate):
9380         * glyphs-x.c (x_label_instantiate):
9381         new image instance parameter in various places.
9382
9383         * event-Xt.c:
9384         * event-Xt.c (enqueue_Xt_dispatch_event):
9385         this fun gets exported.
9386
9387         * gui-msw.c:
9388         * gui-msw.c (mswindows_handle_gui_wm_command):
9389         handle both :callback and :callback-ex, and generate our own
9390         event because it's one of the callback-ex arguments.
9391
9392         * gui-x.c:
9393         * gui-x.c (popup_selection_callback):
9394         handle both :callback and :callback-ex, and generate our own
9395         event because it's one of the callback-ex arguments.
9396         * gui-x.c (button_item_to_widget_value):
9397         * gui-x.c (gui_items_to_widget_values_1):
9398         * gui-x.c (gui_item_children_to_widget_values):
9399         * gui-x.c (gui_items_to_widget_values):
9400         new image instance parameter in various places.
9401
9402         * fns.c (Freplace_list):
9403         fix small typo in doc string.
9404
9405         * lisp.h:
9406         declare enqueue_Xt_dispatch_event.
9407
9408 2000-04-28  Ben Wing  <ben@xemacs.org>
9409
9410         * buffer.c:
9411         * buffer.c (Frecord_buffer):
9412         * buffer.c (syms_of_buffer):
9413         delete record-buffer-hook.
9414
9415         * fns.c:
9416         * fns.c (Freplace_list):
9417         * fns.c (syms_of_fns):
9418         new primitive replace-list.
9419
9420         * frameslots.h:
9421         slot for old buffer-alist.
9422
9423         * lisp.h:
9424         exfun replace-list.
9425
9426         * redisplay.c:
9427         * redisplay.c (redisplay_frame):
9428         * redisplay.c (syms_of_redisplay):
9429         * redisplay.c (vars_of_redisplay):
9430         new hook buffer-list-changed-hook.
9431         call it.
9432
9433 2000-04-27  Ben Wing  <ben@xemacs.org>
9434
9435         * extents.h: extern in_modeline_generation.
9436
9437         * redisplay.c (generate_formatted_string_db): set
9438         in_modeline_generation.
9439
9440         * extents.c (extent_changed_for_redisplay): don't mark redisplay
9441         flags if in modeline generation.  otherwise frame-modified-tick
9442         is ticked far too often.
9443         Declare in_modeline_generation.
9444
9445 2000-04-26  Ben Wing  <ben@xemacs.org>
9446
9447         * emacs.c (vars_of_emacs): document quick-build "error-checking"
9448         option.
9449         (vars_of_emacs): add quick-build as an error-checking option.
9450         A bit kludgy, but there doesn't seem much point in creating
9451         a real var for this.
9452
9453         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
9454
9455 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9456
9457         * redisplay.h (struct display_line): Add a new variable,
9458         line_continuation.
9459
9460         * redisplay.c (create_text_block): Set dl->line_continuation if
9461         the line continues.
9462         (create_string_text_block): Ditto.
9463         (regenerate_window_incrementally): Use line_continuation instead
9464         of searching continuation glyph.
9465         (add_margin_runes): Call add_glyph_rune.
9466         (add_glyph_rune): Handle margin glyph.
9467
9468 2000-04-20  Martin Buchholz  <martin@xemacs.org>
9469
9470         * filelock.c (fill_in_lock_file_name):
9471         ANSIfy.
9472         Check for IS_ANY_SEP instead of '/'.
9473         (lock_file_1):
9474         Avoid generating gratuitous garbage.  Call user_login_name() directly.
9475         Never check errno without first seeing that system call failed.
9476         (unlock_file): Add GCPRO.
9477         (Flock_buffer): Fix docstring.
9478         (Ffile_locked_p): Fix docstring.  Add GCPRO.
9479
9480 2000-04-19  Martin Buchholz  <martin@xemacs.org>
9481
9482         * sysdep.c (get_pty_max_bytes):
9483         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
9484         strings longer than 252 bytes.
9485
9486         * md5.c: Unconditionally include ANSI header <limits.h>
9487
9488         * glyphs-x.c (convert_EImage_to_XImage):
9489         * lisp-union.h (union Lisp_Object):
9490         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
9491
9492 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9493
9494         * filelock.c (current_lock_owner): Remove unused variable o, p.
9495
9496 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
9497
9498         * callint.c: Remove multiply defined symbol Qlet
9499         (syms_of_callint): ditto.
9500
9501 2000-04-14  Andy Piper  <andy@xemacs.org>
9502
9503         * general.c (syms_of_general): add last-command, this-command, let
9504         and funcall.
9505
9506         * lisp.h: declare various symbols.
9507
9508         * glyphs.h: declare Qwidget_callback_current_channel;
9509
9510         * glyphs-widget.c (syms_of_glyphs_widget): add
9511         Qgui_callback_current_channel.
9512         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
9513
9514         * gui-msw.c (mswindows_handle_gui_wm_command): bind
9515         widget-callback-current-channel when invoking the interactive
9516         arg. Also bind last-command and next-command when invoking the
9517         widget updates.
9518         * gui-x.c (popup_selection_callback): ditto.
9519
9520         * gui.c (get_gui_callback): massage args so that we are always
9521         calling eval. This allows us to add our own variable bindings
9522         outside.
9523
9524         * glyphs-x.c (x_button_instantiate): use
9525         gui_items_to_widget_values since this is GC safe.
9526         (x_progress_gauge_instantiate): ditto.
9527         (x_edit_field_instantiate): ditto.
9528         (x_label_instantiate): ditto.
9529
9530         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
9531         (emacs_Xt_event_widget_focus_out): new function
9532         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
9533         focus.
9534         (emacs_Xt_event_add_widget_actions): new function. add focus
9535         functions as actions.
9536         (init_event_Xt_late): use it.
9537
9538 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
9539
9540         * event-stream.c (Fdispatch_event): Doc fix.
9541
9542 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
9543
9544         * postgresql.c: Remove all references to PQsetenv*.
9545
9546         * postgresql.h: Remove references to PGsetenvHandler object.
9547         * lrecord.h (lrecord_type): Ditto.
9548
9549 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9550
9551         * glyphs-msw.h (struct mswindows_image_instance_data): Added
9552         real_heigh and real_width members, and accessor macros for these.
9553
9554         * glyphs-msw.c (init_image_instance_geometry): New function.
9555         (init_image_instance_from_dibitmap): Use it.
9556         (mswindows_resource_instantiate): Use it.
9557         (init_image_instance_from_xbm_inline): Use it.
9558         (mswindows_initialize_image_instance_mask): Use real bitmap
9559         geometry.
9560         (mswindows_create_resized_bitmap): Ditto.
9561         (mswindows_create_resized_mask): Ditto.
9562
9563         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
9564         and bitmap to their surface size.
9565
9566 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
9567
9568         * process-unix.c (unix_send_process): Guard against process MIA
9569         after Faccept_process_output.
9570
9571 2000-04-11  Ben Wing  <ben@xemacs.org>
9572
9573         * eval.c (unbind_to_hairy): fix brokenness introduced by
9574         nanosecond speed improvements.
9575
9576 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
9577
9578         * sunplay.c (init_device): To play sounds correctly, the device
9579         apparently needs to be initialized at least once by XEmacs.  Make
9580         it so.
9581
9582 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9583
9584         * redisplay.c (add_margin_runes): Add text image glyph
9585           handling.
9586
9587 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9588
9589         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
9590         gcc is newer than 2.5.
9591
9592 2000-04-06  Colin Rafferty  <colin@xemacs.org>
9593
9594         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
9595
9596         * fns.c (size_bit_vector):
9597         * alloc.c (size_vector):
9598         (make_vector_internal):
9599         (make_bit_vector_internal):
9600         (sweep_bit_vectors_1):
9601         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
9602
9603 2000-04-06  Andy Piper  <andy@xemacs.org>
9604
9605         * gmalloc.c (malloc): undo previous change.
9606         (malloc): ditto.
9607         (free): ditto.
9608         (realloc): ditto.
9609
9610 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
9611
9612         * line-number.c (buffer_line_number): Revert to former version.
9613
9614 2000-04-06  Andy Piper  <andy@xemacs.org>
9615
9616         * gmalloc.c (malloc): add error checking.
9617         (malloc): ditto.
9618         (free): ditto.
9619         (realloc): ditto.
9620
9621         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
9622         button_item_to_widget_value arg.
9623
9624         * glyphs-x.c (x_button_instantiate): add extra
9625         button_item_to_widget_value arg.
9626         (x_progress_gauge_instantiate): ditto.
9627         (x_edit_field_instantiate): ditto.
9628         (x_label_instantiate): ditto.
9629
9630         * gui-x.c (gui_items_to_widget_values_1): add extra
9631         button_item_to_widget_value arg.
9632         (button_item_to_widget_value): add extra menu_item_p arg.
9633
9634         * gui-x.h: change signature of button_item_to_widget_value.
9635
9636         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
9637         button_item_to_widget_value arg.
9638
9639 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9640
9641         * buffer.h (struct buffer): auto_save_modified should be long.
9642
9643 2000-04-05  Andy Piper  <andy@xemacs.org>
9644
9645         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
9646         type.
9647         (button_query_geometry): give a little more room so that athena
9648         buttons fit.
9649
9650 2000-04-05  Andy Piper  <andy@xemacs.org>
9651
9652         * faces.c (complex_vars_of_faces): The widget face should inherit
9653         the font of the gui-element face.
9654
9655 2000-04-04  Andy Piper  <andy@xemacs.org>
9656
9657         * glyphs-x.c (x_button_update): new function. unconditionally
9658         update a button's state when the instance is dirty.
9659         (image_instantiator_format_create_glyphs_x): add x_button_update.
9660         (x_widget_instantiate): remove old resize cruft.
9661
9662 2000-04-02  Andy Piper  <andy@xemacs.org>
9663
9664         * frame.c (change_frame_size_1): The introduction of gutters means
9665         that we need to allow 0 as a potential frame dimension.
9666
9667 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9668
9669         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
9670         image glyph if allow_cursor.
9671         (add_hscroll_rune): Don't allow cursor to border glyph.
9672         (create_text_block): Ditto.
9673
9674         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
9675         text not in buffer.
9676         (redisplay_output_layout): Call ensure_face_cachel_complete for
9677         text image glyph.
9678
9679
9680 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9681
9682         * redisplay.c (add_glyph_rune): Adding text image as text runes.
9683
9684         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
9685         not in buffer
9686
9687         * redisplay-tty.c (tty_output_display_block): Delete the routine
9688         for text image glyph
9689         * redisplay-x.c (x_output_display_block): ditto
9690         * redisplay-msw.c (mswindows_output_display_block): ditto
9691
9692 2000-02-02  Mike Alexander  <mta@arbortext.com>
9693
9694         Note: Some of these were committed by accident as part of other
9695         patches.
9696
9697         * regex.c (regex_compile): Avoid compiler warnings.
9698
9699         * ntproc.c (sys_spawnve): Avoid compiler warnings.
9700
9701         * nt.h: Declare term_ntproc correctly.
9702
9703         * nt.c: Remove incorrect declaration of get_home_directory which
9704         is declared correctly in lisp.h.
9705
9706         * keymap.c (get_keyelt): Avoid compiler warnings.
9707         (raw_lookup_key_mapper): Avoid compiler warnings.
9708
9709         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
9710
9711         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
9712
9713         * filemode.c (mode_string): Avoid compiler warnings.
9714
9715         * file-coding.c (Fcoding_system_aliasee): Add return statement to
9716         avoid warning.
9717
9718         * events-mod.h: Undef some things that winuser.h defines differently.
9719
9720         * data.c (Faset): Avoid compiler warnings.
9721
9722         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
9723
9724 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9725
9726         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
9727         Fall through to simple beep on error.
9728         Replace "extern" by real header file.
9729
9730         * linuxplay.c: Use nativesound.h
9731         (play_sound_data): Return error code. Be less verbose on error.
9732
9733         * sunplay.c: Use nativesound.h
9734         (play_sound_data): Return error code. Be less verbose on error.
9735
9736         * ntplay.c: Use nativesound.h
9737         (play_sound_data): Return fake error code
9738
9739         * sgiplay.c: Use nativesound.h
9740         (play_sound_data): Return error code
9741
9742         * hpplay.c: Use nativesound.h, partially implement
9743         new error code. Break compilation until finished.
9744         (play_sound_data): error code.
9745
9746         * nativesound.h (play_sound_file):
9747           (play_sound_data): Prototype in new header.
9748
9749 2000-03-31  Andy Piper  <andy@xemacs.org>
9750
9751         * glyphs-widget.c: (button_query_geometry): new function. Adjust
9752         for toggle and radio buttons.
9753         (image_instantiator_buttons): use it.
9754
9755 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9756
9757         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
9758         (x_update_horizontal_scrollbar_callback): Return if no mirror was
9759         found. Scrollbar event probably belonged to some old config.
9760
9761 2000-03-31  Andy Piper  <andy@xemacs.org>
9762
9763         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
9764         than 1.
9765         (initialize_widget_image_instance): default layout to
9766         LAYOUT_HORIZONTAL rather than 0.
9767         (widget_instantiate): reverse the item list at the end rather than
9768         every iteration.
9769         (layout_layout): re-code for the border text at the front of the
9770         item list rather than at the end.
9771         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
9772         provided by the user.
9773         (widget_query_geometry): comment.
9774
9775 2000-03-30  Andy Piper  <andy@xemacs.org>
9776
9777         * glyphs-widget.c (image_instantiator_layout): allow standard
9778         widget keywords in layouts.
9779
9780         * gutter.c (output_gutter): cope with nil gutter contents.
9781
9782         * frame.c (Fset_frame_properties): add gutter docs.
9783
9784 2000-03-29  Andy Piper  <andy@xemacs.org>
9785
9786         * toolbar-msw.c (TBSTYLE_FLAT): add.
9787         (mswindows_output_toolbar): minor fiddling.
9788
9789 2000-03-29  Andy Piper  <andy@xemacs.org>
9790
9791         * gutter.c (output_gutter): force gutter size recalculation if
9792         what we are trying to display won't fit.
9793         (update_gutter_geometry): new function. A per-gutter version of
9794         update_frame_gutter_geometry.
9795         (update_frame_gutter_geometry): use it.
9796         (redraw_exposed_gutter): add extra debugging output.
9797
9798 2000-03-28  Mike Alexander  <mta@arbortext.com>
9799
9800         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
9801         (pdump_file_unmap): Implement it on Windows
9802         (pdump_file_get): Save alocated handles for pdump_file_unmap
9803
9804 2000-03-28  Andy Piper  <andy@xemacs.org>
9805
9806         * gui.c (get_gui_callback): treat Quit specially.
9807
9808 2000-03-27  Andy Piper  <andy@xemacs.org>
9809
9810         * glyphs.c (image_instantiate): be careful to check in the same
9811         way we assigned.
9812
9813 2000-03-27  Didier Verna  <didier@xemacs.org>
9814
9815         * config.h.in: define the proper SMART_INCLUDE macro.
9816         handle renaming of `foo_h_path' to `foo_h_file'.
9817
9818         * database.c: ditto.
9819
9820         * emacs.c: ditto.
9821
9822         * linuxplay.c: ditto.
9823
9824         * terminfo.c: ditto.
9825
9826         * tooltalk.h: ditto.
9827
9828 2000-03-27  Andy Piper  <andy@xemacs.org>
9829
9830         * glyphs-msw.c (mswindows_update_widget): make sure the widget
9831         gets updated whenever the face might have changed.
9832
9833 2000-03-26  Mike Alexander  <mta@arbortext.com>
9834
9835         * dumper.c (pdump_resource_free): Fix the comment.
9836
9837 2000-03-21  Olivier Galibert  <galibert@pobox.com>
9838
9839         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
9840
9841 2000-03-22  Mike Alexander  <mta@arbortext.com>
9842
9843         * dumper.c: Include Windows headers on Windows
9844         (pdump_resource_free): Add a body to the function
9845         (pdump_load): exe_name -> exe_path and add some comments.
9846
9847 2000-03-25  Mike Alexander  <mta@arbortext.com>
9848
9849         * gui.c (copy_gui_item_tree): Return a value in all cases
9850
9851 2000-03-21  Didier Verna  <didier@xemacs.org>
9852
9853         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
9854         lwlib/config.h.in.
9855         (SMART_INCLUDE): new macro.
9856         (POSTGRES_INCLUDE): new macro to include postgresql headers from
9857         the proper location.
9858
9859         * postgresql.c: use it.
9860
9861         * inline.c: ditto.
9862
9863 2000-03-24  Andy Piper  <andy@xemacs.org>
9864
9865         * gutter.c (redraw_exposed_gutters): must be "in display" when we
9866         do this.
9867
9868 2000-03-24  Andy Piper  <andy@xemacs.org>
9869
9870         * redisplay-output.c (compare_runes): use image_instance_changed
9871         to detect changes. Do not depend on glyphs_changed, only depend on
9872         dirtiness.
9873          (redisplay_output_layout): add debug messages.
9874         (compare_runes): ditto.
9875
9876         * glyphs.h: declare new functions.
9877         (struct Lisp_Image_Instance): remove percent and associated
9878         accessors.
9879
9880         * gui.h: declare new copying functions.
9881
9882         * gui.c (copy_gui_item_tree): new function.
9883         (copy_gui_item): new function.
9884         (gui_item_id_hash): revert to standard hash.
9885         (gui_item_hash): ditto.
9886         (gui_item_hash_internal): deleted.
9887         (mark_gui_item): mark value.
9888         (gui_item_add_keyval_pair): add value.
9889         (gui_item_init): ditto.
9890         (gui_add_item_keywords_to_plist): ditto.
9891         (gui_item_equal): ditto.
9892         (syms_of_gui): add Q_value.
9893
9894         * glyphs-x.c (x_progress_gauge_update): use pending items and
9895         value for setting the state.
9896         (x_update_widget): don't set items from pending here.
9897
9898         * glyphs-widget.c (update_widget): update items here.
9899         (progress_gauge_set_property): use items for storing value. Put
9900         new value in pending items.
9901
9902         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
9903         items for new value. Convert percent -> value.
9904         (mswindows_tab_control_update): don't update items here.
9905
9906         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
9907         (update_subwindow): ditto.
9908         (image_instance_changed): new function. Compare hash values and
9909         past and present widget items.
9910         (image_instantiate): We more careful about where we instantiate
9911         things.
9912         (image_instantiate): add error checking.
9913
9914         * gutter.c (syms_of_gutter): use -hook.
9915
9916 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
9917
9918         * console-tty.c (Fset_console_tty_input_coding_system): Use
9919         Qkeyboard.
9920         (Fset_console_tty_output_coding_system): Use Qterminal.
9921         (tty_init_console): Use Qkeyboard and Qterminal.
9922
9923 2000-03-21  Ben Wing  <ben@xemacs.org>
9924
9925         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
9926         From Mike Alexander <mta@arbortext.com>.
9927
9928 2000-03-21  Ben Wing  <ben@xemacs.org>
9929
9930         * event-msw.c (mswindows_need_event): Horrible kludge to fix
9931         process brokenness.  Proper implementation to come.
9932         * callproc.c:
9933         Rename call-process-internal to old-call-process-internal.
9934         New impl. in process.el.
9935
9936 2000-03-21  Martin Buchholz  <martin@xemacs.org>
9937
9938         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
9939
9940 2000-03-20  Andy Piper  <andy@xemacs.org>
9941
9942         * glyphs.c (full_list_hash): make hashes of the same elements in
9943         different orders return different values.
9944
9945 2000-03-20  Martin Buchholz <martin@xemacs.org>
9946
9947         * XEmacs 21.2.32 is released.
9948
9949 2000-03-20  Martin Buchholz  <martin@xemacs.org>
9950
9951         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
9952         (DFC_MALLOC_USE_CONVERTED_DATA):
9953         Add aliasing-safe casts to allow use with char* or unsigned char*
9954         lvalues.
9955
9956         * eldap.c (Fldap_open):
9957         (Fldap_search_basic):
9958         (Fldap_add):
9959         (Fldap_modify):
9960         Make C++-compilable.
9961         Make sure GCPRO'ed variables are initialized.
9962         Use temp variables to avoid repeated calls to Flength.
9963
9964 2000-03-16  Martin Buchholz  <martin@xemacs.org>
9965
9966         * sysfile.h:
9967         Make sure PATH_MAX is always defined.
9968         Include limits.h for PATH_MAX.
9969         Deprecate use of MAXPATHLEN.
9970
9971 2000-03-10  Martin Buchholz  <martin@xemacs.org>
9972
9973         * emacs.c: Add reinit_vars_of_fileio.
9974         * symsinit.h: Add reinit_vars_of_fileio.
9975         * fileio.c (reinit_vars_of_fileio): New.
9976         * fileio.c (Fmake_temp_name):
9977         Initialize temp_name random number from microseconds to make
9978         collisions even less likely.  Initialize always at process startup
9979         time.  (make-temp-name) used to return the same file name twice in
9980         a row when PDUMP.
9981         Random stylistic fiddling.
9982         Comment fixes.
9983
9984 2000-03-20  Andy Piper  <andy@xemacs.org>
9985
9986         * glyphs.c (image_instantiate): allow text glyphs to be
9987         instantiated in the minibuffer window.
9988
9989 2000-03-19  Andy Piper  <andy@xemacs.org>
9990
9991         * glyphs.c (image_instance_hash): be careful about which items we
9992         hash on.
9993
9994         * glyphs-widget.c (tab_control_set_property): record into pending
9995         items rather than the actual items.
9996
9997         * glyphs-x.c (x_update_widget): use pending items to update with.
9998
9999         * glyphs-msw.c (mswindows_tab_control_update): use pending items
10000         to update with.
10001
10002         * glyphs.c (mark_image_instance): mark pending items.
10003
10004         * window.c (Fset_window_configuration): record the buffer.
10005         (Fselect_window): totally revert previous change which breaks many
10006         things.
10007
10008 2000-03-18  Andy Piper  <andy@xemacs.org>
10009
10010         * glyphs-msw.c (mswindows_tab_control_update): force selected
10011         item.
10012
10013         * glyphs.c (image_instantiate): don't allow the minibuffer as a
10014         window domain cache, otherwise we get inconsistencies at
10015         startup. There is something fishy at startup which can lead to the
10016         minibuffer being the selected window when the gutter content is
10017         instantiated.
10018
10019         * gui.c (parse_gui_item_tree_list): add probably unnecessary
10020         gcpros.
10021         (parse_gui_item_tree_children): ditto.
10022         (parse_gui_item_tree_item): ditto.
10023
10024         * glyphs.c (Fupdate_widget_instances): return something.
10025
10026 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
10027
10028         * window.c (Fselect_window): Undo 2000-03-17 change.
10029
10030 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
10031
10032         * postgresql.c (Fpq_setenv): Remove this turkey when linking
10033         against v7.0 libraries.  Insta-coredump city until the postgres
10034         folks fix it.
10035
10036 2000-03-17  Andy Piper  <andy@xemacs.org>
10037
10038         * faces.c (complex_vars_of_faces): don't give the widget face an
10039         inherited background pixmap.
10040
10041         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
10042         selected item.
10043
10044         * event-stream.c (Fdispatch_non_command_events): return something.
10045
10046         * gutter.c (output_gutter): use widget face.
10047         (clear_gutter): ditto.
10048
10049         * NEWS: adjust again.
10050
10051         * window.c (Fselect_window): make sure this runs to completion to
10052         avoid oddities with Fset_window_configuration.
10053         (Fcurrent_window_configuration): in general do not save the
10054         minibuffer as the selected window.
10055
10056         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
10057
10058 2000-03-16  Olivier Galibert  <galibert@pobox.com>
10059
10060         * emacs.c (Frunning_temacs_p): Revert previous patch.
10061         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
10062
10063 2000-03-16  Andy Piper  <andy@xemacs.org>
10064
10065         * glyphs-x.c (x_tab_control_update): if no widget values then
10066         return.
10067
10068         * NEWS: update for new features.
10069
10070         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
10071         synthetic event to the native system.
10072         (reinit_vars_of_event_Xt): set force_event_pending to
10073         emacs_Xt_force_event_pending.
10074
10075         * events.h (struct event_stream): add force_event_pending.
10076
10077         * specifier.c (recompute_one_cached_specifier_in_window): add
10078         comment.
10079
10080         * redisplay.c (redisplay_frame): don't call
10081         update_frame_subwindows. Reset subwindow cachels when
10082         subwindows_changed, removing this was an optimization too far.
10083
10084         * redisplay-output.c (compare_runes): reorganize so that we catch
10085         glyph changes when we want them. Set optimize_output when this
10086         would help layouts.
10087         (redisplay_output_layout): remove frame_really_changed, use
10088         optimize_output instead.
10089
10090         * redisplay-msw.c (mswindows_output_display_block): reset
10091         optimize_output after outputting a glyph.
10092         * redisplay-x.c (x_output_display_block): ditto.
10093         * redisplay-tty.c (tty_output_display_block): ditto.
10094
10095         * gutter.c: (specifier_vars_of_gutter): use new spec changed
10096         functions.
10097         (gutter_specs_changed): do specific gutter positions.
10098         (top_gutter_specs_changed): new function. Only update the
10099         specified gutter specs.
10100         (bottom_gutter_specs_changed): ditto.
10101         (left_gutter_specs_changed): ditto.
10102         (right_gutter_specs_changed): ditto.
10103
10104         * gui.c (gui_item_hash_internal): new function, does a real hash.
10105         (gui_item_id_hash): use it.
10106         (gui_item_hash): hash the eval'ed gui_item.
10107
10108         * gui-x.c (popup_selection_callback): send an eval event to call
10109         Fupdate_widget_instances.
10110
10111         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
10112         to call Fupdate_widget_instances.
10113
10114         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
10115         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
10116
10117         * glyphs.c: (update_frame_subwindows): deleted.
10118         (Fupdate_widget_instances): new function for updating the dirty
10119         state of widgets that might have changed.
10120         (syms_of_glyphs): add Qupdate_widget_instances.
10121         (full_list_hash): hash a list completely.
10122         (image_instance_hash): use it for items and properties.
10123
10124         * frame-msw.c (mswindows_size_frame_internal): remove unused
10125         variable.
10126
10127         * faces.h (struct face_cachel): fix comment.
10128
10129         * event-stream.c (Fdispatch_non_command_events): new
10130         function. Process non-command events, forcing an event cycle
10131         beforehand.
10132         (syms_of_event_stream): declare.
10133         (event_stream_force_event_pending): new function. Force an event
10134         on the native event queue so that an event cycle will occur next
10135         time we check.
10136
10137         * event-msw.c:
10138         (struct ntpipe_shove_stream):
10139         (mswindows_enqueue_dispatch_event):
10140         (mswindows_dequeue_dispatch_event):
10141         (mswindows_cancel_dispatch_event):
10142         (mswindows_pump_outstanding_events):
10143         (mswindows_drain_windows_queue):
10144         (mswindows_handle_paint):
10145         (mswindows_wnd_proc):
10146         (mswindows_key_to_emacs_keysym):
10147         (get_process_input_waitable):
10148         (emacs_mswindows_delete_stream_pair): re-indent file.
10149         (mswindows_need_event): do not process further fds if the windows
10150         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
10151         fixes the 100% cpu problem.
10152         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
10153
10154 2000-03-15  Olivier Galibert  <galibert@pobox.com>
10155
10156         * alloc.h: New.
10157         * dumper.h: New.
10158         * dumper.c: New.
10159
10160         * emacs.c: Moved dump file searching to dumper.c.
10161         (Frunning_temacs_p): Fixed.
10162
10163         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
10164         last_lrecord_type_index_assigned.
10165
10166 2000-02-20  Olivier Galibert  <galibert@pobox.com>
10167
10168         * symsinit.h: Added reinit parameter to init_console_stream
10169         declaration.
10170
10171         * lisp.h: Added file parameter to pdump_load declaration.
10172
10173         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
10174         support.  Added dump file searching.
10175
10176         * config.h.in: Added EMACS_PROGNAME.
10177
10178         * console-stream.c (init_console_stream): Fix reinitialisation
10179         when running from temacs.
10180
10181         * alloc.c (pdump): Add id support.
10182         (pdump_load): Add file parameter and signature/id support.
10183
10184         * Makefile.in.in: Add full pdump support.
10185
10186 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
10187
10188         * postgresql.c: Update documentation to reflect latest code
10189         status.
10190         (print_result): Show tuple counts in printed representation when
10191         appropriate.
10192         (Fpq_put_nbytes): MULE-ize.
10193         (Fpq_get_line_async): Ditto.
10194
10195 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10196
10197         * postgresql.c (Fpq_lo_import): Fix return value.
10198         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
10199
10200 2000-03-13  Ben Wing  <ben@xemacs.org>
10201
10202         * alloc.c (pdump_load):
10203         Fix compile warning under mswin.
10204
10205 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10206
10207         * postgresql.c: Mule-ization, bug fixes.
10208         Use PG_CODING to encapsulate coding system name changes.
10209         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
10210         (pg-coding-system): Create.
10211
10212         (Fpq_conn_defaults): Mule-ize.
10213         (Fpq_connectdb): Mule-ize & bug fix.
10214         (Fpq_connect_start): Mule-ize.
10215         (Fpq_set_client_encoding): Mule-ize.
10216         (Fpq_finish): Document `DEAD' connection status.
10217         (Fpq_clear): Ditto.
10218         (Fpq_pgconn): Mule-ize.
10219         (Fpq_exec): Mule-ize & bug fix.
10220         (Fpq_send_query): Ditto.
10221         (Fpq_get_result): Ditto.
10222         (Fpq_res_status): Mule-ize.
10223         (Fpq_result_error_message): Mule-ize.
10224         (Fpq_ntuples): fix comments.
10225         (Fpq_fname): Mule-ize.
10226         (Fpq_fnumber): Mule-ize.
10227         (Fpq_ftype): fix comments.
10228         (Fpq_get_value): Mule-ize.
10229         (Fpq_cmd_status): Ditto.
10230         (Fpq_cmd_tuples): Ditto.
10231         (Fpq_oid_value): Ditto.
10232         (Fpq_notifies): Ditto.
10233         (Fpq_lo_import): Ditto.
10234         (Fpq_lo_export): Ditto.
10235         (Fpq_get_line): Ditto.
10236         (Fpq_put_line): Mule-ize and bug fix.
10237         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
10238
10239 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10240
10241         * postgresql.c (vars_of_postgresql): Mule-ize.
10242         (Fpq_conn_defaults): Ditto.
10243
10244 2000-03-12  Ben Wing  <ben@xemacs.org>
10245
10246         * alloc.c (Fmake_byte_code):
10247         * alloc.c (debug_string_purity_print):
10248         * alloc.c (pdump_backtrace):
10249         * alloc.c (pdump_get_indirect_count):
10250         * alloc.c (pdump_register_sub):
10251         * alloc.c (pdump_register_object):
10252         * alloc.c (pdump_register_struct):
10253         * alloc.c (pdump_dump_data):
10254         * alloc.c (pdump_reloc_one):
10255         Minor cleanups.
10256
10257         * console-msw.c:
10258         * console-msw.c (GetConsoleHwnd):
10259         * console-msw.c (msw_hide_console):
10260         * console-msw.c (msw_show_console):
10261         * console-msw.c (msw_ensure_console_buffered):
10262         * console-msw.c (msw_output_console_string):
10263         * console-msw.c (console_type_create_mswindows):
10264
10265         a) Added functions to manipulate the console window for use with
10266         shell support.
10267
10268         b) Added support for writing text to the console, which is now
10269         used under Windows when xemacs is not being run non-interactively,
10270         to write text that would otherwise be destined for stdout because
10271         under these circumstances, text written to stdout tends to
10272         disappear and not be seen.
10273
10274         * console-msw.h:
10275         * event-Xt.c:
10276         * event-Xt.c (x_event_to_emacs_event):
10277         * event-Xt.c (describe_event_window):
10278         * events-mod.h (XEMACS_MOD_CONTROL):
10279         * events.c:
10280         * events.c (Fmake_event):
10281         * events.c (character_to_event):
10282         * events.c (event_to_character):
10283         * events.c (format_event_object):
10284         * events.c (Fevent_modifiers):
10285         * events.h:
10286         * events.h (struct key_data):
10287         * events.h (struct button_data):
10288         * events.h (struct misc_user_data):
10289         * frame-x.c (Fcde_start_drag_internal):
10290         * frame-x.c (Foffix_start_drag_internal):
10291         * gpmevent.c (Freceive_gpm_event):
10292         * keymap.c:
10293         * keymap.c (bucky_sym_to_bucky_bit):
10294         * keymap.c (control_meta_superify):
10295         * keymap.c (make_key_description):
10296         * keymap.c (keymap_lookup_directly):
10297         * keymap.c (create_bucky_submap):
10298         * keymap.c (keymap_store):
10299         * keymap.c (define_key_check_and_coerce_keysym):
10300         * keymap.c (define_key_parser):
10301         * keymap.c (define_key_alternate_name):
10302         * keymap.c (Fdefine_key):
10303         * keymap.c (raw_lookup_key_mapper):
10304         * keymap.c (struct map_keymap_unsorted_closure):
10305         * keymap.c (map_keymap_unsorted_mapper):
10306         * keymap.c (map_keymap_sort_predicate):
10307         * keymap.c (map_keymap_sorted):
10308         * keymap.c (accessible_keymaps_mapper_1):
10309         * keymap.c (where_is_recursive_mapper):
10310         * keymap.c (describe_map_mapper):
10311         * keymap.c (describe_map_sort_predicate):
10312         * keymap.c (describe_map):
10313         * keymap.c (complex_vars_of_keymap):
10314         And a number of other files, the key modifier preprocessor
10315         constants that xemacs uses have names that conflict with constants
10316         defined under MS Windows for other purposes, so they were renamed
10317         to begin with the prefix XEMACS_. The variables that hold such
10318         modifiers were changed to consistently be of type int to fix
10319         various compile warnings.
10320
10321         * console.c (complex_vars_of_console):
10322         * device.c:
10323         * device-msw.c:
10324         * device-msw.c (mswindows_finish_init_device):
10325         * device-msw.c (msw_get_workspace_coords):
10326         * device-msw.c (mswindows_device_system_metrics):
10327         and various other files, added support for a new
10328         device property called offset-workspace which returns the position
10329         of the upper left corner of the workspace area and goes along with
10330         the existing size-workspace property.
10331
10332         * dialog-msw.c:
10333         * dialog-msw.c (push_bufbyte_string_as_unicode):
10334         * dialog-msw.c (mswindows_popup_dialog_box):
10335         Added support for XEmacs-style accelerator specifications in
10336         button text.  Note: I didn't add support for this under X Windows,
10337         and somebody needs to do this.
10338
10339         * dialog.c:
10340         * dialog.c (Fpopup_dialog_box):
10341         Documented the support for accelerators that was just mentioned.
10342
10343         editfns.c (get_home_directory): Changed behavior under Windows
10344         when HOME not defined; former behavior was irretrievably broken.
10345
10346         * emacs.c:
10347         * emacs.c (main_1):
10348         * emacs.c (main):
10349         * minibuf.c (clear_echo_area_internal):
10350         * minibuf.c (echo_area_append):
10351         * print.c:
10352         * print.c (std_handle_out_external):
10353         * print.c (std_handle_out_va):
10354         * print.c (fatal):
10355         * print.c (write_string_to_stdio_stream):
10356         * print.c (output_string):
10357         * print.c (debug_print):
10358         * print.c (debug_backtrace):
10359         * print.c (debug_short_backtrace):
10360         Cleaned up the code that prints text to stdout so that this can be
10361         changed to output into a console window instead under MS Windows,
10362         as described above.
10363
10364         * eval.c:
10365         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
10366         * eval.c (internal_catch):
10367         * eval.c (unwind_to_catch):
10368         * eval.c (throw_or_bomb_out):
10369         * eval.c (condition_case_1):
10370         * eval.c (signal_1):
10371         * eval.c (check_error_state_sanity):
10372         * eval.c (call_with_suspended_errors_1):
10373         * eval.c (call_with_suspended_errors):
10374         * eval.c (reinit_vars_of_eval):
10375         Added code to catch throw loops and check for a pesky bug that may
10376         be gone now.
10377
10378         * event-msw.c:
10379         * event-msw.c (key_needs_default_processing_p):
10380         * event-msw.c (mswindows_wnd_proc):
10381         * event-msw.c (mswindows_modifier_state):
10382         * event-msw.c (emacs_mswindows_quit_p):
10383         * event-msw.c (vars_of_event_mswindows):
10384         a) Added support for using the alt key to select menu items as is
10385         standard under MS Windows.  This is controlled using the variable
10386         menu-accelerator-enabled, just like under X Windows.  There is an
10387         option on the options menu to turn this support on.  I really
10388         think that it should be on by default under Windows, but I'm not
10389         going to make this change yet.
10390
10391         b)  Added support for dynamic display size changes under Windows.
10392
10393         * event-stream.c:
10394         * event-stream.c (maybe_echo_keys):
10395         * event-stream.c (Fnext_event):
10396         * event-stream.c (command_builder_find_leaf):
10397         * event-stream.c (lookup_command_event):
10398         * event-stream.c (execute_command_event):
10399         * event-stream.c (pre_command_hook):
10400         * event-stream.c (post_command_hook):
10401         * event-stream.c (syms_of_event_stream):
10402         * event-stream.c (vars_of_event_stream):
10403         * event-stream.c (complex_vars_of_event_stream):
10404         * events.h (struct command_builder):
10405
10406         a) Tried to clean up a little bit the horribly written x-specific
10407         accelerator code that crept into this file.  I moved this code
10408         into menubar-x.c where it belongs. I also needed to move the
10409         command builder structure into the file events.h because it is
10410         accessed directly by this accelerator code.  What I didn't do, but
10411         which should be done at some point, is to properly abstract this
10412         code using device methods instead of the kludgy way that it
10413         currently hooks into the event code.
10414
10415         b) Added the lisp variables this-command-properties and
10416         last-command- properties, which should be used to synchronize two
10417         adjacent commands in preference to playing games with the variable
10418         this-command, which is typically what happens.
10419
10420         c) Added some slightly nasty code to hook into the lisp support
10421         for shifted- motion-key selection.  This is actually necessary for
10422         somewhat complicated reasons, which are described in
10423         simple.el. (NB: I think the proper thing would be to have the code
10424         that calls the pre and post command hooks also call out to generic
10425         lisp functions in simple.el, where all built-in stuff could be
10426         added.  I will think about this more.)
10427
10428         * event-unixoid.c (poll_fds_for_input):
10429         * lread.c (readchar):
10430         * redisplay-tty.c (tty_clear_frame):
10431         * redisplay-x.c (x_get_gc):
10432         * signal.c (interrupt_signal):
10433         And a whole bunch of other files: fixed up places that printed
10434         directly to stderr to instead call the function stderr_out so that
10435         the changes I made under Windows work correctly.
10436
10437         * filemode.c (mode_string):
10438         Warning fixes.
10439
10440         * frame-msw.c:
10441         * frame-msw.c (mswindows_size_frame_internal):
10442         Fixed the computation of frame size and position to keep the frame
10443         within the workspace area, rather than within the physical
10444         dimensions of the screen, so that the frame doesn't overlap window
10445         manager decorations, such as the start menu and toolbar, typically
10446         at the bottom of the screen.
10447
10448         * frame.c (vars_of_frame):
10449         Changed the default frame title format under MS Windows to consist
10450         of buffername-XEmacs, which is standard under MS Windows.  I think
10451         it might be a good idea to change this everywhere because I think
10452         it is superior to the current frame title format, but this is the
10453         kind of change that is likely to cause some people to get annoyed,
10454         so I'm not making it.
10455
10456         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
10457
10458         * gui-msw.c (mswindows_handle_gui_wm_command):
10459         Fixed compile warnings.
10460
10461         * gui-x.c:
10462         * gui-x.c (strdup_and_add_accel):
10463         * gui-x.c (button_item_to_widget_value):
10464         * gui-x.h:
10465         Added code to automatically put an accelerator onto the beginning
10466         of menu items that don't have one as is now the standard, and is
10467         described more later.  Also fixed things so that the menu item
10468         name can be an evaluated expression, again a new standard.
10469
10470         * gui.c:
10471         * gui.c (gui_item_add_keyval_pair):
10472         * gui.c (make_gui_item_from_keywords_internal):
10473         * gui.c (gui_add_item_keywords_to_plist):
10474         * gui.c (gui_item_accelerator):
10475         * gui.c (gui_name_accelerator):
10476         * gui.c (gui_item_included_p):
10477         * gui.c (gui_item_display_flush_left):
10478         * gui.c (gui_item_display_flush_right):
10479         * gui.c (parse_gui_item_tree_item):
10480         * gui.c (parse_gui_item_tree_children):
10481         * gui.c (parse_gui_item_tree_list):
10482         Mule-ized.  Cleanup.  GCPRO addition.
10483
10484         * line-number.c (buffer_line_number):
10485         * lisp.h:
10486         * lisp.h (EMACS_INT_MAX):
10487         Added the manifest constant EMACS_INT_MIN corresponding to the
10488         existing constant EMACS_INT_MAX.  This is partially to fix compile
10489         warnings under Windows, and partly for cleanliness.
10490
10491         * menubar-msw.c:
10492         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
10493         * menubar-msw.c (msw_translate_menu_or_dialog_item):
10494         * menubar-msw.c (displayable_menu_item):
10495         * menubar-msw.c (populate_menu_add_item):
10496         * menubar-msw.c (populate_or_checksum_helper):
10497         * menubar-msw.c (populate_menu):
10498         * menubar-msw.c (update_frame_menubar_maybe):
10499         * menubar-msw.c (prune_menubar):
10500         * menubar-msw.c (msw_char_is_accelerator):
10501         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
10502         * menubar-msw.c (mswindows_handle_wm_command):
10503         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
10504         * menubar-msw.c (mswindows_handle_wm_initmenu):
10505         * menubar-msw.c (mswindows_update_frame_menubars):
10506         * menubar-msw.c (mswindows_free_frame_menubars):
10507         * menubar-msw.c (mswindows_popup_menu):
10508         Fixed a bug in handling accelerators where an extra character
10509         would be displayed in the menu item.  Also generalized the
10510         function displayable_menu_item because it is now used by the
10511         dialog box code as well.  And finally, added code in the functions
10512         that create the menubar to extract a list of accelerators for the
10513         top level menubar, which is used in the event code to determine
10514         whether a particular alt-key combination should be used to invoke
10515         a menu item, or should be passed through to access the standard
10516         XEmacs keymap binding for this key combination.
10517
10518         Much needed GCPROing.
10519
10520         * menubar-x.c:
10521         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10522         * menubar-x.c (menu_item_descriptor_to_widget_value):
10523         * menubar-x.c (restore_in_menu_callback):
10524         * menubar-x.c (x_popup_menu):
10525         * menubar-x.c (menu_move_up):
10526         * menubar-x.c (menu_move_down):
10527         * menubar-x.c (menu_move_left):
10528         * menubar-x.c (menu_move_right):
10529         * menubar-x.c (menu_select_item):
10530         * menubar-x.c (command_builder_operate_menu_accelerator):
10531         * menubar-x.c (menu_accelerator_junk_on_error):
10532         * menubar-x.c (command_builder_find_menu_accelerator):
10533         * menubar-x.c (Faccelerate_menu):
10534         * menubar.h:
10535         Moved a whole bunch of code here that was previously in
10536         event-stream.c as described above.  There is also code connected
10537         to the new standard of adding an accelerator to the beginning of
10538         menu items that don't have one as described above and below.
10539
10540         * menubar.c:
10541         * menubar.c (menu_parse_submenu_keywords):
10542         * menubar.c (Fmenu_find_real_submenu):
10543         * menubar.c (Fnormalize_menu_item_name):
10544         * menubar.c (syms_of_menubar):
10545         * menubar.c (vars_of_menubar):
10546         * menubar.c (complex_vars_of_menubar):
10547
10548         a) Cleaned up a bunch of documentation and improved it.
10549
10550         b) XEmacs now automatically adds an accelerator onto the beginning
10551         of any menu items that don't have one.  I did this because there
10552         will inevitably be some menu items on the main menubar that don't
10553         have accelerators on them because the package that adds that
10554         particular menu item hasn't yet been fixed up to have accelerators
10555         in them and it looked rather strange to have some items with and
10556         some items without accelerators, especially since even in items
10557         without accelerators, you can, at least under windows, still
10558         access the item through an accelerator corresponding to the first
10559         character in the item's name.  If people don't like this behavior,
10560         I can add a variable to turn it off optionally, but I'm not sure
10561         this is a good idea because we really do need to have accelerators
10562         on all of the menu items, and if a package doesn't like the
10563         accelerators being put on the first character, then it should put
10564         the accelerators where they belong.
10565
10566         c) I made a behavior change, which is that the descriptor that
10567         specifies the text of the menu item, which formerly was just a
10568         string, can now also be an evaluated expression.  This makes this
10569         descriptor parallel with all of the others, which could also be
10570         evaluated expressions.  This also obviates the need for the
10571         keyword :label, which was previously listed in the documentation
10572         as unimplemented, and which was for the same purpose.
10573
10574         d) GCPROing.
10575
10576         * ntproc.c:
10577         * ntproc.c (new_child):
10578         * ntproc.c (sys_spawnve):
10579         * ntproc.c (find_child_console):
10580         * ntproc.c (sys_kill):
10581         Fixed compile warnings.  By the way, this file should really go
10582         away entirely, and this will happen as soon as Kirill makes his
10583         final round of process cleanups, which affect the function
10584         call-process.
10585
10586         * process-nt.c:
10587         * process-nt.c (struct nt_process_data):
10588         * process-nt.c (find_process_from_pid):
10589         * process-nt.c (send_signal_the_nt_way):
10590         * process-nt.c (enable_child_signals):
10591         * process-nt.c (find_child_console):
10592         * process-nt.c (send_signal_the_95_way):
10593         * process-nt.c (nt_finalize_process_data):
10594         * process-nt.c (ensure_console_window_exists):
10595         * process-nt.c (nt_create_process):
10596         * process-nt.c (nt_kill_child_process):
10597         * process-nt.c (nt_kill_process_by_pid):
10598         * process-nt.c (nt_open_network_stream):
10599         * process-nt.c (vars_of_process_nt):
10600         Copied over code from Emacs 20.5 to correctly send signals to sub-
10601         processes under Windows 95.  Also added code to automatically
10602         create and hide console window when a sub-process is created under
10603         Windows 95, which obviates the need for the separate runemacs.exe
10604         executable, and finally implemented some variables that were
10605         implemented in Emacs 20.5, but previously not in XEmacs.  These
10606         include mswindows- start-process-share-console and
10607         mswindows-start-process-inherit-error-mode. (Both of these only
10608         apply to Windows 95.)
10609
10610         * regex.c (regex_compile): Fixed a compile warning.
10611
10612         * select-msw.c:
10613         * select-msw.c (mswindows_own_selection):
10614         * select-msw.c (mswindows_get_foreign_selection):
10615         * select-msw.c (mswindows_disown_selection):
10616         * select-msw.c (console_type_create_select_mswindows):
10617         * select-msw.c (syms_of_select_mswindows):
10618         Cleaned up the file and implemented the device method
10619         selection_exists_p, which had accidentally been left out.  Also
10620         removed four lisp functions that were remnants from before the
10621         time when the selection code was properly device abstracted.
10622         These functions are no longer needed because there are generic
10623         equivalents, and because they were added recently and don't exist
10624         in FSF Emacs, I don't think there's any problem with just deleting
10625         them.
10626
10627         * sysdep.c:
10628         * sysdep.c (sys_subshell):
10629         Fixed a compile warning, although in this case there's probably
10630         something wrong with this code, and it ought to be looked into
10631         more thoroughly by somebody who understands it.
10632
10633         * window.c:
10634         * window.c (Fwindow_text_area_height):
10635         * window.c (Fwindow_width):
10636         * window.c (Fwindow_full_width):
10637         * window.c (Fwindow_pixel_width):
10638         * window.c (debug_print_window):
10639         * window.c (syms_of_window):
10640         Added functions window-text-area-height and window-full-width,
10641         which are functions for returning various width and height
10642         characteristics of a window. (One of these functions is necessary
10643         for making the file dialog box work correctly, and the other one
10644         was added for completeness.)  Also added a table to the
10645         documentation for window-height which describes the entire scheme
10646         for accessing width and height characteristics of a window.
10647
10648 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10649
10650         * nt.c (fstat): Added a comment for another problem with
10651         non-encapsulated [f]stat(), reported by Adrian Aichner
10652         <aichner@ecf.teradyne.com>.
10653
10654 2000-03-11  Andy Piper  <andy@xemacs.org>
10655
10656         * window.c (make_dummy_parent): initialize subwindow instance
10657         cache.
10658         (Fset_window_configuration): zero extent_modiff.
10659
10660 2000-03-10  Andy Piper  <andy@xemacs.org>
10661
10662         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
10663         more changes can be triggered.
10664         (Fredisplay_frame): ditto.
10665         (Fredraw_device): ditto.
10666         (Fredisplay_device): ditto.
10667         (redisplay_frame): make non-static.
10668         (redisplay_frame): call update_frame_gutter_geometry outside of
10669         display proper.
10670
10671         * gutter.h: declare update_frame_gutter_geometry.
10672
10673         * redisplay.h: declare redisplay_frame.
10674
10675         * gutter.c (update_frame_gutter_geometry): move geometry changes
10676         in update_frame_gutters here. Geometry changes can only occur
10677         outside of redisplay.
10678         (update_frame_gutters): remove geometry change code.
10679         (Fredisplay_gutter_area): make sure that we are in display when we
10680         update and that we have flushed any size changes.
10681
10682 2000-03-11  Andy Piper  <andy@xemacs.org>
10683
10684         * alloc.c (pdump_dump_data): remove i & count shadows.
10685
10686 2000-02-27  Mike Alexander  <mta@arbortext.com>
10687
10688         * sysdep.h: Declare pdump_read_file
10689
10690         * sysdep.c (pdump_read_file): New function
10691
10692         * alloc.c (pdump_load): Call pdump_read_file to get the portable
10693         dump data
10694
10695 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10696
10697         * lrecord.h: add `lrecord_type_pgsetenv'.
10698
10699 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
10700
10701         * symsinit.h: declare (vars|syms)_of* functions.
10702         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
10703
10704 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
10705
10706         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
10707
10708         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
10709         GCCs.
10710
10711         * emacs.c (main_1): Call postgres initialization code.
10712
10713         * postgresql.h: New file.  PostgreSQL RDBMS support.
10714         * postgresql.c: New file.
10715
10716 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10717
10718         * redisplay-output.c (redisplay_output_display_block): Disable
10719         redundant code.
10720
10721 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10722
10723         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
10724         (Fcanna_henkan_next): Ditto.
10725         (Fcanna_bunsetu_henkou): Ditto.
10726         (Fcanna_henkan_kakutei): Ditto.
10727         (Fcanna_henkan_end): Ditto.
10728         (Fcanna_henkan_quit): Ditto.
10729         (Fcanna_henkan_next): Set retun value correctly.
10730         (c2mu): Use unsigned char instead of signed char.
10731
10732 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10733
10734         * emacs.c (main_1): Always call syms_of_gui.
10735         * inline.c: include gui.h
10736
10737 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10738
10739         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
10740         converted to Lisp_Object.
10741         (Qtop_bottom): New variable.
10742         (syms_of_redisplay): Initialize it.
10743         * redisplay.h (Vvisible_bell): Ditto.
10744         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
10745         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
10746         only flash top and bottom.
10747
10748 2000-03-08  Andy Piper  <andy@xemacs.org>
10749
10750         * buffer.c (Frename_buffer): record new buffer name the right way.
10751
10752 2000-03-08  Andy Piper  <andy@xemacs.org>
10753
10754         * glyphs.c (update_subwindow): increase hash depth so that widget
10755         items get picked up properly.
10756
10757         * redisplay-output.c (compare_runes): increase hash depth so that
10758         widget items get picked up properly.
10759
10760 2000-03-08  Andy Piper  <andy@xemacs.org>
10761
10762         * gutter.c (output_gutter): add some debug.
10763
10764         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
10765         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
10766         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
10767
10768         * redisplay-output.c (compare_runes): use display_hash to
10769         determine if glyphs really are not the same.
10770
10771         * glyphs.c (update_subwindow): check display_hash to see if
10772         anything really needs to be updated. If not then do
10773         nothing. Record the display_hash after updating.
10774         (image_instance_equal): compare the image_instance face also.
10775
10776 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
10777
10778         * redisplay.h: Fix comment style.
10779
10780 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10781
10782         * consle-msw.h (struct mswindows_frame):
10783         Added new member paint_pending to indicate whether a WM_PAINT
10784         magic event has been queued for this frame.
10785
10786         * event-msw.c (mswindows_drain_windows_queue):
10787         Don't queue a WM_PAINT magic event if one is already queued.
10788         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
10789
10790         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
10791
10792 2000-03-07  Didier Verna  <didier@xemacs.org>
10793
10794         * dired.c: #include `regex.h' after `sysfile.h'.
10795
10796 2000-03-06  Martin Buchholz  <martin@xemacs.org>
10797
10798         * sound.c (init_nas_sound): Fix compiler warning.
10799
10800         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
10801         (FREE_STRUCT_P):
10802         (MARK_STRUCT_AS_FREE):
10803         (MARK_STRUCT_AS_NOT_FREE):
10804         Make `gcc -fstrict-aliasing' work properly.
10805
10806 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10807
10808         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
10809         (mswindows_delete_device): Call CoUnnitialize().
10810
10811         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
10812
10813 2000-02-25    <CraigL@DyCon.com>
10814
10815         * process-nt.c: MinGW now has <shellapi.h>, but still needs
10816         <errno.h>.
10817
10818         * sysdep.c: This extern declaration for environ prevents MinGW
10819         from finding the variable in CRTDLL.DLL.
10820
10821         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
10822         windows headers.
10823         (SHGFI_EXETYPE): ..
10824         (WM_MOUSEWHEEL): ..
10825         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
10826         definitions.
10827         (MMRESULT): Removed, now defined in cygwin's windows headers.
10828         (TIMECAPS): ..
10829         (uid_t,gid_t,pid_t,ssize_t): ..
10830         (_timeb): Removed, MinGW defines both _timeb and timeb.
10831         (HAVE_H_ERRNO): Added.
10832         (HAVE_TZNAME): Added, configure is not detecting this.
10833
10834 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
10835
10836         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
10837         * syntax.c (syntax_match): Use it.
10838
10839         * cmds.c: Import auto-fill-chars from FSF Emacs.
10840         (Vauto_fill_chars): New variables.
10841         (internal_self_insert): Check Vauto_fill_chars.
10842         (vars_of_cmds):
10843         Declare auto-fill-chars as a Lisp variable and initialize it.
10844
10845 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10846
10847         * fileio.c (Fmake_symbolic_link):
10848         (Ffile_symlink_p):
10849         Run handlers even if local machine doesn't have symlinks.
10850
10851 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10852
10853         * event-msw.c (mswindows_drain_windows_queue):
10854         Don't generate paint magic events for non-XEmacs frames.
10855
10856 2000-03-05  Andy Piper  <andy@xemacs.org>
10857
10858         * redisplay.c (redisplay_frame): generate_displayable_area and
10859         friends assumes that we are not in GC, we therefore have to make
10860         sure that this doesn't happen.
10861
10862         * gutter.c (calculate_gutter_size): generate_displayable_area
10863         assumes that we are not in GC, we therefore have to make sure that
10864         this doesn't happen.
10865
10866 2000-03-05  Martin Buchholz  <martin@xemacs.org>
10867
10868         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
10869
10870 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10871
10872         * redisplay.c (regenerate_window): Make sure we set a sane value
10873         for end_pos even if we jump out of the loop.
10874         (regenerate_window): Answer Ben's question :-).
10875         (start_end_of_last_line): Add may_error argument.
10876         (start_of_last_line):
10877         (end_of_last_line): Pass may_error = 0.
10878         (end_of_last_line_may_error): New function.
10879         (pixel_to_glyph_translation): Use it, so we don't crash in
10880         event_to_glyph.
10881
10882 2000-03-04  Andy Piper  <andy@xemacs.org>
10883
10884         * window.h (struct window): add gutter_extent_modiff.
10885
10886         * window.c (allocate_window): zero out gutter_extent_modiff.
10887
10888         * redisplay.h: declare sync_display_line_structs.
10889
10890         * redisplay.c (add_glyph_rune): add a better comment.
10891
10892         * redisplay-output.c (sync_display_line_structs): made non-static.
10893         (compare_runes): remove unneccesary glyph cachel access.
10894
10895         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
10896
10897         * gutter.c (output_gutter): don't output the gutter if extent
10898         changes only involve extents in buffers. use 4 sets of display
10899         lines.
10900         (gutter_extent_signal_changed_region_maybe): new function. Mark
10901         extents in gutters as changed.
10902         (update_frame_gutters): use 4 sets of display lines.
10903         (reset_gutter_display_lines): ditto.
10904         (free_frame_gutters): ditto.
10905         (redraw_exposed_gutter): force output of gutters.
10906
10907         * frame.h (struct frame): add 4 sets of gutter display lines.
10908
10909         * extents.c: (extent_changed_for_redisplay): signal changes to
10910         extents in strings in the gutter as well as extents in buffers.
10911
10912 2000-03-02  Andy Piper  <andy@xemacs.org>
10913
10914         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
10915
10916         * frame.c (Fmake_frame): make sure the gutters get initialized
10917         after the frame is visible.
10918         (set_frame_selected_window): re-arrange compilation macros a
10919         little.
10920         (change_frame_size_1): mark gutters changed.
10921
10922         * device.c (Fset_device_class): mark gutters changed.
10923
10924 2000-03-01  Andy Piper  <andy@xemacs.org>
10925
10926         * window.c (window_top_frame_gutter_height): deleted.
10927         (window_bottom_frame_gutter_height): ditto.
10928         (window_left_frame_gutter_height): ditto.
10929         (window_right_frame_gutter_height): ditto.
10930         (window_top_gutter_height): don't use them.
10931         (window_bottom_gutter_height): ditto.
10932         (window_left_gutter_width): ditto.
10933         (window_right_gutter_width): ditto.
10934         (Fsplit_window): ditto.
10935         (Fwindow_pixel_edges): don't use border dimensions here.
10936
10937         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
10938         (update_scrollbar_instance): ditto.
10939
10940         * redisplay.c (generate_modeline): don't take gutters into account.
10941         (generate_modeline): ditto.
10942         (redisplay_frame): small gutter display optimization.
10943
10944         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
10945
10946         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
10947         gutters into account.
10948
10949         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
10950         for window position and type.
10951
10952         * gutter.c (get_gutter_coords): fix for frame gutters.
10953         (update_frame_gutters): update frame geometry if the gutters have
10954         changed.
10955         (init_frame_gutters): record current gutter geometries.
10956
10957         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
10958         var.
10959         (mswindows_widget_instantiate): ditto.
10960
10961         * frame.h (struct frame): add current_gutter_bounds.
10962
10963         * frame.c (change_frame_size_1): position window and minibuffer
10964         appropriately taking into account the frame gutters.
10965
10966         * frame-x.c: (x_initialize_frame_size): take into account the
10967         frame gutters.
10968
10969 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10970
10971         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
10972
10973 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10974
10975         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
10976
10977 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10978
10979         * file-coding.c (reset_decoding_stream): Clear previous
10980         detection state when autodetect.
10981
10982 2000-02-29  Didier Verna  <didier@xemacs.org>
10983
10984         * extents.c (set_extent_glyph_1): don't require extents to be
10985         attached.
10986
10987 2000-02-27  Andy Piper  <andy@xemacs.org>
10988
10989         * gutter.c (Fset_default_gutter_position): don't default left and
10990         right gutter visibility to t.
10991         (Fset_default_gutter_position): run
10992         default-gutter-position-changed-hook.
10993         (syms_of_gutter): add default-gutter-position-changed-hook.
10994
10995 2000-02-26  Andy Piper  <andy@xemacs.org>
10996
10997         * specifier.c (Fmake_specifier): add gutter references.
10998
10999         * gutter.h (RAW_WINDOW_GUTTER): new macro.
11000
11001         * lisp.h: declare Fvalid_plist_p.
11002
11003         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
11004         as changed.
11005         (default_gutter_visible_p_changed_in_window): invalidate gutter as
11006         well as its visibility so that it gets reconstructed.
11007         (construct_window_gutter_spec): new function. Construct a string
11008         to be displayed in the gutter from a plist of strings. Take care
11009         to only use elements that are declared as visible.
11010         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
11011         WINDOW_GUTTER.
11012         (gutter_validate): allow plists of strings in the specifier.
11013         (gutter_specs_changed): construct the real_gutter from the gutter
11014         specs using construct_window_gutter_spec.
11015         (gutter_visible_validate): gutter-visible is a new specifier type.
11016         (Fgutter_visible_specifier_p): new function for the new specifier.
11017         (syms_of_gutter): declare gutter-visible and
11018         Fgutter_visible_specifier_p.
11019         (specifier_type_create_gutter): intitalize new gutter-visible
11020         specifier.
11021         (reinit_specifier_type_create_gutter): ditto.
11022         (specifier_vars_of_gutter): use new specifier type for gutter
11023         visibility.
11024         (init_frame_gutters): construct real_gutter correctly.
11025         (Fgutter_specifier_p): beef up documentation.
11026         (Fgutter_size_specifier_p): ditto.
11027
11028         * winslots.h: add real_gutter slots.
11029
11030 2000-02-25  Andy Piper  <andy@xemacs.org>
11031
11032         * device-msw.c: Be kind to older cygwin versions. From Raymond
11033         Toy <toy@rtp.ericsson.se>.
11034
11035         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
11036         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
11037
11038 2000-02-25  Martin Buchholz  <martin@xemacs.org>
11039
11040         * elhash.c (MARK_OBJ): Practice macro hygiene.
11041
11042 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11043
11044         * miscplay.c: s/__inline__/inline/g;
11045         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
11046         (get_device_compdc): INLINE ==> static inline
11047         * *.[ch]: Change INLINE to INLINE_HEADER globally.
11048         find -name '*.h' | \
11049         xargs global-replace \
11050         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
11051
11052 2000-02-25  Andy Piper  <andy@xemacs.org>
11053
11054         * window.c (window_top_frame_gutter_height): new function.
11055         (window_top_window_gutter_height): ditto.
11056         (window_top_gutter_height): use them.
11057         (window_bottom_frame_gutter_height): new function.
11058         (window_bottom_window_gutter_height): ditto.
11059         (window_bottom_gutter_height): use them.
11060         (window_left_window_gutter_width): new function.
11061         (window_left_frame_gutter_width): ditto.
11062         (window_left_gutter_width): use them.
11063         (window_right_window_gutter_width): new function.
11064         (window_right_frame_gutter_width): ditto.
11065         (window_right_gutter_width): use them.
11066         (window_pixel_height): new function. calulate window pixel height
11067         with frame gutter involvement.
11068         (Fsplit_window): calculate new sizes taking frame gutters into
11069         account.
11070         (window_char_height_to_pixel_height): don't include frame gutters.
11071         (window_char_height): use window_pixel_height.
11072         (window_pixheight): rename from window_pixel_height.
11073         (change_window_height): use it.
11074         (window_pixel_height_to_char_height): don't include frame gutters.
11075         (window_char_width_to_pixel_width): ditto.
11076
11077 2000-02-25  Andy Piper  <andy@xemacs.org>
11078
11079         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
11080         if it is.
11081
11082 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11083
11084         * alloc.c (staticpro):
11085         (staticpro_nodump):
11086         (dumpstruct):
11087         (dumpopaque):
11088         (pdump_wire):
11089         (pdump_wire_list):
11090         (compact_string_chars):
11091         (pdump_dump_wired):
11092         Convert:  if (foo) abort();  ==>  assert (! foo);
11093
11094         * eldap.c (Fldap_search_basic):
11095         (Fldap_add):
11096         (Fldap_modify):
11097         (Fldap_delete):
11098         Fix compiler warnings, and possible crashes if (random) return
11099         value were to be used.
11100
11101 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11102
11103         * device-msw.c: Workaround ResetDC failure.
11104
11105         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
11106         applying a devmode.
11107
11108         * redisplay-msw.c (get_frame_dc): Added start_page_p.
11109         (mswindows_text_width): Do not start printer page.
11110
11111         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
11112
11113         * glyphs-msw.c: Added image methods to msprinter console and
11114         msprinter-specific image instantiation.
11115
11116 2000-02-20  Mike Alexander  <mta@arbortext.com>
11117
11118         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
11119         to avoid crashes when selection-sets-clipboard is on
11120         (mswindows_own_selection): ditto
11121
11122 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11123
11124         * glyphs-msw.c:
11125         * redisplay-msw.c (get_frame_dc):
11126         (get_frame_compdc):
11127         * console-msw.h:
11128         * device-msw.c (mswindows_init_device):
11129         (mswindows_delete_device):
11130         (msprinter_init_device):
11131         (msprinter_delete_device):
11132         * frame-msw.c (mswindows_init_frame_1):
11133         (mswindows_delete_frame):
11134         (msprinter_init_frame_3):
11135         (msprinter_delete_frame): Move compatible DC to device object from
11136         frame object, for both mswindows and msprinter. Only one at a time
11137         is needed, it is a real waste to have one per frame!
11138
11139 2000-02-23  Andy Piper  <andy@xemacs.org>
11140
11141         * glyphs.c: add dynamic width and height elements.
11142         (image_instance_equal): ditto.
11143
11144         * glyphs-widget.c (widget_query_geometry): calculate width and
11145         height dynamically if required.
11146         (initialize_widget_image_instance): initialize dynamic dimensions.
11147         (widget_instantiate): pick-up dynamic dimensions.
11148
11149         * glyphs.h (struct Lisp_Image_Instance): add width and height for
11150         dynamic determination. Add appropriate macros.
11151
11152         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
11153         dimensions safe.
11154         (WINDOW_GUTTER_SIZE): ditto.
11155         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
11156
11157         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
11158         inline.
11159         (get_frame_dc): ditto.
11160
11161         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
11162         here.
11163
11164 2000-02-23  Martin Buchholz <martin@xemacs.org>
11165
11166         * XEmacs 21.2.31 is released.
11167
11168 2000-02-22  Ben Wing <ben@xemacs.org>
11169
11170         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
11171
11172 2000-02-22  Andy Piper  <andy@xemacs.org>
11173
11174         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
11175
11176 2000-02-21  Mike Sperber <mike@xemacs.org>
11177
11178         * .dbxrc:
11179         * .gdbinit:
11180         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
11181         variables.
11182
11183 2000-02-21  Mike Sperber <mike@xemacs.org>
11184
11185         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
11186
11187 2000-02-21  Martin Buchholz <martin@xemacs.org>
11188
11189         * XEmacs 21.2.30 is released.
11190
11191 2000-02-20  Martin Buchholz  <martin@xemacs.org>
11192
11193         Performance hacking.
11194         * *.c (syms_of_*):
11195         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
11196         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
11197         * emacs.c (main_1):
11198         * lisp.h (DEFUN):
11199         * console.c (DEFVAR_CONSOLE_LOCAL_1):
11200         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
11201         * symeval.h (DEFVAR_SYMVAL_FWD):
11202         * symbols.c (guts_of_unbound_marker):
11203         Make all c_readonly objects also lisp_readonly and marked for life.
11204         * lrecord.h (struct lrecord_implementation):
11205         Document flags better.
11206         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
11207         * lrecord.h (DECLARE_LRECORD):
11208         * lrecord.h (XSETRECORD):
11209         * lrecord.h (RECORDP):
11210         * lrecord.h (RECORD_TYPEP):
11211         * lrecord.h (RECORD_MARKER): New.
11212         * lrecord.h (error_check_*):
11213         * lrecord.h (CONCHECK_NONRECORD):
11214         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
11215         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
11216         * lrecord.h (set_lheader_implementation):
11217         * lrecord.h (enum lrecord_type): New.
11218         * symeval.h (SYMBOL_VALUE_MAGIC_P):
11219         * alloc.c (disksave_object_finalization_1):
11220         * alloc.c (mark_object):
11221         * alloc.c (lrecord_type_index):
11222         * alloc.c (tick_lcrecord_stats):
11223         * alloc.c (Fgarbage_collect):
11224         * alloc.c (init_alloc_once_early):
11225         * alloc.c (pdump_load):
11226         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
11227         * alloc.c (lrecord_type_index): Delete.
11228         Make lisp object type indexes be constant.
11229           Makes (byte-compile) 5% faster.
11230         Put all marker functions into their own array.
11231           Makes (garbage-collect) 5% faster.
11232         Optimize SYMBOL_VALUE_MAGIC_P.
11233           Makes (byte-compile) 2-3% faster.
11234         * config.h.in (gc_checking_assert): New.
11235         * alloc.c: Use gc_checking_assert().
11236         * .dbxrc: Make compatible with new object type implementation.
11237         * .gdbinit: Make compatible with new object type implementation.
11238         * alloc.c: Delete all symbols defined only for debugging, such as
11239         Lisp_Type_Vector and lrecord_charset.
11240
11241 2000-02-21  Andy Piper  <andy@xemacs.org>
11242
11243         * gui-msw.c (Fmswindows_shell_execute): fix file location
11244         problems.
11245
11246         * buffer.c (Fkill_buffer): remove buffer from alist buffer
11247         unshowing so that set_window_buffer doesn't undo
11248         kill_buffer_hook's hard work.
11249
11250         * glyphs-widget.c (tab_control_query_geometry): don't count the
11251         first item when calculating geometry.
11252
11253         * glyphs.c (map_subwindow): remove redundant code.
11254         (update_frame_subwindows): be more circumspect about when to
11255         update subwindows.
11256
11257         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
11258         when items haven't changed. Update faces if faces have changed as
11259         well as just the widget face.
11260         (x_tab_control_update): Update faces if faces have changed as well
11261         as just the widget face.
11262
11263 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11264
11265         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
11266         registration.
11267         (build_syscolor_string): Use mswindows_color_to_string to try to
11268         get a named color.
11269         (mswindows_device_system_metrics): Reverse the foreground and
11270         background colors so that they match the documentation.
11271
11272         * objects-msw.c: (mswindows_X_color_map): tweak some values so
11273         they match the default Windows palette.
11274         (mswindows_color_to_string): New function.
11275
11276 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11277
11278         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
11279
11280 2000-02-18  Olivier Galibert  <galibert@pobox.com>
11281
11282         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
11283         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
11284
11285         * symbols.c (init_symbols_once_early): Removed obsolete
11286         DATA_SEG_BITS related kludge.
11287         (defvar_magic): Ditto.
11288
11289         * malloc.c: Removed obsolete DATA_SEG_BITS
11290         * ralloc.c: Ditto.
11291         * mem-limits.h: Ditto.
11292
11293         * Makefile.in.in: Removed obsolete HAVE_SHM
11294         * emacs.c: Ditto.
11295
11296 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11297
11298         *  device-msw.c (mswindows_delete_device): Free DDE string
11299         handles.
11300
11301 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11302
11303         * keymap.c (get_keyelt):
11304         * unexnt.c (unexec):
11305         * vm-limit.c (memory_warnings):
11306         * ntheap.c (recreate_heap):
11307         * ntheap.h (UNINIT_PTR):
11308         * select-msw.c (Fmswindows_get_clipboard):
11309         (Fmswindows_set_clipboard):
11310         * objects-msw.h (MSWINDOWS_BAD_HFONT):
11311         * objects-msw.c:
11312         * menubar-msw.c (displayable_menu_item):
11313         * glyphs-msw.c:
11314         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
11315         * sysdep.c (sys_subshell):
11316         * process-nt.c (nt_create_process):
11317         * nt.c (normalize_filename):
11318         (dostounix_filename):
11319         (unixtodos_filename):
11320         * ntproc.c (win32_executable_type):
11321         * ntplay.c (play_sound_data_1):
11322         (play_sound_file):
11323         * editfns.c (get_home_directory):
11324         * event-msw.c (struct winsock_stream):
11325         (mswindows_dde_callback):
11326         * device-msw.c (msprinter_init_device):
11327         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
11328
11329         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
11330         mswindows_clear_toolbar were swapped!
11331
11332         * objects-msw.c:(colormap_t):
11333         (fontmap_t):
11334         * emacs.c (struct standard_args): Fixed const jumble.
11335
11336         * glyphs-widget.c (update_widget): Fixed comparison notation.
11337
11338         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
11339
11340         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
11341         __declspec(noreturn) syntax.
11342
11343 2000-02-19  Martin Buchholz  <martin@xemacs.org>
11344
11345         * eldap.c (Fldap_open):
11346         (Fldap_search_basic):
11347         (Fldap_add):
11348         (Fldap_modify):
11349         Use new coding system conversion macros.
11350
11351 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11352
11353         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
11354
11355 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
11356
11357         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
11358         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11359
11360         * eldap.c (Qadd, Qreplace): New constant symbols
11361         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
11362         interruptions by XEmacs signals
11363         Remove unnecessary calls to slow_down_interrupts and
11364         speed_up_interrupts
11365         (Fldap_search_basic): Renamed from Fldap_search_internal
11366         Added new optional parameter VERBOSE that triggers the
11367         display of progress messages
11368         Remove unnecessary calls to slow_down_interrupts and
11369         speed_up_interrupts
11370         LDAP result code analysis rewritten
11371         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11372         (syms_of_eldap): Define the new symbols and functions
11373
11374
11375 2000-02-17  Martin Buchholz  <martin@xemacs.org>
11376
11377         * realpath.c: Determine PATH_MAX maximally portably.
11378
11379         * insdel.c (bytecount_to_charcount): Optimize.
11380         The function used to be optimized for entirely ASCII sequences.
11381         Now it is optimized for successive characters from the same
11382         charset.  This also wins big for _mostly_ ASCII sequences.
11383
11384         * fileio.c (Ffile_truename): convert return from realpath() using
11385         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
11386         - Rewrite GCPROing slightly.
11387
11388         * sysdep.c (sys_open): Do filename conversion, like all other
11389         sys_* functions.  Fixes bug:
11390         (let ((file-name-coding-system 'iso-8859-2))
11391            (write-region x y latin2-name))
11392         ==> writes filename using internal encoding.
11393
11394 2000-02-18  Martin Buchholz  <martin@xemacs.org>
11395
11396         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
11397         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
11398         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
11399         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
11400         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
11401         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
11402         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
11403         (CONST_IF_NOT_DEBUG): Delete.
11404         * alloc.c (this_one_is_unmarkable): Delete.
11405         (mark_object): Don't check for this_one_is_unmarkable. Use the
11406         c_readonly flag instead.
11407         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
11408
11409 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11410
11411         * event-msw.c (mswindows_drain_windows_queue):
11412         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
11413         away redundant repaint events.
11414
11415 2000-02-17  Andy Piper  <andy@xemacs.org>
11416
11417         * redisplay.h: declare mark_redisplay_structs.
11418
11419         * redisplay.c (redisplay_window):
11420         (redisplay_frame): don't check subwindows_state_changed.
11421         (mark_redisplay): mark gutters here.
11422
11423         * glyphs.c: (instantiate_image_instantiator): always layout if we
11424         haven't done so already.
11425         (allocate_image_instance): don't mark as dirty.
11426         (update_subwindow): bind inhibit_quit.
11427
11428         * gutter.c (mark_gutters): new function.
11429
11430         * glyphs-x.c (x_update_widget): Always resize to get round a
11431         widget bug.
11432
11433         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
11434         breaking absolutely everything.
11435
11436         * gutter.h: declare mark_gutters.
11437
11438 2000-02-16  Martin Buchholz <martin@xemacs.org>
11439
11440         * XEmacs 21.2.29 is released.
11441
11442 2000-02-15  Olivier Galibert  <galibert@pobox.com>
11443
11444         * fns.c (size_bit_vector): Fix computation of the size.
11445
11446 2000-02-15  Martin Buchholz  <martin@xemacs.org>
11447
11448         * *.[ch]: Change CONST to const globally.
11449         find -name '*.[ch]' | \
11450         xargs global-replace \
11451         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
11452         - Remove vestigial references to CONST_IS_LOSING
11453
11454 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11455
11456         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
11457         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
11458         events instead of dispatching them directly.
11459         (mswindows_handle_paint): New function to do repainting.
11460         (mswindows_wnd_proc):
11461         (emacs_mswindows_handle_magic_event): Call above function.
11462
11463 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11464
11465         * objects-msw.c (mswindows_create_font_variant): Return the new
11466         font handle.
11467         (initialize_font_instance): Get font metrics from the underlined
11468         variant of the font to cope with the case where the underlined
11469         font has a bigger descent.
11470
11471 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11472
11473         * gui.c (gui_item_accelerator): Return the first underlined
11474         character in item name.
11475
11476 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11477
11478         * lisp.h: Added Qprinter.
11479
11480         * general.c (syms_of_general): Initialized it.
11481
11482         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
11483         (get_frame_dc):
11484         (get_frame_compdc): Made inline.
11485
11486         * console.h (struct console_methods): Added eject_page method.
11487
11488         * frame.h: Added FRAME_DISPLAY_P and friends.
11489         Aligned backslahes in many macros in more readable fashion.
11490         Added page_number to struct frame, and an accessor macro
11491         for it.
11492
11493         * defice.h: Added DEVICE_DISPLAY_P and friends.
11494
11495         * device.c (Fdevice_printer_p): Used these.
11496
11497         * frame.c (allocate_frame_core): Initialize page number.
11498         (Fprint_job_page_number):
11499         (Fprint_job_eject_page): Implemented.
11500
11501         * frame-msw.c (msprinter_eject_page): Added method.
11502         (msprinter_start_page): Added.
11503
11504         * window.c (Fwindow_truncated_p): Fixed docstring.
11505         (Fwindow_last_line_visible_height): Implemented.
11506
11507 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11508
11509         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
11510
11511 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11512
11513         * syntax.c (scan_words): Always advance at least one character.
11514
11515 2000-02-13  Andy Piper  <andy@xemacs.org>
11516
11517         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
11518         to make sure the glyph is in the cachels.
11519
11520         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
11521         global image instance flag.
11522         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
11523         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
11524
11525         * glyphs.c (allocate_image_instance): set dirty bits correctly.
11526         (Fset_image_instance_property): mark layout as changed.
11527         (invalidate_glyph_geometry_maybe): mark layout as changed.
11528         (glyph_width): use new NEEDS_LAYOUT macro.
11529         (glyph_ascent): ditto.
11530         (glyph_descent): ditto.
11531         (glyph_height): ditto.
11532         (image_instance_layout): mark layout as clean after laying out.
11533         (update_subwindow): don't mark layout as clean here.
11534
11535         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
11536         should no longer be needed.
11537
11538         * glyphs-x.c (x_update_widget): sanitize asserts.
11539         (x_finalize_image_instance): sanitize assignment to widgets.
11540
11541         * glyphs-widget.c (widget_instantiate): don't need to clear the
11542         layout flag here.
11543
11544 2000-02-13  Martin Buchholz  <martin@xemacs.org>
11545
11546         * sysdep.c (getcwd): Use standard prototype.
11547         * sysdep.h (getcwd): Use standard prototype.
11548
11549         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
11550         (sequence, start, end).
11551         Remove redundant type checking.
11552         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
11553         view of `caller-protects') to avoid a crash where the real fix was
11554         found elsewhere.
11555
11556 2000-02-12  Martin Buchholz  <martin@xemacs.org>
11557
11558         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
11559
11560         * s/sol2.h: Remove feature macro initialization.
11561
11562         * alloc.c (alloc_lcrecord): Add more type checking assertions.
11563         (vector_hash): New.  Code from internal_hash.
11564         * lrecord.h:
11565         Fix up allocation subsystem comments.
11566
11567         * config.h.in: Add __EXTENSIONS__ for Solaris.
11568
11569         * systime.h (EMACS_GETTIMEOFDAY): New.
11570         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
11571         Remove Solaris-specific code.
11572         Use void* for the (ignored) second arg for gettimeofday().
11573
11574         * elhash.c (hash_table_hash): Implement it, finally.
11575         * elhash.c:  Use hashcode_t.
11576
11577         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
11578         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
11579
11580         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
11581         * fns.c (size_bit_vector):
11582         * alloc.c (size_vector):
11583         (make_vector_internal):
11584         (make_bit_vector_internal):
11585         (sweep_bit_vectors_1):
11586         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
11587
11588 2000-02-10  Martin Buchholz  <martin@xemacs.org>
11589
11590         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
11591         Include strings.h to avoid warnings for bzero and strcasecmp.
11592
11593 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11594
11595         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
11596         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
11597
11598         * fns.c (size_bit_vector): New.  Declare bit vectors as a
11599         sequence.
11600
11601 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11602
11603         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
11604         use a value field instead.
11605         (symbol_value_forward_forward): Use value field.
11606         (DEFVAR_SYMVAL_FWD): Use value field.
11607         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
11608         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
11609         (DEFVAR_CONST_INT): Ditto.
11610         (DEFVAR_BOOL): Ditto.
11611         (DEFVAR_CONST_BOOL): Ditto.
11612         (DEFVAR_INT_MAGIC): Ditto.
11613         (DEFVAR_BOOL_MAGIC): Ditto.
11614
11615         * symbols.c (guts_of_unbound_marker): Use value field.
11616         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
11617         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
11618
11619         * lisp.h: Declare dumpopaque and noninteractive1.
11620
11621         * alloc.c (dumpopaque): Added.
11622         (pdump_dump_opaquevec): Added.
11623         (pdump): Call pdump_dump_opaquevec to dump opaque data.
11624         (pdump_load): Reload opaque data.  Sync noninteractive1 with
11625         noninteractive.
11626
11627 2000-02-10  Andy Piper  <andy@xemacs.org>
11628
11629         * glyphs.c (image_instance_layout): if the size changes, mark it
11630         as such.
11631
11632         * redisplay-output.c (redisplay_output_layout): Update the
11633         subwindow here.
11634         (redisplay_output_subwindow): ditto.
11635
11636         * glyphs.c (update_subwindow): make sure we reset flags for
11637         layouts as well as everything else.
11638
11639         * glyphs-widget.c (layout_layout): don't need to set the instances
11640         dimensions here.
11641
11642 2000-02-09  Martin Buchholz  <martin@xemacs.org>
11643
11644         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
11645         not HAVE_DLOPEN, which is a lower-level thing.
11646
11647         * .cvsignore: Ignore gmon.out
11648
11649 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
11650
11651         * .cvsignore: Ignore portable dumper xemacs.dmp file
11652
11653 2000-02-09  Andy Piper  <andy@xemacs.org>
11654
11655         * redisplay-output.c (redisplay_output_layout): be more clever
11656         about when we output based on the changed flags.
11657
11658         * glyphs.h (struct image_instantiator_methods): add update_method.
11659         (struct Lisp_Image_Instance): add changed flags. Declare new
11660         macros for manipulating them.
11661
11662         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
11663         (image_instance_parent_glyph): find an image_instance's parent
11664         glyph or image_instance.
11665         (image_instance_layout): mark the size as changed.
11666         (set_image_instance_dirty_p): new function. mark an image
11667         instance, plus all of its parents, as dirty.
11668         (Fset_image_instance_property): use it.
11669         (Fglyph_animated_timeout_handler): use it.
11670         (update_subwindow): call update_widget and device methods for
11671         update_subwindow. Mark all changed flags as clean.
11672         (Fresize_subwindow): mark size as changed.
11673
11674         * glyphs-x.c (x_finalize_image_instance): try and detect gc
11675         failures.
11676         (x_update_subwindow): only resize subwindows here.
11677         (x_update_widget): new function. Update all changed properties of
11678         a widget.
11679         (x_resize_subwindow): deleted.
11680         (x_widget_set_property): deleted.
11681         (x_progress_gauge_set_property): deleted.
11682         (x_progress_gauge_update): new function. Implement recorded
11683         changes.
11684         (x_tab_control_update): ditto.
11685         (x_tab_control_set_property): deleted.
11686         (console_type_create_glyphs_x): declare new functions.
11687         (image_instantiator_format_create_glyphs_x): ditto.
11688
11689         * glyphs-widget.c (widget_set_property): mark text changed.
11690         (update_widget): new function. Update properties of a widget.
11691         (widget_instantiate): for layouts make sure we set their
11692         children's parent correctly.
11693         (tab_control_set_property): new function. Record changes that will
11694         take place under redisplay's control.
11695         (progress_gauge_set_property): ditto.
11696         (image_instantiator_progress_guage): declare new functions.
11697         (image_instantiator_tab_control): ditto.
11698
11699         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
11700         now.
11701         (mswindows_update_widget): new function. Update all properties on
11702         a widget that have changed.
11703         (mswindows_button_update): new function. Update a button's set
11704         state.
11705         (mswindows_tab_control_update): new function. Update the items in
11706         a tab.
11707         (mswindows_tab_control_set_property): deleted.
11708         (mswindows_progress_gauge_update): new function. Update the
11709         progress gauge's progress.
11710         (mswindows_widget_set_property): deleted. This is all done
11711         asynchronously now.
11712         (mswindows_progress_gauge_set_property): ditto.
11713         (console_type_create_glyphs_mswindows): declare new methods.
11714         (image_instantiator_format_create_glyphs_mswindows): ditto.
11715
11716         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
11717         (msprinter_set_frame_properties): ditto.
11718
11719         * console.h (struct console_methods): Add update_widget_method.
11720
11721 2000-02-09  Andy Piper  <andy@xemacs.org>
11722
11723         * gui-msw.c (Fmswindows_shell_execute): Make
11724         mswindows-shell-execute industrial strength.
11725
11726 2000-02-08  Martin Buchholz  <martin@xemacs.org>
11727
11728         * lrecord.h: Make macro argument `props' match member function `plist'.
11729         * fns.c (Fget):
11730         * fns.c (Fput):
11731         * fns.c (Fremprop):
11732         * fns.c (Fobject_plist):
11733         * alloc.c:
11734         * symbols.c:
11735         Object property list frobbing cleanup.
11736         - Allow any lisp object (compared with `eq'), not just symbols, as
11737           keys in object plists.
11738         - Move symbol plist frobbing into symbols.c, where it belongs.
11739         - Move string plist frobbing into alloc.c, where it belongs.
11740         - Everything's an lrecord now, so no need to test for symbolp, etc.
11741         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
11742
11743         * extents.c: Reorder code to remove declarations.
11744
11745         * frame.h (store_in_alist): Remove useless declaration.
11746
11747 2000-02-07  Martin Buchholz  <martin@xemacs.org>
11748
11749         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
11750         * config.h.in: Add HAVE_XCONVERTCASE.
11751
11752 2000-02-07  Andy Piper  <andy@xemacs.org>
11753
11754         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
11755         it breaks many things.
11756
11757 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11758
11759         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
11760         actually can start a common comment type.
11761         * src/syntax.h (SYNTAX_END_P): ditto for end.
11762
11763 2000-02-07  Martin Buchholz <martin@xemacs.org>
11764
11765         * XEmacs 21.2.28 is released.
11766
11767 2000-02-06  Martin Buchholz  <martin@xemacs.org>
11768
11769         * event-Xt.c (x_keysym_to_character): New.
11770         (maybe_define_x_key_as_self_inserting_character): New.
11771         (x_has_keysym): New.
11772         Auto-define all keys on the keyboard as self-insert-key.
11773
11774 2000-02-02  Martin Buchholz  <martin@xemacs.org>
11775
11776         * menubar.c (vars_of_menubar): A small code simplification.
11777
11778         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
11779
11780         * ExternalShell.c:
11781         * ExternalClient.c:
11782         * EmacsShell-sub.c:
11783         * EmacsManager.c:
11784         * EmacsFrame.c:
11785         Use consistent style for specifying X resources.
11786
11787         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
11788         This makes (dontusethis-set-symbol-value-handler) actually usable.
11789
11790         * lrecord.h (lrecord_decription_type):
11791         * alloc.c (pdump_register_sub):
11792         (pdump_dump_data):
11793         (pdump_reloc_one):
11794         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
11795         Comply with XEmacs coding style.
11796         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
11797         args, and XD_LISP_OBJECT_ARRAY with 3 args.
11798
11799         * keymap.c (Faccessible_keymaps):
11800         Make (accessible-keymaps map "\C-h") do the Right Thing.
11801         Make (accessible-keymaps map []) do the Right Thing.
11802         Make (accessible-keymaps map "") do the Right Thing.
11803         (check_keymap_definition_loop): New function.
11804         (keymap_store_internal): Keep luser from shooting self in foot,
11805           via (define-key ctl-x-4-map "p" global-map).
11806         Remove fullness slot from struct Lisp_Keymap, since hash tables
11807         are now reliable.
11808         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
11809
11810 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11811
11812         * redisplay.c (init_redisplay): Fix small memory leak.
11813         * elhash.h:
11814         * elhash.c (pdump_reorganize_hash_table):
11815         Rename from reorganize_hash_table. Change prototype.
11816         Reuse the original memory for hentries.  Save 100k.
11817         * alloc.c (PDUMP_READ): new macro.
11818         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
11819         * alloc.c: No need to #ifndef before #undef.
11820
11821         * print.c: Allow debug_print() to print readably by modifying
11822         debug_print_readably.  Use consistent variable names.
11823
11824         * .dbxrc: Try to get things to work even if stopped in a function
11825         without source available by explicitly specifying source files.
11826 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11827
11828         * unexnt.c (_start): Removed bogus code which caused loading heap
11829         from differrent executable file.
11830         Removed bogus assignment to _fmode, which caused inconsistencies.
11831
11832 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11833
11834         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
11835         Have spawnve encapsulation regard DONT_ENCAPSULATE.
11836         Do not preliminary `#define signal sigset'.
11837
11838         * systime.h: Do not prototype environ on windows nt and cygwin,
11839         this conflicts with system header.
11840
11841         * syssignal.h: Use correct define for WINDOWSNT
11842
11843         * sysdep.h: Do not prototype environ on windows nt, this conflicts
11844         with system header.
11845
11846         * sysdep.c (near start of file): Fixed commentary and rearranged
11847         ifdefs in readable order.
11848         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
11849         (start_of_text):
11850         (end_of_text):
11851         (end_of_data): Do not compile in if using PDUMP.
11852
11853         * symsinit.h: Prototyped vars_of_nt().
11854
11855         * ntproc.c (windows9x_p): Added, instead of os_subtype.
11856         (find_child_console): Use it.
11857         (sys_kill): Use it.
11858
11859         * ntheap.h: Do not extern os_subtype.
11860
11861         * ntheap.c (cache_system_info): Do not cache unneeded:
11862         nt_major_version, nt_minor_version and os_subtype.
11863         (recreate_heap): Do not compile in when PDUMPing.
11864
11865         * nt.c (geteuid and friends): Use the new varibale
11866         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
11867         (init_user_info): Removed the above mentioned hackery.
11868         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
11869         stat has been fixed in the C runtime.
11870         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
11871
11872         * file-coding.c (struct file_coding_dump): Do not define
11873         ucs_to_mule_table in the struct if not MULE.
11874         (struct struct lrecord_description fcd_description_1): Do not dump
11875         the above.
11876
11877         * emacs.c (main_1): Call vars_of_nt().
11878         (right before Fdump_emacs_data): Don't need lastfile if using both
11879         portabe dumper and system malloc.
11880
11881         * alloc.c (Fmemory_limit): Conditionalized out.
11882         (pdump): Use OPEN_BINARY for the portable dump file.
11883         (pdump_load): Ditto.
11884
11885 2000-02-02  Mike Alexander  <mta@arbortext.com>
11886
11887         * nt.c (convert_time): Set tm_isdst before calling mktime and
11888         avoid calling it at all if the compiler supports 64 bit integers.
11889         Also initialize utc_base_ft before using it.
11890
11891 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11892
11893         * frame.c (change_frame_size_1): Take f->internal_border_width
11894         into consideration when calculating the width of the frame.
11895
11896 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11897
11898         * window.c (frame_min_height):
11899         (frame_size_valid_p):
11900         (frame_pixsize_valid_p): Added.
11901         (check_frame_size): Generalized.
11902
11903         * window.h: Prototyped the above.
11904
11905         * lisp.h:
11906         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
11907         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
11908         Deleted Vwin32_* and Vbinary_process_* unused variables.
11909
11910         * device-msw.c (msprinter_init_device): Do not get printer font
11911         list; Added DEVMODE functions.
11912
11913         * frame-msw.c: Added lots of printer code.
11914
11915         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
11916         general.c.
11917
11918         * console-msw.h: Added more msprinter device private slots.
11919
11920 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11921
11922         * event-msw.c (key_needs_default_processing_p): Added.
11923         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
11924
11925 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11926
11927         * glyphs.c (image_instance_layout): Mark image instance as clean
11928         after layout.
11929         (glyph_dirty_p): Removed redundant function.
11930         (invalidate_glyph_geometry_maybe): Added.
11931         (update_glyph_cachel_data): Call it.
11932
11933         * glyphs.h: Prototyped it.
11934
11935         * redisplay.c (add_glyph_rune): Call it.
11936         (redisplay_window): Reset glyphs cachels when frame faces have
11937         changed, thus forcing recomputation of built-in border glyphs.
11938
11939 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11940
11941         * Makefile.in.in: Make portable dumper and purify play well together.
11942         Add imperfect, but better than nothing, support for pdump.
11943         Remove xemacs.dmp when temacs is re-generated.
11944         Don't ignore errors when dumping xemacs.
11945
11946         * symbols.c (maybe_call_magic_handler): Remove one magic number.
11947
11948 2000-01-28  Andy Piper  <andy@xemacs.org>
11949
11950         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
11951         (setup_normal_frame): ditto.
11952         (setup_frame_without_minibuffer): ditto.
11953         (setup_minibuffer_frame): ditto.
11954         (delete_frame_internal): ditto.
11955         (Fmake_frame_invisible): ditto.
11956         (Ficonify_frame): ditto.
11957
11958         * window.h: change Fset_window_buffer signature.
11959
11960         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
11961         (Fset_window_buffer): allow recording of buffer if the window is
11962         the selected window.
11963         (window_loop): Use new Fset_window signature.
11964
11965 2000-01-23  Daniel Pittman  <daniel@danann.net>
11966
11967         * config.h.in: Added template for `HAVE_ATHENA_3D'
11968
11969 2000-01-29  Andy Piper  <andy@xemacs.org>
11970
11971         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
11972
11973         * gutter.c (output_gutter): Don't output if the window isn't live.
11974
11975 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11976
11977         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
11978         of 01/12/00: Moved SetFocus back here where it belongs.
11979
11980 2000-01-23  Andy Piper  <andy@xemacs.org>
11981
11982         * s/cygwin32.h: declare printer things.
11983
11984 2000-01-26  Andy Piper  <andy@xemacs.org>
11985
11986         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
11987         Alexander.
11988
11989 2000-01-24  Andy Piper  <andy@xemacs.org>
11990
11991         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
11992         (mswindows_button_instantiate): Make sure glyph is a pixmap.
11993
11994         * glyphs-widget.c (widget_instantiate): Avoid shadows.
11995
11996         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
11997
11998         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
11999
12000         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
12001         (mswindows_output_display_block): Avoid local shadows.
12002
12003         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
12004         (mswindows_enqueue_mouse_button_event): ditto.
12005         (mswindows_handle_gui_wm_command): remove declaration.
12006
12007         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
12008         warnings.
12009
12010         * console-msw.h: Avoid shadows.
12011         (mswindows_get_toolbar_button_text):
12012         (emacs_mswindows_create_stream_pair):
12013         (emacs_mswindows_delete_stream_pair):
12014         (mswindows_handle_toolbar_wm_command): declare.
12015
12016         * device-msw.c (build_syscolor_string): Avoid shadows.
12017
12018 2000-01-23  Andy Piper  <andy@xemacs.org>
12019
12020         * glyphs-widget.c (widget_instantiate): reverse the items for
12021         layouts so that children are in the expected order.
12022
12023 2000-01-28  Martin Buchholz  <martin@xemacs.org>
12024
12025         * ralloc.c: safe_bcopy ==> memmove
12026         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
12027         * s/msdos.h: Remove BCOPY macros.
12028         * insdel.c (gap_right): Remove BCOPY conditional code.
12029         * insdel.c (gap_left): Remove BCOPY conditional code.
12030         XEmacs demands a working ANSI C compiler - hence memmove.
12031
12032         * regex.c (regex_compile): Remove accidental use of trigraphs.
12033
12034 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12035
12036         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
12037         event timestamp.
12038
12039 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12040
12041         * event-msw.c (mswindows_drain_windows_queue): Added the
12042         parameter.
12043         (mswindows_need_event): Commented the call to
12044         mswindows_drain_windows_queue().
12045         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
12046         only.
12047
12048         * console-msw.h: Moved a few function prototypes here from
12049         event-msw.c.
12050
12051         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
12052         parameter from unsigned short to unsigned long.
12053         (Fmswindows_shell_execute): Added return value.
12054
12055 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12056
12057         * sysdep.c (init_system_name):
12058           process-unix.c (unix_canonicalized_host_name):
12059         Don't call freeaddrinfo() if getaddrinfo() fails.
12060
12061         * process-unix.c (unix_open_unix_network_stream):
12062         Moved the code to get a port # into address loop.
12063
12064 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12065
12066         * buffer.c (reinit_vars_of_buffer):
12067         The right place to initialize conversion_in_dynarr and
12068         conversion_out_dynarr.
12069
12070         * alloc.c (pdump): Use the real open() till sys_open() is functional.
12071
12072         * process-unix.c (unix_canonicalize_host_name): Muleize.
12073         (unix_open_network_stream): Muleize.
12074
12075         * buffer.h: Fix up prototypes for ralloc.c functions.
12076
12077 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12078         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
12079         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
12080                 instead of gethostbyname()
12081         * process-unix.c: In unix_canonicalize_host_name() and
12082                 unix_open_network_stream(), add code to use getaddrinfo()
12083                 instead of gethostbyname().
12084
12085 2000-01-27  Daniel Pittman <daniel@danann.net>
12086
12087         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
12088         libs when built with flat Athena.
12089
12090 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12091
12092         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
12093         Use coding standards for function prototypes.
12094
12095 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12096
12097         * dialog-msw.c (push_lisp_string_as_unicode):
12098         * doc.c (unparesseuxify_doc_string):
12099         * dired.c (Fuser_name_completion_1):
12100         * dired.c (Fuser_name_all_completions):
12101         * dired.c (free_user_cache):
12102         * dired.c (user_name_completion):
12103         * console-x.c (get_display_arg_connection):
12104         * minibuf.c (clear_echo_area_internal):
12105         * minibuf.c (echo_area_append):
12106         * eldap.c (Fldap_open):
12107         * eldap.c (Fldap_search_internal):
12108         * frame-x.c (x_set_frame_text_value):
12109         * frame-x.c (x_set_frame_properties):
12110         * frame-x.c (x_create_widgets):
12111         * redisplay-tty.c (term_get_fkeys_1):
12112         * objects-x.c (x_parse_nearest_color):
12113         * objects-x.c (x_valid_color_name_p):
12114         * objects-x.c (x_initialize_font_instance):
12115         * objects-x.c (x_list_fonts):
12116         * objects-x.c (x_find_charset_font):
12117         * tooltalk.c (Fadd_tooltalk_message_arg):
12118         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12119         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12120         * process-unix.c (unix_create_process):
12121         * ntproc.c (sys_spawnve):
12122         * sound.c (Fplay_sound_file):
12123         * sound.c (Fplay_sound):
12124         * buffer.c (init_initial_directory):
12125         * buffer.c (init_buffer):
12126         * editfns.c (init_editfns):
12127         * editfns.c (Ftemp_directory):
12128         * editfns.c (Fuser_full_name):
12129         * editfns.c (uncache_home_directory):
12130         * editfns.c (get_home_directory):
12131         * editfns.c (Fuser_home_directory):
12132         * editfns.c (Fformat_time_string):
12133         * editfns.c (Fcurrent_time_string):
12134         * gui-x.c (button_item_to_widget_value):
12135         * database.c (Fopen_database):
12136         * event-Xt.c (x_to_emacs_keysym):
12137         * event-Xt.c (x_event_to_emacs_event):
12138         * event-Xt.c (describe_event_window):
12139         * event-msw.c (mswindows_wnd_proc):
12140         * glyphs-eimage.c (jpeg_instantiate):
12141         * glyphs-eimage.c (gif_instantiate):
12142         * glyphs-eimage.c (png_instantiate):
12143         * glyphs-eimage.c (tiff_instantiate):
12144         * glyphs-x.c (xbm_instantiate_1):
12145         * glyphs-x.c (x_xbm_instantiate):
12146         * glyphs-x.c (x_xface_instantiate):
12147         * glyphs-x.c (autodetect_instantiate):
12148         * glyphs-x.c (cursor_font_instantiate):
12149         * glyphs-x.c (x_widget_instantiate):
12150         * glyphs-x.c (x_widget_set_property):
12151         * glyphs-x.c (x_widget_property):
12152         * glyphs-x.c (BUILD_GLYPH_INST):
12153         * print.c (write_string_to_stdio_stream):
12154         * print.c (output_string):
12155         * print.c (Falternate_debugging_output):
12156         * print.c (Fexternal_debugging_output):
12157         * glyphs-msw.c (extract_xpm_color_names):
12158         * glyphs-msw.c (mswindows_xpm_instantiate):
12159         * glyphs-msw.c (bmp_instantiate):
12160         * glyphs-msw.c (resource_name_to_resource):
12161         * glyphs-msw.c (mswindows_resource_instantiate):
12162         * glyphs-msw.c (xbm_instantiate_1):
12163         * glyphs-msw.c (mswindows_xbm_instantiate):
12164         * glyphs-msw.c (mswindows_xface_instantiate):
12165         * glyphs-msw.c (mswindows_widget_instantiate):
12166         * glyphs-msw.c (add_tree_item):
12167         * glyphs-msw.c (add_tab_item):
12168         * glyphs-msw.c (mswindows_combo_box_instantiate):
12169         * glyphs-msw.c (mswindows_widget_property):
12170         * glyphs-msw.c (mswindows_combo_box_property):
12171         * glyphs-msw.c (mswindows_widget_set_property):
12172         * console.c (stuff_buffered_input):
12173         * objects-msw.c (mswindows_initialize_color_instance):
12174         * objects-msw.c (mswindows_valid_color_name_p):
12175         * objects-msw.c (mswindows_list_fonts):
12176         * objects-msw.c (mswindows_font_instance_truename):
12177         * bytecode.c (optimize_compiled_function):
12178         * select-x.c (symbol_to_x_atom):
12179         * select-x.c (x_atom_to_symbol):
12180         * select-x.c (hack_motif_clipboard_selection):
12181         * select-x.c (selection_data_to_lisp_data):
12182         * select-x.c (lisp_data_to_selection_data):
12183         * select-x.c (Fx_get_cutbuffer_internal):
12184         * select-x.c (Fx_store_cutbuffer_internal):
12185         * buffer.h (TO_EXTERNAL_FORMAT): New function.
12186         * buffer.h (TO_INTERNAL_FORMAT): New function.
12187         * emacs.c (make_arg_list_1):
12188         * emacs.c (make_argc_argv):
12189         * emacs.c (main_1):
12190         * emacs.c (Fdump_emacs):
12191         * emacs.c (split_string_by_emchar_1):
12192         * file-coding.h:
12193         * lisp.h:
12194         * lstream.h:
12195         * symsinit.h:
12196         * device-x.c (x_init_device):
12197         * device-x.c (Fx_valid_keysym_name_p):
12198         * device-x.c (Fx_get_font_path):
12199         * device-x.c (Fx_set_font_path):
12200         * glyphs.c (bitmap_to_lisp_data):
12201         * glyphs.c (pixmap_to_lisp_data):
12202         * alloc.c (make_ext_string): Use coding system arguments.  Update
12203         all callers.
12204         * alloc.c (build_string):
12205         * callproc.c (child_setup):
12206         * callproc.c (init_callproc):
12207         * fileio.c (lisp_strerror):
12208         * fileio.c (directory_file_name):
12209         * fileio.c (Fexpand_file_name):
12210         * fileio.c (Ffile_truename):
12211         * fileio.c (Fsysnetunam):
12212         * fileio.c (Fdo_auto_save):
12213         * sysdep.c (sys_readdir):
12214         * tests.c: New file.  Allow adding C tests.
12215         Replace GET_* macros with a more comprehensible and flexible
12216         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
12217         Modify all calls.
12218         Any coding system can be used to do format conversion.
12219         Eliminate enum external_data_format.
12220         Eliminate convert_to_external_format.
12221         Eliminate convert_to_internal_format.
12222         Make sure file-name, keyboard, terminal, and ctext are always
12223         defined as coding systems or aliases.  Make
12224         file-name-coding-system, terminal-coding-system, and
12225         keyboard-coding-system magical variables that are equivalent to
12226         defining the corresponding coding system aliases.
12227
12228         * file-coding.c (Fcoding_system_canonical_name_p): New function.
12229         * file-coding.c (Fcoding_system_alias_p): New function.
12230         * file-coding.c (Fcoding_system_aliasee): New function.
12231         * file-coding.c (append_suffix_to_symbol): New function.
12232         * file-coding.c (dangling_coding_system_alias_p): New function.
12233         * file-coding.c (Ffind_coding_system):
12234         * file-coding.c (Fcopy_coding_system):
12235         * file-coding.c (encode_coding_no_conversion):
12236         * file-coding.c (syms_of_file_coding):
12237         * file-coding.c (vars_of_file_coding):
12238         Rewrite coding system alias code.
12239         Allow nested aliases, like symbolic links.
12240         Allow redefinition of coding system aliases.
12241         Prevent existence of dangling coding system aliases.
12242
12243         * dired.c (Fuser_name_completion_1):
12244         * dired.c (Fuser_name_all_completions):
12245         A crash would happen if user did QUIT in the middle of building
12246         user_name_cache.  Remove redundant code in mainline and unwind_protect.
12247
12248         * lisp.h:
12249         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
12250
12251         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
12252         an unsigned char *.  Update all callers.
12253
12254 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12255
12256         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
12257
12258 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12259
12260         * elhash.c (hentry_description): Use more portable definition.
12261         (resize_hash_table): Initialize new hentries using
12262         xnew_array_and_zero, thereby simplifying the code.
12263
12264         * mule-charset.c (make_charset): Make sure entire object is
12265         initialized, to avoid Purify warnings.
12266
12267         * alloc.c (resize_string): Fix unlikely crash with big strings.
12268
12269 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12270
12271         * realpath.c (xrealpath):
12272         Don't call getwd().
12273
12274 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12275
12276         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
12277
12278 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
12279
12280         * unexelfsgi.c (unexec): Change the way we decide which segment
12281         should be extended.
12282
12283         Assumption that .bss section should be outside the PT_LOADable
12284         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
12285         it's present) is inside the 'data' segment. This would fail the
12286         test which was used to find a segment to grow and cover new
12287         heap. Instead of this assumption, I created another one - on IRIX
12288         the segment to grow should start below .bss and it's address
12289         should extent above the end of .bss. Once this segment is
12290         identified, it's grown to accommodate the new heap and new
12291         zero-length .bss section is added at the end of .data2.
12292
12293 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12294
12295         * eval.c (Feval): Wrong number of arguments should use original
12296         function, not the indirect_function version of it.
12297
12298 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
12299
12300         * glyphs-x.c (x_button_instantiate): Don't add image if
12301         it is not a pixmap.
12302         (x_locate_pixmap_file): Call Fexpand_file_name when file name
12303         is relative.
12304
12305 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
12306
12307         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
12308         declaration.
12309         (DEFVAR_INT_MAGIC): Ditto.
12310         (DEFVAR_BOOL_MAGIC): Ditto.
12311         * glyphs.h: Reindent backslash.
12312
12313 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12314
12315         * glyphs-widget.c (layout_query_geometry):
12316         (layout_layout): Use correct types for gheight, gwidth.
12317
12318 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12319
12320         * EmacsManager.c (QueryGeometry): Purified.
12321
12322 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12323
12324         * alloc.c (make_float): Make sure entire object is initialized, to
12325         avoid Purify warnings.
12326         (pdump_register_sub): Remove useless assignment.
12327         (pdump): Use xmalloc, not malloc.
12328         (pdump_load): Use xmalloc, not malloc.
12329
12330 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12331
12332         * callproc.c:
12333         * dired-msw.c:
12334         * fileio.c:
12335         * process-nt.c:
12336         * redisplay-msw.c:
12337         * sysdep.c: Removed redundant #include <windows.h>
12338
12339 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12340
12341         * frame.c (delete_frame_internal): Do not delete device when its
12342         implementation so declares.
12343         (delete_frame_internal): Set device selected frame to nil when
12344         last frame goes away.
12345
12346         * device-msw.c (msprinter_device_system_metrics): Implemented.
12347         (mswindows_device_system_metrics): Added 'device-dpi property.
12348
12349         * device.c: (Fdevice_printer_p): Added.
12350         Added 'offset-workspace device metric.
12351
12352         * console.h (device_metrics): Declared DM_offset_workspace.
12353
12354 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12355
12356         * fileio.c (Ffile_truename): Remove pointless and confusing
12357         initialization of elen.
12358
12359         * glyphs-widget.c: Compiler warning fixes.
12360
12361 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
12362
12363         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
12364         instead of a Lisp_Object as argument to make it consistent with
12365         the other LIVE_P macros.
12366         (CHECK_LIVE_PROCESS): New macro.
12367
12368         * process.c: Declare Qprocess_live_p.
12369         (Fprocess_live_p): New function.
12370         (create_process): Use PROCESS_LIVE_P.
12371         (read_process_output): Ditto.
12372         (set_process_filter): Ditto.
12373         (Fdelete_process): Ditto.
12374         (kill_buffer_processes): Ditto
12375         (process_send_signal): Use CHECK_LIVE_PROCESS.
12376         (Fprocess_input_coding_system): Check whether process is still
12377         alive (fix PR#1061).
12378         (Fprocess_output_coding_system): Ditto.
12379         (Fprocess_coding_system): Ditto.
12380         (Fset_process_input_coding_system): Ditto.
12381         (Fset_process_output_coding_system): Ditto.
12382
12383 2000-01-23  Andy Piper  <andy@xemacs.org>
12384
12385         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
12386         layout and widget.
12387
12388         * glyphs.c (mark_image_instance): take into account changed
12389         image_instance format.
12390         (image_instance_equal): ditto.
12391         (image_instance_hash): ditto.
12392
12393         * glyphs-widget.c (widget_instantiate): Incorporate layout
12394         instantiation here. Delay layout of the layout until later.
12395         (layout_instantiate): deleted.
12396         (layout_query_geometry): new function. get the geometry of a
12397         layout.
12398         (layout_layout): layout a layout dynamically.
12399         (image_instantiator_widget): New function - splitting up
12400         image_instantiator_format_create_glyphs_widget for netwinder
12401         compilation.
12402         (image_instantiator_buttons):
12403         (image_instantiator_edit_fields):
12404         (image_instantiator_combo_box):
12405         (image_instantiator_scrollbar):
12406         (image_instantiator_progress_guage):
12407         (image_instantiator_tree_view):
12408         (image_instantiator_tab_control):
12409         (image_instantiator_labels):
12410         (image_instantiator_layout): ditto.
12411         (image_instantiator_format_create_glyphs_widget): Call preceding
12412         functions.
12413
12414 2000-01-22  Martin Buchholz  <martin@xemacs.org>
12415
12416         * process.c (Fset_process_coding_system):
12417         * device-x.c (Fx_keysym_hash_table):
12418         Docstring fixes.
12419
12420         * lstream.c (Lstream_write): Return documented value, not 0.
12421
12422         * fileio.c (directory_file_name):
12423         (Fsubstitute_in_file_name):
12424         (Fsubstitute_insert_file_contents_internal):
12425         (Fwrite_region_internal):
12426         * emacs.c:
12427         * sysdep.c:
12428         * getloadavg.c:
12429         * systty.h:
12430         Remove vestigial APOLLO-conditional code.
12431
12432 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12433
12434         * getpagesize.h: Add guard macros.
12435         * libsst.h: Add guard macros.
12436         * libst.h: Add guard macros.
12437         * line-number.h: Add guard macros.
12438         * ndir.h: Add guard macros.
12439         * sysfloat.h: Add guard macros.
12440         * sysfile.h: Add guard macros.
12441         * sysproc.h: Add guard macros.
12442         * syswait.h: Add guard macros.
12443         * xintrinsic.h: Add guard macros.
12444         * xintrinsicp.h: Add guard macros.
12445         * xmmanager.h: Add guard macros.
12446         * xmmanagerp.h: Add guard macros.
12447         * xmprimitive.h: Add guard macros.
12448         * xmu.h: Add guard macros.
12449         * gpmevent.h: Add copyright statement. Add guard macros.
12450         * miscplay.h: Add guard macros.
12451         * *.h: Use consistent C-standards-approved guard macro names.
12452
12453         * opaque.c (make_opaque): Switch parameter order.
12454         * opaque.h (make_opaque): Switch parameter order.
12455         Update all callers.
12456         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
12457
12458         * config.h.in (type_checking_assert): Added.
12459         (bufpos_checking_assert): Added.
12460
12461 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12462
12463         * alloc.c: Harmless pdump changes.
12464         - Use countof().
12465         - spell alignment correctly.
12466         * sysdep.c: Use countof()
12467
12468 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12469
12470         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
12471         initially_selected_for_input() console method, default to 0.
12472         (semi_canonicalize_console_connection): Try to delegate to
12473         canonicalize_console_connection if no such console method.
12474         (canonicalize_console_connection): Vice versa.
12475         (print_console): Do not print nil connection.
12476
12477         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
12478         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
12479         (XDEVIMPF_FRAMELESS_OK): Added.
12480         (CONSOLE_INHERITS_METHOD): Added.
12481
12482         * console-msw.c (mswindows_canonicalize_console_connection):
12483         Added.
12484         (mswindows_canonicalize_device_connection): Added.
12485
12486         * console-msw.h (struct msprinter_device): Added this struct and
12487         accessor macros.
12488         (mswindows_device): Made fontlist a lisp object.
12489
12490         * device.c (semi_canonicalize_device_connection):  Try to delegate
12491         to canonicalize_device_connection if no such console method.
12492         (canonicalize_device_connection): Vice versa.
12493         (print_device): Do not print nil connection.
12494
12495         * device-msw.c (mswindows_init_device): Call InitCommonControls
12496         when have widgets.
12497         (mswindows_delete_device): Removed fontlist deallocation.
12498         (mswindows_mark_device): Added.
12499
12500         * events.c (event_equal): Added abort() at unreached code.
12501         (event_hash): Ditto.
12502
12503         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
12504         fallback tags of Windows devices.
12505
12506         * general.c (syms_of_general): Initialized Qmsprinter.
12507
12508         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
12509         of fallback tags of Windows devices.
12510
12511         * lisp.h: Declared Qmsprinter.
12512
12513         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
12514         of strings.
12515         (mswindows_list_fonts): Ditto.
12516         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
12517         that it can be used by both mswindows and msprinter devices.
12518         (initialize_font_instance): Added.
12519         (mswindows_initialize_font_instance): Use it.
12520         (msprinter_initialize_font_instance): Added.
12521
12522         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
12523         and implementation flags check.
12524         (redisplay_without_hooks): Changed the call to the above.
12525         (Fredraw_device): Ditto.
12526         (Fredisplay_device): Ditto.
12527
12528         * redisplay-msw.c (get_frame_dc): Implemented.
12529         (get_frame_compdc): Implemented.
12530         (many functions): Use the two functions above to get device
12531         contexts, ether for a window or a printer.
12532
12533 2000-01-21  Olivier Galibert  <galibert@pobox.com>
12534
12535         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
12536         initialization here.
12537         (init_symbols_once_early): Call it.
12538         * emacs.c (main_1): Call it.
12539         * symsinit.h: Declare it.
12540
12541 2000-01-19  Olivier Galibert  <galibert@pobox.com>
12542
12543         * alloc.c: Use a lrecord_header * in the backtrace instead of a
12544         Lisp_Object.
12545         (pdump_backtrace): Ditto.
12546         (pdump_register_object): Ditto.  Cleanup use of the pointers.
12547         (pdump_get_entry): Abort if trying to register a null pointer.
12548         (pdump_dump_data): Cleanup types when relocating.
12549         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
12550         (pdump_dump_rtables): Remove bad casts.
12551         (pdump_load): Cleanup relocation w.r.t union type.  Use a
12552         Lisp_Object instead of a EMACS_INT for the hashtable
12553         reorganization.
12554
12555 2000-01-20  Martin Buchholz  <martin@xemacs.org>
12556
12557         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
12558
12559         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
12560
12561         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
12562
12563         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
12564
12565 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12566
12567         * faces.h (FACE_STRIKETHRU_P): Added.
12568
12569         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
12570         of font variants.
12571
12572         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
12573         (mswindows_set_dc_font): New function, aware of font variants,
12574         separated from mswindows_update_dc.
12575
12576         * objects-msw.h (struct mswindows_font_instance_data): Added
12577         definition.
12578
12579         * objects-msw.c (mswindows_finalize_font_instance): Delete all
12580         cached fonts and the data structure.
12581         (mswindows_initialize_font_instance): Added creation of font data
12582         structure.
12583         (mswindows_print_font_instance): Print at least something.
12584         (mswindows_create_font_variant): Implemented.
12585         (mswindows_get_hfont): Implemented.
12586
12587 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
12588
12589         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
12590         prototyping problem with msvc.
12591
12592         * emacs.c (main_1): added syms_of_gui_mswindows() call
12593
12594         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
12595         syms_of_gui_mswindows() function
12596
12597         * symsinit.h: added the prototype for syms_of_gui_mswindows()
12598
12599 2000-01-18  Martin Buchholz <martin@xemacs.org>
12600
12601         * XEmacs 21.2.27 is released.
12602
12603 2000-01-18  Martin Buchholz  <martin@xemacs.org>
12604
12605         * glyphs-eimage.c (struct tiff_error_struct):
12606         (tiff_error_func):
12607         (tiff_warning_func):
12608         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
12609
12610         * unexmips.c:
12611         * unexhp9k3.c:
12612         * unexfreebsd.c:
12613         * unexec.c: Remove vestigial Lucid C code.
12614         * unexalpha.c:
12615         * unexaix.c:
12616         * termcap.c:
12617         * libsst.c: Ansify.
12618         Remove declarations of errno and strerror().
12619
12620         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
12621
12622         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
12623
12624 2000-01-16  Martin Buchholz  <martin@xemacs.org>
12625
12626         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
12627         Optimize.
12628
12629 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12630
12631         * md5.c:
12632         * file-coding.c:
12633         * file-coding.h:
12634         Change enum eol_type to eol_type_t.
12635
12636 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12637
12638         * gui.c (get_gui_callback): Check cons before accessing car.
12639
12640 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12641
12642         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
12643         (XSETSPECIFIER_TYPE): Ditto.
12644
12645 2000-01-17  Didier Verna  <didier@xemacs.org>
12646
12647         * redisplay.c (generate_fstring_runes): compute string size in
12648         characters, not bytes.
12649
12650 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12651
12652         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
12653
12654 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
12655
12656         * print.c (print_error_message): Call print_prepare().
12657
12658 2000-01-14  Martin Buchholz  <martin@xemacs.org>
12659
12660         * .dbxrc: Renamed from dbxrc.
12661
12662         * events.c (event_to_character):
12663         Use `assert (foo)' instead of `if (!foo) abort()'
12664
12665         * .gdbinit (xtype): Add documentation.
12666         * .gdbinit (check-temacs): New function.
12667         * .gdbinit (check-xemacs): New function.
12668         * dbxrc (check-xemacs): New function.
12669         * dbxrc (check-xemacs): New function.
12670
12671 2000-01-14  Andy Piper  <andy@xemacs.org>
12672
12673         * glyphs-widget.c (widget_query_geometry): Make sure that we
12674         calculate default dimensions correctly.
12675
12676 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12677
12678         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
12679
12680         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
12681         pdump_wire'd variable.
12682
12683         * emacs.c: (main_1): Conditionalized calls to
12684         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
12685
12686 2000-01-13  Martin Buchholz  <martin@xemacs.org>
12687
12688         * window.c (Fset_window_configuration):
12689         * sysdep.c (_start):
12690         * input-method-motif.c (res):
12691         * event-Xt.c (Xt_process_to_emacs_event):
12692         Simple compiler warning fixes.
12693
12694         * bytecode.c (funcall_compiled_function): Use the original
12695         function symbol on the backtrace list in preference to the
12696         compiled_function object in error messages.
12697
12698 2000-01-13  Andy Piper  <andy@xemacs.org>
12699
12700         * glyphs-x.c (update_widget_face): Make sure we update the widget
12701         background as well as foreground.
12702
12703 2000-01-13  Andy Piper  <andy@xemacs.org>
12704
12705         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
12706         fields to subwindow.
12707         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
12708         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
12709         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12710         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12711
12712         * glyphs-widget.c (check_valid_tab_orientation): new function.
12713         (initialize_widget_image_instance): zero orientation and
12714         justification.
12715         (widget_instantiate): pick up orientation.
12716         (tab_control_query_geometry): return appropriate values for
12717         vertical tabs.
12718
12719         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
12720         appropriate creation flags for left, right and bottom tabs.
12721
12722         * s/cygwin32.h: add tab definitions.
12723
12724 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12725
12726         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
12727         frame upon hiding a subwindow.
12728         (mswindows_button_instantiate): Changed the push button style to
12729         BS_PUSHBUTTON.
12730         (mswindows_button_instantiate): Removed button BS_NOTIFY
12731         style.
12732         (mswindows_button_instantiate): Removed redundant check for
12733         a disabled gui item.
12734         (mswindows_button_instantiate): Made use of WS_TABSTOP
12735         consistent: "operable" controls (edit, button, tree, scroll) have
12736         this style, "display-only" ones (static, progress gauge) do
12737         not. This style is currently ignored by XEmacs though. Also,
12738         removed the WS_EX_CONTROLPARENT style - it is not for children,
12739         it is for their parents!
12740         (mswindows_edit_field_instantiate): Ditto.
12741         (mswindows_progress_gauge_instantiate): Ditto.
12742         (mswindows_tree_view_instantiate): Ditto.
12743         (mswindows_tab_control_instantiate): Ditto.
12744         (mswindows_scrollbar_instantiate): Ditto.
12745         (mswindows_combo_box_instantiate): Ditto.
12746         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
12747         style to the "clip" window.
12748         (mswindows_button_instantiate): Removed compilation warning by
12749         equally typing terms of the ?: operator.
12750
12751 2000-01-12  Didier Verna  <didier@xemacs.org>
12752
12753         * redisplay.c (generate_fstring_runes): new parameter holding the
12754         last modeline-format extent.
12755         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
12756         extent, fill the glyph block with it.
12757         (generate_fstring_runes): handle these parameters.
12758         (generate_formatted_string_db): ditto.
12759
12760         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
12761         glyphs'extents in the modeline.
12762
12763 1999-01-11  Mike Woolley  <mike@bulsara.com>
12764
12765         * ntheap.c: Reduced the reserved heap space from 1Gb down to
12766         256Mb, as a workaround for the non-starting problem many people
12767         have experienced.
12768
12769 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12770
12771         * console-tty.c (Fset_console_tty_output_coding_system):
12772         Force redrawing tty frame.
12773
12774 2000-01-10  Didier Verna  <didier@xemacs.org>
12775
12776         * redisplay.c (generate_fstring_runes): fix size computation bug.
12777
12778 2000-01-09  William M. Perry <wmperry@aventail.com>
12779
12780         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
12781
12782 2000-01-09  Andy Piper  <andy@xemacs.org>
12783
12784         * glyphs-msw.c: index -> i to avoid shadows.
12785         (xbm_create_bitmap_from_data): make static.
12786         (check_valid_string_or_int): deleted.
12787         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
12788
12789         * glyphs-x.c (x_update_subwindow): remove unused args.
12790
12791         * glyphs.c (glyph_image_instance): return the thing. Don't set the
12792         back pointer - this is done in allocate_image_instance.
12793         (query_string_font): return Qnil to make the compiler happy.
12794         (unmap_subwindow): set to ~0 to make the compiler happy.
12795         (glyph_query_geometry): comment out until used.
12796         (glyph_layout): ditto.
12797
12798 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12799
12800         * insdel.c (signal_after_change): Remove extraneous unbind_to().