update.
[chise/xemacs-chise.git] / src / ChangeLog
1 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * mule-charset.c (decode_builtin_char): Change semantics of
4         code-offset of coded-charset.
5         (charset_code_point): Likewise.
6         (range_charset_code_point): Likewise.
7         (complex_vars_of_mule_charset): Modify for the change.
8
9 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
10
11         * mule-charset.c (Fencode_char): Reverse arguments.
12
13         * mule-charset.c (charset_code_point): Fixed.
14
15 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
16
17         * mule-charset.c (Vcharset_mojikyo): Deleted.
18         (Vcharset_mojikyo_2022_1): Deleted.
19         (Vcharset_mojikyo_pj_{1..21}): Deleted.
20         (Qmin_code): New variable in UTF-2000.
21         (Qmax_code): Likewise.
22         (Qmother): Likewise.
23         (Qconversion): Likewise.
24         (Q94x60): Likewise.
25         (Qmojikyo): Deleted.
26         (Qmojikyo_2022_1): Deleted.
27         (Qmojikyo_pj_{1..22}): Deleted.
28         (mark_charset): Mark `cs->mother'.
29         (charset_description): Add description for `mother'.
30         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
31         new arguments `mother' and `conversion'; use
32         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
33         (charset_code_point): Moved from char-ucs.h; support `mother'
34         charset feature.
35         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
36         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
37         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
38         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
39         allow 2 as the value of `graphic' in UTF-2000; add new properties
40         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
41         require `final' in UTF-2000; modify for `make_charset'.
42         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
43         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
44         (Fcharset_property): Support `mother', `min-code' and `max-code'.
45         (Fencode_char): New function.
46         (syms_of_mule_charset): Add new builtin function `encode-char' in
47         UTF-2000; add new symbols `min-code', `max-code', `mother',
48         `conversion' and `94x60'; delete symbols `mojikyo',
49         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
50         (complex_vars_of_mule_charset): Modify for `make_charset' change;
51         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
52         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
53
54         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
55         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
56
57         * char-ucs.h (Vcharset_mojikyo): Deleted.
58         (Vcharset_mojikyo_2022_1): Deleted.
59         (LEADING_BYTE_MOJIKYO): Deleted.
60         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
61         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
62         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
63         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
64         add new member `mother'; add new member `conversion'.
65         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
66         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
67         (CHARSET_MOTHER): New macro.
68         (CHARSET_CONVERSION): New macro.
69         (CONVERSION_IDENTICAL): New macro.
70         (CONVERSION_94x60): New macro.
71         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
72         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
73         (XCHARSET_MOTHER): New macro.
74         (XCHARSET_CONVERSION): New macro.
75         (MIN_CHAR_MOJIKYO): Deleted.
76         (MAX_CHAR_MOJIKYO): Deleted.
77         (DECODE_MOJIKYO_2022): Deleted.
78         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
79         (charset_code_point): Changed to non-inline function.
80         (encode_char_1): Use `charset_code_point'.
81         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
82
83 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
84
85         * lread.c (read_compiled_function): Fix prototype.
86         (read_vector): Likewise.
87
88 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
89
90         * lrecord.h (struct lrecord_header): Delete `older'.
91         (set_lheader_implementation): Delete code for `older'.
92         (set_lheader_older_implementation): Deleted.
93         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
94         (OLDER_RECORD_P): Deleted.
95         (OLDER_RECORD_HEADER_P): Deleted.
96         (alloc_older_lcrecord): Deleted.
97         (alloc_older_lcrecord_type): Deleted.
98
99         * alloc.c (all_older_lcrecords): Deleted.
100         (alloc_older_lcrecord): Deleted.
101         (disksave_object_finalization_1): Delete code for older objects.
102         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
103         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
104
105 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
106
107         * mule-charset.c (decoding_table_put_char): Use `make_vector'
108         instead of `make_older_vector'.
109         (put_char_ccs_code_point): Likewise.
110         (mark_charset): Mark `cs->decoding_table'.
111         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
112
113         * lisp.h (make_older_vector): Deleted.
114         (make_vector_newer): Deleted.
115
116         * config.h.in (HAVE_GGC): Deleted.
117
118         * alloc.c (make_older_vector): Deleted.
119         (make_vector_newer_1): Deleted.
120         (make_vector_newer): Deleted.
121
122 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
123
124         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
125         (Qideograph_daikanwa_2): New variable.
126         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
127         (complex_vars_of_mule_charset): Add new coded-charset
128         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
129         `LEADING_BYTE_DAIKANWA'.
130
131         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
132         (LEADING_BYTE_DAIKANWA_1): New macro.
133         (LEADING_BYTE_DAIKANWA_2): New macro.
134         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
135
136 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
137
138         * mule-charset.c (complex_vars_of_mule_charset): Change
139         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
140         the second revised version.
141
142 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
143
144         * mule-charset.c (Vcharset_ucs_smp): New variable.
145         (Vcharset_ucs_sip): New variable.
146         (Qucs_smp): New variable.
147         (Qucs_sip): New variable.
148         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
149         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
150         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
151         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
152         `ucs-bmp'; addn new coded-charset `ucs-smp' and `ucs-sip'; change
153         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
154
155         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
156         (LEADING_BYTE_UCS_SIP): New macro.
157         (MIN_CHAR_SMP): New macro.
158         (MAX_CHAR_SMP): New macro.
159         (MIN_CHAR_SIP): New macro.
160         (MAX_CHAR_SIP): New macro.
161
162 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
163
164         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
165         utf-2000.
166
167 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
168
169         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
170         value; don't store value into `encoding_table' of `Lisp_Charset'.
171         (mark_charset): `encoding_table' was deleted.
172         (charset_description): Likewise.
173         (make_charset): Likewise.
174         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
175         `put_char_ccs_code_point'.
176
177         * chartab.h (Fput_char_attribute): New EXFUN.
178
179         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
180         is unified with normal symbol space.
181         (Fget_char_attribute): Likewise.
182         (Fput_char_attribute): Likewise; behavior of
183         `put_char_ccs_code_point' is changed.
184
185         * char-ucs.h: Include "elhash.h".
186         (Vchar_attribute_hash_table): New external variable.
187         (struct Lisp_Charset): Delete `encoding_table'.
188         (CHARSET_ENCODING_TABLE): New implementation; refer
189         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
190         `Lisp_Charset'.
191
192 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
193
194         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
195         (cs) == 0.
196
197 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
198
199         * text-coding.c (char_encode_big5): Prefer charset-g1 than
200         `chinese-big5'.
201
202 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
203
204         * chartab.c (uint8_byte_table_description): New constant.
205         (uint8-byte-table): Use `uint8_byte_table_description'.
206         (uint16_byte_table_description): New constant.
207         (uint16-byte-table): Use `uint16_byte_table_description'.
208
209 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
210
211         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
212         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
213
214 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
215
216         * mule-charset.c (Vcharset_ucs_ks): New variable.
217         (Qucs_ks): New variable.
218         (syms_of_mule_charset): Add new symbol `ucs-ks'.
219         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
220
221         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
222
223 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
224
225         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
226         (Fdecode_char): Likewise.
227
228         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
229         chartab.h.
230         (Fdefine_char): Modify for Fdecode_char.
231         (Ffind_char): Likewise.
232
233         * mule-charset.c (Fdecode_char): Add new optional argument
234         `defined-only'.
235         (Fdecode_builtin_char): Modify for `Fdecode_char'.
236
237 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
238
239         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
240         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
241         (allocate_coding_system): Initialize initial-charsets of
242         CODESYS_BIG5 in XEmacs UTF-2000.
243         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
244         CODESYS_BIG5 in XEmacs UTF-2000.
245         (decode_coding_big5): Use initial-charset-g0 and -g1 of
246         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
247
248         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
249         variables.
250         (Qideograph_hanziku_{1 .. 12}): Likewise.
251         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
252         .. 12}'.
253         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
254         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
255         `ideograph-hanziku-{1 .. 12}'.
256
257         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
258         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
259         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
260         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
261         (DECODE_DEFINED_CHAR): New inline function.
262         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
263
264 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
265
266         * mule-charset.c (Vcharset_china3_jef): Renamed from
267         `Vcharset_japanese_jef_china3'.
268         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
269         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
270         `{MIN|MAX}_CHAR_JEF_CHINA3'..
271         (syms_of_mule_charset): Rename `china3-jef' from
272         `japanese-jef-china3'.
273         (complex_vars_of_mule_charset): Likewise; rename
274         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
275
276         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
277         `LEADING_BYTE_JEF_CHINA3'.
278         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
279         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
280
281 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
282
283         * mule-charset.c (encode_builtin_char_1): Comment out special code
284         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
285
286         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
287         (MAX_CHAR_MOJIKYO_0): Comment out.
288         (MIN_CHAR_CBETA): Changed to 0x00E20000.
289         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
290         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
291         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
292
293 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
294
295         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
296         (Qideograph_cbeta): New variable.
297         (encode_builtin_char_1): Comment out special code for
298         coded-charset `mojikyo' and `japanese-jef-china3'.
299         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
300         (complex_vars_of_mule_charset): Add new coded-charset
301         `ideograph-cbeta'.
302
303         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
304         (MIN_CHAR_CBETA): New macro.
305         (MAX_CHAR_CBETA): New macro.
306
307 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
308
309         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
310         (LEADING_BYTE_JEF_CHINA3): New macro.
311         (MIN_CHAR_JEF_CHINA3): New macro.
312         (MAX_CHAR_JEF_CHINA3): Likewise.
313         (DECODE_CHAR): Fixed.
314
315 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
316
317         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
318         (Qjapanese_jef_china3): New variable.
319         (encode_builtin_char_1): Support `japanese-jef-china3'.
320         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
321         (complex_vars_of_mule_charset): Add new coded-charset
322         `japanese-jef-china3'.
323
324 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
325
326         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
327         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
328         94^4, 96^3, 96^4, 128^n and 256^n set.
329         (put_char_table): Use `XCHARSET_CELL_RANGE'.
330         (map_char_table): Likewise.
331
332 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
333
334         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
335         UTF-2000.
336
337 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
338
339         * chartab.h (get_char_id_table): New inline function.
340
341         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
342         function.
343
344 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
345
346         * chartab.h (decode_char_table_range): New prototype in XEmacs
347         UTF-2000.
348         (put_char_id_table): New inline function in XEmacs UTF-2000.
349
350         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
351         function.
352         (decode_char_table_range): Delete static declaration in XEmacs
353         UTF-2000.
354
355 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
356
357         * chartab.c (put_char_id_table): Use `put_char_table'.
358
359 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
360
361         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
362         (map_over_uint16_byte_table): Likewise.
363         (map_over_byte_table): Likewise.
364         (map_char_table): Modify for `map_over_uint8_byte_table',
365         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
366         UTF-2000.
367
368 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
369
370         * chartab.c (struct map_char_table_for_charset_arg): New
371         structure.
372         (map_char_table_for_charset_fun): New function.
373         (map_char_table): Use `map_char_table' for encoding_table of
374         `range->charset'.
375
376 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
377
378         * chartab.c (map_char_table): Check a character is found in
379         range->charset instead of non default value is defined in
380         char-table when range is CHARTAB_RANGE_ROW.
381
382 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
383
384         * chartab.c (map_char_id_table): Deleted.
385         (Fmap_char_attribute): Use `map_char_table' instead of
386         `map_char_id_table'.
387
388 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
389
390         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
391         UTF-2000.
392         (update_syntax_table): Deleted in XEmacs UTF-2000.
393
394         * syntax.c (find_defun_start): Use `syntax_table' instead of
395         `mirror_syntax_table' in XEmacs UTF-2000.
396         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
397         UTF-2000.
398         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
399         XEmacs UTF-2000.
400         (Fmatching_paren): Likewise.
401         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
402         in XEmacs UTF-2000.
403         (find_start_of_comment): Likewise.
404         (find_end_of_comment): Likewise.
405         (Fforward_comment): Likewise.
406         (scan_lists): Likewise.
407         (char_quoted): Likewise.
408         (Fbackward_prefix_chars): Likewise.
409         (scan_sexps_forward): Likewise.
410         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
411         (update_syntax_table): Likewise.
412
413         * search.c (skip_chars): Use `syntax_table' instead of
414         `mirror_syntax_table' in XEmacs UTF-2000.
415         (wordify): Likewise.
416         (Freplace_match): Likewise.
417
418         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
419         `mirror_syntax_table' in XEmacs UTF-2000.
420         (WORDCHAR_P_UNSAFE): Likewise.
421         (re_match_2_internal): Likewise.
422
423         * font-lock.c (find_context): Use `buf->syntax_table' instead of
424         `buf->mirror_syntax_table' in XEmacs UTF-2000.
425
426         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
427         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
428
429         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
430         XEmacs UTF-2000.
431
432         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
433         UTF-2000.
434         (print_char_table): Print `default_value' in XEmacs UTF-2000.
435         (char_table_description): Delete `mirror_table' in XEmacs
436         UTF-2000.
437         (fill_char_table): Don't call `update_syntax_table' in XEmacs
438         UTF-2000.
439         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
440         (Fcopy_char_table): Likewise.
441         (put_char_table): Don't call `update_syntax_table' in XEmacs
442         UTF-2000.
443
444         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
445         `buf->mirror_syntax_table' in XEmacs UTF-2000.
446         (casify_region_internal): Likewise.
447
448         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
449
450         * buffer.c (common_init_complex_vars_of_buffer): Don't use
451         `mirror_syntax_table' in XEmacs UTF-2000.
452
453         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
454         `buf->mirror_syntax_table' in XEmacs UTF-2000.
455         (Fexpand_abbrev): Likewise.
456
457 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
458
459         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
460
461 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
462
463         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
464         (map_over_uint16_byte_table): Likewise.
465         (map_over_byte_table): Likewise.
466         (get_char_id_table): Refer `cit->default_value'.
467         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
468         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
469         of character-id ranges.
470         (mark_char_table): Mark `ct->default_value'.
471         (char_table_description): Add `default_value'.
472         (fill_char_table): Use `default_value'.
473         (decode_char_table_range): Decode `nil' as
474         `CHARTAB_RANGE_DEFAULT'.
475         (get_char_id_table): Refer `cit->default_value'.
476         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
477         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
478         temporary hack; check value of char-table is bound or not.
479         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
480
481         * chartab.h (struct Lisp_Char_Table): Add new member
482         `default_value' in XEmacs UTF-2000.
483         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
484         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
485         UTF-2000.
486
487 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
488
489         * chartab.h (Lisp_Char_ID_Table): Deleted.
490
491         * chartab.c (char_table_description): Fix typo.
492         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
493         `Lisp_Char_ID_Table'.
494
495 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
496
497         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
498         `CHAR_ID_TABLE_P'.
499
500         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
501         `CHAR_ID_TABLE_P'.
502
503         * chartab.h (XCHAR_ID_TABLE): Deleted.
504         (XSETCHAR_ID_TABLE): Deleted.
505         (CHAR_ID_TABLE_P): Deleted.
506
507         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
508         `CHAR_ID_TABLE_P'.
509         (Fget_composite_char): Likewise.
510         (put_char_table): Likewise.
511         (add_char_attribute_alist_mapper): Fixed.
512         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
513         `CHAR_ID_TABLE_P'.
514         (Fget_char_attribute): Likewise.
515         (Fget_char_attribute): Likewise.
516         (Fmap_char_attribute): Likewise.
517
518         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
519         `CHAR_ID_TABLE_P'.
520         (encode_char_1): Likewise.
521
522 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
523
524         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
525         `XCHAR_ID_TABLE'.
526
527         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
528         instead of `XCHAR_ID_TABLE'.
529         (remove_char_ccs): Likewise.
530
531         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
532         `XCHAR_ID_TABLE'.
533         (Fget_composite_char): Likewise.
534         (Fchar_variants): Likewise.
535         (put_char_table): Likewise.
536         (add_char_attribute_alist_mapper): Likewise.
537         (Fchar_attribute_alist): Likewise.
538         (Fget_char_attribute): Likewise.
539         (Fput_char_attribute): Likewise.
540         (Fmap_char_attribute): Likewise.
541         (Fmap_char_attribute): Likewise.
542
543         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
544         `XCHAR_ID_TABLE'.
545         (encode_char_1): Likewise.
546
547 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
548
549         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
550         `Lisp_Char_ID_Table'.
551         (mark_char_id_table): Deleted.
552         (print_char_id_table): Likewise.
553         (char_id_table_equal): Likewise.
554         (char_id_table_hash): Likewise.
555         (char_id_table_description): Likewise.
556         (char_id_table): Likewise.
557         (make_char_id_table): Use `Fmake_char_table' and
558         `fill_char_table'.
559         (get_char_id_table): Use `Lisp_Char_Table' instead of
560         `Lisp_Char_ID_Table'.
561         (put_char_id_table): Likewise.
562         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
563         `XCHAR_ID_TABLE'.
564         (Fremove_char_attribute): Likewise.
565         (syms_of_chartab): Don't define type `char-id-table'.
566
567         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
568         (char_id_table): Likewise.
569         (GC_CHAR_ID_TABLE_P): Likewise.
570         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
571         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
572         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
573         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
574         (get_char_id_table): Use `Lisp_Char_Table' instead of
575         `Lisp_Char_ID_Table'.
576         (put_char_id_table_0): Likewise.
577         (put_char_id_table): Likewise.
578
579 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
580
581         * chartab.h: Lisp_Byte_Table related codes are moved from
582         chartab.h.
583
584         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
585
586 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
587
588         * chartab.h: Don't include "chartab.h".
589         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
590         (Lisp_Char_ID_Table): Likewise.
591         (char_id_table): Likewise.
592         (XCHAR_ID_TABLE): Likewise.
593         (XSETCHAR_ID_TABLE): Likewise.
594         (CHAR_ID_TABLE_P): Likewise.
595         (GC_CHAR_ID_TABLE_P): Likewise.
596         (get_char_id_table): Likewise.
597
598         * char-ucs.h: Include "chartab.h".
599         (struct Lisp_Char_ID_Table): Moved to chartab.h.
600         (Lisp_Char_ID_Table): Likewise.
601         (char_id_table): Likewise.
602         (XCHAR_ID_TABLE): Likewise.
603         (XSETCHAR_ID_TABLE): Likewise.
604         (CHAR_ID_TABLE_P): Likewise.
605         (GC_CHAR_ID_TABLE_P): Likewise.
606         (get_char_id_table): Likewise.
607
608 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
609
610         * chartab.c (copy_uint8_byte_table): New function.
611         (copy_uint16_byte_table): New function.
612         (copy_byte_table): New function.
613         (map_over_uint8_byte_table): Modify to avoid huge numbers of
614         characters to call.
615         (map_over_uint16_byte_table): Likewise.
616         (map_over_byte_table): Likewise.
617         (get_byte_table): Move prototype to chartab.h.
618         (put_byte_table): Likewise.
619         (put_char_id_table_0): Moved to chartab.h.
620         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
621         (char_table_entry_equal): Likewise.
622         (char_table_entry_hash): Likewise.
623         (char_table_entry_description): Likewise.
624         (char_table_entry): Likewise.
625         (make_char_table_entry): Likewise.
626         (copy_char_table_entry): Likewise.
627         (get_non_ascii_char_table_value): Likewise.
628         (map_over_charset_ascii): Likewise.
629         (map_over_charset_control_1): Likewise.
630         (map_over_charset_row): Likewise.
631         (map_over_other_charset): Likewise.
632         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
633         (print_char_table): Likewise.
634         (char_table_equal): Likewise.
635         (char_table_hash): Likewise.
636         (char_table_description): Likewise.
637         (fill_char_table): Likewise.
638         (Fcopy_char_table): Likewise.
639         (get_char_table): Likewise.
640         (Fget_range_char_table): Likewise.
641         (put_char_table): Likewise.
642         (map_char_table): Likewise.
643         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
644         UTF-2000.
645
646 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
647
648         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
649         `Vauto_fill_chars' in XEmacs UTF-2000.
650
651         * chartab.h (get_byte_table): New prototype [moved from
652         chartab.c].
653         (put_byte_table): Likewise [moved from chartab.c].
654         (put_char_id_table_0): New inline function [moved from chartab.c].
655         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
656         (Lisp_Char_Table_Entry): Likewise.
657         (char_table_entry): Likewise.
658         (XCHAR_TABLE_ENTRY): Likewise.
659         (XSETCHAR_TABLE_ENTRY): Likewise.
660         (CHAR_TABLE_ENTRYP): Likewise.
661         (CHECK_CHAR_TABLE_ENTRY): Likewise.
662         (NUM_ASCII_CHARS): Likewise.
663         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
664         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
665
666 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
667
668         * chartab.c (get_char_id_table): Change interface.
669         (put_char_id_table_0): New function.
670         (put_char_id_table): Change interface; new implementation.
671         (Fget_composite_char): Modify for interface change of
672         `get_char_id_table'.
673         (Fchar_variants): Likewise.
674         (add_char_attribute_alist_mapper): Likewise.
675         (Fchar_attribute_alist): Likewise.
676         (Fget_char_attribute): Likewise.
677         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
678         as same as character as the first argument like `put-char-table';
679         modify for interface change of `put_char_id_table'.
680         (Fremove_char_attribute): Modify for interface change of
681         `put_char_id_table'.
682
683 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
684
685         * text-coding.c: Sync up with XEmacs 21.2.41.
686         (COMPOSE_ADD_CHAR): Modify for interface change of
687         `get_char_id_table'.
688
689         * mule-charset.c (put_char_ccs_code_point): Modify for interface
690         change of `put_char_id_table'.
691         (remove_char_ccs): Likewise.
692
693         * chartab.h (put_char_id_table): Change interface.
694
695         * char-ucs.h (get_char_id_table): Change interface.
696         (charset_code_point): Modify for interface change of
697         `get_char_id_table'.
698         (encode_char_1): Likewise.
699
700 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
701
702         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
703         argument `ccs'.
704         (map_over_uint16_byte_table): Likewise.
705         (map_over_byte_table): Likewise.
706         (map_char_id_table): Add new argument `range' like
707         `map_char_table'.
708         (Fmap_char_attribute): Add new argument `range' like
709         `Fmap_char_table'.
710
711 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
712
713         * chartab.c (map_over_uint8_byte_table): Change interface of
714         mapping function to use struct chartab_range instead of Emchar.
715         (map_over_uint16_byte_table): Likewise.
716         (map_over_byte_table): Likewise.
717         (map_char_id_table): Likewise.
718         (struct slow_map_char_id_table_arg): Deleted.
719         (slow_map_char_id_table_fun): Deleted.
720         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
721         function `slow_map_char_table_fun' instead of struct
722         `slow_map_char_id_table_arg' and function
723         `slow_map_char_id_table_fun'.
724
725 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
726
727         * mule-charset.c: Move char-it-table related codes to chartab.c.
728         (Vutf_2000_version): Moved to chartab.c.
729         (Fdefine_char): Likewise.
730         (Ffind_char): Likewise.
731         (syms_of_mule_charset): Move types `uint8-byte-table',
732         `uint16-byte-table', `byte-table' and `char-id-table' to
733         chartab.c; move functions `char_attribute_list,
734         `find_char_attribute_table, `char_attribute_alist,
735         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
736         `map_char_attribute, `define_char, `find_char, `char_variants and
737         `get_composite_char to chartab.c; move symbols `=>ucs',
738         `->decomposition', `compat', `isolated', `initial', `medial',
739         `final', `vertical', `noBreak', `fraction', `super', `sub',
740         `circle', `square', `wide', `narrow', `small' and `font' to
741         chartab.c.
742         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
743         setting codes for `Vcharacter_composition_table' and
744         `Vcharacter_variant_table' to chartab.c.
745         (complex_vars_of_mule_charset): Move setting code for
746         `Vchar_attribute_hash_table' to chartab.c.
747
748         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
749         (make_char_id_table): New prototype.
750         (put_char_id_table): Likewise.
751         (Fget_char_attribute): Likewise.
752
753         * chartab.c: Move char-id-table related code from mule-charset.c.
754         (Vutf_2000_version): Moved from mule-charset.c.
755
756         * char-ucs.h (Qucs): New external variable.
757         (put_char_ccs_code_point): New prototype.
758         (remove_char_ccs): Likewise.
759
760 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
761
762         * mule-charset.c (Vcharset_ucs_jis): New variable.
763         (Qucs_jis): Likewise.
764         (syms_of_mule_charset): Add new symbol `ucs-jis'.
765         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
766
767         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
768
769 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
770
771         * mule-charset.c (map_over_uint8_byte_table): New function.
772         (map_over_uint16_byte_table): Likewise.
773         (map_over_byte_table): Likewise.
774         (map_char_id_table): Likewise.
775         (slow_map_char_id_table_fun): Likewise.
776         (Fmap_char_attribute): Likewise.
777         (syms_of_mule_charset): Add new function `map-char-attribute'.
778
779 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
780
781         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
782         (syms_of_mule_charset): Add new function `find-char'.
783
784 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
785
786         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
787         XEmacs UTF-2000.
788         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
789         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
790         XEmacs UTF-2000.
791         (complex_vars_of_mule_charset): Add new coded-charset
792         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
793         `ideograph-gt-pj-*'.
794
795         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
796
797 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
798
799         * mule-charset.c (encode_builtin_char_1): Purge codes about
800         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
801         {MIN|MAX}_CHAR_HEBREW.
802         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
803         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
804
805         * char-ucs.h (MIN_CHAR_GREEK): Purged.
806         (MAX_CHAR_GREEK): Purged.
807         (MIN_CHAR_CYRILLIC): Purged.
808         (MAX_CHAR_CYRILLIC): Purged.
809         (MIN_CHAR_HEBREW): Commented out.
810         (MAX_CHAR_HEBREW): Likewise.
811
812 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
813
814         * mule-charset.c (Qto_ucs): New variable.
815         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
816         (Fdefine_char): Likewise.
817         (syms_of_mule_charset): Add new symbol `=>ucs'.
818
819 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
820
821         * mule-charset.c (Fdecode_char): Fixed.
822
823 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
824
825         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
826         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
827         "tcvn5712-1".
828
829 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
830
831         * mule-charset.c (Vcharset_ucs_big5): New variable.
832         (Qucs_big5): Likewise.
833         (syms_of_mule_charset): Add new symbol `ucs-big5'.
834         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
835
836         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
837
838 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
839
840         * mule-charset.c (decode_builtin_char): Check Big5 code range
841         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
842
843 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
844
845         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
846         (Qchinese_gb12345): Likewise.
847         (Fdecode_builtin_char): Fixed.
848         (syms_of_mule_charset): Add `chinese-gb12345'.
849         (complex_vars_of_mule_charset): Add coded-charset
850         `chinese-gb12345'.
851
852         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
853         (LEADING_BYTE_CHINESE_GB12345): New macro.
854
855 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
856
857         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
858         and `latin-viscii-upper' for `latin-viscii'.
859
860 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
861
862         * mule-charset.c (Fdecode_builtin_char): Comment out
863         regularization code for ISO-IR GR representation.
864
865 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
866
867         * mule-charset.c (decode_builtin_char): New function; renamed from
868         `make_builtin_char'; return -1 instead of signal.
869         (Fdecode_builtin_char): Use `decode_builtin_char'.
870
871         * char-ucs.h (decode_builtin_char): New prototype; renamed from
872         `make_builtin_char'.
873         (DECODE_CHAR): Use `decode_builtin_char' instead of
874         `make_builtin_char'; use mapping table of `chinese-big5' for
875         `chinese-big5-{1,2}'.
876
877 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
878
879         * text-coding.c (char_encode_big5): New function.
880         (char_finish_big5): Likewise.
881         (reset_encoding_stream): Use `char_encode_big5' and
882         `char_finish_big5' for CODESYS_BIG5.
883         (mule_encode): Don't use `encode_coding_big5'.
884         (encode_coding_big5): Deleted.
885
886 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
887
888         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
889         0x81- in XEmacs UTF-2000.
890         (detect_coding_big5): Likewise.
891
892 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
893
894         * mule-charset.c (Fdefine_char): Don't use a CCS property to
895         generate character-id if the CCS property does not have
896         corresponding predefined character.
897         (make_builtin_char): Return -1 if corresponding predefined
898         character is not found.
899         (Fdecode_char): Return nil if corresponding character is not
900         found.
901         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
902         don't map to builtin ucs space.
903
904 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
905
906         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
907         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
908
909 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
910
911         * mule-charset.c (Vcharset_ideograph_gt): New variable.
912         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
913         (Qideograph_gt): Likewise.
914         (Qideograph_gt_pj_{1..11}): Likewise.
915         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
916         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
917         `ideograph-gt-pj-11'.
918         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
919         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
920         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
921
922         * char-ucs.h (LEADING_BYTE_GT): New macro.
923         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
924         (MIN_CHAR_GT): Likewise.
925         (MAX_CHAR_GT): Likewise.
926
927 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
928
929         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
930         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
931
932         * doprnt.c (unsigned_int_converters): Add `c'.
933         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
934
935         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
936         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
937         `MIN_CHAR_MOJIKYO'.
938         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
939         (MAX_CHAR_MOJIKYO_0): New macro.
940         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
941
942 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
943
944         * mule-charset.c (Fdefine_char): Delete cemented out code.
945         (encode_builtin_char_1): Modify for new allocation of builtin
946         Mojikyo characters.
947
948         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
949
950 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
951
952         * mule-charset.c (Vcharset_ucs_cns): New variable.
953         (Qucs_cns): New variable.
954         (syms_of_mule_charset): Add new symbol `ucs-cns'.
955         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
956
957 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
958
959         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
960
961 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
962
963         * search.c (search_buffer): Make `charset_base_code' as
964         character-id >> 6 to eliminate the corresponding last byte in
965         UTF-8 representation [I'm not sure it is right thing].
966         (boyer_moore): Likewise.
967
968 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
969
970         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
971         representation in MULE.
972
973 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
974
975         * text-coding.c (Fmake_coding_system): Use
976         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
977         `EXTERNAL_PROPERTY_LIST_LOOP'.
978
979 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
980
981         * text-coding.c (decode_output_utf8_partial_char): New function.
982         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
983
984 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
985
986         * text-coding.c (decode_coding_utf8): Output original byte
987         sequence if it is broken; change order of conditions.
988
989         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
990         of conditions.
991
992         * mb-multibyte.h (BYTE_ASCII_P):
993         Use bit ops for char-signedness safety.
994         (BYTE_C0_P): Use bit ops for char-signedness safety.
995         (BYTE_C1_P): Use bit ops for char-signedness safety.
996
997         * character.h: (XCHAR_OR_CHAR_INT):
998         Always use inline function.
999         Remove redundant type checking assert() - XINT will abort quite
1000         nicely.
1001
1002 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1003
1004         * text-coding.c: (Fencode_shift_jis_char):
1005         (Fencode_big5_char):
1006         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1007         Replace 0 with '\0' when working with bytes.
1008         Replace initial "(" with "\(" in docstrings.
1009
1010         (Fmake_coding_system):
1011         When type is ccl and value is vector, register it with a proper
1012         symbol.  And checks whether the given ccl program is valid.
1013         (mule_decode): When calling ccl_driver, if src indicates
1014         NULL pointer, set an empty string instead.
1015         (mule_encode): Likewise.
1016
1017         (detect_eol_type):
1018         (detect_coding_sjis):
1019         (decode_coding_sjis):
1020         (detect_coding_big5):
1021         (decode_coding_big5):
1022         (detect_coding_ucs4):
1023         (decode_coding_ucs4):
1024         (detect_coding_utf8):
1025         (decode_coding_utf8):
1026         (detect_coding_iso2022):
1027         (decode_coding_iso2022):
1028         (decode_coding_no_conversion):
1029         (mule_decode):
1030         Make all detecting and decoding functions take an Extbyte * arg.
1031         (text_encode_generic):
1032         (encode_coding_big5):
1033         (encode_coding_no_conversion):
1034         (mule_encode):
1035         Make all encoding functions take a Bufbyte * arg.
1036         Use size_t instead of unsigned int for memory sizes.
1037         Only cast to unsigned char whenever dereferencing Extbyte *.
1038
1039         (struct lrecord_description fcd_description_1): Use countof.
1040         (complex_vars_of_file_coding):
1041         Use countof instead of sizeof.
1042         Use CHECK_NATNUM instead of CHECK_INT.
1043
1044 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1045
1046         * mule-charset.c (Fget_char_attribute): Add new optional argument
1047         `default-value'.
1048         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1049         (remove_char_ccs): Likewise.
1050
1051 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1052
1053         * text-coding.c (char_encode_shift_jis): New implementation in
1054         UTF-2000.
1055         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1056         ...)'.
1057
1058         * mule-charset.c (Vcharset_chinese_big5): New variable in
1059         UTF-2000.
1060         (Qchinese_big5): New variable in UTF-2000.
1061         (BIG5_SAME_ROW): New macro in UTF-2000.
1062         (make_builtin_char): Use builtin characters of
1063         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1064         characters of `Vcharset_chinese_big5'.
1065         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1066         (complex_vars_of_mule_charset): Add new coded-charset
1067         `chinese-big5' in UTF-2000.
1068
1069         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1070         (Vcharset_chinese_big5): New external variable declaration.
1071         (Vcharset_japanese_jisx0208_1990): Likewise.
1072
1073 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1074
1075         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1076         function.
1077         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1078
1079 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1080
1081         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1082         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1083         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1084         `mojikyo-pj-*'.
1085
1086 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1087
1088         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1089
1090 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1091
1092         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1093         to 0.17.
1094
1095 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1096
1097         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1098         for `CHARSET_BY_ATTRIBUTES'.
1099         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1100         `CHARSET_BY_ATTRIBUTES'.
1101
1102         * text-coding.c (struct decoding_stream): Rename member `CH' to
1103         `CPOS'.
1104         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1105         (decode_coding_sjis): Likewise.
1106         (decode_coding_big5): Likewise.
1107         (decode_coding_ucs4): Likewise.
1108         (decode_coding_utf8): Likewise.
1109         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1110         `CHARSET_BY_ATTRIBUTES'.
1111         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1112         `str->counter'; decode 3, 4 bytes sets.
1113         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1114         sets.
1115         (decode_coding_no_conversion): Use `str->cpos' instead of
1116         `str->ch'.
1117
1118         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1119         (Qmojikyo_2022_1): New variable.
1120         (make_charset): Don't use `CHARSET_TYPE_*'.
1121         (range_charset_code_point): Support coded-charset
1122         `mojikyo-2022-1'.
1123         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1124         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1125         `CHARSET_BY_ATTRIBUTES'.
1126         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1127         `CHARSET_BY_ATTRIBUTES'.
1128         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1129         (complex_vars_of_mule_charset): Add new coded-charset
1130         `mojikyo-2022-1'.
1131
1132         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1133         interface; changed to inline function.
1134
1135         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1136         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1137         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1138         (CHARSET_TYPE_94): Deleted.
1139         (CHARSET_TYPE_94X94): Deleted.
1140         (CHARSET_TYPE_96): Deleted.
1141         (CHARSET_TYPE_96X96): Deleted.
1142         (CHARSET_TYPE_128): Deleted.
1143         (CHARSET_TYPE_128X128): Deleted.
1144         (CHARSET_TYPE_256): Deleted.
1145         (CHARSET_TYPE_256X256): Deleted.
1146         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1147         to inline function.
1148         (DECODE_MOJIKYO_2022): New inline function.
1149         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1150         `Vcharset_mojikyo_2022_1'.
1151
1152 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1153
1154         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1155         instead of `EQ'.
1156         (put_byte_table): Likewise.
1157         (char_id_table_equal): Use `get_byte_table' [new implementation].
1158
1159 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1160
1161         * mule-charset.c: Include <limits.h> in UTF-2000.
1162         (BT_UINT8_MIN): New macro in UTF-2000.
1163         (BT_UINT8_MAX): New macro in UTF-2000.
1164         (BT_UINT8_t): New macro in UTF-2000.
1165         (BT_UINT8_nil): New macro in UTF-2000.
1166         (BT_UINT8_unbound): New macro in UTF-2000.
1167         (INT_UINT8_P): New inline function in UTF-2000.
1168         (UINT8_VALUE_P): New inline function in UTF-2000.
1169         (UINT8_ENCODE): New inline function in UTF-2000.
1170         (UINT8_DECODE): New inline function in UTF-2000.
1171         (mark_uint8_byte_table): New function in UTF-2000.
1172         (print_uint8_byte_table): New function in UTF-2000.
1173         (uint8_byte_table_equal): New function in UTF-2000.
1174         (uint8_byte_table_hash): New function in UTF-2000.
1175         (make_uint8_byte_table): New function in UTF-2000.
1176         (uint8_byte_table_same_value_p): New function in UTF-2000.
1177         (BT_UINT16_MIN): New macro in UTF-2000.
1178         (BT_UINT16_MAX): New macro in UTF-2000.
1179         (BT_UINT16_t): New macro in UTF-2000.
1180         (BT_UINT16_nil): New macro in UTF-2000.
1181         (BT_UINT16_unbound): New macro in UTF-2000.
1182         (INT_UINT16_P): New inline function in UTF-2000.
1183         (UINT16_VALUE_P): New inline function in UTF-2000.
1184         (UINT16_ENCODE): New inline function in UTF-2000.
1185         (UINT16_DECODE): New inline function in UTF-2000.
1186         (UINT8_TO_UINT16): New inline function in UTF-2000.
1187         (mark_uint16_byte_table): New function in UTF-2000.
1188         (print_uint16_byte_table): New function in UTF-2000.
1189         (uint16_byte_table_equal): New function in UTF-2000.
1190         (uint16_byte_table_hash): New function in UTF-2000.
1191         (make_uint16_byte_table): New function in UTF-2000.
1192         (uint16_byte_table_same_value_p): New function in UTF-2000.
1193         (print_byte_table): New function in UTF-2000.
1194         (byte-table): Use `print_byte_table' as printer.
1195         (make_byte_table): Delete second argument `older'.
1196         (byte_table_same_value_p): New function in UTF-2000.
1197         (copy_byte_table): Deleted.
1198         (get_byte_table): New function in UTF-2000.
1199         (put_byte_table): New function in UTF-2000.
1200         (print_char_id_table): New function in UTF-2000.
1201         (char-id-table): Use `print_char_id_table' as printer.
1202         (make_char_id_table): Delete second argument `older'.
1203         (get_char_id_table): Use `get_byte_table [new implementation].
1204         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1205         implementation].
1206         (Ffind_char_attribute_table): New function in UTF-2000.
1207         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1208         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1209         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1210         (syms_of_mule_charset): Add new function
1211         `find-char-attribute-table' in UTF-2000.
1212
1213         * lrecord.h (enum lrecord_type): Add
1214         `lrecord_type_uint16_byte_table' and
1215         `lrecord_type_uint8_byte_table'.
1216
1217         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1218         (Lisp_Uint8_Byte_Table): New type.
1219         (XUINT8_BYTE_TABLE): New macro.
1220         (XSETUINT8_BYTE_TABLE): New macro.
1221         (UINT8_BYTE_TABLE_P): New macro.
1222         (GC_UINT8_BYTE_TABLE_P): New macro.
1223         (struct Lisp_Uint16_Byte_Table): New structure.
1224         (Lisp_Uint16_Byte_Table): New type.
1225         (XUINT16_BYTE_TABLE): New macro.
1226         (XSETUINT16_BYTE_TABLE): New macro.
1227         (UINT16_BYTE_TABLE_P): New macro.
1228         (GC_UINT16_BYTE_TABLE_P): New macro.
1229
1230 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1231
1232         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1233         (Vcharacter_ideographic_strokes_table): Deleted.
1234         (Vcharacter_total_strokes_table): Deleted.
1235         (Vcharacter_morohashi_daikanwa_table): Deleted.
1236         (Vcharacter_decomposition_table): Deleted.
1237         (Qname): Deleted because it is duplicated.
1238         (Qideographic_radical): Deleted.
1239         (Qideographic_strokes): Deleted.
1240         (Qtotal_strokes): Deleted.
1241         (Qmorohashi_daikanwa): Deleted.
1242         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1243         `ideographic-radical', `ideographic-strokes', `total-strokes',
1244         `morohashi-daikanwa' and `->decomposition'.
1245         (Fget_char_attribute): Likewise.
1246         (Fput_char_attribute): Likewise; use `make-vector' instead of
1247         `make_older_vector' for `->decomposition' value.
1248         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1249         `ideograph-daikanwa'.
1250         (syms_of_mule_charset): Delete builtin symbols `name',
1251         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1252         `morohashi-daikanwa'.
1253         (vars_of_mule_charset): Don't setup
1254         `Vcharacter_ideographic_radical_table',
1255         `Vcharacter_ideographic_strokes_table',
1256         `Vcharacter_total_strokes_table',
1257         `Vcharacter_morohashi_daikanwa_table' and
1258         `Vcharacter_decomposition_table'.
1259
1260 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1261
1262         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1263         `make_older_vector', `make_vector_newer_1' and
1264         `make_vector_newer'.
1265
1266         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1267         `make_older_vector' and `make_vector_newer'.
1268
1269         * config.h.in (HAVE_GGC): New macro.
1270
1271 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1272
1273         * mule-charset.c (struct char_attribute_list_closure): New
1274         structure in UTF-2000.
1275         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1276         (Fchar_attribute_list): Likewise.
1277         (Fset_charset_mapping_table): Use `make_vector_newer'.
1278         (Fdecode_builtin_char): New function in UTF-2000.
1279         (syms_of_mule_charset): Add new function `char-attribute-list' and
1280         `decode-builtin-char' in UTF-2000.
1281
1282         * lisp.h (make_vector_newer): New prototype.
1283
1284         * alloc.c (make_vector_newer_1): New function.
1285         (make_vector_newer): New function.
1286
1287 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1288
1289         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1290         50100)'.
1291
1292 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1293
1294         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1295         (Vcharacter_attribute_table): Deleted.
1296         (Vcharacter_name_table): Deleted.
1297         (put_char_attribute): Deleted.
1298         (remove_char_attribute): Deleted.
1299         (struct char_attribute_alist_closure): New structure.
1300         (add_char_attribute_alist_mapper): New function.
1301         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1302         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1303         (Fget_char_attribute): Likewise.
1304         (Fput_char_attribute): Likewise.
1305         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1306         of `remove_char_attribute'.
1307         (Fdefine_char): Return character.
1308         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1309         and `Vcharacter_name_table'.
1310         (complex_vars_of_mule_charset): Likewise
1311         `Vchar_attribute_hash_table'.
1312
1313 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1314
1315         * character.h (CHARC_CHARSET): New macro.
1316         (CHARC_CHARSET_ID): New macro.
1317         (CHARC_CODE_POINT): New macro.
1318         (CHARC_COLUMNS): New macro.
1319         (CHARC_TO_CHAR): New inline function.
1320         (CHARC_EQ): New inline function.
1321         (CHARC_ASCII_EQ): New inline function.
1322         (CHARC_IS_SPACE): New inline function.
1323         (ASCII_TO_CHARC): New inline function.
1324
1325         * char-ucs.h (encode_char_2): Deleted.
1326         (ENCODE_CHAR): Use `encode_char_1' again.
1327         (breakup_char_1): Likewise.
1328         (CHAR_TO_CHARC): New inline function.
1329
1330         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1331
1332 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1333
1334         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1335         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1336         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1337         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1338         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1339         `CHARC_IS_SPACE'.
1340         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1341
1342         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1343         `CHARC_CODE_POINT'.
1344         (x_output_display_block): Use `CHARC_CHARSET' and
1345         `CHARC_ASCII_EQ'.
1346
1347         * redisplay-tty.c (tty_output_display_block): Use
1348         `CHARC_ASCII_EQ'.
1349         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1350
1351         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1352
1353         * insdel.c (find_charsets_in_charc_string): Use
1354         `CHARC_CHARSET_ID'.
1355         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1356         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1357         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1358         (convert_charc_string_into_malloced_string): Likewise.
1359
1360 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1361
1362         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1363         instead of <Emchar_dynarr *> for buf; use
1364         `convert_bufbyte_string_into_charc_dynarr' instead of
1365         `convert_bufbyte_string_into_emchar_dynarr'; use
1366         `find_charsets_in_charc_string' instead of
1367         `find_charsets_in_emchar_string'.
1368
1369         * redisplay.h:
1370         - Include "character.h".
1371         (struct rune): New member `cglyph'; delete member `chr'.
1372
1373         * redisplay.c (redisplay_text_width_charc_string): New function;
1374         delete `redisplay_text_width_emchar_string'.
1375         (rtw_charc_dynarr): New variable; renamed from
1376         `rtw_emchar_dynarr'.
1377         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1378         `rtw_emchar_dynarr'; use
1379         `convert_bufbyte_string_into_charc_dynarr' instead of
1380         `convert_bufbyte_string_into_emchar_dynarr'; use
1381         `redisplay_text_width_charc_string' instead of
1382         `redisplay_text_width_emchar_string'.
1383         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1384         instead of `rtw_emchar_dynarr'; use
1385         `convert_bufbyte_string_into_charc_dynarr' instead of
1386         `convert_bufbyte_string_into_emchar_dynarr'.
1387         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1388         `redisplay_text_width_charc_string' instead of
1389         `redisplay_text_width_emchar_string'.
1390         (create_text_block): Modify for <struct rune> change.
1391         (generate_formatted_string_db): Likewise.
1392         (create_string_text_block): Likewise.
1393         (pixel_to_glyph_translation): Likewise.
1394
1395         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1396         instead of <const Emchar *>.
1397         (x_text_width): Likewise.
1398         (x_output_display_block): Use <Charc_dynarr *> instead
1399         <Emchar_dynarr *>; modify for <structure rune> change.
1400         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1401         *>.
1402
1403         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1404         <const Emchar *>; use `charc_string_displayed_columns' instead of
1405         `emchar_string_displayed_columns'.
1406         (tty_output_display_block): Use <Charc_dynarr *> instead of
1407         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1408         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1409         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1410         `tty_output_emchar_dynarr_dynarr'.
1411         (tty_output_charc_dynarr): New function; delete
1412         `tty_output_charc_dynarr'.
1413
1414         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1415         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1416         <Emchar_dynarr *> for buf; use
1417         `convert_bufbyte_string_into_charc_dynarr' instead of
1418         `convert_bufbyte_string_into_emchar_dynarr'.
1419
1420         * frame.c (title_string_charc_dynarr): New variable; renamed from
1421         `title_string_emchar_dynarr'.
1422         (generate_title_string): Use `title_string_charc_dynarr' instead
1423         of `title_string_emchar_dynarr'; use
1424         `convert_charc_string_into_malloced_string' instead of
1425         `convert_emchar_string_into_malloced_string'.
1426         (init_frame): Use `title_string_charc_dynarr' instead of
1427         `title_string_emchar_dynarr'.
1428
1429         * console.h:
1430         - Include "character.h".
1431         (struct console_methods): Use <const Charc *> instead of <const
1432         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1433         <Emchar_dynarr *> in output_string_method.
1434
1435         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1436         <Emchar_dynarr *>.
1437
1438         * console-stream.c (stream_text_width): Use <const Charc *>
1439         instead of <const Emchar *>.
1440
1441         * character.h (Charc_dynarr): New type.
1442
1443         * char-ucs.h (structure Charc): New structure; define new type
1444         `Charc'.
1445
1446         * char-lb.h (DECODE_CHAR): New inline function.
1447         (encode_char_1): New inline function.
1448         (ENCODE_CHAR): New macro.
1449         (structure Charc): New structure; define new type `Charc'.
1450
1451         * char-1byte.h (Vcharset_control_1): New macro.
1452         (Vcharset_latin_iso8859_1): New macro.
1453         (DECODE_CHAR): New inline function.
1454         (encode_char_1): New inline function.
1455         (ENCODE_CHAR): New macro.
1456         (structure Charc): New structure; define new type `Charc'.
1457
1458         * insdel.c (find_charsets_in_charc_string): New function; delete
1459         `find_charsets_in_emchar_string'.
1460         (charc_string_displayed_columns): New function; delete
1461         `emchar_string_displayed_columns'.
1462         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1463         `convert_bufbyte_string_into_emchar_dynarr'.
1464         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1465         `convert_charc_string_into_bufbyte_dynarr'.
1466         (convert_charc_string_into_malloced_string): New function; delete
1467         `convert_charc_string_into_malloced_string'.
1468
1469         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1470         `find_charsets_in_emchar_string'.
1471         (charc_string_displayed_columns): New prototype; delete
1472         `emchar_string_displayed_columns'.
1473         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1474         `convert_charc_string_into_bufbyte_dynarr'.
1475         (convert_charc_string_into_malloced_string): New prototype; delete
1476         `convert_charc_string_into_malloced_string'.
1477
1478 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1479
1480         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1481
1482 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1483
1484         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1485
1486         * char-ucs.h: Use <short> for <Charset_ID>.
1487
1488         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1489         <Charset_ID>.
1490
1491 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1492
1493         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1494         to 0.16.
1495
1496 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1497
1498         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1499         variable.
1500         (Qmorohashi_daikanwa): New variable.
1501         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1502         for `morohashi-daikanwa' attribute.
1503         (Fget_char_attribute): Likewise.
1504         (Fput_char_attribute): Likewise.
1505         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1506         has the same value of `ideograph-daikanwa'.
1507         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1508         (vars_of_mule_charset): Setup
1509         `Vcharacter_morohashi_daikanwa_table'.
1510
1511 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1512
1513         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1514         attributes.
1515         (add_charset_to_list_mapper): Add `key' instead of
1516         `XCHARSET_NAME (value)' to return aliases.
1517
1518 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1519
1520         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1521         variable.
1522         (Vcharacter_ideographic_strokes_table): New variable.
1523         (Qideographic_radical): New variable.
1524         (Qideographic_strokes): New variable.
1525         (Fchar_attribute_alist): Use
1526         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1527         attribute; use `Vcharacter_ideographic_strokes_table' for
1528         `ideographic-strokes' attribute.
1529         (Fget_char_attribute): Likewise.
1530         (Fput_char_attribute): Likewise.
1531         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1532         `ideographic-strokes'.
1533         (vars_of_mule_charset): Setup
1534         `Vcharacter_ideographic_radical_table' and
1535         `Vcharacter_ideographic_strokes_table'.
1536
1537 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1538
1539         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1540         (Qtotal_strokes): New variable.
1541         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1542         `total-strokes' attribute.
1543         (Fget_char_attribute): Likewise.
1544         (Fput_char_attribute): Likewise.
1545         (syms_of_mule_charset): Add new symbol `total-strokes'.
1546         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1547
1548 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1549
1550         * mule-charset.c (Vcharacter_decomposition_table): New variable.
1551         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
1552         are found.
1553         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
1554         `->decomposition' attribute.
1555         (Fput_char_attribute): Likewise.
1556         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
1557
1558 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1559
1560         * mule-charset.c (decoding_table_check_elements): New function.
1561         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
1562
1563 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1564
1565         * mule-charset.c (Fset_charset_mapping_table): Use
1566         `put_char_ccs_code_point'.
1567
1568 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1569
1570         * mule-charset.c (decoding_table_put_char): New inline function.
1571         (put_char_ccs_code_point): Use `decoding_table_put_char'.
1572
1573 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1574
1575         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
1576         (XCHARSET_BYTE_SIZE): New macro.
1577         (decoding_table_remove_char): New inline function.
1578         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
1579         `decoding_table_remove_char'.
1580         (remove_char_ccs): Use `decoding_table_remove_char'.
1581         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
1582
1583 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1584
1585         * mule-charset.c (Vcharacter_name_table): New variable.
1586         (Qname): New variable.
1587         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
1588         attribute.
1589         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
1590         `Vcharacter_name_table' for `name' attribute.
1591         (Fremove_char_attribute): Use function `remove_char_ccs'.
1592         (put_char_ccs_code_point): New function.
1593         (remove_char_ccs): New function.
1594         (syms_of_mule_charset): Add new symbol `name'.
1595         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
1596
1597 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1598
1599         * mule-charset.c (make_byte_table): Add new argument `older'.
1600         (make_char_id_table): Likewise.
1601         (copy_char_id_table): Comment out because it is not used.
1602         (put_char_id_table): Modify for `make_byte_table'.
1603         (Fput_char_attribute): Make encoding_table as older object;
1604         inherit older bit of `Vcharacter_composition_table'.
1605         (mark_charset): Don't mark `cs->encoding_table'.
1606         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
1607         normal object; make `Vcharacter_composition_table' as an older
1608         object; delete staticpro for `Vcharacter_composition_table'; make
1609         `Vcharacter_variant_table' as a normal object.
1610
1611         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
1612         (mark_object): Don't check older object in UTF-2000.
1613
1614         * lrecord.h (struct lrecord_header): Add new member `older' in
1615         UTF-2000.
1616         (set_lheader_implementation): Setup `SLI_header->older' in
1617         UTF-2000.
1618         (set_lheader_older_implementation): New macro in UTF-2000.
1619         (OLDER_RECORD_P): New macro in UTF-2000.
1620         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
1621         (alloc_older_lcrecord): New prototype in UTF-2000.
1622         (alloc_older_lcrecord_type): New macro in UTF-2000.
1623
1624 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1625
1626         * mule-charset.c (byte_table_description): Use
1627         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
1628         (char_id_table_description): Delete bogus `, 1'.
1629         (Fget_char_attribute): Refer encoding_table of each coded-charset
1630         to get value of coded-charset attribute of a character.
1631         (Fput_char_attribute): Use `make_older_vector' instead of
1632         `make_vector'; use encoding_table of each coded-charset to store
1633         value of coded-charset attribute of a character.
1634         (Fremove_char_attribute): Use encoding_table of each coded-charset
1635         to store value of coded-charset attribute of a character.
1636         (mark_charset): Mark `cs->encoding_table'; don't mark
1637         `cs->decoding_table'.
1638         (charset_description): Add description of new member
1639         `encoding_table'.
1640         (make_charset): Initialize `encoding_table'.
1641
1642         * char-ucs.h (struct Lisp_Charset): Add new member
1643         `encoding_table'.
1644         (CHARSET_ENCODING_TABLE): New macro.
1645         (XCHARSET_ENCODING_TABLE): New macro.
1646         (charset_code_point): New implementation.
1647         (encode_char_1): Likewise.
1648
1649         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
1650         (disksave_object_finalization_1): Call finalizers of
1651         `all_older_lcrecords' in UTF-2000.
1652         (make_older_vector): New function in UTF-2000.
1653         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
1654         UTF-2000.
1655
1656         * lisp.h (make_older_vector): New prototype in UTF-2000.
1657
1658 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1659
1660         * lrecord.h (enum lrecord_type): Rename
1661         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
1662
1663         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
1664         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
1665         `get_char_code_table'.
1666
1667         * mule-charset.c (mark_char_id_table): Renamed from
1668         `mark_char_code_table'.
1669         (char_id_table_equal): Renamed from `char_code_table_equal'.
1670         (char_id_table_hash): Renamed from `char_code_table_hash'.
1671         (make_char_id_table): Renamed from `make_char_code_table'.
1672         (copy_char_id_table): Renamed from `copy_char_code_table'.
1673         (get_char_id_table): Renamed from `get_char_code_table'.
1674         (put_char_id_table): Renamed from `put_char_code_table'.
1675         (to_char_id): Renamed from `to_char_code'.
1676
1677         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
1678         `Lisp_Char_Code_Table'.
1679         (char_id_table): Renamed from `char_code_table'.
1680         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
1681         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
1682         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
1683         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
1684         (get_char_id_table): Renamed from `get_char_code_table'.
1685
1686 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1687
1688         * lrecord.h (enum lrecord_type): Rename
1689         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
1690
1691         * mule-charset.c (mark_byte_table): Renamed from
1692         `mark_char_byte_table'.
1693         (byte_table_equal): Renamed from `char_byte_table_equal'.
1694         (byte_table_hash): Renamed from `byte_table_hash'.
1695         (make_byte_table): Renamed from `make_byte_table'.
1696         (copy_byte_table): Renamed from `copy_char_byte_table'.
1697
1698         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
1699         `Lisp_Char_Byte_Table'.
1700         (byte_table): Renamed from `char_byte_table'.
1701         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
1702         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
1703         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
1704         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
1705
1706 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1707
1708         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
1709         (dfc_convert_to_internal_format): Likewise.
1710         
1711         * text-coding.c (Fcoding_system_canonical_name_p): New function.
1712         * text-coding.c (Fcoding_system_alias_p): New function.
1713         * text-coding.c (Fcoding_system_aliasee): New function.
1714         * text-coding.c (append_suffix_to_symbol): New function.
1715         * text-coding.c (dangling_coding_system_alias_p): New function.
1716         * text-coding.c (Ffind_coding_system):
1717         * text-coding.c (Fcopy_coding_system):
1718         * text-coding.c (encode_coding_no_conversion):
1719         * text-coding.c (syms_of_file_coding):
1720         * text-coding.c (vars_of_file_coding):
1721         Rewrite coding system alias code.
1722         Allow nested aliases, like symbolic links.
1723         Allow redefinition of coding system aliases.
1724         Prevent existence of dangling coding system aliases.
1725         Eliminate convert_to_external_format.
1726         Eliminate convert_to_internal_format.
1727         
1728         * text-coding.c: Change enum eol_type to eol_type_t.
1729
1730 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1731
1732         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
1733         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1734
1735         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
1736         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1737
1738 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1739
1740         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
1741         `ideograph-daikanwa'.
1742
1743         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
1744         (Vcharset_ucs_bmp): Likewise.
1745         (Vcharset_mojikyo): Add new extern variable definition.
1746         (Vcharset_latin_iso8859_2): Deleted because it is not used.
1747         (Vcharset_latin_iso8859_3): Likewise.
1748         (Vcharset_latin_iso8859_4): Likewise.
1749         (Vcharset_latin_iso8859_9): Likewise.
1750         (Vcharset_latin_viscii_lower): Likewise.
1751         (Vcharset_latin_viscii_upper): Likewise.
1752         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
1753         `mojikyo' code-point is used to decode.
1754         (encode_char_2): New function [to convert `mojikyo' code-point to
1755         Mojikyo font encoding].
1756         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
1757         (breakup_char_1): Likewise.
1758         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
1759
1760 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1761
1762         * text-coding.c (Fmake_coding_system): Add document about
1763         `disable-composition' property.
1764
1765 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1766
1767         * text-coding.c (Qdisable_composition): New variable; delete
1768         `Qcomposite'.
1769         (Fmake_coding_system): Add new property `disable-composite';
1770         delete property `composite'.
1771         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
1772         instead of `!CODING_SYSTEM_COMPOSITE'.
1773         (syms_of_file_coding): Add new symbol `disable-composition';
1774         delete symbol `composite'.
1775
1776         * file-coding.h (struct Lisp_Coding_System): Add
1777         `disable_composition'; delete `enable_composition'.
1778         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1779         `CODING_SYSTEM_COMPOSITE'.
1780         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1781         `XCODING_SYSTEM_COMPOSITE'.
1782
1783 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1784
1785         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1786         to 0.15.
1787
1788 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1789
1790         * text-coding.c (Qcomposite): New variable.
1791         (Fmake_coding_system): Add new property `composite'.
1792         (struct decoding_stream): Add `combined_char_count',
1793         `combined_chars' and `combining_table' in UTF-2000.
1794         (COMPOSE_FLUSH_CHARS): New macro.
1795         (COMPOSE_ADD_CHAR): New macro.
1796         (reset_decoding_stream): Reset `str->combined_char_count' and
1797         `str->combining_table' in UTF-2000.
1798         (decode_coding_iso2022): Modify for character-decomposition.
1799         (syms_of_file_coding): Add new symbol `composite'.
1800
1801 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1802
1803         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
1804         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
1805         of `Vcharacter_composition_table' if `->decomposition' property
1806         has only 1 element.
1807         (Qlatin_tcvn5712): New variable.
1808         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
1809         (complex_vars_of_mule_charset): Add new coded-charset
1810         `latin-tcvn5712'.
1811
1812         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
1813
1814 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1815
1816         * file-coding.h (struct Lisp_Coding_System): Add
1817         `enable_composition'.
1818         (CODING_SYSTEM_COMPOSITE): New macro.
1819         (XCODING_SYSTEM_COMPOSITE): New macro.
1820
1821 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
1822
1823         * mule-canna.c (c2mu): Fix problem with UTF-2000.
1824
1825 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
1826
1827         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
1828         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
1829
1830 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
1831
1832         * mule-charset.c (Vcharset_mojikyo): New variable.
1833         (Fdefine_char): Don't use coded-charset which does not have
1834         non-builtin character range to allocate character-id.
1835         (Qmojikyo): New variable.
1836         (syms_of_mule_charset): Add new symbol `mojikyo'.
1837         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
1838
1839         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
1840         (LEADING_BYTE_MOJIKYO): New macro.
1841         (MIN_CHAR_MOJIKYO): New macro.
1842         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
1843         (MAX_CHAR_MOJIKYO): New macro.
1844
1845 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
1846
1847         * mule-charset.c (remove_char_attribute): Fixed.
1848
1849 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
1850
1851         * mule-charset.c (remove_char_attribute): New function.
1852         (Fremove_char_attribute): New function.
1853         (encode_builtin_char_1): Comment out builtin-support for
1854         greek-iso8859-7 and cyrillic-iso8859-5.
1855         (Fdecode_char): Check `code' is an integer.
1856         (syms_of_mule_charset): Add `remove-char-attribute'.
1857         (MIN_CHAR_GREEK): Deleted.
1858         (MAX_CHAR_GREEK): Likewise.
1859         (MIN_CHAR_CYRILLIC): Likewise.
1860         (MAX_CHAR_CYRILLIC): Likewise.
1861         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
1862         MAX_CHAR_GREEK for `greek-iso8859-7'.
1863
1864         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
1865         (MAX_CHAR_GREEK): Likewise.
1866         (MIN_CHAR_CYRILLIC): Likewise.
1867         (MAX_CHAR_CYRILLIC): Likewise.
1868
1869 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
1870
1871         * mule-charset.c (Fdefine_char): Fix problem when new code-point
1872         format is used without `ucs' property.
1873         (Fdecode_char): Fix problem with GR representation.
1874         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
1875         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
1876
1877 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1878
1879         * mule-charset.c (make_builtin_char): New function.
1880         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
1881         (Fset_charset_mapping_table): Modify for new representation of
1882         code-point.
1883         (Fdecode_char): New function.
1884         (syms_of_mule_charset): Add new builtin function `decode-char' in
1885         UTF-2000.
1886
1887         * char-ucs.h (make_builtin_char): New prototype.
1888         (DECODE_CHAR): New inline function.
1889         (MAKE_CHAR): Use `DECODE_CHAR'.
1890
1891 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
1892
1893         * text-coding.c (parse_charset_conversion_specs): Use
1894         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
1895         `XCHARSET_TYPE'.
1896         (iso2022_designate): Likewise.
1897
1898         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
1899         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
1900
1901         * mule-charset.c (Vcharset_ucs): New variable.
1902         (print_charset): Change design; use `CHARSET_CHARS' and
1903         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
1904         (make_charset): Change signature to specify `chars' and
1905         `dimension' instead of `type'.
1906         (range_charset_code_point): Modify for 256^n-set.
1907         (encode_builtin_char_1): Encode as `ucs' in default.
1908         (Fmake_charset): Modify for `make_charset'.
1909         (Fmake_reverse_direction_charset): Likewise.
1910         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
1911         UTF-2000.
1912         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
1913         for `make_charset'.
1914
1915         * char-ucs.h (Vcharset_ucs): New variable.
1916         (LEADING_BYTE_UCS): New macro.
1917         (struct Lisp_Charset): Delete `type'; change type of `dimension'
1918         and `chars' to `unsigned short' from `unsigned int'.
1919         (CHARSET_TYPE): Deleted.
1920         (XCHARSET_TYPE): Deleted.
1921
1922 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
1923
1924         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
1925
1926         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
1927         (ENCODE_CHAR): New macro.
1928
1929 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1930
1931         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1932         to 0.14 (Kawachi-Katakami).
1933
1934 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1935
1936         * text-coding.c (char_encode_shift_jis): Modify for
1937         `charset_code_point'.
1938         (char_encode_iso2022): Likewise.
1939
1940         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
1941         (integer) instead of list of <Lisp_Object>s (integers) as the
1942         format of code-point of a coded-charset.
1943         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1944         (encode_builtin_char_1): New function; delete
1945         `split_builtin_char'.
1946         (charset_code_point): Return <int> instead of <Lisp_Object>.
1947         (Fsplit_char): Don't use `SPLIT_CHAR'.
1948
1949         * char-ucs.h (encode_builtin_char_1): New prototype; delete
1950         prototype for `split_builtin_char'.
1951         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1952         (charset_code_point): Likewise.
1953         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
1954         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
1955
1956 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
1957
1958         * mule-charset.c (complex_vars_of_mule_charset): Don't define
1959         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
1960
1961 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1962
1963         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
1964
1965         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
1966         (MAX_CHAR_OBS_94x94): Deleted.
1967
1968 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1969
1970         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
1971
1972         * char-ucs.h (MAX_CHAR_BMP): New macro.
1973
1974 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1975
1976         * text-coding.c: Sync with r21-2-24.
1977
1978 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
1979
1980         * file-coding.c: Modify for UTF-2000.
1981
1982 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1983
1984         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1985         to 0.13 (Takaida).
1986
1987 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1988
1989         * mule-charset.c (split_builtin_char): Delete builtin support for
1990         `katakana-jisx0201'.
1991         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
1992         BMP area in builtin representation.
1993
1994         * char-ucs.h (MAKE_CHAR): Delete builtin support for
1995         `Vcharset_katakana_jisx0201'.
1996
1997 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
1998
1999         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2000         (Qisolated): New variable.
2001         (Qinitial): New variable.
2002         (Qmedial): New variable.
2003         (Qfinal): New variable.
2004         (Qvertical): New variable.
2005         (Qsmall): New variable.
2006         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2007         `Qvertical' and `Qsmall'.
2008         (Qmojikyo_pj_[1 .. 21]): New variable.
2009         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2010         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2011         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2012         .. 21]'.
2013
2014 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2015
2016         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2017         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2018         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2019
2020 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2021
2022         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2023         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2024         BMP.
2025         (Qjapanese_jisx0208_1990): New variable.
2026         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2027         (complex_vars_of_mule_charset): Add new coded-charset
2028         `japanese-jisx0208-1990'.
2029
2030         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2031         (MIN_CHAR_JIS_X0208_1990): New macro.
2032         (MAX_CHAR_JIS_X0208_1990): New macro.
2033
2034 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2035
2036         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2037         coded-charset is not found.
2038
2039 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2040
2041         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2042         (Fdefine_char): Use `Fmake_char'.
2043
2044 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2045
2046         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2047         (Vcharset_hiragana_jisx0208): Deleted.
2048         (Vcharset_katakana_jisx0208): Deleted.
2049         (Qideograph_daikanwa): New variable.
2050         (Qhiragana_jisx0208): Deleted.
2051         (Qkatakana_jisx0208): Deleted.
2052         (split_builtin_char): Split `ideograph-daikanwa'.
2053         (Fsplit_char): New implementation for UTF-2000.
2054         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2055         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2056         (complex_vars_of_mule_charset): Add new coded-charset
2057         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2058         `katakana-jisx0208'.
2059
2060         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2061         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2062         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2063         (MIN_CHAR_DAIKANWA): New macro.
2064         (MAX_CHAR_DAIKANWA): New macro.
2065
2066 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2067
2068         * data.c (Fstring_to_number): Don't recognize floating point if
2069         base is not 10.
2070
2071 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2072
2073         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2074
2075 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2076
2077         * mule-charset.c (Qsquare): New variable.
2078         (to_char_code): Add `Qsquare'.
2079         (syms_of_mule_charset): Add new symbol `square'.
2080
2081 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2082
2083         * mule-charset.c (Qcircle): New variable.
2084         (to_char_code): Add `Qcircle'.
2085         (syms_of_mule_charset): Add new symbol `circle'.
2086
2087 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2088
2089         * mule-charset.c (Qfont): New variable.
2090         (to_char_code): Add `Qfont'.
2091         (syms_of_mule_charset): Add new symbol `font'.
2092
2093 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2094
2095         * mule-charset.c (Qsub): New variable.
2096         (to_char_code): Add `Qsub'.
2097         (syms_of_mule_charset): Add new symbol `sub'.
2098
2099 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2100
2101         * mule-charset.c (Fput_char_attribute): Convert each element of
2102         VALUE to GL position if ATTRIBUTE is a GR-set,
2103
2104 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2105
2106         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2107         coded-charset is a GR-set.
2108
2109 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2110
2111         * mule-charset.c (Fput_char_attribute): Check each element of
2112         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2113
2114 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2115
2116         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2117         UTF-2000.
2118         (Qethiopic_ucs): New variable in UTF-2000.
2119         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2120         (complex_vars_of_mule_charset): Add new coded-charset
2121         `ethiopic-ucs' in UTF-2000.
2122
2123         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2124         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2125         9)'.
2126         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2127         10)'.
2128         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2129
2130 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2131
2132         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2133         `ascii'.
2134
2135 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2136
2137         * mule-charset.c (Vcharacter_variant_table): New variable.
2138         (Q_ucs): New variable.
2139         (Fchar_variants): New function.
2140         (Fput_char_attribute): Register `->ucs' value to
2141         `Vcharacter_variant_table'.
2142         (syms_of_mule_charset): Add new function `char-variants' and new
2143         symbol `->ucs'.
2144         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2145
2146 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2147
2148         * mule-charset.c (get_char_code_table): Allow negative character
2149         code.
2150         (put_char_code_table): Likewise.
2151         (Vcharacter_composition_table): New variable.
2152         (Q_decomposition): New variable.
2153         (Qwide): New variable.
2154         (Qnarrow): New variable.
2155         (Qcompat): New variable.
2156         (QnoBreak): New variable.
2157         (Qsuper): New variable.
2158         (Qfraction): New variable.
2159         (to_char_code): New function.
2160         (Fget_composite_char): New function.
2161         (Fput_char_attribute): Register `->decomposition' value to
2162         `Vcharacter_composition_table'.
2163         (syms_of_mule_charset): Add new function `get-composite-char', new
2164         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2165         `super' and `fraction'.
2166         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2167
2168 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2169
2170         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2171         character; copy the return value.
2172
2173 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2174
2175         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2176
2177         * mule-charset.c (range_charset_code_point): Must use make_int.
2178         (split_builtin_char): New function.
2179
2180 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2181
2182         * mule-charset.c (char_byte_table): Change name from
2183         "char-code-table" to "char-byte-table".
2184         (mark_char_code_table): New function.
2185         (char_code_table_equal): New function.
2186         (char_code_table_hash): New function.
2187         (char_code_table_description): New constant.
2188         (char_code_table): New type.
2189         (make_char_code_table): New function.
2190         (copy_char_code_table): New function.
2191         (get_char_code_table): Modify for `char_code_table' type.
2192         (put_char_code_table): Likewise.
2193         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2194         (Kashiwara).
2195
2196         * char-ucs.h (char_code_table): New type.
2197         (XCHAR_CODE_TABLE): New macro.
2198         (XSETCHAR_CODE_TABLE): New macro.
2199         (CHAR_CODE_TABLE_P): New macro.
2200         (GC_CHAR_CODE_TABLE_P): New macro.
2201         (struct Lisp_Char_Code_Table): New structure.
2202
2203 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2204
2205         * mule-charset.c (Fmake_charset): Setup byte_offset for
2206         {94|96}^n-set.
2207
2208 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2209
2210         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2211         character.
2212
2213 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2214
2215         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2216         is found.
2217
2218 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2219
2220         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2221         charset, it is regarded as a charset.
2222         (put_char_attribute): New function in UTF-2000.
2223         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2224         charset, mapping-table of the charset is modified.
2225         (Fdefine_char): New function in UTF-2000.
2226         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2227         `Fput_char_attribute'.
2228         (syms_of_mule_charset): Add new function `define-char' and new
2229         symbol `ucs' in UTF-2000.
2230         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2231
2232 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2233
2234         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2235         non-UTF-2000 configuration.
2236
2237 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2238
2239         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2240         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2241
2242         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2243         deleted.
2244         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2245         (Fset_charset_mapping_table): Likewise.
2246
2247         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2248         (CHARSET_ENCODING_TABLE): Delete.
2249         (XCHARSET_ENCODING_TABLE): Delete.
2250         (charset_code_point): New interface.
2251
2252 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2253
2254         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2255         instead of `charset_get_byte1' and `charset_get_byte2'.
2256
2257         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2258         (charset_get_byte2): Deleted.
2259
2260 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2261
2262         * char-ucs.h (SPLIT_CHAR): New inline function.
2263         (breakup_char_1): Use `SPLIT_CHAR'.
2264
2265         * mule-charset.c (range_charset_code_point): New function.
2266         (charset_code_point): New function.
2267
2268         * char-ucs.h (range_charset_code_point): New interface.
2269         (breakup_char_1): Use `range_charset_code_point'.
2270
2271 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2272
2273         * mule-charset.c (Fmake_charset): Delete unused local variable
2274         `code_offset'.
2275
2276         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2277         (breakup_char_1): Find a charset and code-point in
2278         `Vcharacter_attribute_table'.
2279
2280 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2281
2282         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2283         to 0.10 (Yao).
2284
2285 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2286
2287         * mule-charset.c (Vcharacter_attribute_table): New variable.
2288         (Fchar_attribute_alist): New function.
2289         (Fget_char_attribute): New function.
2290         (Fput_char_attribute): New function.
2291         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2292         too.
2293         (syms_of_mule_charset): Add new function `char-attribute-alist',
2294         `get-char-attribute' and `put-char-attribute'.
2295         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2296
2297 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2298
2299         * mule-charset.c (Fmake_charset): Just use
2300         `get_unallocated_leading_byte'.
2301
2302         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2303         sets; don't use final-byte based number for private sets.
2304
2305 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2306
2307         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2308         integer.
2309
2310 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2311
2312         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2313         to 0.9.
2314
2315 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2316
2317         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2318         of `CHAR_LEADING_BYTE' in UTF-2000.
2319
2320         * insdel.c (find_charsets_in_bufbyte_string): Use
2321         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2322         (find_charsets_in_emchar_string): Likewise.
2323
2324         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2325         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2326
2327         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2328         (CHAR_CHARSET_ID): New macro.
2329
2330 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2331
2332         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2333         charset-id - MIN_LEADING_BYTE.
2334         (put_char_table): Likewise.
2335
2336 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2337
2338         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2339         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2340         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2341         (CHARSET_ID_OFFSET): New macro.
2342         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2343         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2344         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2345         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2346         4).
2347         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2348         5).
2349         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2350         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2351         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2352         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2353         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2354
2355 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2356
2357         * mule-charset.c (next_allocated_leading_byte): New variable in
2358         UTF-2000.
2359         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2360         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2361         (get_unallocated_leading_byte): Simply use
2362         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2363         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2364         UTF-2000.
2365
2366         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2367         (MAX_LEADING_BYTE_PRIVATE): New macro.
2368         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2369         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2370
2371 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2372
2373         * mule-charset.c (Fmake_charset): Allocate final-byte based
2374         charset-id for 94-set, 96-set and 94x94-set.
2375
2376 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2377
2378         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2379         ambiguous `else'.
2380         (Fmake_charset): Likewise.
2381         (complex_vars_of_mule_charset): Modify the font registry of
2382         `ucs-bmp' not to match `Ethiopic-Unicode'.
2383
2384 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2385
2386         * mule-charset.c (complex_vars_of_mule_charset): Add font
2387         registory of `ucs-bmp'.
2388
2389 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2390
2391         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2392         coded-charsets in `default-coded-charset-priority-list' when
2393         breaking up a character.
2394
2395         * mule-charset.c (Vcharset_latin_viscii): New variable.
2396         (Qlatin_viscii): New variable.
2397         (make_charset): Don't use `decoding_table'.
2398         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2399         byte_offset.
2400         (Fset_charset_mapping_table): New implementation.
2401         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2402         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2403         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2404         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2405         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2406         charset `latin_viscii'.
2407
2408         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2409         (CHARSET_TYPE_94X94): Change to 1 from 2.
2410         (CHARSET_TYPE_96): Change to 2 from 1.
2411         (CHARSET_TYPE_128): New macro.
2412         (CHARSET_TYPE_128X128): Change to 5 from 4.
2413         (CHARSET_TYPE_256): New macro.
2414         (CHARSET_TYPE_256X256): Change to 7 from 5.
2415         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2416
2417 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2418
2419         * text-coding.c (char_encode_shift_jis): Refer
2420         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2421         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2422
2423         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2424         (char_byte_table_equal): New function in UTF-2000.
2425         (char_byte_table_hash): New function in UTF-2000.
2426         (char_byte_table_description): New constant in UTF-2000.
2427         (char_byte_table): New type in UTF-2000.
2428         (make_char_byte_table): New function in UTF-2000.
2429         (copy_char_byte_table): New function in UTF-2000.
2430         (make_char_code_table): New macro in UTF-2000.
2431         (get_char_code_table): New function in UTF-2000.
2432         (put_char_code_table): New function in UTF-2000.
2433         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2434         (charset_description): Add setting in UTF-2000.
2435         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2436         `CHARSET_TO_BYTE1_TABLE(cs)'.
2437         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2438         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2439         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2440         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2441         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2442         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2443         `CHARSET_TO_BYTE2_TABLE(cs)'.
2444
2445         * char-ucs.h (char_byte_table): New type.
2446         (XCHAR_BYTE_TABLE): New macro.
2447         (XSETCHAR_BYTE_TABLE): New macro.
2448         (CHAR_BYTE_TABLE_P): New macro.
2449         (GC_CHAR_BYTE_TABLE_P): New macro.
2450         (struct Lisp_Char_Byte_Table): New structure.
2451         (get_char_code_table): New interface.
2452         (Emchar_to_byte_table): Deleted.
2453         (get_byte_from_character_table): Deleted.
2454         (struct Lisp_Charset): Add `encoding_table'; delete
2455         `to_byte1_table' and `to_byte2_table'.
2456         (CHARSET_ENCODING_TABLE): New macro.
2457         (CHARSET_TO_BYTE1_TABLE): Deleted.
2458         (CHARSET_TO_BYTE2_TABLE): Deleted.
2459         (XCHARSET_ENCODING_TABLE): New macro.
2460         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2461         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2462
2463 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2464
2465         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2466         `vietnamese-viscii-*'.
2467
2468 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2469
2470         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2471         (Qvietnamese_viscii_upper): New variable.
2472         (Fdefine_charset_alias): New function.
2473         (syms_of_mule_charset): Add new function `define-charset-alias'.
2474         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2475         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2476         `latin-viscii-*'.
2477
2478 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2479
2480         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2481         (MAX_CHAR_OBS_94x94): New macro.
2482         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2483         for 94x94 sets.
2484
2485         * mule-charset.c (put_byte_from_character_table): Change unit size
2486         from 128 to 256.
2487         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2488         not defined.
2489         (Fmake_reverse_direction_charset): Modify dummy argument of
2490         `make_charset' for non-UTF-2000 environment.
2491
2492 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2493
2494         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2495
2496         * mule-charset.c (destroy_byte_from_character_table): New macro.
2497         (latin_jisx0201_to_ucs): Deleted.
2498         (latin_iso8859_2_to_ucs): Deleted.
2499         (latin_iso8859_3_to_ucs): Deleted.
2500         (latin_iso8859_4_to_ucs): Deleted.
2501         (latin_iso8859_9_to_ucs): Deleted.
2502         (latin_viscii_lower_to_ucs): Deleted.
2503         (latin_viscii_upper_to_ucs): Deleted.
2504         (mark_charset): Mark `cs->decoding_table'.
2505         (Fcharset_mapping_table): Fix DOC-string.
2506         (Fset_charset_mapping_table): New function.
2507         (syms_of_mule_charset): Add nwe function
2508         `set-charset-mapping-table'.
2509         (complex_vars_of_mule_charset): Don't setup and use
2510         `latin_*_to_ucs'.
2511
2512 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2513
2514         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2515         charset.
2516
2517 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2518
2519         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2520         (Vcharset_katakana_jisx0208): New variable.
2521         (Qhiragana_jisx0208): New variable.
2522         (Qkatakana_jisx0208): New variable.
2523         (make_charset): Add new argument `byte_offset'.
2524         (charset_get_byte1): Modify for new coded-charset definition; use
2525         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2526         `XCHARSET_BYTE_OFFSET'.
2527         (Fmake_charset): Modify for `make_charset'.
2528         (Fmake_reverse_direction_charset): Likewise.
2529         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2530         `katakana-jisx0208'.
2531         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2532         `.'  in font registry of charset `katakana-jisx0201',
2533         `latin-jisx0201', `vietnamese-viscii-lower' and
2534         `vietnamese-viscii-upper'; modify DOC-string of charset
2535         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2536         registry of charset `japanese-jisx0208' not to use font for JIS
2537         X0208:1990; add new charset `hiragana-jisx0208' and
2538         `katakana-jisx0208'.
2539
2540         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2541         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2542         (struct Lisp_Charset): Add `byte_offset'.
2543         (CHARSET_BYTE_OFFSET): New macro.
2544         (XCHARSET_UCS_MIN): New macro.
2545         (XCHARSET_UCS_MAX): New macro.
2546         (XCHARSET_CODE_OFFSET): New macro.
2547         (XCHARSET_BYTE_OFFSET): New macro.
2548         (MIN_CHAR_HIRAGANA): New macro.
2549         (MAX_CHAR_HIRAGANA): New macro.
2550         (MIN_CHAR_KATAKANA): New macro.
2551         (MAX_CHAR_KATAKANA): New macro.
2552         (MAKE_CHAR): Modify for new coded-charset definition; use
2553         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2554         `XCHARSET_BYTE_OFFSET'.
2555
2556 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2557
2558         * mule-charset.c (CHAR96): Deleted.
2559         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
2560         <Lisp_Object>.
2561         (latin_iso8859_2_to_ucs): Likewise.
2562         (latin_iso8859_3_to_ucs): Likewise.
2563         (latin_iso8859_4_to_ucs): Likewise.
2564         (latin_iso8859_9_to_ucs): Likewise.
2565         (latin_viscii_lower_to_ucs): Likewise.
2566         (latin_viscii_upper_to_ucs): Likewise.
2567         (latin_tcvn5712_to_ucs): Commented out.
2568         (make_charset): Change type of argument `decoding_table' from
2569         <Emchar*> to <Lisp_Object> [vector of characters].
2570         (Fmake_charset): Modify for `make_charset'.
2571         (Fmake_reverse_direction_charset): Likewise.
2572         (Fcharset_mapping_table): New function in UTF-2000.
2573         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
2574         UTF-2000.
2575         (complex_vars_of_mule_charset): Modify for type change of
2576         `*_to_ucs'; modify for `make_charset'.
2577
2578         * char-ucs.h (struct Lisp_Charset): Change type of
2579         `decoding_table' from <Emchar*> to <Lisp_Object>.
2580         (MAKE_CHAR): Modify for new specification of `decoding_table'.
2581
2582 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2583
2584         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
2585         error with non-UTF-2000-Mule.
2586
2587 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
2588
2589         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
2590         in lisp again].
2591         (Vcharset_chinese_cns11643_4): Likewise.
2592         (Vcharset_chinese_cns11643_5): Likewise.
2593         (Vcharset_chinese_cns11643_6): Likewise.
2594         (Vcharset_chinese_cns11643_7): Likewise.
2595         (Qchinese_cns11643_3): Likewise.
2596         (Qchinese_cns11643_4): Likewise.
2597         (Qchinese_cns11643_5): Likewise.
2598         (Qchinese_cns11643_6): Likewise.
2599         (Qchinese_cns11643_7): Likewise.
2600         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
2601         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2602         and `chinese-cns11643-7' to lisp/mule/chinese.el.
2603         (complex_vars_of_mule_charset): Likewise.
2604
2605 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2606
2607         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
2608         96-set.
2609         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
2610         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
2611
2612 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2613
2614         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
2615         0xFF60.
2616         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
2617         (breakup_char_1): Likewise.
2618
2619         * text-coding.c (char_encode_iso2022): Keep designated charsets if
2620         one of them includes the specified character.
2621
2622 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2623
2624         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
2625
2626 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2627
2628         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
2629
2630 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2631
2632         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
2633         definition for non-UTF-2000 Mule.
2634         (latin_iso8859_3_to_ucs): Likewise.
2635         (latin_iso8859_4_to_ucs): Likewise.
2636         (latin_iso8859_9_to_ucs): Likewise.
2637         (latin_jisx0201_to_ucs): Likewise.
2638         (MIN_CHAR_THAI): Likewise.
2639         (MAX_CHAR_THAI): Likewise.
2640         (MIN_CHAR_GREEK): Likewise.
2641         (MAX_CHAR_GREEK): Likewise.
2642         (MIN_CHAR_HEBREW): Likewise.
2643         (MAX_CHAR_HEBREW): Likewise.
2644         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
2645         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
2646         (MIN_CHAR_CYRILLIC): Likewise.
2647         (MAX_CHAR_CYRILLIC): Likewise.
2648
2649 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2650
2651         * char-ucs.h (breakup_char_1): Use
2652         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
2653         thai-tis620 and katakana-jisx0201 area.
2654
2655 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2656
2657         * char-ucs.h (breakup_char_1): Use
2658         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
2659         area.
2660
2661         * text-coding.c (reset_encoding_stream): Fixed.
2662         (char_encode_ucs4): Delete `& 255'.
2663
2664         * char-ucs.h (breakup_char_1): Use
2665         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
2666
2667 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2668
2669         * file-coding.c (Fmake_coding_system): Don't set up
2670         `codesys->fixed.size'.
2671         (encode_coding_no_conversion): Don't refer
2672         `str->codesys->fixed.size'.
2673
2674 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2675
2676         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
2677         (latin_a_char_to_byte1): Deleted.
2678         (latin_a_char_to_byte2): Deleted.
2679
2680 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2681
2682         * mule-charset.c (make_charset): Add new argument `ucs_min',
2683         `ucs_max' and `code_offset'.
2684         (charset_get_byte1): New implementation [delete specific charset
2685         depended implementations].
2686         (Fmake_charset): Modify for `make_charset'.
2687         (Fmake_reverse_direction_charset): Likewise.
2688         (complex_vars_of_mule_charset): Likewise.
2689
2690         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
2691         `code_offset'.
2692         (CHARSET_UCS_MIN): New macro.
2693         (CHARSET_UCS_MAX): New macro.
2694         (CHARSET_CODE_OFFSET): New macro.
2695         (MAKE_CHAR): Delete charset depended definitions [except
2696         katakana-jisx0201].
2697
2698 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2699
2700         * char-ucs.h (breakup_char_1): Use
2701         `Vdefault_coded_charset_priority_list' for C0-Controls,
2702         Basic-Latin, C1-Controls and Latin-1-Supplement area.
2703
2704 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2705
2706         * char-ucs.h (charset_get_byte1): New function.
2707         (XCHARSET_GET_BYTE1): Deleted.
2708         (charset_get_byte2): New function.
2709         (XCHARSET_GET_BYTE2): Deleted.
2710         (Vdefault_coded_charset_priority_list): New external variable.
2711         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
2712         `Vdefault_preferred_coded_charset_list'.
2713
2714         * mule-charset.c (charset_get_byte1): New function.
2715         (charset_get_byte2): New function.
2716         (Vdefault_coded_charset_priority_list): New variable.
2717         (vars_of_mule_charset): Add new variable
2718         `default-coded-charset-priority-list'.
2719
2720 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2721
2722         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
2723         (XCHARSET_GET_BYTE2): New inline function.
2724         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
2725         `XCHARSET_GET_BYTE2'.
2726
2727 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2728
2729         * mule-charset.c (make_charset): Initialize
2730         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
2731         NULL if table is not defined.
2732
2733 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2734
2735         * text-coding.c (char_encode_shift_jis): Use
2736         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
2737         `ucs_to_latin_jisx0201'.
2738
2739         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
2740         (ucs_to_latin_iso8859_2): Deleted.
2741         (ucs_to_latin_iso8859_3): Deleted.
2742         (ucs_to_latin_iso8859_4): Deleted.
2743         (ucs_to_latin_iso8859_9): Deleted.
2744         (ucs_to_latin_viscii_lower): Deleted.
2745         (ucs_to_latin_viscii_upper): Deleted.
2746         (ucs_to_latin_tcvn5712): Deleted.
2747         (make_charset): Add new argument `decoding_table'; set up
2748         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
2749         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
2750         `decoding_table' is defined in UTF-2000.
2751         (Fmake_charset): Modify for `make_charset'.
2752         (Fmake_reverse_direction_charset): Likewise.
2753         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
2754         and `GENERATE_96_SET'.
2755
2756         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
2757         (ucs_to_latin_jisx0201): Deleted.
2758         (latin_iso8859_2_to_ucs): Deleted.
2759         (ucs_to_latin_iso8859_2): Deleted.
2760         (latin_iso8859_3_to_ucs): Deleted.
2761         (ucs_to_latin_iso8859_3): Deleted.
2762         (latin_iso8859_4_to_ucs): Deleted.
2763         (ucs_to_latin_iso8859_4): Deleted.
2764         (latin_iso8859_9_to_ucs): Deleted.
2765         (ucs_to_latin_iso8859_9): Deleted.
2766         (latin_viscii_lower_to_ucs): Deleted.
2767         (ucs_to_latin_viscii_lower): Deleted.
2768         (latin_viscii_upper_to_ucs): Deleted.
2769         (ucs_to_latin_viscii_upper): Deleted.
2770         (struct Lisp_Charset): Renamed `encoding_table' to
2771         `to_byte1_table'; add `to_byte2_table'.
2772         (CHARSET_DECODING_TABLE): New macro.
2773         (CHARSET_TO_BYTE1_TABLE): New macro.
2774         (CHARSET_TO_BYTE2_TABLE): New macro.
2775         (XCHARSET_DECODING_TABLE): New macro.
2776         (XCHARSET_TO_BYTE1_TABLE): New macro.
2777         (XCHARSET_TO_BYTE2_TABLE): New macro.
2778         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
2779         tables.
2780         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
2781         don't use `ucs_to_*' tables.
2782
2783 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2784
2785         * text-coding.c (Fmake_coding_system): Don't set up
2786         `codesys->fixed.size'.
2787         (encode_coding_no_conversion): Use `if' instead of `switch'.
2788
2789         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
2790
2791 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2792
2793         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
2794         (Fmake_charset): Modify for `make_charset'.
2795         (Fmake_reverse_direction_charset): Likewise.
2796         (complex_vars_of_mule_charset): Likewise.
2797
2798 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2799
2800         * text-coding.c (char_encode_shift_jis): Use table
2801         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
2802
2803 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2804
2805         * text-coding.c (text_encode_generic): Use `if' instead of
2806         `switch'.
2807         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
2808         decode JIS-Latin.
2809
2810 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2811
2812         * text-coding.c (encode_coding_sjis): Deleted.
2813         (char_encode_shift_jis): New function.
2814         (char_finish_shift_jis): New function.
2815         (reset_encoding_stream): Set up `encode_char' and `finish' for
2816         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
2817         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
2818         (char_encode_utf8): Treat `eol_type'.
2819
2820 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2821
2822         * file-coding.c (decode_coding_iso2022): Use
2823         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
2824
2825 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2826
2827         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2828         to 0.7 (Hirano).
2829
2830 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2831
2832         * char-lb.h (CHAR_COLUMNS): New macro.
2833
2834 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2835
2836         * text-coding.c (char_encode_ucs4): New function.
2837         (char_finish_ucs4): New function.
2838         (encode_coding_ucs4): Deleted.
2839         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
2840         (text_encode_generic): Delete local variable `charset' and `half'.
2841         (ucs_to_mule_table): Deleted.
2842         (mule_to_ucs_table): Deleted.
2843         (Fset_ucs_char): Deleted.
2844         (ucs_to_char): Deleted.
2845         (Fucs_char): Deleted.
2846         (Fset_char_ucs): Deleted.
2847         (Fchar_ucs): Deleted.
2848         (decode_ucs4): Deleted.
2849         (mule_char_to_ucs4): Deleted.
2850         (encode_ucs4): Deleted.
2851         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
2852         (decode_coding_utf8): Likewise.
2853         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
2854         (char_encode_iso2022): Fixed.
2855         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
2856         `Fset_char_ucs' and `Fchar_ucs'.
2857         (complex_vars_of_file_coding): Don't initialize
2858         `ucs_to_mule_table'.
2859
2860         * objects-tty.c (tty_initialize_font_instance): Don't use
2861         `XCHARSET_COLUMNS'.
2862
2863         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
2864         UTF-2000.
2865
2866         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
2867         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2868
2869         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
2870         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2871         (emchar_string_displayed_columns): Likewise.
2872
2873         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
2874         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2875         (string_column_at_point): Likewise.
2876         (Fmove_to_column): Likewise.
2877
2878         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
2879         `encoding_table' and `decoding_table'.
2880         (CHARSET_REP_BYTES): Deleted.
2881         (XCHARSET_REP_BYTES): Deleted.
2882         (XCHARSET_COLUMNS): Deleted.
2883         (CHAR_COLUMNS): New macro.
2884         (lookup_composite_char): Deleted unconditionally.
2885         (composite_char_string): Likewise.
2886
2887 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2888
2889         * char-ucs.h (Emchar_to_byte_table): New type.
2890         (get_byte_from_character_table): New function interface.
2891         (Vcharset_latin_jisx0201): New variable.
2892         (latin_jisx0201_to_ucs): New variable.
2893         (ucs_to_latin_jisx0201): New variable.
2894         (Vcharset_latin_iso8859_2): New variable.
2895         (latin_iso8859_2_to_ucs): New variable.
2896         (ucs_to_latin_iso8859_2): New variable.
2897         (Vcharset_latin_iso8859_3): New variable.
2898         (latin_iso8859_3_to_ucs): New variable.
2899         (ucs_to_latin_iso8859_3): New variable.
2900         (Vcharset_latin_iso8859_4): New variable.
2901         (latin_iso8859_4_to_ucs): New variable.
2902         (ucs_to_latin_iso8859_4): New variable.
2903         (Vcharset_latin_iso8859_9): New variable.
2904         (latin_iso8859_9_to_ucs): New variable.
2905         (ucs_to_latin_iso8859_9): New variable.
2906         (Vcharset_latin_viscii_lower): New variable.
2907         (latin_viscii_lower_to_ucs): New variable.
2908         (ucs_to_latin_viscii_lower): New variable.
2909         (Vcharset_latin_viscii_upper): New variable.
2910         (latin_viscii_upper_to_ucs): New variable.
2911         (ucs_to_latin_viscii_upper): New variable.
2912         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
2913         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
2914         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
2915         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
2916         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
2917         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
2918         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
2919         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
2920         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
2921         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
2922
2923         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
2924         (Vcharset_latin_viscii_upper): New variable.
2925         (make_byte_from_character_table): New function.
2926         (put_byte_from_character_table): New function.
2927         (get_byte_from_character_table): New function.
2928         (CHAR96): New macro.
2929         (ucs_to_latin_jisx0201): New variable.
2930         (latin_jisx0201_to_ucs): New variable.
2931         (ucs_to_latin_iso8859_2): New variable.
2932         (latin_iso8859_2_to_ucs): New variable.
2933         (ucs_to_latin_iso8859_3): New variable.
2934         (latin_iso8859_3_to_ucs): New variable.
2935         (ucs_to_latin_iso8859_4): New variable.
2936         (latin_iso8859_4_to_ucs): New variable.
2937         (ucs_to_latin_iso8859_9): New variable.
2938         (latin_iso8859_9_to_ucs): New variable.
2939         (ucs_to_latin_viscii_lower): New variable.
2940         (latin_viscii_lower_to_ucs): New variable.
2941         (ucs_to_latin_viscii_upper): New variable.
2942         (latin_viscii_upper_to_ucs): New variable.
2943         (ucs_to_latin_tcvn5712): New variable.
2944         (latin_tcvn5712_to_ucs): New variable.
2945         (Qlatin_viscii_lower): New variable.
2946         (Qlatin_viscii_upper): New variable.
2947         (syms_of_mule_charset): Set up new symbol
2948         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
2949         (complex_vars_of_mule_charset): Set up new charset
2950         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
2951         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
2952         `ucs_to_<CHARSET>' tables.
2953
2954 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2955
2956         * text-coding.c: New file.
2957
2958 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2959
2960         * mule-charset.c (Fmake_char): Fix problem of 256-set.
2961
2962         * char-ucs.h (Vcharset_ucs_bmp): New variable.
2963         (MAKE_CHAR): Modify for `ucs-bmp'.
2964         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
2965         non-MULE characters of BMP.
2966
2967 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
2968
2969         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2970         to 0.6.
2971
2972 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2973
2974         * lstream.h:
2975         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
2976         - Include character.h for `CHAR_ASCII_P'.
2977
2978         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
2979
2980         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
2981         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
2982
2983         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
2984         (BYTE_C0_P): Likewise.
2985         (BYTE_C1_P): Likewise.
2986         (Lstream_get_emchar_1): Likewise.
2987         (Lstream_fput_emchar): Likewise.
2988         (Lstream_funget_emchar): Likewise.
2989         (copy_internal_to_external): Likewise.
2990         (copy_external_to_internal): Likewise.
2991
2992         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
2993         (BYTE_C0_P): Likewise.
2994         (BYTE_C1_P): Likewise.
2995         (Lstream_get_emchar_1): Likewise.
2996         (Lstream_fput_emchar): Likewise.
2997         (Lstream_funget_emchar): Likewise.
2998         (copy_internal_to_external): Likewise.
2999         (copy_external_to_internal): Likewise.
3000
3001         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3002         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3003
3004         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3005         (BYTE_ASCII_P): Moved to mb-1byte.h.
3006
3007 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3008
3009         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3010
3011         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3012         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3013         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3014         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3015         (VALIDATE_CHARPTR_FORWARD): Likewise.
3016         (simple_charptr_emchar): Moved to mb-multibyte.h.
3017         (simple_set_charptr_emchar): Likewise.
3018         (simple_charptr_copy_char): Likewise.
3019         (non_ascii_charptr_emchar): Likewise.
3020         (non_ascii_set_charptr_emchar): Likewise.
3021         (non_ascii_charptr_copy_char): Likewise.
3022         (charptr_emchar): Moved to mb-*byte.h.
3023         (set_charptr_emchar): Likewise.
3024         (charptr_copy_char): Likewise.
3025
3026         * mb-1byte.h, mb-multibyte.h: New files.
3027
3028 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3029
3030         * mb-utf-8.h (MULTIBYTE): New macro.
3031         (MAX_EMCHAR_LEN): Moved from buffer.h.
3032         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3033
3034         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3035
3036         * mb-lb.h, multibyte.h: New files.
3037
3038         * char-1byte.h (Charset_ID): Moved from buffer.h.
3039         (MIN_LEADING_BYTE): Likewise.
3040         (LEADING_BYTE_ASCII): Likewise.
3041         (NUM_LEADING_BYTES): Likewise.
3042         (CHARSETP): Likewise.
3043         (CHARSET_BY_LEADING_BYTE): Likewise.
3044         (XCHARSET_LEADING_BYTE): Likewise.
3045         (XCHARSET_GRAPHIC): Likewise.
3046         (XCHARSET_COLUMNS): Likewise.
3047         (XCHARSET_DIMENSION): Likewise.
3048         (CHAR_CHARSET): Likewise.
3049         (CHAR_LEADING_BYTE): Likewise.
3050         (BREAKUP_CHAR): Likewise.
3051         (Vcharset_ascii): Likewise.
3052
3053         * buffer.h: Include multibyte.h unconditionally.
3054         (VALID_CHARPTR_P): Moved to multibyte.h.
3055         (ASSERT_VALID_CHARPTR): Likewise.
3056         (REAL_INC_CHARPTR): Likewise.
3057         (REAL_INC_CHARBYTIND): Likewise.
3058         (REAL_DEC_CHARPTR): Likewise.
3059         (INC_CHARPTR): Likewise.
3060         (INC_CHARBYTIND): Likewise.
3061         (DEC_CHARPTR): Likewise.
3062         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3063         (VALIDATE_CHARPTR_FORWARD): Likewise.
3064         (charptr_n_addr): Likewise.
3065         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3066         (simple_charptr_emchar): Moved to multibyte.h.
3067         (simple_set_charptr_emchar): Likewise.
3068         (simple_charptr_copy_char): Likewise.
3069         (non_ascii_charptr_emchar): Likewise.
3070         (non_ascii_set_charptr_emchar): Likewise.
3071         (non_ascii_charptr_copy_char): Likewise.
3072         (charptr_emchar): Likewise.
3073         (set_charptr_emchar): Likewise.
3074         (charptr_copy_char): Likewise.
3075         (charptr_emchar_n): Likewise.
3076         (Charset_ID): Moved to char-1byte.h.
3077         (Vcharset_ascii): Likewise.
3078         (CHAR_CHARSET): Likewise.
3079         (CHAR_LEADING_BYTE): Likewise.
3080         (LEADING_BYTE_ASCII): Likewise.
3081         (NUM_LEADING_BYTES): Likewise.
3082         (MIN_LEADING_BYTE): Likewise.
3083         (CHARSETP): Likewise.
3084         (CHARSET_BY_LEADING_BYTE): Likewise.
3085         (XCHARSET_LEADING_BYTE): Likewise.
3086         (XCHARSET_GRAPHIC): Likewise.
3087         (XCHARSET_COLUMNS): Likewise.
3088         (XCHARSET_DIMENSION): Likewise.
3089         (BREAKUP_CHAR): Likewise.
3090
3091 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3092
3093         * character.h: Add document about interface for characters.
3094
3095         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3096         (MAKE_CHAR): Delete comment about
3097         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3098         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3099         (BREAKUP_CHAR): Modify name of arguments.
3100         (CHAR_CHARSET): Modify name of argument.
3101
3102         * buffer.h: Delete document about Emchar accessors.
3103
3104 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3105
3106         * character.h (CHAR_INTP): Moved from buffer.h
3107         (CHAR_OR_CHAR_INTP): Likewise.
3108         (XCHAR_OR_CHAR_INT): Likewise.
3109         (CHECK_CHAR_COERCE_INT): Likewise.
3110
3111         * buffer.h (CHAR_INTP): Moved to character.h
3112         (CHAR_OR_CHAR_INTP): Likewise.
3113         (XCHAR_OR_CHAR_INT): Likewise.
3114         (CHECK_CHAR_COERCE_INT): Likewise.
3115
3116 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3117
3118         * character.h:
3119         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3120         - Include char-1byte.h, char-lb.h or char-ucs.h.
3121
3122         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3123
3124         * buffer.h: Include character unconditionally.
3125         (valid_char_p): Moved to char-*.h.
3126         (non_ascii_valid_char_p): Moved to char-lb.h.
3127
3128         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3129
3130 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3131
3132         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3133         in UTF-2000 because it is not ported yet and not to use
3134         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3135         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3136         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3137
3138         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3139         (CHAR_ASCII_P): Moved from character.h.
3140
3141         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3142         (CHAR_ASCII_P): Likewise.
3143         (CHAR_FIELD1_MASK): Deleted.
3144         (CHAR_FIELD2_MASK): Deleted.
3145         (CHAR_FIELD3_MASK): Deleted.
3146         (MAX_CHAR_BASIC_LATIN): New macro.
3147         (CHAR_FIELD1): Deleted.
3148         (CHAR_FIELD2_INTERNAL): Deleted.
3149         (CHAR_FIELD3_INTERNAL): Deleted.
3150         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3151         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3152         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3153         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3154         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3155         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3156         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3157         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3158         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3159         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3160         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3161         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3162         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3163         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3164         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3165         (MIN_CHAR_COMPOSITION): Deleted.
3166         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3167         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3168
3169 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3170
3171         * buffer.h: Include mb-utf-8.h in UTF-2000.
3172
3173         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3174
3175         * mb-utf-8.h: New file.
3176
3177 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3178
3179         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3180         instead of `int'.
3181
3182         * mule-charset.h, buffer.h (Charset_ID): New type.
3183
3184 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3185
3186         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3187         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3188         instead of `MULE_CHAR_PRIVATE_OFFSET',
3189         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3190         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3191         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3192
3193         * character.h (Vcharset_japanese_jisx0212): New variable
3194         definition.
3195
3196 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3197
3198         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3199         (charset_by_attributes): Delete array about direction.
3200         (latin_a_char_to_charset): New variable in UTF-2000.
3201         (latin_a_char_to_byte1): New variable in UTF-2000.
3202         (latin_a_char_to_byte2): New variable in UTF-2000.
3203         (Qucs_bmp): New variable.
3204         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3205         `Bufbyte'.
3206         (next_allocated_2_byte_leading_byte): Likewise.
3207         (non_ascii_set_charptr_emchar): Likewise.
3208         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3209         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3210         `charset_by_attributes'.
3211         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3212         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3213         and `CHARSET_BY_LEADING_BYTE'.
3214         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3215         `utf-2000-version' to `vars_of_mule_charset'.
3216         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3217         define `leading-code-private-11' in UTF-2000; move setting of
3218         `utf-2000-version' from `syms_of_mule_charset'.
3219         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3220         UTF-2000.
3221
3222         * character.h (Charset_ID): New type.
3223         (LEADING_BYTE_UCS_BMP): New macro.
3224         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3225         (CHARSET_ID_OFFSET_94): New macro.
3226         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3227         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3228         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3229         final-byte.
3230         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3231         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3232         (CHARSET_ID_OFFSET_96): New macro.
3233         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3234         CHARSET_ID_OFFSET_96 and final-byte.
3235         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3236         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3237         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3238         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3239         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3240         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3241         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3242         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3243         (LEADING_BYTE_THAI_TIS620): Likewise.
3244         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3245         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3246         (CHARSET_ID_OFFSET_94x94): New macro.
3247         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3248         CHARSET_ID_OFFSET_94x94 and final-byte.
3249         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3250         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3251         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3252         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3253         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3254         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3255         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3256         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3257         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3258         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3259         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3260         (CHARSET_TYPE_128X128): New macro.
3261         (CHARSET_TYPE_256X256): New macro.
3262         (XCHARSET_PRIVATE_P): Delete unconditionally.
3263         (charset_by_attributes): Delete array about direction.
3264         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3265         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3266         (MIN_CHAR_94): New macro.
3267         (MAX_CHAR_94): New macro.
3268         (MIN_CHAR_96): New macro.
3269         (MAX_CHAR_96): New macro.
3270         (MIN_CHAR_94x94): New macro.
3271         (MAX_CHAR_94x94): New macro.
3272         (MIN_CHAR_96x96): New macro.
3273         (MAX_CHAR_96x96): New macro.
3274         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3275         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3276         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3277         - 32)'.
3278         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3279         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3280         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3281         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3282         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3283         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3284         `XCHARSET_LEADING_BYTE' to make code-point.
3285         (latin_a_char_to_charset): New variable.
3286         (latin_a_char_to_byte1): New variable.
3287         (latin_a_char_to_byte2): New variable.
3288         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3289         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3290         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3291
3292         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3293         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3294         (find_charsets_in_emchar_string): Likewise.
3295         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3296
3297         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3298         `int'.
3299         (decode_coding_iso2022): Likewise.
3300
3301         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3302         of `unsigned char'.
3303
3304         * redisplay.c (redisplay_text_width_emchar_string): Use
3305         `Charset_ID' instead of `unsigned char'.
3306         (redisplay_frame_text_width_string): Likewise.
3307
3308         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3309         `unsigned char'.
3310
3311         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3312         instead of `unsigned char'.
3313         (face_cachel_charset_font_metric_info): Likewise.
3314
3315         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3316         (get_non_ascii_char_table_value): Likewise.
3317         (get_char_table): Likewise.
3318         (put_char_table): Likewise.
3319         (map_over_other_charset): Likewise.
3320         (map_char_table): Likewise.
3321
3322         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3323         instead of `unsigned char'.
3324
3325 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3326
3327         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3328         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3329
3330         * mule-charset.c (leading_code_private_11): Don't define in
3331         UTF-2000.
3332
3333         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3334         in UTF-2000 because it is not ported yet and not to use
3335         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3336
3337 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3338
3339         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3340
3341 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3342
3343         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3344         in UTF-2000.
3345
3346         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3347         of unsigned char to store leading-byte.
3348
3349         * chartab.c (get_non_ascii_char_table_value): Don't use
3350         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3351
3352         * file-coding.c (encode_coding_big5): Delete bogus implementation
3353         in UTF2000.
3354
3355         * character.h (LEADING_BYTE_*): Delete definition for
3356         non-UTF-2000.
3357         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3358         (LEADING_BYTE_PREFIX_P): Deleted.
3359         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3360         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3361         (BUFBYTE_LEADING_BYTE_P): Deleted.
3362         (CHARSET_PRIVATE_P): Deleted unconditionally.
3363         (rep_bytes_by_first_byte): Deleted unconditionally.
3364         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3365         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3366         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3367         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3368         (CHAR_FIELD2): Deleted.
3369         (CHAR_FIELD3): Deleted.
3370         (MAKE_CHAR): Delete definition for non-UTF-2000.
3371         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3372         (breakup_char_1): New implementation.
3373         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3374         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3375
3376 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3377
3378         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3379         condition.
3380
3381 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3382
3383         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3384         (CHARSET_PRIVATE_P): Likewise.
3385         (XCHARSET_PRIVATE_P): Likewise.
3386         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3387
3388         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3389         UTF2000.
3390         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3391
3392 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3393
3394         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3395         (NUM_LEADING_BYTES): Changed from 128 to 256.
3396         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3397         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3398         UTF2000.
3399         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3400
3401         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3402         UTF2000.
3403         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3404         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3405         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3406         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3407         (Qchinese_cns11643_3): New variable in UTF2000.
3408         (Qchinese_cns11643_4): New variable in UTF2000.
3409         (Qchinese_cns11643_5): New variable in UTF2000.
3410         (Qchinese_cns11643_6): New variable in UTF2000.
3411         (Qchinese_cns11643_7): New variable in UTF2000.
3412         (syms_of_mule_charset): Define `chinese-cns11643-3',
3413         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3414         and `chinese-cns11643-7' in UTF2000.
3415         (vars_of_mule_charset): Initialize
3416         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3417         + 1 in UTF2000.
3418         (complex_vars_of_mule_charset): Setup charset
3419         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3420         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3421
3422 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3423
3424         * mule-charset.c: Move setting for `leading-code-private-11' from
3425         `syms_of_mule_charset' to `vars_of_mule_charset'.
3426
3427 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3428
3429         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3430         and `NUM_LEADING_BYTES' in assert.
3431
3432 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3433
3434         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3435         instead of 128.
3436         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3437         `NUM_LEADING_BYTES' instead of 128.
3438
3439 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3440
3441         * mule-charset.h (charset_by_leading_byte): Use
3442         `NUM_LEADING_BYTES' instead of 128.
3443         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3444
3445         * mule-charset.c (charset_by_leading_byte): Use
3446         `NUM_LEADING_BYTES' instead of 128.
3447         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3448
3449         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3450         128.
3451
3452 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3453
3454         * mule-charset.c (syms_of_mule_charset): Update to
3455         0.4 (Shin-Imamiya).
3456
3457 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3458
3459         * file-coding.c (encode_coding_sjis): New implementation for
3460         UTF2000.  (decode_coding_sjis): Ditto.
3461
3462 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3463
3464         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3465         Don't define in UTF2000.
3466
3467         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3468         defined.
3469
3470         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3471         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3472         MULE.
3473
3474 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3475
3476         * config.h.in (CHAR_IS_UCS4): New macro.
3477
3478         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3479         conventional MULE representation.
3480         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3481
3482         * mule-charset.h: Reverted to original.
3483
3484         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3485         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3486         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3487
3488         * character.h: New file.
3489
3490         * file-coding.c (Fmake_coding_system): Set 1 to
3491         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3492         defined.
3493         (encode_coding_no_conversion): New implementation for UTF2000.
3494
3495         * file-coding.h (struct Lisp_Coding_System): Add new member
3496         `fixed.size'.
3497
3498 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3499
3500         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3501         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3502         (encode_coding_iso2022): New implementation for UTF2000.
3503
3504 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3505
3506         * mule-canna.c (c2mu): New implementation for UTF2000.
3507         (m2c): Likewise.
3508
3509 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3510
3511         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3512
3513 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3514
3515         * file-coding.c (reset_encoding_stream): Set 0 to
3516         `str->iso2022.current_char_boundary' in UTF2000.
3517         (encode_utf8): Don't define in UTF2000.
3518         (encode_coding_utf8): New implementation for UTF-8 representation
3519         of UTF2000.
3520         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3521
3522 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3523
3524         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3525
3526         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3527         UTF2000.
3528         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3529
3530         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3531
3532         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3533         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3534         as UTF-8 in UTF2000.
3535         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3536         (non_ascii_valid_char_p): Don't define in UTF2000.
3537         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3538         (Lstream_get_emchar_1): Likewise.
3539         (utf-2000-version): New variable in UTF2000.
3540
3541         * lread.c (read_escape): Add new reader `u'.
3542
3543         * insdel.c (three_to_one_table): Don't define in UTF2000.
3544         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3545         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3546         UTF2000.
3547         (bytind_to_bufpos_func): Likewise.
3548         (buffer_mule_signal_inserted_region): Likewise.
3549         (vars_of_insdel): Don't initialize `three_to_one_table'.
3550         (init_buffer_text): Use `buf->text->mule_size' instead of
3551         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3552         UTF2000.
3553
3554         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
3555         UTF-8 representation in UTF2000.
3556         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
3557         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
3558         (decode_coding_iso2022): Don't define local variable `lb' in
3559         UTF2000; don't use LEADING_BYTE in UTF2000; use
3560         `DECODE_ADD_UCS_CHAR' in UTF2000.
3561         (convert_to_external_format): Decode as UTF-8 in UTF2000.
3562
3563         * config.h.in (UTF2000): New macro.
3564
3565         * buffer.h (struct buffer_text): Add new member `mule_size' and
3566         don't add `mule_shifter' and `mule_three_p' in UTF2000.
3567         (valid_char_p): Return always 1 in UTF2000.
3568         (MAX_EMCHAR_LEN): 6 in UTF2000.
3569         (three_to_one_table): Don't define in UTF2000.
3570         (real_bufpos_to_bytind): Modify for UTF-8 representation in
3571         UTF2000.
3572         (real_bytind_to_bufpos): Likewise.
3573
3574         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
3575
3576 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3577
3578         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
3579         representation change.
3580         (Vutf_2000_version): New variable.
3581         (leading_code_private_11): New variable.
3582         (syms_of_mule_charset): Add new variables `utf-2000-version' and
3583         `leading-code-private-11'.
3584
3585         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
3586         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
3587         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
3588         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
3589         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
3590         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
3591         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
3592         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
3593         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
3594         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
3595         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
3596         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
3597         (MIN_CHAR_GREEK): New macro.
3598         (MAX_CHAR_GREEK): New macro.
3599         (MIN_CHAR_CYRILLIC): New macro.
3600         (MAX_CHAR_CYRILLIC): New macro.
3601         (MIN_CHAR_HEBREW): New macro.
3602         (MAX_CHAR_HEBREW): New macro.
3603         (MIN_CHAR_THAI): New macro.
3604         (MAX_CHAR_THAI): New macro.
3605         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
3606         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
3607         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
3608         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
3609         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
3610         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
3611         (CHAR_FIELD2): New inline function.
3612         (CHAR_FIELD3): New inline function.
3613         (MULE_CHAR_PRIVATE_OFFSET): New macro.
3614         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
3615         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
3616         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
3617         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
3618         (MIN_CHAR_COMPOSITION): Likewise.
3619         (CHAR_LEADING_BYTE): Modified for character representation change.
3620         (MAKE_CHAR): Likewise.
3621
3622         * lisp.h (Vcharset_latin_iso8859_1): New variable.
3623         (Vcharset_greek_iso8859_7): Likewise.
3624         (Vcharset_cyrillic_iso8859_5): Likewise.
3625         (Vcharset_hebrew_iso8859_8): Likewise.
3626         (Vcharset_thai_tis620): Likewise.
3627         (Vcharset_katakana_jisx0201): Likewise.
3628
3629 2001-01-26  Martin Buchholz <martin@xemacs.org>
3630
3631         * XEmacs 21.2.43 "Terspichore" is released.
3632
3633 2001-01-25  Martin Buchholz  <martin@xemacs.org>
3634
3635         Type fiddling for window_config.saved_windows_count
3636         * window.c (struct window_config): 
3637         Make saved_windows_count member unsigned.
3638         * window.c (sizeof_window_config_for_n_windows): 
3639         Make parameter unsigned.
3640         * window.c (mark_window_config):
3641         * window.c (window_config_equal):
3642         * window.c (free_window_configuration):
3643         * window.c (Fset_window_configuration):
3644         * window.c (count_windows):
3645         * window.c (Fcurrent_window_configuration):
3646         * window.c (reinit_vars_of_window):
3647         Update all callers and users.
3648
3649 2001-01-25  Martin Buchholz  <martin@xemacs.org>
3650
3651         Alignment correctness for flexible arrays.
3652         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
3653         Make alignment-correct. Add interesting comments.
3654         * alloc.c (size_vector):
3655         * alloc.c (make_vector_internal):
3656         * alloc.c (make_bit_vector_internal):
3657         * alloc.c (sweep_bit_vectors_1):
3658         * fns.c (size_bit_vector):
3659         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
3660         * window.c (sizeof_window_config_for_n_windows): 
3661         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
3662
3663 2001-01-24  Martin Buchholz  <martin@xemacs.org>
3664
3665         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
3666
3667 2001-01-23  Andy Piper  <andy@xemacs.org>
3668
3669         * select.c (Fown_selection_internal): pass owned_p
3670
3671         * select-msw.c (mswindows_own_selection): New Signature.
3672
3673         * console.h (struct console_methods): add owned_p to
3674         _own_selection.
3675
3676         * select-x.c (x_own_selection): pass owned_p
3677         (hack_motif_clipboard_selection): use owned_p
3678         (vars_of_select_x): new variable -
3679         x_selection_strict_motif_ownership.
3680
3681 2001-01-23  Martin Buchholz  <martin@xemacs.org>
3682
3683         * specifier.h (specifier_data_offset): Remove pointless parens.
3684         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
3685
3686 2001-01-24  Martin Buchholz  <martin@xemacs.org>
3687
3688         Make Lisp_Object sizeof methods be alignment-correct.
3689         pdump must restore objects to the same alignment as the C compiler
3690         assumes.  It really matters on SGIs.
3691         * lstream.c (aligned_sizeof_lstream): New.
3692         (sizeof_lstream): Use aligned_sizeof_lstream.
3693         (Lstream_new): Likewise.
3694         * opaque.c (aligned_sizeof_opaque): New.
3695         (sizeof_opaque): Use aligned_sizeof_opaque.
3696         (make_opaque): Likewise.
3697         * specifier.c (aligned_sizeof_specifier): New.
3698         (sizeof_specifier): Use aligned_sizeof_specifier.
3699         (make_specifier_internal): Likewise.
3700
3701 2001-01-23  Martin Buchholz  <martin@xemacs.org>
3702
3703         * lstream.h (struct lstream): Use max_align_t for trailing data.
3704         * specifier.h (struct Lisp_Specifier): Likewise.
3705
3706 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3707
3708         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
3709         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
3710         (CCL_SUSPEND): Likewise.
3711         (CCL_INVALID_CMD): Likewise.
3712         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
3713         (ccl_driver): Likewise.
3714         (CCL_WRITE_CHAR): Macro hygiene.
3715         (CCL_WRITE_STRING): Macro hygiene.
3716
3717 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3718
3719         Port "portable" dumper to SunOS 4 and HP-UX.
3720         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
3721         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
3722         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
3723
3724 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3725
3726         * lisp.h (ALIGNOF): A better definition for C++.
3727
3728 2001-01-20  Martin Buchholz  <martin@xemacs.org>
3729
3730         Macro hygiene.
3731         Fix printf warnings: int format, long int arg.
3732         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
3733         (PUSH_FAILURE_POINT): Use correct printf formats.
3734         (POP_FAILURE_POINT): Use correct printf formats.  
3735         Use do {...} while (0)
3736
3737 2001-01-20  Martin Buchholz <martin@xemacs.org>
3738
3739         * XEmacs 21.2.42 "Poseidon" is released.
3740
3741 2001-01-20  Martin Buchholz  <martin@xemacs.org>
3742
3743         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
3744
3745 2001-01-19  Martin Buchholz  <martin@xemacs.org>
3746
3747         De-kludgify FIXED_TYPE free list frobbing.
3748         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
3749         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
3750         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
3751         * alloc.c (Lisp_Free): New pseudo lisp object definition.
3752         * alloc.c (LRECORD_FREE_P): New.
3753         * alloc.c (MARK_LRECORD_AS_FREE): New.
3754         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
3755         * alloc.c (STRUCT_FREE_P): Deleted.
3756         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
3757         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
3758         * alloc.c (STRING_CHARS_FREE_P): New.
3759         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
3760         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
3761         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
3762         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
3763         * alloc.c (resize_string): Use new definitions.
3764         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
3765         * alloc.c (verify_string_chars_integrity): Use new definitions.
3766         * alloc.c (compact_string_chars): Use new definitions.
3767         * alloc.c: Update monster comments.
3768         * lrecord.h (lrecord_type): Add some new lrecord types for
3769         alloc.c's use.
3770
3771 2001-01-18  Martin Buchholz  <martin@xemacs.org>
3772
3773         Improve alignment hackery.
3774         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
3775         (max_align_t): Moved from opaque.h - general purpose.
3776         (ALIGN_PTR): Use size_t, not long.
3777         * opaque.h (max_align_t): Move to lisp.h.
3778
3779 2001-01-18  Norbert Koch  <nk@LF.net>
3780
3781         * gui.h: Fix and add prototypes to fix build problems.
3782
3783 2001-01-18  Martin Buchholz  <martin@xemacs.org>
3784
3785         temacs is going away, so `dump-temacs' is now a bad name.
3786         * .dbxrc (dump-temacs): Rename to `dmp'.
3787         * .gdbinit (dump-temacs): Rename to `dmp'.
3788
3789 2001-01-17  Andy Piper  <andy@xemacs.org>
3790
3791         * glyphs.c (print_image_instance): comment to make martin happy.
3792
3793         * glyphs-x.c (x_redisplay_widget): update faces after a frame
3794         change.
3795
3796         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
3797         activation.
3798         (mswindows_tab_control_redisplay): warning suppression.
3799
3800         * glyphs-widget.c (widget_update): re-write to cope with updated
3801         items.
3802         (widget_instantiate): use new gui_item functions.
3803         (tab_control_update): deleted.
3804         (progress_gauge_update): deleted.
3805         (image_instantiator_progress_guage): take out update reference.
3806         (image_instantiator_tree_view): ditto.
3807         (image_instantiator_tab_control): ditto.
3808
3809         * gui.c (widget_gui_parse_item_keywords): new function. Do things
3810         Right the new way.
3811         (gui_item_add_keyval_pair): re-write to cope with descriptors and
3812         return whether anything was changed.
3813         (update_gui_item_keywords): as it sounds.
3814
3815         * gui.h: declare widget_gui_parse_item_keywords.
3816
3817         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
3818         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
3819
3820 2001-01-17  Martin Buchholz <martin@xemacs.org>
3821
3822         * XEmacs 21.2.41 "Polyhymnia" is released.
3823
3824 2001-01-16  Didier Verna  <didier@xemacs.org>
3825
3826         * glyphs.c (image_instantiate): don't use fallbacks when
3827         instantiating a face's background pixmap by inheritance.
3828
3829 2001-01-14  Mike Sperber <mike@xemacs.org>
3830
3831         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
3832         Conditionalize accordingly.
3833
3834 2001-01-16  Martin Buchholz  <martin@xemacs.org>
3835
3836         * dumper.c (pdump_file_get): Fix a compiler warning.
3837
3838 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3839
3840         Make Purify happy when pdumping.
3841         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
3842         iniitalizing all bits of new lisp object memory.
3843         * symbols.c (Fmake_local_variable): Likewise.
3844         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
3845         * symbols.c (Fdefvaralias): Likewise.
3846         * mule-charset.c (vars_of_mule_charset): Likewise.
3847
3848 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3849         Add the `-nd' flag when running pre-dump operations under the debugger.
3850         * .dbxrc (run-temacs): Add `-nd'.
3851         * .dbxrc (update-elc): Likewise.
3852         * .dbxrc (dump-temacs): Likewise.
3853         * .gdbinit (run-temacs): Likewise.
3854         * .gdbinit (check-temacs): Likewise.
3855         * .gdbinit (update-elc): Likewise.
3856         * .gdbinit (dump-temacs): Likewise.
3857
3858 2001-01-14  Martin Buchholz  <martin@xemacs.org>
3859
3860         Allow building 64-bit executables on AIX with GNU malloc, e.g.
3861         export OBJECT_MODE=64
3862         configure --pdump --use-union-type=no
3863         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
3864         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
3865
3866         * miscplay.c (sndcnv8U_2mono):
3867         Avoid two uses of `++' in the same expression.
3868         Suppresses a GCC warning.
3869
3870 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3871
3872         Make sure future compilers don't miscompile alloc.c.
3873         * alloc.c:
3874         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
3875         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
3876
3877 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3878
3879         * dumper.c: A little post-pdump-rename comment fixup.
3880
3881 2001-01-09  Jerry James  <james@eecs.ku.edu>
3882
3883         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
3884
3885 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3886
3887         * *.[ch]: Globally rename symbols using the following `pdump-rename'
3888         script:
3889         #!/bin/sh
3890         replace_symbol () {
3891           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
3892         }
3893
3894         replace_symbol pdump_wire_lists pdump_weak_object_chains
3895         replace_symbol pdump_wire_list dump_add_weak_object_chain
3896
3897         replace_symbol pdump_wires pdump_root_objects
3898         replace_symbol pdump_wire dump_add_root_object
3899
3900         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
3901         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
3902
3903         replace_symbol dumpstructinfos pdump_root_struct_ptrs
3904         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
3905         replace_symbol dumpstructinfo pdump_root_struct_ptr
3906         replace_symbol dumpstruct dump_add_root_struct_ptr
3907
3908         replace_symbol dumpopaque dump_add_opaque
3909         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
3910         replace_symbol dumpopaqueinfos pdump_opaques
3911         replace_symbol dumpopaqueinfo pdump_opaque
3912
3913         replace_symbol nb_structdump nb_root_struct_ptrs
3914         replace_symbol nb_opaquedump nb_opaques
3915
3916         replace_symbol align_table pdump_align_table
3917         replace_symbol dump_header pdump_header
3918
3919         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
3920         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
3921
3922
3923 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3924
3925         * s/aix4.h: Keep the C for AIX compiler from overaggressively
3926         optimizing bytecount_to_charcount().
3927
3928 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3929
3930         * config.h.in:
3931         (HAVE_DLFCN_H): Removed.
3932         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
3933
3934 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3935
3936         Portable dumper maintainability improvements.
3937         * alloc.c (staticpro):
3938         * alloc.c (staticpro_nodump):
3939         * alloc.c (garbage_collect_1):
3940         * alloc.c (reinit_alloc_once_early):
3941         * alloc.c (init_alloc_once_early):
3942         * alloc.c: Move dumper functions to alloc.c.
3943         * dumper.c (pdump_backtrace):
3944         * dumper.c (pdump_dump_structs):
3945         * dumper.c (pdump_dump_opaques):
3946         * dumper.c (pdump_dump_rtables):
3947         * dumper.c (pdump_dump_wired):
3948         * dumper.c (pdump):
3949         * dumper.c (pdump_load_check):
3950         * dumper.c (pdump_load_finish):
3951         * dumper.c (pdump_file_unmap):
3952         * dumper.c (pdump_file_get):
3953         * dumper.c (pdump_resource_free):
3954         * dumper.c (pdump_resource_get):
3955         * dumper.c (pdump_file_free):
3956         * dumper.c (pdump_file_try):
3957         * dumper.c (pdump_load):
3958         Remove fixed size limits on staticpro(), staticpro_nodump(),
3959         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
3960         Remove custom code for dumping lrecord_implementations_table - use
3961         dumpopaque instead.
3962         Remove (most of the) custom code for dumping staticpros - dump it
3963         like any other dynarr.
3964
3965         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
3966         * dumper.c: Moved functions from alloc.c.
3967         * alloc.c (dumpstruct): Moved to dumper.c.
3968         * alloc.c (dumpopaque): Likewise.
3969         * alloc.c (pdump_wire): Likewise.
3970         * alloc.c (pdump_wire_list): Likewise.
3971
3972         * lisp.h (Dynarr_sizeof): New.
3973         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
3974         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
3975         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
3976
3977         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
3978         * lisp.h (dumpopaque): ditto.
3979         * lisp.h (pdump_wire): ditto.
3980         * lisp.h (pdump_wire_list): ditto.
3981
3982 2001-01-09  Martin Buchholz  <martin@xemacs.org>
3983
3984         * make-src-depend (PrintPatternDeps):
3985         Use `sort' to make output independent of perl version.
3986
3987 2001-01-08  Martin Buchholz  <martin@xemacs.org>
3988
3989         Port to Netbsd 1.5.
3990         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
3991         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
3992
3993 2001-01-03  Didier Verna  <didier@xemacs.org>
3994
3995         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
3996         that `focus_frame' is alive before thinking of calling
3997         `redisplay_redraw_cursor' on it.
3998
3999 2001-01-08  Martin Buchholz <martin@xemacs.org>
4000
4001         * XEmacs 21.2.40 is released.
4002
4003 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4004
4005         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
4006
4007 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4008
4009         * alloc.c (dbg_valmask): Make const.
4010         * alloc.c (dbg_typemask): Make const.
4011         * alloc.c (dbg_USE_UNION_TYPE): Make const.
4012         * alloc.c (dbg_valbits): Make const.
4013         * alloc.c (dbg_gctypebits): Make const.
4014
4015 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
4016
4017         * redisplay-x.c (x_bevel_area):
4018         redisplay.h (struct rune):
4019         Typo fixes in comments.
4020
4021 2001-01-05  Andy Piper  <andy@xemacs.org>
4022
4023         * glyphs-x.c (x_redisplay_widget): use size changed for offset
4024         adjustment.
4025
4026         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
4027
4028 2001-01-05  Martin Buchholz  <martin@xemacs.org>
4029
4030         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
4031
4032         * mule-ccl.c (stack_idx_of_map_multiple):
4033         Non const global data must not be initialized!
4034         Found by MIYASHITA Hisashi.
4035
4036 2001-01-02  Andy Piper  <andy@xemacs.org>
4037
4038         * frame.c (change_frame_size): make sure frame size is always
4039         marked as changed.
4040
4041         * glyphs.c (image_instance_layout): minor code reuse.
4042
4043         * window.c (Fcurrent_window_configuration): revert previous
4044         change.
4045
4046 2001-01-02  Martin Buchholz  <martin@xemacs.org>
4047
4048         * glyphs.h:
4049         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
4050
4051 2000-12-31  Andy Piper  <andy@xemacs.org>
4052
4053         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
4054         when widget gets unmapped.
4055
4056         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
4057         function. Make sure widgets losing focus don't just drop it.
4058         (handle_focus_event_1): record the widget with focus.
4059
4060 2000-12-31  Andy Piper  <andy@xemacs.org>
4061
4062         * window.c (allocate_window): use
4063         make_image_instance_cache_hash_table.
4064         (make_dummy_parent): ditto.
4065         (Fset_window_configuration): ditto.
4066
4067         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
4068
4069         * glyphs.c (process_image_string_instantiator): use
4070         INSTANTIATOR_TYPE.
4071         (get_image_instantiator_governing_domain): ditto.
4072         (normalize_image_instantiator): ditto.
4073         (instantiate_image_instantiator): ditto.
4074         (make_image_instance_1): ditto.
4075         (image_instantiate): ditto. Key on glyph *and* instantiator type.
4076         (instantiator_eq_equal): new function for use with instance hash
4077         tables.
4078         (instantiator_eq_hash): ditto.
4079         (make_image_instance_cache_hash_table): create a suitable hash
4080         table for storing image instances.
4081
4082         * elhash.h (hash_table_weakness): new internal weakness type
4083         HASH_TABLE_KEY_CAR_VALUE_WEAK.
4084         declare new functions.
4085
4086         * elhash.c (finish_marking_weak_hash_tables): introduce yet
4087         another weakness type for glyphs.
4088         (make_standard_lisp_hash_table): new function split out from
4089         make_general_lisp_hash_table.
4090         (make_lisp_hash_table): call make_standard_lisp_hash_table.
4091         (hash_table_instantiate): ditto.
4092         (Fmake_hash_table): ditto.
4093
4094 2000-12-31  Martin Buchholz <martin@xemacs.org>
4095
4096         * XEmacs 21.2.39 is released.
4097
4098 2000-12-29  Andy Piper  <andy@xemacs.org>
4099
4100         * menubar.c (menubar_visible_p_changed): signal the frame changed.
4101
4102         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
4103         the frame has changed so that we pick up geometry changes such as
4104         menubar visibility.
4105
4106 2000-12-28  Andy Piper  <andy@xemacs.org>
4107
4108         * lastfile.c (my_ebss): make a char array so we can pad the
4109         bss. Fixes cygwin unexec.
4110
4111         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
4112
4113 2000-12-26  Andy Piper  <andy@xemacs.org>
4114
4115         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
4116         comments and try and be more precise about a non-/SIGIO world.
4117         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
4118         SIGIO.
4119
4120         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
4121         we don't normalize to zero width or height.
4122
4123 2000-12-24  Andy Piper  <andy@xemacs.org>
4124
4125         * Makefile.in.in (ldflags): add -mwindows when appropriate.
4126
4127 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
4128
4129         * s/sco5.h: SCO 5 has pty support.
4130
4131 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
4132
4133         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
4134         input-method-xlib.c contains whole contents of input-method-xfs.c,
4135         so we can use input-method-xlib.c's code for USE_XFONTSET
4136         using #ifdefs.
4137         * input-method-xfs.c: removed.
4138
4139 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
4140
4141         * file-coding.h (enum coding_category_type): reorder enumerators to
4142         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
4143         (now one greater than largest real coding_category_type enumerator).
4144         * file-coding.c (coding_category_symbol, coding_category_by_priority,
4145         coding_category_system, fcd_descriptihon_1, decode_coding_category,
4146         Fcoding_category_list, Fset_coding_priority_list,
4147         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
4148         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
4149
4150 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4151
4152         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
4153         * redisplay-output.c (redisplay_output_window): Clear top of window
4154         when face is changed.
4155         * redisplay-x.c (x_redraw_exposed_window): Call
4156         redisplay_clear_top_of_window.
4157         * redisplay.h: Publish redisplay_clear_top_of_window.
4158
4159 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4160
4161         * buffer.c (Fkill_buffer): Map over all devices.
4162         * window.c (window_loop): Remove UNSHOW_BUFFER code.
4163         (list_windows): New function.
4164         (list_all_windows): Ditto.
4165         (Freplace_buffer_in_windows): Use them.
4166
4167 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4168
4169         * database.c (berkdb_subtype): Recognize new subtype `queue'.
4170         (Fopen_database): Use `db_create' instead of `db_open'.
4171         (syms_of_database): Initialize Qqueue.
4172
4173 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4174
4175         * buffer.c (common_init_complex_vars_of_buffer): Initialize
4176         buffer_local_face_property.
4177         * buffer.h (struct buffer): New member buffer_local_face_property.
4178         * window.c (Fset_window_buffer):  Mark window's face as changed
4179         when buffer has buffer local face.
4180         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
4181         * objects.c (color_after_change): Set buffer_local_face_property
4182         when locale of face specifier is buffer.
4183         * objects.c (font_after_change): Ditto.
4184         * objects.c (face_boolean_after_change): Ditto.
4185         * glyphs.c (image_after_change): Ditto.
4186
4187 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4188
4189         * nt.c (mswindows_fstat): Report file permissions, volume serial
4190         number, etc. Code adapted from FSF Emacs 20.7.
4191
4192 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4193
4194         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
4195         of stat when we don't have symbolic links, to make sure
4196         mswindows_stat is called on mswindows.
4197
4198 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
4199
4200         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
4201
4202 2000-12-12  Martin Buchholz  <martin@xemacs.org>
4203
4204         * doprnt.c (emacs_doprnt_1): More printing fixes.
4205         Make printing of numbers compatible with libc and FSF Emacs.
4206         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
4207         Use the system printf to do most of the hard work of formatting,
4208         instead of doprnt_1().
4209         Calculate memory to allocate for format string.
4210         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
4211         (doprnt_1): Cleaner code and documentation.
4212
4213 2000-12-01  Jerry James  <james@eecs.ukans.edu>
4214
4215         * Makefile.in.in: Use the loop variable to install headers.
4216
4217 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4218
4219         * window.c (Fsplit_window): Don't invalidate face cache.
4220
4221 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4222
4223         * minibuf.c (Fall_completions): Undo the previous change
4224         which removed checking elements start with space.
4225
4226 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4227
4228         * mule-canna.c: Didier suppression.
4229
4230 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4231
4232         * mule-canna.c: rename static unsigned char buf[] to key_buffer
4233         (warning suppression).  Add English comment translations.
4234
4235 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4236
4237         * unexelfsgi.c (unexec): Better test for mmap failure.
4238
4239 2000-12-05  Martin Buchholz <martin@xemacs.org>
4240
4241         * XEmacs 21.2.38 is released.
4242
4243 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4244
4245         * redisplay.c (bar-cursor): Make a user variable.
4246
4247         * symsinit.h: Add init_postgresql_from_environment.
4248
4249 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4250
4251         * regex.c: Convert to clean C.
4252
4253 2000-12-05  Dan Holmsand  <dan@eyebee.com>
4254
4255         * realpath.c:
4256         Don't #include sysfile.h. Revert to duplicating PATH_MAX
4257         initialization.
4258         (sys_readlink): renamed to system_readlink to avoid conflict with
4259         the other sys_readlink.
4260
4261 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
4262
4263         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
4264
4265 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
4266
4267         * postgresql.c (init_postgresql_from_environment): new function.
4268         (vars_of_postgresql): Move code initializing Lisp variables out and
4269         into init_postgresql_from_environment.
4270         emacs.c (main_1): Call init_postgresql_from_environment if and only
4271         if running a dumped XEmacs.
4272
4273 2000-08-31  Dan Holmsand  <dan@eyebee.com>
4274
4275         * buffer.c: Make find-file-compare-truenames default to true on
4276         windows.
4277
4278         * realpath.c (win32_abs_start):
4279         (cygwin_readlink):
4280         (win32_readlink): New functions.
4281         (xrealpath): Return really real filenames on windows.
4282
4283         * fileio.c (Ffile_truename): Make file-truename work on windows.
4284
4285 2000-11-29  Didier Verna  <didier@xemacs.org>
4286
4287         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
4288         * faces.c (update_face_cachel_data): use it.
4289         * faces.c (add_face_cachel): use it. Complete background pixmap
4290         frobbing in face cache if `update_face_cachel_data' has not done so.
4291
4292 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
4293
4294         * search.c (string_match_1): Don't set last_thing_searched
4295         when search failed.
4296
4297 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
4298
4299         * buffer.c: Include casetab.h
4300         (common_init_complex_vars_of_buffer): Use new case-table object.
4301         * buffer.h: Include casetab.h
4302         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
4303         (DOWNCASE_TABLE_OF): Ditto.
4304         * bufslots.h: Remove char-tables and add case-table.
4305         * casetab.c: Include casetab.h
4306         (CASE_TABLE_P): Removed.
4307         (mark_case_table): New function.
4308         (allocate_case_table): New function.
4309         (Fcase_table_p): Use new case-table.
4310         (case_table_char): New function.
4311         (Fget_case_table): Ditto.
4312         (Fput_case_table): Ditto.
4313         (Fput_case_table_pair): Ditto.
4314         (Fcopy_case_table): Ditto.
4315         (Fcurrent_case_table): Return case-table.
4316         (Fstandard_case_table): Return case-table.
4317         (Fset_case_table): Fix doc-string.
4318         (set_case_table): Use case-table
4319         (syms_of_casetab): DEFSUBR new functions.
4320         (complex_vars_of_casetab): Set up standard case-table.
4321         * casetab.h: New file.
4322         * editfns.c: Include casetab.h
4323         (Fcompare_buffer_substrings): Use case-table.
4324         * inline.c: Include casetab.h
4325         * lisp.h: Remove bogus extern.
4326         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
4327         * search.c: Include casetab.h
4328         (TRANSLATE_ASCII): Removed.
4329         (TRANSLATE): Unconditionally translate character.
4330         (looking_at_1): Use case-table.
4331         (string_match_1): Ditto.
4332         (fast_string_match): Ditto.
4333         (search_command): Ditto.
4334         (search_buffer): Separate boyer_moore.  Check whether
4335         boyer_moore is possible.
4336         (simple_search): New function.
4337         (boyer_moore): Separated from search_buffer. Translate char.
4338
4339 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
4340
4341         * regex.c (RE_TR_ASCII): Removed.
4342         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
4343         (PATFETCH): Call PATFETCH_RAW.
4344         (PATFETCH_RAW): Fetch Emchar.
4345         (PATUNFETCH): Decrement charptr.
4346         (GET_BUFFER_SPACE): Rename b to buf_end.
4347         (BUF_PUSH): Ditto.
4348         (BUF_PUSH_2): Ditto.
4349         (BUF_PUSH_3): Ditto.
4350         (EXTEND_BUFFER): Ditto.
4351         (SET_LIST_BIT): Ditto.
4352         (regex_compile): Ditto.  Translate non ASCII char.
4353         (compile_range): Ditto.
4354         (re_search_2): Ditto.
4355         (re_match_2_internal): Compare Emchar.
4356         (bcmp_translate): Ditto.
4357
4358 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
4359
4360         * lisp.h (basic char/int typedefs):  comment improvement.
4361
4362 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
4363
4364         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
4365         unstomp inhibit_site_lisp.  Improve comments.
4366
4367 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
4368
4369         * mule-charset.c (Fcharset_property):  improve type checking, comments.
4370
4371 2000-11-28  Andy Piper  <andy@xemacs.org>
4372
4373         * redisplay-output.c (redisplay_output_subwindow): make sure we do
4374         clipped display for windows in the gutter also.
4375         (redisplay_display_boxes_in_window_p): change semantics of return
4376         codes to be more intuitive.
4377
4378         * gutter.h: declare display_boxes_in_gutter_p.
4379
4380         * gutter.c (display_boxes_in_gutter_p): new function for
4381         redisplay.
4382
4383 2000-11-22  Andy Piper  <andy@xemacs.org>
4384
4385         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
4386         autodetect domain.
4387
4388 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
4389
4390         * callproc.c (Fold_call_process_internal):
4391         * gpm.c (Freceive_gpm_event):
4392         (tty_get_foreign_selection): Might be just warning supression.
4393         * fileio.c (Fwrite_region_internal):
4394         (Fset_visited_file_modtime):
4395         * keymap.c (event_matches_key_specifier_p):
4396         Initialize GCPROed variable.
4397
4398         * menubar-x.c (command_builder_find_menu_accelerator):
4399         Initialize before use.
4400
4401 2000-11-23  Andy Piper  <andy@xemacs.org>
4402
4403         * unexcw.c (unexec): make the resulting executable executable.
4404
4405 2000-11-21  Martin Buchholz  <martin@xemacs.org>
4406
4407         * doc.c (get_doc_string):
4408         Use size_t, not int, for result of XSTRING_LENGTH.
4409
4410         * cmds.c (Fdelete_char):
4411         * cmds.c (Fpoint_at_eol):
4412         * cmds.c (Fself_insert_command):
4413         Use EMACS_INT, not int, for result of XINT.
4414         Someday, someone will want to insert more than 2**31 identical characters.
4415
4416         * cmds.c (Fdelete_char):
4417         * cmds.c (Fdelete_backward_char):
4418         * syntax.c (Fforward_word):
4419         * syntax.c (Fforward_comment):
4420         Make COUNT argument optional, for consistency with forward-char et al.
4421
4422 2000-11-22  Martin Buchholz  <martin@xemacs.org>
4423
4424         * lisp.h:
4425         * print.c (long_to_string):
4426         Return a useful value: the pointer at end of data written.
4427
4428         * doprnt.c:
4429         Use `static const char * const' for constant strings.
4430         (union printf_arg): Delete `i', `ui' members.
4431         (get_doprnt_args):
4432         (emacs_doprnt_1):
4433         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
4434         Do all printf-ing via the `l' specifier.
4435         Use EMACS_INT instead of int.
4436         Optimize.
4437
4438 2000-11-20  Didier Verna  <didier@xemacs.org>
4439
4440         * faces.c (update_face_cachel_data): don't frob the background
4441         pixmap when the window is being created. The face is needed but
4442         does not exist yet.
4443
4444 2000-11-20  Andy Piper  <andy@xemacs.org>
4445
4446         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
4447         messing with a debug environment.
4448
4449 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4450
4451         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
4452
4453 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4454
4455         * casetab.c (Fcase_table_p): Fix compile error and crash.
4456
4457 2000-11-18  Philip Aston  <philipa@mail.com>
4458
4459         * s/cygwin32.h: Cygwin has SVR4-like pty support.
4460
4461 2000-11-18  Martin Buchholz  <martin@xemacs.org>
4462
4463         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
4464         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
4465
4466 2000-11-17  Martin Buchholz  <martin@xemacs.org>
4467
4468         * config.h.in: Define HAVE_ELF_H if elf.h exists.
4469         * unexelf.c: Use HAVE_ELF_H.
4470         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
4471         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
4472         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
4473         Greg Harrington <greg_harrington@hotmail.com> provided a machine
4474         for testing.
4475         So this is an unexelfsgi.c from a different line of development.
4476
4477 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4478
4479         * regex.c (RE_TR_ASCII): New function.
4480         (RE_TRANSLATE): Call it.
4481
4482 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4483
4484         * buffer.h (TRT_TABLE_OF): Remove assert.
4485         (IN_TRT_TABLE_DOMAIN): Removed.
4486
4487 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
4488
4489         * free-hook.c (log_gcpro):
4490         (show_gcprohist): Add support for GCPRO5.
4491
4492 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
4493
4494         * emacs.c (main_1): Improve -sd error message when --pdump=no.
4495
4496 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
4497
4498         * symeval.h: Declare flush_all_buffer_local_cache.
4499
4500         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
4501         (flush_buffer_local_cache): Added.
4502         (flush_all_buffer_local_cache): Added.
4503
4504         * lrecord.h: Remove unused XD_LO_RESET_NIL.
4505
4506         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
4507         (pdump_dump_data): Ditto.
4508         (pdump_reloc_one): Ditto.
4509         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
4510         before dumping.
4511
4512
4513 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4514
4515         * buffer.c: Remove if 0'ed entry.
4516         * buffer.h: Rewrite TRT to use char-table.
4517         * bufslots.h: Remove mirror tables.
4518         * casetab.c: Remove mirror tables.
4519         (CASE_TABLE_P): New macro.
4520         (Fcase_table_p): Element of a case table is string or char-table.
4521         (make_mirror_trt_table): Removed.
4522         (set_case_table): Setup char-table from strings for backward
4523         compatibility.
4524         * dired.c (Fdirectory_files):
4525         * dired-msw.c: (mswindows_get_files):
4526         * lisp.h: Change prototype of re_pattern_buffer.
4527         * regex.c: (RE_TRANSLATE): New macro.
4528         (TRANSLATE_P): Ditto.
4529         Change translate to type RE_TRANSLATE_TYPE.
4530         * regex.h: Define RE_TRANSLATE_TYPE
4531         * search.c (TRANSLATE): New macro.
4532         (TRANSLATE_ASCII): New macro.
4533         Translate table is changed to Lisp_Object.
4534         (signal_failure): Inhibit return.
4535
4536 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4537
4538         * device-msw.c:
4539         * eldap.c:
4540         * event-Xt.c:
4541         * event-stream.c:
4542         * print.c:
4543         Do UNGCPRO before return.
4544
4545 2000-11-14  Martin Buchholz <martin@xemacs.org>
4546
4547         * XEmacs 21.2.37 is released.
4548
4549 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4550
4551         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
4552         Add comments about discarded return value.
4553
4554 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
4555
4556         * callint.c:
4557         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
4558
4559 2000-10-27  Andy Piper  <andy@xemacs.org>
4560
4561         * gutter.c (Fset_default_gutter_position): default left and right
4562         gutters to visible.
4563         (calculate_gutter_size): calculate resonable heuristic for left
4564         and right gutter sizes.
4565         (specifier_vars_of_gutter): change left and right gutter sizes to
4566         autodetect.
4567         (calculate_gutter_size_from_display_lines): new function.
4568         (output_gutter): check for resizing on left and right gutters.
4569         (clear_gutter): don't special case top and left gutters.
4570         (specifier_vars_of_gutter): use new signature for
4571         set_specifier_caching.
4572
4573         * glyphs-x.c (x_redisplay_widget): spelling fix.
4574         * glyphs.c (specifier_vars_of_glyphs):
4575         * menubar.c (specifier_vars_of_menubar):
4576         * redisplay.c (specifier_vars_of_redisplay):
4577         * toolbar.c (specifier_vars_of_toolbar):
4578         * window.c (specifier_vars_of_window):
4579         * scrollbar.c (specifier_vars_of_scrollbar):
4580         (complex_vars_of_scrollbar): use new signature for
4581         set_specifier_caching.
4582
4583         * specifier.c (set_specifier_caching): include recompute flag.
4584         (recompute_one_cached_specifier_in_window): always recompute if
4585         flag set.
4586         (recompute_one_cached_specifier_in_frame): ditto.
4587
4588         * specifier.h (struct specifier_caching): add recompute flag.
4589
4590 2000-10-24  Andy Piper  <andy@xemacs.org>
4591
4592         * unexcw.c (copy_executable_and_dump_data_section): add new
4593         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
4594         5.0 happy.
4595
4596 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4597
4598         * console-x.h (x_device): New member modifier_release_time.
4599         * event-Xt.c (x_handle_sticky_modifiers):
4600         Bound interval modifier keys are sticky.
4601         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
4602         * events.h: extern it.
4603
4604 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4605
4606         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
4607
4608 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4609
4610         * event-stream.c (execute_command_event): Preserve current_events
4611         and the like when event is misc-user-event.
4612         Inhibit quit during the call to maybe_echo_keys.
4613
4614 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
4615
4616         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
4617         symlink when buffer is killed.
4618         (inhibit_clash_detection): New variable.
4619
4620 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4621
4622         * console.c (Fset_input_method): Trigger redisplay on tty.
4623
4624 2000-11-07  Martin Buchholz  <martin@xemacs.org>
4625
4626         * process.c (Fprocess_status): Revert to previous behavior:
4627         (process-status "nosuchprocess") ==> nil
4628
4629 2000-11-06  Martin Buchholz  <martin@xemacs.org>
4630
4631         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
4632         Work around another GCC 2.95.2 optimizer bug.
4633
4634 2000-11-02  Martin Buchholz  <martin@xemacs.org>
4635
4636         * process.c (Fget_process): Use LIST_LOOP_2.
4637         (kill_buffer_processes): Use LIST_LOOP_2.
4638
4639         * minibuf.c (Fall_completions):
4640         Delete old non-functional code for FSF fourth argument.
4641
4642         * frame.c (frame_matches_frame_spec):
4643         Renamed from `frame_matches_frametype'.  Update all callers.
4644         (device_matches_device_spec):
4645         Renamed from 'device_matches_console_spec'.  Update all callers.
4646
4647         * doc.c (Fsubstitute_command_keys):
4648         Remove buffer overflow crash.  Small code cleanups.
4649
4650         * casetab.c (check_case_table): Simpler code.
4651
4652         * window.c (Freplace_buffer_in_windows):
4653         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
4654         (and similar implementation) as Fdelete_windows_on.
4655         Update all callers.
4656
4657         * alloc.c (Fmake_list):
4658         * alloc.c (make_vector):
4659         * alloc.c (Fmake_vector):
4660         * alloc.c (make_bit_vector):
4661         * alloc.c (Fmake_bit_vector):
4662         * alloc.c (Fbit_vector):
4663         * alloc.c (Fmake_string):
4664         * alloc.c (Fpurecopy):
4665         * alloc.c (Fmemory_limit):
4666         * buffer.c:
4667         * buffer.c (Fget_buffer):
4668         * buffer.c (Fkill_buffer):
4669         * buffer.c (complex_vars_of_buffer):
4670         * bytecode.c (Fcompiled_function_stack_depth):
4671         * callint.c (Fprefix_numeric_value):
4672         * event-stream.c:
4673         * event-stream.c (Fread_key_sequence):
4674         * casetab.c:
4675         * casetab.c (Fcase_table_p):
4676         * casetab.c (check_case_table):
4677         * casetab.c (Fset_case_table):
4678         * casetab.c (Fset_standard_case_table):
4679         * chartab.c:
4680         * chartab.c (Fchar_table_type):
4681         * chartab.c (Freset_char_table):
4682         * chartab.c (Fget_char_table):
4683         * chartab.c (Fget_range_char_table):
4684         * chartab.c (Fput_char_table):
4685         * chartab.c (Fmap_char_table):
4686         * chartab.c (Fcategory_table_p):
4687         * chartab.c (Fcheck_category_at):
4688         * chartab.c (Fchar_in_category_p):
4689         * chartab.c (Fcategory_table):
4690         * chartab.c (Fcopy_category_table):
4691         * chartab.c (Fset_category_table):
4692         * chartab.c (Fcategory_designator_p):
4693         * chartab.c (Fcategory_table_value_p):
4694         * cmds.c (Fdelete_char):
4695         * cmds.c (Fdelete_backward_char):
4696         * cmds.c (Fself_insert_command):
4697         * cmds.c (Fself_insert_internal):
4698         * console.c (Fvalid_console_type_p):
4699         * console.c (Fcdfw_console):
4700         * console.c (Fconsole_type):
4701         * console.c (Fconsole_name):
4702         * console.c (Fconsole_device_list):
4703         * console.c (Fconsole_on_window_system_p):
4704         * data.c:
4705         * data.c (Feq):
4706         * data.c (Fold_eq):
4707         * data.c (Fsubr_interactive):
4708         * data.c (Fchar_to_int):
4709         * data.c (Fint_to_char):
4710         * data.c (Fsetcar):
4711         * data.c (Fsetcdr):
4712         * data.c (Fnumber_to_string):
4713         * data.c (Fstring_to_number):
4714         * data.c (Frem):
4715         * database.c (mark_database):
4716         * database.c (finalize_database):
4717         * database.c (Fdatabase_live_p):
4718         * database.c (Fdatabasep):
4719         * device-x.c (Fx_get_resource):
4720         * device.c (Fdfw_device):
4721         * dired.c:
4722         * dired.c (Ffile_name_completion):
4723         * dired.c (Ffile_name_all_completions):
4724         * dired.c (Fuser_name_completion):
4725         * dired.c (Fuser_name_completion_1):
4726         * dired.c (Fuser_name_all_completions):
4727         * doc.c (Fdocumentation):
4728         * doc.c (Fdocumentation_property):
4729         * doc.c (Fsubstitute_command_keys):
4730         * editfns.c:
4731         * editfns.c (Fchar_to_string):
4732         * editfns.c (Fstring_to_char):
4733         * editfns.c (Ftemp_directory):
4734         * editfns.c (Finsert_char):
4735         * editfns.c (Fbuffer_substring_no_properties):
4736         * editfns.c (Fnarrow_to_region):
4737         * editfns.c (Fchar_equal):
4738         * editfns.c (Fchar_Equal):
4739         * editfns.c (Ftranspose_regions):
4740         * emacs.c (Fdump_emacs):
4741         * eval.c (Fthrow):
4742         * eval.c (Fcommand_execute):
4743         * eval.c (Fautoload):
4744         * eval.c (Fbacktrace):
4745         * eval.c (Fbacktrace_frame):
4746         * events.c:
4747         * events.c (Fcopy_event):
4748         * events.c (Fcharacter_to_event):
4749         * events.c (Fevent_button):
4750         * events.c (Fevent_process):
4751         * extents.c:
4752         * extents.c (Fnext_extent_change):
4753         * extents.c (Fextent_property):
4754         * faces.c (Ffacep):
4755         * faces.c (Fmake_face):
4756         * file-coding.c:
4757         * file-coding.c (Fencode_shift_jis_char):
4758         * file-coding.c (Fencode_big5_char):
4759         * fileio.c (Ffile_name_directory):
4760         * fileio.c (Ffile_name_nondirectory):
4761         * fileio.c (Ffile_name_as_directory):
4762         * fileio.c (Fdirectory_file_name):
4763         * fileio.c (Ffile_truename):
4764         * fileio.c (Fsubstitute_in_file_name):
4765         * fileio.c (Ffile_modes):
4766         * fileio.c (Fset_file_modes):
4767         * fileio.c (Fset_default_file_modes):
4768         * fileio.c (Fverify_visited_file_modtime):
4769         * floatfns.c (Facos):
4770         * floatfns.c (Fasin):
4771         * floatfns.c (Fatan):
4772         * floatfns.c (Fcos):
4773         * floatfns.c (Fsin):
4774         * floatfns.c (Ftan):
4775         * floatfns.c (Fbessel_j0):
4776         * floatfns.c (Fbessel_j1):
4777         * floatfns.c (Fbessel_jn):
4778         * floatfns.c (Fbessel_y0):
4779         * floatfns.c (Fbessel_y1):
4780         * floatfns.c (Fbessel_yn):
4781         * floatfns.c (Ferf):
4782         * floatfns.c (Ferfc):
4783         * floatfns.c (Flog_gamma):
4784         * floatfns.c (Fexp):
4785         * floatfns.c (Fexpt):
4786         * floatfns.c (Flog):
4787         * floatfns.c (Flog10):
4788         * floatfns.c (Fsqrt):
4789         * floatfns.c (Fcube_root):
4790         * floatfns.c (Facosh):
4791         * floatfns.c (Fasinh):
4792         * floatfns.c (Fatanh):
4793         * floatfns.c (Fcosh):
4794         * floatfns.c (Fsinh):
4795         * floatfns.c (Ftanh):
4796         * floatfns.c (Fabs):
4797         * floatfns.c (Ffloat):
4798         * floatfns.c (Flogb):
4799         * floatfns.c (Fceiling):
4800         * floatfns.c (Ffloor):
4801         * floatfns.c (Fround):
4802         * floatfns.c (Ftruncate):
4803         * floatfns.c (Ffceiling):
4804         * floatfns.c (Fffloor):
4805         * floatfns.c (Ffround):
4806         * floatfns.c (Fftruncate):
4807         * fns.c (Fstring_equal):
4808         * fns.c (Fstring_lessp):
4809         * fns.c (concat2):
4810         * fns.c (concat3):
4811         * fns.c (vconcat2):
4812         * fns.c (vconcat3):
4813         * fns.c (Fsubstring):
4814         * fns.c (Fassoc):
4815         * fns.c (Fold_assoc):
4816         * fns.c (assoc_no_quit):
4817         * fns.c (Fassq):
4818         * fns.c (Fold_assq):
4819         * fns.c (assq_no_quit):
4820         * fns.c (Frassoc):
4821         * fns.c (Fold_rassoc):
4822         * fns.c (Frassq):
4823         * fns.c (Fold_rassq):
4824         * fns.c (rassq_no_quit):
4825         * fns.c (Fremassoc):
4826         * fns.c (remassoc_no_quit):
4827         * fns.c (Fremassq):
4828         * fns.c (remassq_no_quit):
4829         * fns.c (Fremrassoc):
4830         * fns.c (Fremrassq):
4831         * fns.c (remrassq_no_quit):
4832         * fns.c (Fsort):
4833         * fns.c (Fplist_get):
4834         * fns.c (Fplist_put):
4835         * fns.c (Fplist_remprop):
4836         * fns.c (Fplist_member):
4837         * fns.c (Flax_plist_get):
4838         * fns.c (Flax_plist_put):
4839         * fns.c (Flax_plist_remprop):
4840         * fns.c (Flax_plist_member):
4841         * fns.c (Fequal):
4842         * fns.c (Fold_equal):
4843         * fns.c (Frequire):
4844         * fns.c (Fbase64_encode_region):
4845         * fns.c (Fbase64_encode_string):
4846         * fns.c (Fbase64_decode_region):
4847         * frame.c:
4848         * frame.c (frame_matches_frame_spec):
4849         * frame.c (device_matches_device_spec):
4850         * frame.c (next_frame):
4851         * frame.c (previous_frame):
4852         * frame.c (Fnext_frame):
4853         * frame.c (Fprevious_frame):
4854         * frame.c (Fframe_property):
4855         * frame.c (Fset_frame_height):
4856         * frame.c (Fset_frame_size):
4857         * frame.h:
4858         * glyphs.c:
4859         * glyphs.c (if):
4860         * glyphs.c (decode_error_behavior_flag):
4861         * glyphs.c (Fmake_image_instance):
4862         * indent.c (Findent_to):
4863         * intl.c (Fignore_defer_gettext):
4864         * keymap.c (Fkeymapp):
4865         * keymap.c (Flookup_key):
4866         * lread.c:
4867         * lread.c (Fload_internal):
4868         * lread.c (Feval_buffer):
4869         * lread.c (Feval_region):
4870         * macros.c (Fexecute_kbd_macro):
4871         * marker.c (set_marker_internal):
4872         * marker.c (Fset_marker):
4873         * marker.c (set_marker_restricted):
4874         * marker.c (Fcopy_marker):
4875         * marker.c (noseeum_copy_marker):
4876         * menubar.c:
4877         * menubar.c (Fpopup_menu):
4878         * minibuf.c:
4879         * mule-charset.c (Fcharset_name):
4880         * mule-charset.c (Fchar_charset):
4881         * mule-charset.c (Fchar_octet):
4882         * mule-charset.c (Fsplit_char):
4883         * mule-wnnfns.c (Fwnn_open):
4884         * mule-wnnfns.c (Fwnn_dict_comment):
4885         * mule-wnnfns.c (Fwnn_quit_henkan):
4886         * mule-wnnfns.c (Fwnn_word_toroku):
4887         * mule-wnnfns.c (Fwnn_word_sakujo):
4888         * mule-wnnfns.c (Fwnn_word_use):
4889         * mule-wnnfns.c (Fwnn_hindo_set):
4890         * objects.c:
4891         * objects.c (Fmake_color_instance):
4892         * objects.c (Fmake_font_instance):
4893         * print.c (Fwrite_char):
4894         * process.c:
4895         * process.c (mark_process):
4896         * process.c (print_process):
4897         * process.c (get_process_from_usid):
4898         * process.c (Fprocessp):
4899         * process.c (Fprocess_live_p):
4900         * process.c (Fget_process):
4901         * process.c (Fget_buffer_process):
4902         * process.c (get_process):
4903         * process.c (Fprocess_id):
4904         * process.c (Fprocess_name):
4905         * process.c (Fprocess_command):
4906         * process.c (init_process_io_handles):
4907         * process.c (start_process_unwind):
4908         * process.c (Fstart_process_internal):
4909         * process.c (Fopen_multicast_group_internal):
4910         * process.c (Fset_process_window_size):
4911         * process.c (read_process_output):
4912         * process.c (send_process):
4913         * process.c (Fprocess_tty_name):
4914         * process.c (Fset_process_buffer):
4915         * process.c (Fprocess_buffer):
4916         * process.c (Fprocess_mark):
4917         * process.c (set_process_filter):
4918         * process.c (Fset_process_filter):
4919         * process.c (Fprocess_filter):
4920         * process.c (Fprocess_send_region):
4921         * process.c (Fprocess_send_string):
4922         * process.c (exec_sentinel):
4923         * process.c (Fset_process_sentinel):
4924         * process.c (Fprocess_sentinel):
4925         * process.c (status_notify):
4926         * process.c (Fprocess_status):
4927         * process.c (Fprocess_exit_status):
4928         * process.c (process_send_signal):
4929         * process.c (Fprocess_send_eof):
4930         * process.c (deactivate_process):
4931         * process.c (remove_process):
4932         * process.c (Fdelete_process):
4933         * process.c (kill_buffer_processes):
4934         * process.c (Fprocess_kill_without_query):
4935         * process.c (Fprocess_kill_without_query_p):
4936         * rangetab.c:
4937         * rangetab.c (Fget_range_table):
4938         * rangetab.c (Fput_range_table):
4939         * rangetab.c (Fremove_range_table):
4940         * rangetab.c (Fclear_range_table):
4941         * search.c:
4942         * search.c (Fskip_chars_forward):
4943         * search.c (Fskip_chars_backward):
4944         * search.c (Fskip_syntax_forward):
4945         * search.c (Fskip_syntax_backward):
4946         * search.c (search_command):
4947         * search.c (Freplace_match):
4948         * search.c (Fregexp_quote):
4949         * select.c (Fown_selection_internal):
4950         * select.c (Fselection_owner_p):
4951         * select.c (Fselection_exists_p):
4952         * select.c (Fget_selection_internal):
4953         * specifier.c:
4954         * symbols.c:
4955         * symbols.c (Fintern):
4956         * symbols.c (Fintern_soft):
4957         * symbols.c (Funintern):
4958         * symbols.c (Fapropos_internal):
4959         * symbols.c (Fset_default):
4960         * syntax.c:
4961         * syntax.c (Fsyntax_table_p):
4962         * syntax.c (Fcopy_syntax_table):
4963         * syntax.c (Fset_syntax_table):
4964         * syntax.c (Fchar_syntax):
4965         * syntax.c (syntax_match):
4966         * syntax.c (Fmatching_paren):
4967         * syntax.c (Fforward_word):
4968         * syntax.c (scan_lists):
4969         * syntax.c (Fscan_lists):
4970         * syntax.c (Fscan_sexps):
4971         * syntax.c (Fparse_partial_sexp):
4972         * toolbar.c (Fcheck_toolbar_button_syntax):
4973         * tooltalk.doc:
4974         * window.c:
4975         * window.c (Fwindowp):
4976         * window.c (Fwindow_live_p):
4977         * window.c (Fwindow_point):
4978         * window.c (Fdelete_window):
4979         * window.c (Fnext_window):
4980         * window.c (Fprevious_window):
4981         * window.c (Fother_window):
4982         * window.c (window_loop):
4983         * window.c (Fget_lru_window):
4984         * window.c (Fsplit_window):
4985         * window.c (Fenlarge_window):
4986         * window.c (Fenlarge_window_pixels):
4987         * window.c (Fshrink_window):
4988         * window.c (Fshrink_window_pixels):
4989         * window.c (change_window_height):
4990         * window.c (Fwindow_configuration_p):
4991         * window.c (Fcurrent_window_configuration):
4992         * window.h:
4993         * casefiddle.c (casify_object):
4994         * casefiddle.c (Fupcase):
4995         * casefiddle.c (Fdowncase):
4996         * casefiddle.c (Fcapitalize):
4997         * casefiddle.c (Fupcase_initials):
4998         * casefiddle.c (casify_region_internal):
4999         * casefiddle.c (casify_region):
5000         * casefiddle.c (Fupcase_region):
5001         * casefiddle.c (Fdowncase_region):
5002         * casefiddle.c (Fcapitalize_region):
5003         * casefiddle.c (Fupcase_initials_region):
5004         * casefiddle.c (Fupcase_word):
5005         * casefiddle.c (Fdowncase_word):
5006         * casefiddle.c (Fcapitalize_word):
5007         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
5008         Replace 0 with '\0' when working with bytes.
5009         Replace initial "(" with "\(" in docstrings.
5010
5011 2000-11-01  Martin Buchholz  <martin@xemacs.org>
5012
5013         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
5014
5015         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
5016
5017 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5018
5019         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
5020
5021 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5022
5023         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
5024         correctly.
5025
5026 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5027
5028         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
5029         (inhibit_auto_save_session): New variable.
5030         (vars_of_fileio): Declare and initialize them.
5031         * fileio.c (Fdo_auto_save): Don't create session file if
5032         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
5033
5034 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5035
5036         * sgiplay.c (play_internal): C++ compilability.
5037         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
5038         * callproc.c (Fold_call_process_internal):
5039         Remove unused vars `env', `first'.
5040         * scrollbar.c (update_scrollbar_instance):
5041         #### unused var `current_window'.
5042         * redisplay-tty.c: Put currently unused vars insert_mode_on,
5043         etc. within #ifdef NOT_YET.
5044         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
5045         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
5046         * specifier.c (specifier_instance):
5047         #### unused var `tag'.
5048         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
5049
5050 2000-10-27  Martin Buchholz  <martin@xemacs.org>
5051
5052         * fns.c (Fbutlast):
5053         * fns.c (list_sort):
5054         * fns.c (Ffillarray):
5055         * fns.c (bytecode_nconc2):
5056         * fns.c (Fnconc):
5057         * fns.c (mapcar1):
5058         * fns.c (Fmapconcat):
5059         Be pedantically 64-bit correct.  For the time when someone will
5060         want to have a list with length > 2**32.
5061
5062         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
5063         Work around MIPSpro compiler bug.
5064
5065         * process-unix.c (unix_kill_child_process): Add snarky comment.
5066         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
5067
5068         * config.h.in: Oops, _getpt ==> _getpty
5069
5070 2000-10-26  Martin Buchholz  <martin@xemacs.org>
5071
5072         * config.h.in:
5073         * regex.c:
5074         Use void*, not char*, as return type of alloca().
5075
5076         * alloc.c (free_marker): Side effect inside assert expression!
5077
5078 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
5079
5080         * mule-charset.c (Fset_charset_ccl_program): To check
5081         if the given ccl program is valid, use setup_ccl_program()
5082         instead of CHECK_VECTOR().
5083         (Fmake_charset): Likewise.
5084
5085 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
5086
5087         * faces.c (get_extent_fragment_face_cache_index):
5088         Fix cachel.merged_faces memory leak.
5089
5090 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
5091
5092         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
5093         Reset MSB of octets obtained by DECODE_SJIS
5094         because of the incompatibility with Emacs.
5095         (ccl_driver)<CCL_ENCODE_SJIS>:
5096         Set MSB of octets before passing them to
5097         ENCODE_SJIS because of the incompatibility
5098         with Emacs.
5099
5100 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
5101
5102         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
5103         (DECLARE_LRECORD): Undo the last change.
5104         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
5105
5106 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
5107
5108         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
5109         the implementation to lrecord_implementations_table.
5110
5111 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
5112
5113         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
5114         initial value of `lrecord_type_##c_name' and
5115         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
5116         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
5117         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
5118         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
5119         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
5120
5121 2000-10-17  Martin Buchholz  <martin@xemacs.org>
5122
5123         * miscplay.c (sndcnv8S_2mono):
5124         (sndcnv2monounsigned):
5125         (sndcnvULaw_2linear):
5126         (sndcnv16swap):
5127         Remove implementation-defined behavior.
5128
5129 2000-10-12  Martin Buchholz  <martin@xemacs.org>
5130
5131         * input-method-xlib.c: Warning suppression.
5132
5133 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
5134
5135         * mule-ccl.c: Sync up with Emacs 21.0.90.
5136         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
5137         Do nothing.
5138         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
5139         Likewise.
5140         (ccl_driver[WriteMultibyteChar2]): Bug fix.
5141         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
5142         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
5143         leading char belongs to official 2-dimensional charset.
5144         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
5145         write the given character as is.  Otherwise,
5146         if it is a multibyte char, convert it by
5147         non_ascii_set_charptr_emchar, then write it.
5148         (CCL_WRITE_STRING): Likewise.
5149         (ccl_get_compiled_code): New function.
5150         (setup_ccl_program): When ccl_prog is invalid,
5151         return -1.
5152         (Fregister_code_conversion_map): New function.
5153         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
5154
5155         * mule-ccl.h: Sync up with Emacs 21.0.90.
5156         (Fregister_ccl_program): export it.
5157
5158         * redisplay-msw.c (separate_textual_runs):
5159         If ccl program is not valid, don't do ccl conversion.
5160
5161         * redisplay-x.c (separate_textual_runs): Ditto.
5162
5163         * file-coding.c (Fmake_coding_system):
5164         When type is ccl and value is vector, register it
5165         with a proper symbol.  And checks whether the
5166         given ccl program is valid.
5167         (mule_decode): When calling ccl_driver, if src indicates
5168         NULL pointer, set an empty string instead.
5169         (mule_encode): Likewise.
5170
5171 2000-10-11  Martin Buchholz  <martin@xemacs.org>
5172
5173         The following large batch of changes gets us back to a state of
5174         C++ compilability.  Extbyte is now a char, which means that
5175         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
5176
5177         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
5178
5179         * sound.c (Fplay_sound): Type correctness.
5180
5181         * select-x.c (hack_motif_clipboard_selection): Type correctness.
5182         (x_get_window_property): Type correctness.
5183         (receive_incremental_selection): unsigned char ==> Extbyte
5184         (selection_data_to_lisp_data): unsigned char ==> Extbyte
5185         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
5186         (Fx_store_cutbuffer_internal): Type correctness.
5187
5188         * process-unix.c (try_to_initialize_subtty): Type correctness.
5189
5190         * objects-x.c (x_print_color_instance): Type correctness.
5191         (x_print_font_instance): Type correctness.
5192         (x_list_fonts): SExtbyte ==> Extbyte.
5193         (valid_x_font_name_p): SExtbyte ==> Extbyte.
5194         (x_find_charset_font): SExtbyte ==> Extbyte.
5195         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
5196         (truename_via_XListFonts): SExtbyte ==> Extbyte.
5197         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
5198         Use bufbyte_strcmp.
5199
5200         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
5201         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
5202         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
5203         (BYTE_C0_P): Use bit ops for char-signedness safety.
5204         (BYTE_C1_P): Use bit ops for char-signedness safety.
5205         (CHARSET_BY_LEADING_BYTE):
5206         (CHARSET_BY_ATTRIBUTES):
5207         Always use inline function.
5208         Use type_checking_assert.
5209         Hide chlook.
5210
5211         * mule-charset.c (non_ascii_charptr_copy_char):
5212         Modify to work with both ASCII and non-ASCII characters.
5213         Improve docs and variable names.
5214         Replace over-clever fall-through switch with a simple loop.
5215         (Lstream_get_emchar_1):
5216         Replace over-clever fall-through switch with a simple loop.
5217
5218         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5219         Warning suppression.
5220
5221         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
5222         the return value of Lstream_getc, which could be EOF as well.
5223
5224         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
5225
5226         * lisp.h: Make Extbyte a char, not unsigned char, so that external
5227         APIs can be used on Extbytes without casts.  Risky!
5228         (SExtbyte): Remove.
5229         (UExtbyte): Remove.
5230
5231         * input-method-xlib.c (XIM_init_device):
5232         Use Xlib.h instead of IntrinsicP.h.
5233         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
5234         which will break in X11R7.
5235         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
5236         to call XRegisterIMInstantiateCallback with correct types.
5237
5238         * gui-x.c (button_item_to_widget_value): Type correctness.
5239
5240         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
5241
5242         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
5243         (xbm_instantiate_1): Type correctness.
5244         (BUILD_GLYPH_INST):  Type correctness.
5245
5246         * fileio.c (Fsubstitute_in_file_name): Type correctness.
5247
5248         * file-coding.c:
5249         (decode_coding_sjis):
5250         (decode_coding_big5):
5251         (decode_coding_ucs4):
5252         (decode_coding_utf8):
5253         (decode_coding_iso2022):
5254         (decode_coding_no_conversion):
5255         Make all decoding functions take an Extbyte * arg.
5256         (encode_coding_sjis):
5257         (encode_coding_big5):
5258         (encode_coding_ucs4):
5259         (encode_coding_utf8):
5260         (encode_coding_iso2022):
5261         (encode_coding_no_conversion):
5262         Make all encoding functions take a Bufbyte * arg.
5263         Use size_t instead of unsigned int for memory sizes.
5264         Only cast to unsigned char whenever dereferencing Extbyte *.
5265
5266         * doc.c (unparesseuxify_doc_string): Type correctness.
5267
5268         * console-x.c (split_up_display_spec):
5269         Rewrite without using details of internal string representation.
5270         (x_semi_canonicalize_device_connection): Type correctness.
5271
5272         * config.h.in:
5273         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
5274         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
5275         (HAVE_XFREE386): Removed.
5276
5277         * buffer.h (DEC_CHARPTR): `const' correctness.
5278         (bufbyte_strcmp): New.
5279         (bufbyte_memcmp): New.
5280
5281         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
5282
5283         * buffer.h (XCHAR_OR_CHAR_INT):
5284         Always use inline function.
5285         Remove redundant type checking assert() - XINT will abort quite nicely.
5286
5287 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5288
5289         * search.c (Freplace_match): Set newtext to an empty string.
5290
5291 2000-10-10  Martin Buchholz  <martin@xemacs.org>
5292
5293         * s/decosf1-3.h: Remove #include of stropts.h
5294         * s/ptx.h: Remove #include of stropts.h
5295         * s/usg5-4.h: Remove #include of stropts.h
5296         * sysproc.h:
5297         * config.h.in:
5298         Use stropts.h, not sys/stropts.h.
5299         Use strtio.h, not sys/strtio.h.
5300
5301 2000-10-04  Martin Buchholz <martin@xemacs.org>
5302
5303         * XEmacs 21.2.36 is released.
5304
5305 2000-09-21  Andy Piper  <andy@xemacs.org>
5306
5307         * glyphs-x.c (x_redisplay_widget): make sure non-structural
5308         changes still involve copying the widget tree.
5309         (update_widget_face): make sure a change is register in the widget
5310         tree. Call update_tab_widget_face appropriately.
5311         (update_tab_widget_face): ditto.
5312         (x_tab_control_redisplay): make sure non-structural changes still
5313         involve copying the widget tree.
5314
5315 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
5316
5317         * lread.c (locate_file): Check the path element is non-nil.
5318
5319 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5320
5321         * lisp.h: Warning suppression for SCO compilers.
5322
5323         * redisplay-tty.c (reset_tty_modes): Fix crash.
5324         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
5325
5326 2000-09-27  Martin Buchholz  <martin@xemacs.org>
5327
5328         Big signal/process handling overhaul.  Bugs fixed:
5329         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
5330         M-x comint-kill-subjob should work for both values nil and t of
5331         process-connection-type. It was broken on most platforms.
5332         Testing on Irix and Cygwin still needed.  Other plaforms tested.
5333         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
5334         * process-unix.c: Signal/Process handling overhaul.
5335         (pty_name): make 64 bytes, as `expect' does, for paranoia.
5336         (allocate_pty): Use all available modern methods of allocating
5337         ptys, falling back to old style BSD allocation as a last resort.
5338         Use allegedly more secure Unix98 pty allocation by default.
5339         (allocate_pty_the_old_fashioned_way): New. the last resort.
5340         (unix_create_process): Push ptem, ldterm, ttcompat where
5341         available.  Autoconfiscate.
5342         (try_to_initialize_subtty): New.
5343         (unix_kill_child_process): Proper signal handling for ptys on most
5344         platforms, using special knowledge of AIX, BSD, etc...
5345         (unix_create_process): Always disconnect_controlling_terminal() for
5346         subprocesses, whether using ptys or not.
5347         * process.h: Remove old getpt-dependent PTY code.
5348         * process.c (Fprocess_send_signal): New, obvious generic function.
5349         (decode_signal): New.
5350         (Finterrupt_process):
5351         (Fkill_process):
5352         (Fquit_process):
5353         (Fstop_process):
5354         (Fcontinue_process):
5355         (Fsignal_process): Use decode_signal.
5356         (process_send_signal):
5357         Many docstring corrections.
5358         Allow any signal to be sent to a process object.
5359         * config.h.in: Add symbols for big signal/process overhaul.
5360         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
5361         * sysproc.h: Include process-related headers, where available:
5362         sys/stropts.h sys/strtio.h pty.h libutil.h
5363         * s/irix4-0.h:
5364         * s/irix5-0.h:
5365         * s/cygwin32.h:
5366         * s/gnu.h:
5367         * s/linux.h:
5368         * s/hpux.h:
5369         * s/aix3-1.h:
5370         Remove old S&M pty stuff.
5371         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
5372         * systty.h: Simplify cpp hackery, improve comments.
5373         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
5374
5375         * editfns.c (Fformat_time_string):
5376         Be a little more paranoid with the return value of ctime.
5377
5378         * fileio.c (check_executable):
5379         (check_writable):
5380         Use symbolic constants X_OK, W_OK.
5381
5382         * console-x.c (split_up_display_spec): Fix a warning.
5383
5384 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5385
5386         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
5387         * ntproc.c (sys_spawnve): make_string ==> build_string
5388         Small clarity improvements.
5389
5390 2000-09-30  Martin Buchholz  <martin@xemacs.org>
5391
5392         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
5393
5394         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
5395
5396         * config.h.in (HAVE_STRCASECMP): Remove.
5397
5398 2000-09-29  Martin Buchholz  <martin@xemacs.org>
5399
5400         * redisplay-output.c (redisplay_output_pixmap):
5401         Cleaner and possibly more 64-bit correct code.
5402
5403 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5404
5405         * dumper.c (pdump_load_finish): move restoration of
5406         `noninteractive1' to emacs.c (main_1).
5407         * emacs.c (main_1): protect LISP-visible command-line flags
5408         from pdump_load().
5409
5410 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
5411
5412         * Makefile.in.in (versionclean):  Use EXE_TARGET and
5413         DUMP_TARGET instead of literal program names.
5414
5415 2000-09-20  Martin Buchholz  <martin@xemacs.org>
5416
5417         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
5418
5419 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5420
5421         * *: Spelling mega-patch
5422
5423 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5424
5425         * fns.c (bad_bad_turtle):
5426         Delete "Eek!" comment, since we fixed the bug to which it refers.
5427
5428 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5429
5430         * alloca.c: Replace REGISTER with register.
5431
5432 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
5433
5434         * file-coding.c (ucs_to_char): Use countof.
5435
5436 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5437
5438         * file-coding.c: (ucs_to_char):
5439         (complex_vars_of_file_coding):
5440         Use countof instead of sizeof.
5441         Use CHECK_NATNUM instead of CHECK_INT.
5442
5443         * sysdep.c (strcasecmp): Remove.
5444         * device-x.c (ascii_strcasecmp): New.
5445         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
5446         Avoid using non-standard non-portable strcasecmp.
5447
5448 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5449
5450         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
5451         * font-lock.c: remove reference to emacsfns.h.
5452         * search.c: small doc improvement.
5453         * event-Xt.c: correct file names in comments.
5454         * console-x.h Correct file names in comments.
5455         * frame.c: Correct file names in comments.
5456         * event-stream.c: remove Energize from comments.
5457
5458 2000-09-15  Martin Buchholz  <martin@xemacs.org>
5459
5460         * symeval.h (DEFERROR_STANDARD):
5461         (DEFERROR):
5462         (DEFSYMBOL):
5463         (DEFSYMBOL_NO_DUMP):
5464         (DEFSYMBOL_MULTIWORD_PREDICATE):
5465         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
5466         (DEFKEYWORD):
5467         The construct &##name is not sensible C.
5468         Fixes compilation errors with Unixware native compiler.
5469
5470 2000-09-14  Martin Buchholz  <martin@xemacs.org>
5471
5472         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
5473         (next_frame_internal): Removed.  We now just have next_frame.
5474         (next_frame):
5475         Write a simpler and cleaner one-pass algorithm.
5476         Remove called_from_delete_device arg and #ifdefed-out code.
5477         (previous_frame):
5478         Renamed from prev_frame.  Update callers.
5479         Cleaned up to have an analogous implementation to next_frame.
5480         (other_visible_frames_internal): Remove the
5481         called_from_delete_device bogus arg, and hence, remove this
5482         function.  Just use other_visible_frames().
5483
5484         * window.c (Fnext_window):
5485         Prettify docstring.
5486         Since next_frame() is guaranteed to return a frame, remove check
5487         for nil inserted in previous patch.
5488         (Fprevious_window):
5489         Prettify docstring.
5490         Make code look more like Fnext_window.
5491         (window_loop):
5492         Respect the `console' arg when iterating through windows.
5493         Fixes bug: (get-buffer-window buffer t device) not respecting
5494         the `device' arg.
5495         This function needs more work, as others have pointed out.
5496
5497         * frame.h: Rename prev_frame to previous_frame.
5498         device_matches_console_spec no longer takes a `frame' arg.
5499
5500         * s/gnu.h:
5501         * s/linux.h:
5502         * s/hpux.h:
5503         Use EMACS_BLOCK_SIGNAL instead of sigblock.
5504         From "Golubev I. N." <gin@mo.msk.ru>.
5505
5506         * make-src-depend: Fix typo.
5507
5508 2000-09-13  Martin Buchholz  <martin@xemacs.org>
5509
5510         * window.c (Fnext_window):
5511         next_frame() might return nil, not a frame.
5512         Fixes this crash:
5513         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5514
5515         * frame.c (next_frame_internal):
5516         We've passed a frame if we've passed its device.
5517         Fixes this crash:
5518         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5519 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
5520
5521 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5522
5523         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
5524         Allow option to suppress accelerators in menu/dialog items.
5525         (populate_or_checksum_helper): Pass dialog title through above.
5526
5527 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5528
5529         * event-msw.c (mswindows_key_to_emacs_keysym):
5530         Add "pause" key, fix "menu" key.
5531
5532 2000-09-09  Martin Buchholz  <martin@xemacs.org>
5533
5534         * eval.c (reinit_vars_of_eval):
5535         Increase max_lisp_eval_depth to 1000,
5536         required for thai-xtis.el to byte-compile under some circumstances.
5537
5538 2000-09-04  Martin Buchholz  <martin@xemacs.org>
5539
5540         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
5541         From Kenichi Handa.
5542
5543 2000-09-01  Martin Buchholz  <martin@xemacs.org>
5544
5545         * make-src-depend: Make the generated Makefiles smaller.
5546
5547         * s/hpux.h (SETUP_SLAVE_PTY):
5548         Provide a %d in the format string for the errno argument.
5549
5550         * editfns.c (Ftemp_directory):
5551         Warning fix.
5552         Avoid buffer overrun on very long file name.
5553
5554         * input-method-xlib.c (XIM_init_device):
5555         6th parameter of XRegisterIMInstantiateCallback has different
5556         pointer types on different OSes, so simply cast to (void *).
5557
5558         * unexhp9k800.c: Warning fixes.  Fiddly changes.
5559
5560         * sysdll.c (dll_open):
5561         shl_load will hang hard if passed a NULL filename.
5562         Simply return NULL for compatibility with dlopen.
5563         * sysdll.c: Conform to XEmacs coding standards.
5564
5565         * sysdep.c (get_pty_max_bytes):
5566         Support pty input lines longer than 512 bytes on HP-UX 10.20.
5567
5568 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5569
5570         * tooltalk.c: Add #include <syssignal.h>
5571
5572 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
5573
5574         * s/hpux.h: Don't use undefined function sigunblock().
5575
5576 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5577
5578         * config.h.in: Add HAVE_BALLOON_HELP.
5579         * emacs.c: Use HAVE_BALLOON_HELP.
5580         * Makefile.in.in (x_objs):
5581         Make Balloon Help conditional on finding shape.h.
5582
5583 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
5584
5585         * syntax.c (regex_emacs_buffer_p): New variable.
5586         * syntax.h (regex_emacs_buffer_p): extern.
5587         * search.c (looking_at_1):
5588         (string_match_1):
5589         (fast_string_match):
5590         (search_buffer): Set regex_emacs_buffer_p.
5591         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
5592         when before_dot, at_dot, after_dot.
5593
5594 2000-08-23  Andy Piper  <andy@xemacs.org>
5595
5596         * gui-x.c (popup_selection_callback): Only set action_occurred
5597         when we really have an image instance.
5598         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
5599
5600 2000-08-23  Andy Piper  <andy@xemacs.org>
5601
5602         * gui-msw.c (mswindows_handle_gui_wm_command): set
5603         action_occurred.
5604         * gui-x.c (popup_selection_callback): ditto.
5605
5606         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
5607         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
5608         (struct Lisp_Image_Instance): add action_occurred flag.
5609
5610         * glyphs.c (redisplay_subwindow): use action_occurred flag.
5611         (image_instance_changed): ditto.
5612         (reset_frame_subwindow_instance_cache): only unmap windows - do
5613         not remove them from the cache also.
5614
5615         * glyphs-widget.c (tab_control_update): better debug.
5616         (progress_gauge_update): ditto.
5617         (layout_update): ditto.
5618         (layout_instantiate): ditto.
5619         (tab_control_order_only_changed): cope with null pending items.
5620
5621         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
5622         debug. Force selection of an item when an action occurred. Cope
5623         with null pending_items.
5624         (mswindows_progress_gauge_redisplay): better debug.
5625         * glyphs-x.c (x_tab_control_redisplay): ditto.
5626
5627         * redisplay.c (redisplay_frame): reset the frame cache if the
5628         frame is garbaged.
5629
5630         * window.c (Fset_window_configuration): potentially re-enable
5631         frame cache reset.
5632         (window_unmap_subwindows): need to finalize instances here since
5633         it is only used in mark_window_as_deleted.
5634
5635 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
5636
5637         * nas.c (SndOpenDataForReading):
5638         nas.c (WaveOpenDataForReading):
5639         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
5640         Somehow escaped from the 2000-08-14 patch.
5641
5642 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5643
5644         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
5645         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
5646
5647 2000-08-21  Andy Piper  <andy@xemacs.org>
5648
5649         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
5650         window if it is not already displayed.
5651
5652         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
5653         it is not already displayed.
5654
5655         * window.c (Fset_window_configuration): don't reset the frame
5656         cache.
5657
5658         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
5659         instances from the frame cache if we are actually finalizing them.
5660         (reset_frame_subwindow_instance_cache): reset frame cache only
5661         after unmapping everything.
5662         (map_subwindow): set displayed flag after mapping.
5663
5664 2000-08-21  Martin Buchholz  <martin@xemacs.org>
5665
5666         * data.c (indirect_function):
5667         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
5668
5669         * eval.c (function_argcount):
5670         Use original function when signaling errors.
5671
5672 2000-08-18  Andy Piper  <andy@xemacs.org>
5673
5674         * frame.c (delete_frame_internal): use new
5675         free_frame_subwindow_instances name.
5676
5677         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
5678         (add_tab_item): make return type correct.
5679         (mswindows_tab_control_instantiate): assert index of tab.
5680         (mswindows_tab_control_redisplay): Re-code to use
5681         gui_item_equal_sans_selected and gui_item_list_find_selected.
5682
5683         * glyphs-widget.c (tab_control_update): Correct comment.
5684
5685         * window.c (window_unmap_subwindows): use new
5686         unmap_subwindow_instance_cache_mapper.
5687         (window_unmap_subwindows_cache_mapper): deleted.
5688         (Fset_window_configuration): comparisons should now be with
5689         EQ. Preserve the subwindow instance cache across configuration
5690         changes.
5691         (allocate_window): ditto.
5692         (make_dummy_parent): ditto.
5693
5694         * glyphs.c (free_frame_subwindow_instances): rename from
5695         free_frame_subwindow_instance_cache. finalize all instances rather
5696         than just those in the display cache.
5697         (finalize_all_subwindow_instances): walk windows unmapping and
5698         finalizing subwindows.
5699         (unmap_subwindow_instance_cache_mapper): moved from
5700         window.c. Allow finalization as well as unmapping.
5701
5702         * gui.c (gui_item_list_find_selected): new function.
5703
5704         * gui.h (gui_item_list_find_selected): declare.
5705
5706         * glyphs-x.c (x_tab_control_redisplay): pick tab
5707         explicitly. Re-code to use gui_item_equal_sans_selected and
5708         gui_item_list_find_selected.
5709
5710         * glyphs-x.h: add lwlib-utils.h
5711
5712         * buffer.c (Frecord_buffer): undo previous change.
5713
5714 2000-08-09  Vin Shelton  <acs@xemacs.org>
5715
5716         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
5717         possible.  Create temporary files more securely.  The patch was
5718         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
5719         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
5720         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
5721         for details.
5722
5723 2000-08-07  Ben Wing  <ben@xemacs.org>
5724
5725         * getloadavg.c: remove duplicate (and windows-breaking)
5726         includes of fcntl.h and sys/file.h.
5727
5728         * nt.c: remove duplicate getloadavg() definition.
5729
5730         * sysdll.h (Qdll_filename_encoding): add missing stand-in
5731         encodings.
5732
5733 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5734
5735         * eval.c (function_argcount): If function needs to be autoloaded
5736         actually use the loaded definition.
5737         GCPRO function.
5738
5739 2000-08-05  Ben Wing  <ben@xemacs.org>
5740
5741         * getloadavg.c: add prototype for getloadavg().  remove
5742         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
5743         of the code).  remove duplicate header includes.
5744
5745         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
5746
5747         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
5748         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
5749         useful load average.
5750
5751         * alloc.c (reinit_alloc_once_early): removed references to
5752         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
5753         the lisp vars are the only things referencing the malloc_sbrk_*
5754         vars, and they were already if 0'd out.  these vars only exist
5755         in the older malloc.c, which is basically unused, and they're
5756         only for informational purposes.
5757
5758         * m\*.h: removed useless VIRT_ADDR_VARIES.
5759
5760         * m\powerpc.h: removed stray NO_ARG_ARRAY.
5761
5762 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5763
5764         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
5765         color if the image is a mono pixmap.
5766
5767 2000-07-30  Ben Wing  <ben@xemacs.org>
5768
5769         * Makefile.in.in (release):
5770         Remove stray @.
5771
5772         * buffer.c (directory_is_current_directory):
5773         * dired-msw.c (mswindows_get_files):
5774         * dired.c:
5775         * dired.c (Fdirectory_files):
5776         * dired.c (file_name_completion_stat):
5777         * dired.c (Ffile_attributes):
5778         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
5779         preprocessor tricks, to avoid problems on some machines
5780         (e.g. SCO).
5781
5782         * callproc.c (egetenv): GC docs.
5783
5784         * console-msw.h:
5785         * console-msw.h (struct mswindows_dialog_id):
5786         * lrecord.h (lrecord_type):
5787         New object for use with MSW dialogs.
5788
5789         * console.h (struct console_methods):
5790         New enable/disable frame methods, for proper modal dialogs.
5791
5792         * device-msw.c (msprinter_default_printer): Fix to follow
5793         proper Mule conventions.
5794
5795         * device-msw.c:
5796         * device-msw.c (signal_open_printer_error):
5797         * device-msw.c (msprinter_init_device):
5798         * device-msw.c (ensure_not_printing):
5799         * device-msw.c (plist_get_margin):
5800         * device-msw.c (Fmsprinter_select_settings):
5801         * device-msw.c (finalize_devmode):
5802         * device-msw.c (Fmsprinter_settings_despecialize):
5803         * device-msw.c (signal_enum_priner_error):
5804         * extents.c (decode_extent):
5805         * extents.c (decode_map_extents_flags):
5806         * extents.c (decode_extent_at_flag):
5807         * extents.c (Fextent_at):
5808         * extents.c (Fextents_at):
5809         * extents.c (symbol_to_glyph_layout):
5810         [[[[2]]]] Use structured errors.
5811
5812         * dialog-msw.c:
5813         * dialog-msw.c (mswindows_is_dialog_msg):
5814         * dialog-msw.c (mark_mswindows_dialog_id):
5815         * dialog-msw.c (dialog_proc):
5816         * dialog-msw.c (handle_question_dialog_box):
5817         * dialog-msw.c (syms_of_dialog_mswindows):
5818         Define new object to clean up marking; use it as a dialog identifier.
5819         Call new delete-dialog-box-hook.
5820
5821         * dialog-x.c (dbox_selection_callback):
5822         * dialog-x.c (dbox_descriptor_to_widget_value):
5823         * dialog-x.c (x_make_dialog_box_internal):
5824         Call new delete-dialog-box-hook.
5825         Return an id.
5826
5827         * dialog.c:
5828         * dialog.c (syms_of_dialog):
5829         * dialog.c (vars_of_dialog):
5830         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
5831
5832         * eval.c:
5833         * eval.c (signal_call_debugger):
5834         when noninteractive, output stack traces on the console instead
5835         of in a (never-seen) buffer.
5836
5837         * eval.c (signal_type_error):
5838         * eval.c (invalid_argument_2):
5839         * lisp.h:
5840         new funs for use w/structured errors.
5841
5842         * event-Xt.c:
5843         * event-Xt.c (x_to_emacs_keysym):
5844         * event-Xt.c (describe_event):
5845         * event-Xt.c (emacs_Xt_event_handler):
5846         * event-Xt.c (vars_of_event_Xt):
5847         * event-msw.c:
5848         * event-msw.c (mswindows_wnd_proc):
5849         * event-msw.c (vars_of_event_mswindows):
5850         rename {x,mswindows}-debug-events to debug-{}-events for
5851         consistency with other debug-foo variables.
5852
5853         * event-stream.c:
5854         document next-event more clearly.
5855
5856         * fileio.c (Ffile_name_directory):
5857         * fileio.c (Ffile_name_nondirectory):
5858         * fileio.c (Funhandled_file_name_directory):
5859         * fileio.c (file_name_as_directory):
5860         * fileio.c (Ffile_name_as_directory):
5861         * fileio.c (directory_file_name):
5862         * fileio.c (Fdirectory_file_name):
5863         * fileio.c (Fmake_temp_name):
5864         * fileio.c (Ffile_truename):
5865         * fileio.c (Fsubstitute_in_file_name):
5866         * fileio.c (expand_and_dir_to_file):
5867         * fileio.c (barf_or_query_if_file_exists):
5868         * fileio.c (check_executable):
5869         * fileio.c (Ffile_exists_p):
5870         * fileio.c (Ffile_writable_p):
5871         * fileio.c (Ffile_directory_p):
5872         * fileio.c (Ffile_regular_p):
5873         * fileio.c (Ffile_modes):
5874         * fileio.c (Ffile_newer_than_file_p):
5875         * fileio.c (Fverify_visited_file_modtime):
5876         * fileio.c (Fset_visited_file_modtime):
5877         * fileio.c (auto_save_1):
5878         (1). (2).
5879         fix up gcpro's.
5880
5881         * frame-msw.c:
5882         * frame-msw.c (mswindows_init_frame_1):
5883         * frame-msw.c (mswindows_enable_frame):
5884         * frame-msw.c (error_frame_unsizable):
5885         * frame-msw.c (msprinter_init_frame_1):
5886         * frame-msw.c (msprinter_init_frame_3):
5887         * frame-msw.c (console_type_create_frame_mswindows):
5888         (2).
5889         implement new enable/disable frame methods.
5890
5891         * frame-x.c:
5892         * frame-x.c (x_enable_frame):
5893         * frame-x.c (console_type_create_frame_x):
5894         implement new enable/disable frame methods.
5895
5896         * frame.c:
5897         * frame.c (Fdisable_frame):
5898         * frame.c (syms_of_frame):
5899         * frame.h (struct frame):
5900         implement new enable/disable frame methods/functions.
5901
5902         * general-slots.h:
5903         add initial-focus.
5904
5905         * glyphs-msw.c (mswindows_widget_instantiate):
5906         comment that initial-focus should be implemented.
5907
5908         * glyphs-widget.c:
5909         * glyphs-widget.c (check_valid_instantiator):
5910         * glyphs-widget.c (check_valid_orientation):
5911         * glyphs-widget.c (check_valid_tab_orientation):
5912         * glyphs-widget.c (check_valid_justification):
5913         * glyphs-widget.c (check_valid_border):
5914         * glyphs-widget.c (check_valid_callback):
5915         * glyphs-widget.c (check_valid_int_or_function):
5916         * glyphs-widget.c (check_valid_string_or_vector):
5917         * glyphs-widget.c (check_valid_item_list_1):
5918         * glyphs-widget.c (widget_validate):
5919         * glyphs-widget.c (combo_box_validate):
5920         * glyphs-widget.c (widget_instantiate):
5921         * glyphs-widget.c (syms_of_glyphs_widget):
5922         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
5923         * glyphs-widget.c (image_instantiator_combo_box):
5924         * glyphs-widget.c (image_instantiator_scrollbar):
5925         * glyphs-widget.c (image_instantiator_tab_control):
5926         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
5927         (2).
5928         support (unimplemented) keyword initial-focus.
5929         reindent long macros.
5930
5931         * glyphs-x.c (x_redisplay_widget):
5932         * glyphs-x.c (x_button_instantiate):
5933         * glyphs-x.c (x_button_redisplay):
5934         * glyphs-x.c (x_progress_gauge_instantiate):
5935         * glyphs-x.c (x_edit_field_instantiate):
5936         * glyphs-x.c (x_combo_box_instantiate):
5937         * glyphs-x.c (x_tab_control_instantiate):
5938         * glyphs-x.c (x_label_instantiate):
5939         * gui-x.c:
5940         * gui-x.c (button_item_to_widget_value):
5941         * gui-x.c (gui_items_to_widget_values_1):
5942         * gui-x.c (gui_item_children_to_widget_values):
5943         * gui-x.c (gui_items_to_widget_values):
5944         * gui-x.h:
5945         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5946         add new flag to gui-parsing routines to indicate whether
5947         accelerator specs should be supported.
5948
5949         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
5950
5951         * glyphs.h (struct Lisp_Image_Instance):
5952         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
5953         add initial-focus flag.
5954
5955         * gui.c:
5956         * gui.c (syms_of_gui):
5957         * gui.c (vars_of_gui):
5958         clean up menu-no-selection-hook.
5959
5960         * gui.h:
5961         support delete-dialog-box-hook.
5962
5963         * lread.c (Fload_internal):
5964         * lread.c (locate_file_in_directory_mapper):
5965         (1).
5966
5967         * lrecord.h:
5968         * lrecord.h (struct toolbar_button):
5969         * lrecord.h (syms_of_toolbar):
5970         document how to create a new object.
5971
5972         * menubar-msw.c (mswindows_char_is_accelerator):
5973         may be called on frames w/o menus.
5974
5975         * menubar.c (vars_of_menubar):
5976         clean up :filter docs.
5977
5978         * nt.c (readdir):
5979         * ntproc.c:
5980         (1).
5981
5982         * process-nt.c:
5983         * process-nt.c (validate_signal_number):
5984         * process-nt.c (signal_cannot_launch):
5985         * process-nt.c (nt_create_process):
5986         * process-nt.c (nt_send_process):
5987         * process-nt.c (nt_kill_child_process):
5988         * process-nt.c (nt_open_network_stream):
5989         * process-nt.c (syms_of_process_nt):
5990         (2).
5991         delete quote-handling.  call new lisp code that does it better.
5992
5993         * process-unix.c (connect_to_file_descriptor):
5994         * process-unix.c (allocate_pty):
5995         * process-unix.c (unix_send_process):
5996         * process-unix.c (unix_kill_child_process):
5997         * process-unix.c (unix_open_network_stream):
5998         * process-unix.c (unix_open_multicast_group):
5999         (1). (2).
6000
6001         * process.c:
6002         * process.c (Fstart_process_internal):
6003         (2).  need to canonicalize process path even if absolute.
6004
6005         * select-msw.c (symbol_to_ms_cf):
6006         * select-msw.c (ms_cf_to_symbol):
6007         * select-msw.c (cf_is_autofreed):
6008         * select-msw.c (mswindows_destroy_selection):
6009         * select.c:
6010         * select.c (syms_of_select):
6011         * select.h:
6012         support dibv5, fix bugs. (from Mike Alexander)
6013
6014         * select.c (Fget_selection_internal):
6015         * select.c (select_convert_out):
6016
6017         * sysdep.c:
6018         * sysdep.c (xemacs_stat):
6019         renamed.
6020
6021         * sysdep.c (mkdir):
6022         * sysdep.c (rmdir):
6023         but keep original stat() here because we provide encapsulation
6024         around these funs.
6025
6026         * sysfile.h:
6027         * sysfile.h (fstat):
6028         remove stat garbage.
6029
6030         * syswindows.h:
6031         fix X/MSW conflict.
6032         don't include tchar.h.  it's inappropriate because it makes
6033         compile-time distinctions when we want runtime distinctions.
6034         (we provide our own tchar replacements)
6035
6036         * toolbar.c:
6037         use default object printer for toolbar-button.
6038
6039         * unexcw.c:
6040         make sure we don't encapsulate.
6041
6042         * window.c (vars_of_window):
6043         emphasize that temp-buffer-show-hook is obsolete.
6044
6045 2000-08-05  Martin Buchholz  <martin@xemacs.org>
6046
6047         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
6048         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
6049
6050         * events.c (Fevent_timestamp_lessp):
6051         Not 64-bit clean.  Use EMACS_INT, not int.
6052
6053 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
6054
6055         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
6056         unsigned int and changed the last enum to
6057         lrecord_type_last_built_in_type.
6058         (lrecord_implementations_table): changed prototype to know how
6059         long the array is supposed to be.
6060         (lrecord_type_count): new unsigned int to keep track of the
6061         current number of lisp lrecord types.
6062         (DEFINE_EXTERNAL_LRECORD):
6063         (DECLARE_EXTERNAL_LRECORD): Added these two for external
6064         dynamic-modules to declare new lisp types. They are the same
6065         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
6066         int for each new type, and increment lrecord_type_count by 1.
6067
6068         * alloc.c (lrecord_implementations_table): Changed to reference
6069         lrecord_type_last_built_in_type for the size of the array.
6070         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
6071
6072 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
6073
6074         * glyphs.h (check_valid_item_list): Renamed from
6075         check_valid_item_list_1.
6076
6077 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
6078
6079         * select.c (Qselect_coerce): New.
6080         * select.c (Vselection_coercion_alist): New.
6081         * select.c (syms_of_select): Declare.
6082         * select.c (get-selection-internal): Use it.
6083         Use the new select-coerce functionality.
6084
6085         * select.c (select_coerce): New.
6086         * select.h (select_coerce): Declare.
6087         New function to coerce one type of data into another.
6088
6089 2000-08-03  Martin Buchholz  <martin@xemacs.org>
6090
6091         * callproc.c (Fcall_process_internal):
6092         (Fcall_process_internal):
6093         * process-unix.c (unix_create_process):
6094         Save and restore the value of errno, so that error messages are accurate.
6095
6096 2000-08-01  Martin Buchholz  <martin@xemacs.org>
6097
6098         * elhash.c (print_hash_table):
6099         Fix printing of hash tables to also use `key-and-value' instead of `t'.
6100         Prettify docstrings and indentation.
6101
6102 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
6103
6104         * window.c (Fwindow_pixel_edges): Subtract frame border and
6105         gutter size.
6106
6107 2000-07-31  Andy Piper  <andy@xemacs.org>
6108
6109         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
6110         will acknowledge the change.
6111
6112         * glyphs.h: declare tab_control_order_only_changed.
6113
6114         * glyphs-x.c (x_tab_control_redisplay): use
6115         tab_control_order_only_changed.
6116
6117         * glyphs-widget.c (tab_control_order_only_changed): new function.
6118
6119         * glyphs-msw.c (mswindows_tab_control_redisplay): use
6120         tab_control_order_only_changed.
6121
6122         * gui.c (gui_item_equal_sans_selected): new function.
6123         (gui_item_equal): use it.
6124
6125         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
6126         :properties in favor of :items..
6127
6128         * glyphs-widget.c (check_valid_item_list): rename from
6129         check_valid_item_list_1.
6130         (check_valid_item_list_1): renamed.
6131         (combo_box_validate): deprecate :properties in favor of :items.
6132         (widget_instantiate): ditto.
6133         (tab_control_update): ditto.
6134         (image_instantiator_combo_box): ditto.
6135         (image_instantiator_tree_view): ditto.
6136         (image_instantiator_tab_control): ditto.
6137         (layout_post_instantiate): remove dead code.
6138
6139         * print.c (debug_print_no_newline): only write to debugger if in
6140         WIN32_NATIVE.
6141
6142         * elhash.c (Fmake_hash_table): update doc string.
6143
6144         * event-msw.c (mswindows_wnd_proc): don't allow processing of
6145         messages whilst in GC. This at least stops XEmacs crashing but has
6146         the potential for wierd behaviour.
6147
6148 2000-07-31  Martin Buchholz  <martin@xemacs.org>
6149
6150         * config.h.in:
6151         Make existence of s&m files optional.
6152
6153         * s/bsd386.h: Remove HAVE_GETLOADAVG.
6154         * s/freebsd.h: Remove HAVE_GETLOADAVG.
6155         * s/gnu.h: Remove HAVE_GETLOADAVG.
6156         * s/netbsd.h: Remove HAVE_GETLOADAVG.
6157         * s/sol2.h: Remove HAVE_GETLOADAVG.
6158         * lisp.h: Remove getloadavg() declaration.
6159         * fns.c:
6160         Include <sys/loadavg.h> if available.
6161         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
6162         * config.h.in:  Group together getloadavg()-related macros.
6163         Use only configure-time tests to detect getloadavg().
6164
6165 2000-07-30  Martin Buchholz  <martin@xemacs.org>
6166
6167         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
6168
6169 2000-07-25  Andy Piper  <andy@xemacs.org>
6170
6171         * syswindows.h: add tchar.h for native builds.
6172
6173         * frame.c (syms_of_frame): remove set-glyph-image.
6174
6175         * general-slots.h: add Qset_glyph_image.
6176
6177         * glyphs-widget.c (layout_update): add domain arg to
6178         set-glyph-image.
6179         (syms_of_glyphs_widget): remove set-glyph-image.
6180
6181 2000-07-23  Ben Wing  <ben@xemacs.org>
6182
6183         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
6184         Vpopup_frame_list.
6185
6186 2000-07-22  Andy Piper  <andy@xemacs.org>
6187
6188         * symsinit.h: add syms_of_win32().
6189
6190         * gui-msw.c (syms_of_gui_mswindows): remove
6191         Fmswindows_shell_execute.
6192         (Fmswindows_shell_execute): moved to win32.c.
6193
6194         * emacs.c (main_1): add syms_of_win32 ().
6195
6196         * win32.c (init_potentially_nonexistent_functions): rewrite in
6197         compiler-friendly terms.
6198         (Fmswindows_shell_execute): move here from gui-msw.c.
6199         (syms_of_win32): new.
6200
6201         * device-msw.c (Fmswindows_printer_list): clean up args to
6202         EnumPrinters.
6203         Don't include tchar under cygwin or mingw.
6204         (msprinter_default_printer): make cygwin-friendly.
6205
6206 2000-07-21  Andy Piper  <andy@xemacs.org>
6207
6208         * glyphs-widget.c (image_instantiator_tree_view): use tab
6209         control's update function.
6210         (layout_property): new function. Retrieve items.
6211
6212         * glyphs-msw.c (mswindows_tree_view_redisplay): new
6213         function. Re-populate the tree view from the pending items.
6214
6215         * glyphs.c (instantiate_image_instantiator): Make sure the domain
6216         is designated the parent if the domain is an image instance. This
6217         is needed so that dirtiness can be cascade up the hierarchy and
6218         thus for layout children to be redisplayed correctly.
6219         (allocate_image_instance): rename glyph -> parent.
6220
6221         * redisplay.h: change redisplay_output_layout signature.
6222
6223         * redisplay-msw.c (mswindows_output_display_block): use domain
6224         arg.
6225
6226         * redisplay-x.c (x_output_display_block): use domain arg.
6227
6228 2000-07-10  Andy Piper  <andy@xemacs.org>
6229
6230         * window.c (Fset_window_configuration): add comment.
6231
6232         * redisplay-output.c (compare_runes):
6233         (redisplay_output_subwindow): redisplay rather than update subwindow.
6234         (redisplay_output_layout): ditto.
6235
6236         * redisplay-msw.c (mswindows_frame_output_end):
6237         (mswindows_frame_output_end): make defer window pos optional.
6238
6239         * lisp.h: add Flast.
6240
6241         * glyphs.h (struct image_instantiator_methods): add dest_mask top
6242         normalize method. Change update method to be for changed
6243         instantiators. Add redisplay method. Change signature of layout
6244         method.
6245         (struct Lisp_Image_Instance): add instantiator.
6246         (IMAGE_INSTANCE_INSTANTIATOR): new.
6247         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
6248         (XIMAGE_INSTANCE_INSTANTIATOR): new.
6249         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
6250
6251         * glyphs.c:
6252         (find_instantiator_differences): new function.
6253         (Fset_instantiator_property): new convenience function.
6254         (check_image_instance_structure): strictly check for vector
6255         instantiators.
6256         (normalize_image_instantiator): make non-static.
6257         (instantiate_image_instantiator): pass on dest_mask and use new
6258         signatures for image_instance_layout and friends.
6259         (mark_image_instance): mark the instantiator. Mark the subwindow
6260         face not the widget face.
6261         (image_instance_equal): add instantiator.
6262         (image_instance_hash): ditto.
6263         (allocate_image_instance): ditto.
6264         (Fset_image_instance_property): removed.
6265         (Fimage_instance_file_name): ditto.
6266         (Fcolorize_image_instance): ditto.
6267         (image_instance_layout): add offsets to be set.
6268         (update_image_instance): new function. update an image instance
6269         from its changed instantiator.
6270         (inherit_normalize): add dest_mask.
6271         (xbm_normalize): ditto.
6272         (xface_normalize): ditto.
6273         (xpm_normalize): ditto.
6274         (text_update): set_property -> update.
6275         (image_instantiate): use the glyph identity as a hash key, not the
6276         instantiator.
6277         (glyph_width): use new image_instance_layout signature.
6278         (glyph_ascent): ditto.
6279         (glyph_descent): ditto.
6280         (glyph_height): ditto.
6281         (glyph_query_geometry): ressurrect.
6282         (glyph_layout): ditto.
6283         (redisplay_subwindow): update -> redisplay.
6284         (syms_of_glyphs): add Fset_instantiator_property.
6285         (image_instantiator_format_create): set_property -> update.
6286
6287         * glyphs-x.c:
6288         (autodetect_normalize): add dest_maks to signature.
6289         (x_redisplay_subwindow): update -> redisplay.
6290         (x_redisplay_widget): ditto.
6291         (x_button_redisplay): ditto.
6292         (x_progress_gauge_redisplay): ditto.
6293         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
6294         stacking order.
6295         (console_type_create_glyphs_x): update -> redisplay.
6296         (image_instantiator_format_create_glyphs_x): ditto.
6297
6298         * glyphs-widget.c:
6299         (check_valid_instantiator): disallow glyphs in the instantiator,
6300         they must now be vectors.
6301         (check_valid_instantiator_list): ditto.
6302         (glyph_instantiator_to_glyph): use internal symbol rather than
6303         intern.
6304         (widget_update): renamed from widget_set_property. Call cascaded
6305         update methods.
6306         (redisplay_widget): renamed from update_widget.
6307         (widget_layout): image_instance_layout now takes position as well
6308         as size.
6309         (widget_normalize): ditto.
6310         (widget_instantiate): ditto.
6311         (tab_control_query_geometry) ditto.:
6312         (tab_control_update): renamed from tab_control_set_property.
6313         (progress_gauge_update): set_property -> update.
6314         (layout_normalize): rewrite so that child instantiators are
6315         normalized also.
6316         (layout_update): new function. Create glyphs from the normalized
6317         children and cope with any other layout keywords. We do not
6318         instantiate children here that will be take care of by
6319         redisplay_output_layout.
6320         (layout_instantiate): call layout_update and not much else.
6321         (layout_post_instantiate): not sure whether this is needed
6322         anymore.
6323         (layout_query_geometry): query glyph geometry rather than
6324         image_instance geometry.
6325         (layout_layout): set offsets from pass in parameters. Use glyph
6326         geometry and layout functions rather than image instance ones.
6327         (native_layout_layout): ditto.
6328         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
6329         (image_instantiator_widget): set_property -> update.
6330         (image_instantiator_buttons): ditto.
6331         (image_instantiator_progress_guage): ditto.
6332         (image_instantiator_tab_control): ditto.
6333         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
6334         (image_instantiator_layout): add update method.
6335
6336         * glyphs-msw.c (bmp_normalize):
6337         (mswindows_resource_normalize): add dest_mask so that it can be
6338         proprogated by layout_normalize.
6339         (begin_defer_window_pos): make optional because it may not be the
6340         right thing to do and it introduces differences with X.
6341         (mswindows_unmap_subwindow): ditto.
6342         (mswindows_map_subwindow): ditto.
6343         (mswindows_redisplay_subwindow): renamed from
6344         mswindows_update_subwindow.
6345         (mswindows_redisplay_widget): ditto.
6346         (mswindows_button_redisplay): renamed from
6347         mswindows_button_update. Update is now what the instantiation
6348         function does for a changed instantiator.
6349         (mswindows_progress_gauge_instantiate): set the progress value
6350         here if appropriate.
6351         (mswindows_tab_control_redisplay): cope with re-ordering of the
6352         members of the tab widget by simply selecting the new top
6353         widget. This makes things appear ok if you click on a tab.
6354         (mswindows_combo_box_instantiate): image_instance_layout now takes
6355         position as well as size.
6356         (mswindows_progress_gauge_redisplay): renamed from
6357         mswindows_progress_gauge_update.
6358         (console_type_create_glyphs_mswindows): fix update -> redisplay.
6359         (image_instantiator_format_create_glyphs_mswindows): ditto.
6360
6361         * glyphs-eimage.c (jpeg_normalize):
6362         (gif_normalize):
6363         (png_normalize):
6364         (tiff_normalize): add dest_mask so that it can be proprogated by
6365         layout_normalize.
6366
6367         * elhash.c:
6368         (print_hash_table):
6369         (hash_table_weakness_validate):
6370         (decode_hash_table_weakness):
6371         (Fhash_table_weakness):
6372         (Fhash_table_type):
6373         (syms_of_elhash): use Ben's naming scheme for hashtable types..
6374
6375         * console.h (struct console_methods): move update_* to
6376         redisplay_*.
6377
6378 2000-07-20  Ben Wing  <ben@xemacs.org>
6379
6380         * *.[ch] (XSETOBJ): remove unused middle argument.
6381         lisp-disunion.h: correct wrap_object() to one argument.
6382
6383 2000-07-15  Ben Wing  <ben@xemacs.org>
6384
6385         * s/cygwin32.h:
6386         * s/cygwin32.h (CYGWIN_CONV_PATH):
6387         Add missing logb prototype for v1.1.
6388         Use post-b20 names and alias to pre-b20 names when pre-b20.
6389
6390         * s/windowsnt.h: [5].
6391
6392 2000-07-15  Ben Wing  <ben@xemacs.org>
6393
6394         * Makefile.in.in (x_objs):
6395         * Makefile.in.in (sheap_objs):
6396         * Makefile.in.in (objs):
6397         added win32.o, cosmetic cleanups.
6398
6399         * alloc.c (Fmake_byte_code):
6400         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
6401         etc. macros which declare their own args now.
6402
6403         * alloc.c (syms_of_alloc):
6404         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
6405
6406         * buffer.c:
6407         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
6408
6409         * buffer.c (Fget_file_buffer):
6410         Fixed GCPRO problem.
6411
6412         * buffer.c (get_truename_buffer):
6413         Fixed comment about GC checking.
6414
6415         * buffer.c (syms_of_buffer):
6416         Undeclared those dedicated frame funs.
6417         [2].
6418
6419         * buffer.h:
6420         Define convenience macros for internal/external conversions.
6421         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
6422         and Qenvironment_variable_encoding for cleaner code.
6423
6424         * bufslots.h:
6425         Remove dedicated-frame; in lisp.
6426
6427         * bytecode.c (funcall_compiled_function):
6428         [1].
6429
6430         * bytecode.c (syms_of_bytecode):
6431         [2].
6432
6433         * console-msw.c:
6434         * console-msw.c (mswindows_show_console): Rewrote.
6435
6436         * console-msw.c (Fmswindows_debugging_output): New.
6437         Sends to OutputDebugString (special MSWin debugger interface).
6438
6439         * console-msw.c (Fmswindows_message_box):
6440         Fixed stupid bugs so it works when called from kill-emacs.
6441
6442         * console-msw.c (syms_of_console_mswindows):
6443         Declare Fmswindows_debugging_output.
6444
6445         * console-msw.h:
6446         New MSWin prototypes.
6447
6448         * console-msw.h (struct mswindows_frame):
6449         New entry last-click-mods for improved button-modifier support.
6450
6451         * console-msw.h (FRAME_MSWINDOWS_POPUP):
6452         New struct entry `popup' with corresponding accessor.
6453
6454         * console-x.c:
6455         * console-x.c (split_up_display_spec):
6456         * console-x.c (get_display_arg_connection):
6457         * console-x.c (x_semi_canonicalize_console_connection):
6458         * console-x.c (x_canonicalize_device_connection):
6459         [[[6]]]: Change char to more specific type.
6460         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
6461
6462         * console-x.c (x_semi_canonicalize_console_connection):
6463         * console-x.c (x_canonicalize_device_connection):
6464         [[[9]]]: Fix up error signalling to use new structured error system.
6465
6466         * console-x.h:
6467         [[[4]]]: Define codesys aliases:
6468         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
6469         Qx_color_name_encoding, Qx_display_name_encoding.
6470
6471         * console.h (struct console_methods):
6472         New method make_dialog_box_internal supersedes older
6473         popup_dialog_box method.
6474
6475         * data.c:
6476         Define many new errors, part of new structured errors.
6477
6478         * data.c (init_errors_once_early):
6479         * data.c (syms_of_data):
6480         [2].
6481
6482         * device-msw.c (mswindows_init_device):
6483         [[[5]]]: Cleanup to support NT 3.51.
6484
6485         * device-msw.c (decode_devmode): Cleanup.
6486
6487         * device-msw.c (mswindows_handle_print_setup_dialog_box):
6488         * device-msw.c (mswindows_handle_print_dialog_box):
6489         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6490         * device-msw.c (syms_of_device_mswindows):
6491         Delete the dialog box primitives recently introduced by Kirill and
6492         instead interface to general dialog box interface.
6493
6494         * device-x.c:
6495         * device-x.c (compute_x_app_name):
6496         * device-x.c (x_init_device):
6497         * device-x.c (Fx_valid_keysym_name_p):
6498         * device-x.c (Fx_set_font_path):
6499         [6].
6500         [7].
6501
6502         * device.h (wrap_device): New.
6503         First of its kind; meant to replace XSETDEVICE.
6504
6505         * dialog-msw.c: Many file-dialog symbols.
6506
6507         * dialog-msw.c (mswindows_register_popup_frame): New.
6508         * dialog-msw.c (mswindows_is_dialog_msg): New.
6509         For supporting kbd traversal in dialog boxes.
6510
6511         * dialog-msw.c (dialog_proc):
6512         Support hitting ESC in dialogs.
6513
6514         * dialog-msw.c (struct):
6515         Common dialog box errors.
6516
6517         * dialog-msw.c (handle_file_dialog_box): New.
6518         Add file dialog code.
6519
6520         * dialog-msw.c (handle_question_dialog_box):
6521         Redo existing code to support new question dialog syntax.
6522
6523         * dialog-msw.c (console_type_create_dialog_mswindows):
6524         We support new dialog console method.
6525
6526         * dialog-msw.c (syms_of_dialog_mswindows):
6527         * dialog-msw.c (vars_of_dialog_mswindows):
6528         New file dialog symbols, vars.
6529
6530         * dialog-x.c:
6531         * dialog-x.c (maybe_run_dbox_text_callback):
6532         * dialog-x.c (dbox_descriptor_to_widget_value):
6533         * dialog-x.c (x_make_dialog_box_internal):
6534         * dialog-x.c (console_type_create_dialog_x):
6535         Mule-ize entire file.
6536         Redo to support question dialog syntax.
6537         [6].
6538
6539         * dialog.c:
6540         * dialog.c (Fmake_dialog_box_internal):
6541         * dialog.c (syms_of_dialog):
6542         Kill old popup-dialog-box, replace with new primitive.
6543         Just call device method or signal error.
6544
6545         * eldap.c (Fldap_open):
6546         * eldap.c (Fldap_search_basic):
6547         * eldap.c (Fldap_add):
6548         * eldap.c (Fldap_modify):
6549         [1].
6550         [7].
6551
6552         * emacs.c:
6553         * emacs.c (make_arg_list_1):
6554         * emacs.c (make_arg_list):
6555         Mule-ize call to dll_init().
6556         [6].
6557         [8].
6558
6559         * emacs.c (make_argc_argv):
6560         * emacs.c (free_argc_argv):
6561         * emacs.c (init_cmdargs):
6562         * emacs.c (main_1):
6563         * emacs.c (Fkill_emacs):
6564         * emacs.c (Fdump_emacs):
6565         Update comments about what can be used in syms_* etc.
6566         Call init_win32() when necessary.
6567         Fix up MS Win dialog box in kill-buffer to actually work right.
6568         [7].
6569
6570         * eval.c:
6571         * eval.c (For):
6572         * eval.c (Fand):
6573         * eval.c (Fprogn):
6574         * eval.c (Fprog1):
6575         * eval.c (Fprog2):
6576         * eval.c (FletX):
6577         * eval.c (Flet):
6578         * eval.c (condition_case_3):
6579         * eval.c (Feval):
6580         * eval.c (function_argcount):
6581         * eval.c (funcall_lambda):
6582         [1].
6583
6584         * eval.c (type_error): New.
6585         * eval.c (maybe_type_error): New.
6586         * eval.c (continuable_type_error): New.
6587         * eval.c (maybe_continuable_type_error): New.
6588         * eval.c (type_error_with_frob): New.
6589         * eval.c (maybe_type_error_with_frob): New.
6590         * eval.c (continuable_type_error_with_frob): New.
6591         * eval.c (maybe_continuable_type_error_with_frob): New.
6592         New functions for use with structured errors.
6593
6594         * event-Xt.c:
6595         * event-Xt.c (x_event_to_emacs_event):
6596         Buttons are now modifiers too.
6597
6598         * event-Xt.c (emacs_Xt_current_event_timestamp):
6599         Implement new event method.
6600         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
6601
6602         * event-msw.c:
6603         * event-msw.c (ntpipe_shove_writer): [5].
6604         * event-msw.c (mswindows_enqueue_mouse_button_event):
6605         * event-msw.c (mswindows_drain_windows_queue):
6606         * event-msw.c (mswindows_wnd_proc): [7].
6607         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
6608         * event-msw.c (mswindows_modifier_state):
6609         Throughout: support new button modifiers.
6610
6611         * event-msw.c (emacs_mswindows_current_event_timestamp):
6612         Implement new event method.
6613         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
6614
6615         * event-stream.c:
6616         * event-stream.c (event_stream_current_event_timestamp): New.
6617         * event-stream.c (maybe_kbd_translate): New functionality.
6618         * event-stream.c (vars_of_event_stream):
6619         Document new kbd-translate-table functionality.
6620
6621         * event-stream.c (Fcurrent_event_timestamp): New.
6622         New primitive for use in fabricated events.
6623         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
6624
6625         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
6626
6627         * events.c:
6628         * events.c (Fmake_event):
6629         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
6630         [1].
6631         [9].
6632
6633         * events.c (format_event_object): fix gcc warnings.
6634
6635         * events.c (Fevent_timestamp): Document new primitives.
6636
6637         * events.c (TIMESTAMP_HALFSPACE): New.
6638
6639         * events.c (Fevent_timestamp_lessp): New.  New primitive for
6640         comparing timestamps correctly (half-space algorithm).
6641
6642         * events.c (Fevent_modifier_bits): Doc fix.
6643
6644         * events.c (Fevent_modifiers): Major doc addition.
6645         * events.c (event_x_y_pixel_internal): Typo fix.
6646         * events.c (syms_of_events): Declare new primitives.
6647
6648         * events.h:
6649         Update long comment for button modifiers, timestamps.
6650
6651         * events.h (struct event_stream):
6652         New current_event_timestamp method.
6653
6654         * extents.c:
6655         * extents.c (extent_in_region_p):
6656         * extents.c (decode_extent):
6657         * extents.c (Fset_extent_parent):
6658         * extents.c (decode_map_extents_flags):
6659         Fix gcc warnings.
6660         [9].
6661
6662         * extents.c (struct extent_at_arg):
6663         * extents.c (decode_extent_at_flag):
6664         * extents.c (extent_at_mapper):
6665         * extents.c (extent_at_bytind):
6666         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
6667         * extents.c (Fextents_at): New primitive. [9].
6668         * extents.c (symbol_to_glyph_layout): [9].
6669         Support new primitive `extents-at'.
6670
6671
6672         * extents.c (get_text_property_bytind):
6673         extent_at_bytind has another arg.
6674         [9].
6675
6676         * extents.c (syms_of_extents): New primitive.
6677
6678         * file-coding.c (Fmake_coding_system): [1].
6679         * file-coding.c (subsidiary_coding_system): fix gcc warning
6680         * file-coding.c (syms_of_file_coding): [2].
6681
6682         * fileio.c (Fexpand_file_name):
6683         * fileio.c (Fsysnetunam):
6684         * fileio.c (Ffile_exists_p):
6685         * fileio.c (Ffile_executable_p):
6686         * fileio.c (Fverify_visited_file_modtime):
6687         Clean up GCPROing.
6688
6689         * fileio.c (syms_of_fileio): [2].
6690
6691         * filelock.c (lock_file_1):
6692         * filelock.c (current_lock_owner):
6693         * filelock.c (lock_if_free):
6694         * filelock.c (lock_file):
6695         * filelock.c (unlock_file):
6696         Clean up GCPROing.
6697
6698         * fns.c (concat): Fix gcc warning.
6699
6700         * fns.c (Fmember):
6701         * fns.c (Fold_member):
6702         * fns.c (Fmemq):
6703         * fns.c (Fold_memq):
6704         * fns.c (memq_no_quit):
6705         * fns.c (Fassoc):
6706         * fns.c (Fold_assoc):
6707         * fns.c (Fassq):
6708         * fns.c (Fold_assq):
6709         * fns.c (assq_no_quit):
6710         * fns.c (Frassoc):
6711         * fns.c (Fold_rassoc):
6712         * fns.c (Frassq):
6713         * fns.c (Fold_rassq):
6714         * fns.c (rassq_no_quit):
6715         * fns.c (Fdelete):
6716         * fns.c (Fold_delete):
6717         * fns.c (Fdelq):
6718         * fns.c (Fold_delq):
6719         * fns.c (delq_no_quit):
6720         * fns.c (Fremassoc):
6721         * fns.c (Fremassq):
6722         * fns.c (remassq_no_quit):
6723         * fns.c (Fremrassoc):
6724         * fns.c (Fremrassq):
6725         * fns.c (remrassq_no_quit):
6726         * fns.c (Freverse):
6727         * fns.c (mapcar1):
6728         [1].
6729
6730         * frame-msw.c (mswindows_init_frame_1):
6731         * frame-msw.c (mswindows_delete_frame):
6732         Register popups with dialog code so keyboard traversing works.
6733
6734         * frame-tty.c (tty_raise_frame_no_select): [1].
6735
6736         * frame-x.c:
6737         * frame-x.c (x_set_frame_text_value):
6738         * frame-x.c (x_set_frame_properties):
6739         * frame-x.c (x_create_widgets):
6740         [7].
6741
6742         * frame.c:
6743         * frame.c (Fmouse_pixel_position): Minor doc fixes.
6744
6745         * frame.h (wrap_frame): New.
6746         Macro like wrap_device.
6747
6748         * general.c:
6749         * general.c (SYMBOL):
6750         * general.c (syms_of_general):
6751         Major reorg.  This is now just a wrapper and symbols themselves
6752         are listed in general-slots.h.
6753
6754         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
6755         * glyphs-msw.c (mswindows_resource_instantiate): [5].
6756
6757         * glyphs-msw.c (mswindows_native_layout_instantiate):
6758         Add DS_CONTROL so keyboard traversal will work.
6759
6760         * glyphs-widget.c:
6761         * glyphs-widget.c (syms_of_glyphs_widget):
6762         Move some symbols to general-slots.h.
6763
6764         * glyphs-x.c:
6765         * glyphs-x.c (xbm_instantiate_1):
6766         * glyphs-x.c (x_xbm_instantiate):
6767         * glyphs-x.c (x_xface_instantiate):
6768         * glyphs-x.c (autodetect_instantiate):
6769         * glyphs-x.c (cursor_font_instantiate):
6770         * glyphs-x.c (x_update_widget):
6771         * glyphs-x.c (x_widget_instantiate):
6772         * glyphs.c (bitmap_to_lisp_data):
6773         * glyphs.c (pixmap_to_lisp_data):
6774         [7].
6775
6776         * glyphs.c (syms_of_glyphs):
6777         [2].
6778
6779         * gui-x.c:
6780         * gui-x.c (print_widget_value):
6781         * gui-x.c (menu_separator_style_and_to_external):
6782         * gui-x.c (add_accel_and_to_external):
6783         * gui-x.c (button_item_to_widget_value):
6784         * gui-x.c (gui_items_to_widget_values_1):
6785         * gui-x.c (gui_items_to_widget_values):
6786         * gui-x.c (syms_of_gui_x):
6787         * gui-x.c (vars_of_gui_x):
6788         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
6789         [9].
6790
6791         * gui-x.h:
6792         Muleize, prototype changes matching gui-x.c.
6793
6794         * gui.c:
6795         * gui.c (separator_string_p):
6796         * gui.c (gui_item_add_keyval_pair):
6797         * gui.c (make_gui_item_from_keywords_internal):
6798         * gui.c (signal_too_long_error):
6799         * gui.c (parse_gui_item_tree_item):
6800         * gui.c (syms_of_gui):
6801         * gui.c (vars_of_gui):
6802         * gui.h:
6803         menu-no-selection-hook moved here (used by MSWin).
6804         Move some symbols to general-slots.h.
6805         [6].
6806         [9].
6807
6808         * insdel.c (get_buffer_pos_char):
6809         * insdel.c (get_buffer_range_char):
6810         Add GC comments.
6811
6812         * keymap.c (keymap_lookup_directly):
6813         * keymap.c (keymap_store):
6814         * keymap.c (ensure_meta_prefix_char_keymapp):
6815         * keymap.c (describe_map):
6816         * keymap.h:
6817         Support new button modifiers.
6818
6819         * lisp-disunion.h (wrap_object):
6820         * lisp-disunion.h (XSETOBJ):
6821         Rename make_obj to wrap_object.
6822
6823         * lisp-union.h:
6824         * lisp-union.h (make_int):
6825         * lisp-union.h (make_char):
6826         Support wrap_object.
6827
6828         * lisp.h:
6829         * lisp.h (LIST_LOOP):
6830         * lisp.h (EXTERNAL_LIST_LOOP):
6831         * lisp.h (LIST_LOOP_2):
6832         * lisp.h (EXTERNAL_LIST_LOOP_1):
6833         * lisp.h (EXTERNAL_LIST_LOOP_2):
6834         * lisp.h (EXTERNAL_LIST_LOOP_3):
6835         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
6836         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
6837         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
6838         * lisp.h (EXTERNAL_ALIST_LOOP_5):
6839         * lisp.h (EXTERNAL_ALIST_LOOP_6):
6840         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
6841         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
6842         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
6843         * lisp.h (struct Lisp_Symbol):
6844         * lisp.h (maybe_continuable_error_with_frob):
6845         Fix up section comments.
6846         Add new types for char to indicate usage.
6847         Delete symbols auto-generated from general-slots.h.
6848         Add prototypes for structured error functions.
6849         Add long comments describing looping macros and change interface
6850         so that lvalues are automatically declared.
6851         Add NO_DECLARE macro in case callers want to declare lvalues
6852         themselves.
6853
6854         * lread.c (read_syntax_error):
6855         * lread.c (continuable_read_syntax_error):
6856         * lread.c (read_structure):
6857         * lread.c (sequence_reader):
6858         * lread.c (read_list_conser):
6859         * lread.c (read_compiled_function):
6860         Rename syntax_error and continuable_syntax_error to avoid clash
6861         with same-named structured error functions.
6862
6863         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6864         * menubar-msw.c (populate_menu_add_item):
6865         * menubar-msw.c (populate_or_checksum_helper):
6866         [5].
6867         [9].
6868
6869         * menubar-x.c:
6870         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6871         Mule-ize whole file.
6872
6873         * menubar.c (Fnormalize_menu_item_name): Add optimization.
6874
6875         * mule-charset.c (Fmake_charset):
6876         * mule-wnnfns.c (Fwnn_set_param):
6877         [1].
6878
6879         * ntproc.c (create_child):
6880         * ntproc.c (Fwin32_set_current_locale):
6881         Add comments portending doom.
6882
6883         * objects-msw.c:
6884         * objects-msw.c (old_font_enum_callback_2):
6885         * objects-msw.c (font_enum_callback_1):
6886         * objects-msw.c (mswindows_enumerate_fonts):
6887         [5].
6888
6889         * objects-x.c:
6890         * objects-x.c (allocate_nearest_color):
6891         * objects-x.c (x_parse_nearest_color):
6892         * objects-x.c (x_initialize_color_instance):
6893         * objects-x.c (x_print_color_instance):
6894         * objects-x.c (x_finalize_color_instance):
6895         * objects-x.c (x_valid_color_name_p):
6896         * objects-x.c (x_initialize_font_instance):
6897         * objects-x.c (x_print_font_instance):
6898         * objects-x.c (valid_x_font_name_p):
6899         * objects-x.c (truename_via_FONT_prop):
6900         * objects-x.c (truename_via_random_props):
6901         * objects-x.c (truename_via_XListFonts):
6902         * objects-x.c (x_font_truename):
6903         * objects-x.c (x_font_instance_truename):
6904         * objects-x.c (x_font_instance_properties):
6905         * objects-x.c (x_list_fonts):
6906         * objects-x.c (x_find_charset_font):
6907         Mule-ize entire file.
6908         [7].
6909
6910         * objects-x.h:
6911         Mule-verify.
6912
6913         * print.c:
6914         * print.c (std_handle_out_external):
6915         * print.c (debug_print_no_newline):
6916         * print.c (syms_of_print):
6917         Output to all debugger kinds in debug-print.
6918         Fix console-output code under MSWin to actually work.
6919
6920         * process-nt.c (send_signal):
6921         * process-nt.c (nt_create_process):
6922         Use newer Unicode macros.
6923
6924         * process-unix.c (unix_create_process):
6925         * process-unix.c (unix_canonicalize_host_name):
6926         * process-unix.c (unix_open_network_stream):
6927         [7].
6928
6929         * scrollbar-x.c:
6930         Mule-verify.
6931
6932         * search.c (syms_of_search):
6933         [2].
6934
6935         * select-msw.c (mswindows_destroy_selection):
6936         Use LIST_LOOP_2.
6937
6938         * select-x.c (symbol_to_x_atom):
6939         [7].
6940
6941         * select.c (syms_of_select):
6942         [2].
6943
6944         * sound.c (Fplay_sound_file):
6945         [7].
6946
6947         * specifier.c:
6948         * specifier.c (decode_specifier_type):
6949         * specifier.c (Fvalid_specifier_locale_type_p):
6950         * specifier.c (check_valid_locale_or_locale_type):
6951         * specifier.c (decode_locale):
6952         * specifier.c (decode_locale_type):
6953         * specifier.c (decode_locale_list):
6954         * specifier.c (check_valid_domain):
6955         * specifier.c (decode_specifier_tag_set):
6956         * specifier.c (Fcanonicalize_tag_set):
6957         * specifier.c (Fdefine_specifier_tag):
6958         * specifier.c (Fspecifier_tag_predicate):
6959         * specifier.c (check_valid_inst_list):
6960         * specifier.c (check_valid_spec_list):
6961         * specifier.c (decode_how_to_add_specification):
6962         * specifier.c (check_modifiable_specifier):
6963         * specifier.c (specifier_add_spec):
6964         * specifier.c (boolean_validate):
6965         * specifier.c (display_table_validate):
6966         [9].
6967
6968         * specifier.c (syms_of_specifier):
6969         Move some symbols to general-slots.h.
6970         [2].
6971
6972         * symbols.c:
6973         * symbols.c (Fmapatoms):
6974         * symbols.c (Fapropos_internal):
6975         Add GCPROs.
6976
6977         * symbols.c (set_default_buffer_slot_variable):
6978         * symbols.c (set_default_console_slot_variable):
6979         [1].
6980
6981         * symbols.c (defsymbol_massage_name_1):
6982         * symbols.c (defkeyword_massage_name):
6983         * symbols.c (deferror_1):
6984         * symbols.c (deferror):
6985         * symbols.c (deferror_massage_name_and_message):
6986         * symeval.h:
6987         * symeval.h (DEFSYMBOL):
6988         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
6989
6990         * symbols.c (syms_of_symbols):
6991         [2].
6992
6993         * symsinit.h:
6994         * symsinit.h (init_win32): New.
6995         Also new is syms_of_dialog_mswindows.
6996
6997         * syswindows.h:
6998         Add new Unicode macros, missing Cygwin wide-char functions,
6999         convenience conversion macros for Qmswindows_tstr, macros for
7000         encapsulating required MSWin <-> Cygwin filename conversions,
7001         prototype for dynamically-extracted (not in NT 3.51) functions.
7002
7003         * toolbar-x.c:
7004         Mule-verify.
7005
7006         * tooltalk.c (Fadd_tooltalk_message_arg):
7007         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
7008         * tooltalk.c (Fadd_tooltalk_pattern_arg):
7009         [7].
7010
7011         * tooltalk.c (syms_of_tooltalk):
7012         [2].
7013
7014         * unexnt.c:
7015         * unexnt.c (unexec):
7016         Fix up headers, declaration of unexec() to be more standard.
7017
7018 2000-07-20  Martin Buchholz  <martin@xemacs.org>
7019
7020         * offix.h: Revert change to guard macros - they're used in offix.c!
7021
7022 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7023
7024         * lisp.h: Defsubred Fdelete.
7025
7026         * console-msw.h:  (msprinter_default_printer): Added.
7027
7028         * console-msw.c (msprinter_canonicalize_console_connection):
7029         (msprinter_canonicalize_device_connection): Added.
7030
7031         * device-msw.c (msprinter_default_printer):
7032         (Fmswingows_get_default_printer):
7033         (signal_enum_priner_error):
7034         (Fmswingows_printer_list): Added.
7035
7036 2000-07-19  Martin Buchholz <martin@xemacs.org>
7037
7038         * XEmacs 21.2.35 is released.
7039
7040 2000-07-19  Martin Buchholz  <martin@xemacs.org>
7041
7042         * select-x.c (x_handle_selection_request):
7043         Text selected in xemacs and pasted into xterm failed to appear.
7044         Spelling fixes and cosmetic changes.
7045
7046 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7047
7048         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
7049         XEmacs frame (fix for doubling chars in dialog boxes).
7050
7051 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7052
7053         * select.c (select_convert_in, select_convert_out):
7054         Don't call intern() every time.
7055
7056         * select.c (Qselect_convert_in, Qselect_convert_out): New.
7057         * select.c (vars_of_select): Initialise them.
7058
7059 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7060
7061         * select.c (selection-coercible-types): New.
7062
7063         * select.c (own-selection-internal):
7064         * select.c (get-selection-internal):
7065         MULE bug fix - these should default to COMPOUND_TEXT and not
7066         STRING for MULE. I think.
7067
7068         * select.c (select_convert_out): Use selection-coercible-types
7069         to find types that we can attempt to perform coercions on.
7070
7071 2000-07-18  Martin Buchholz  <martin@xemacs.org>
7072
7073         * mule-wnnfns.c:
7074         * mule-canna.c:
7075         Add coding: cookie to identify encoding.
7076
7077         * mule-canna.c (CANNA_mode_keys): make static.
7078         Use proper prototypes, even for functions of no arguments.
7079         Remove external prototype for Fding().
7080
7081         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
7082
7083         * select.c (syms_of_select): Add missing DEFSUBR.
7084
7085 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7086
7087         * select.c (get_selection_internal, own_selection_internal):
7088         Make the type default to STRING, rather than placing a nil type
7089         into Vselection_alist.
7090
7091 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7092
7093         * gpmevent.c (tty_selection_exists_p):
7094         * gpmevent.c (tty_own_selection):
7095         Updated parameter lists.
7096
7097 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
7098
7099         * select.h (selection-alist): Removed declaration.
7100
7101         * select.h (get_local_selection):
7102         * select.c (get_local_selection):
7103         Made static.
7104
7105         * select.h (convert_selection): Removed declaration.
7106         * select.c (convert_selection): Removed.
7107         This function belongs in Lisp.
7108
7109         * select.h (select_convert_in): Declare.
7110         * select.h (select_convert_out): Declare.
7111         * select.c (select_convert_in): New.
7112         * select.c (select_convert_out): New.
7113         New conversion functions for other files to call.
7114
7115         * select.h (select_notify_buffer_kill): Declare.
7116         * select.c (select_notify_buffer_kill): New.
7117         New functions that get called from kill-buffer.
7118
7119         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
7120         X-specific lisp code.
7121
7122         * select.h: Declare some of the lisp-visible functions for
7123         external use.
7124
7125         * select.c (clean_local_selection_data): Removed. This was
7126         a disgusting function, and previously should have been in
7127         select-x.c in any case. The functionality is now provided
7128         in select-convert-from-integer (select.el).
7129
7130         * select.c (available-selection-types): Fixed stupidity where
7131         INTEGER and ATOM got added twice. Also add STRING when we see an
7132         extent.
7133
7134         * select.c (get-selection-internal): Removed symbol stripping. No
7135         longer causes conversion when data comes from the internal cache.
7136
7137         * select.c (syms_of_select): Added new functions.
7138
7139         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
7140         error checking - previously this called abort!
7141
7142         * select-x.c (x_own_selection): Changed comment.
7143
7144         * select-x.c (x_handle_selection_request): Use select_convert_out.
7145         Don't mess with selection-alist; it's an internal variable of select.c.
7146
7147         * select-x.c (x_get_foreign_selection): Use select_convert_in.
7148
7149         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
7150         rather than messing with selection-alist.
7151
7152         * select-msw.c (mswindows_get_foreign_selection):
7153         Use TO_INTERNAL_FORMAT rather than hacking.
7154
7155 2000-07-14  Martin Buchholz  <martin@xemacs.org>
7156
7157         * process-unix.c (unix_open_multicast_group):
7158         (unix_open_multicast_group): Remove useless casts.
7159
7160 2000-07-13  Martin Buchholz  <martin@xemacs.org>
7161
7162         * sound.c (Fplay_sound): Fix `unused variable' warning.
7163
7164         * emacs.c (main): Use correct type for _environ on SCO5.
7165
7166 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
7167
7168         * console.h (own_selection_method):
7169         * console.h (selection_exists_p_method):
7170         * console.h (available_selection_types_method): New.
7171         * console.h (register_selection_data_type_method): New.
7172         * console.h (selection_data_type_name): New.
7173
7174         * console-msw.h (mswindows_destroy_selection): Declare it.  New
7175         function & alist to track GlobalAlloc()'d handles that need
7176         releasing when the clipboard data gets replaced or emptied.
7177
7178         * event-msw.c (mswindows_wnd_proc): Call it.
7179
7180         * lisp.h, general.c (Qappend): New symbol representing a
7181         `how-to-add' mode.
7182
7183         * select.c (own-selection-internal):
7184         * select.c (selection-exists-p):
7185         * select.c (available-selection-types): New.
7186         * select.c (register-selection-data-type): New.
7187         * select.c (selection-data-type-name): New.  New functions to deal
7188         with device-specific selection data formats.
7189         * select.c (selection-converter-out-alist): Renamed.
7190         * select.c (selection-converter-in-alist): New.
7191         * select.c (selection-appender-alist): New.  Added new alists.
7192         * select.c (syms_of_select, vars_of_select): Added new symbols &
7193         variables.
7194         * select.c (get_local_selection): Split.
7195         * select.c: Removed spurious type checking - selections may now be
7196         of any type, not just strings.
7197         * select.c (own-selection-internal):
7198
7199         * select.h, select.c (convert_selection): New. Created
7200         convert_selection() function based on get_local_selection().
7201         * select.h, select.c (QCF_*): New symbols representing mswindows
7202         clipboard formats.
7203         * select.h, select.c (Qreplace_all, Qreplace_existing): New
7204         symbols representing `how-to-add' modes.
7205
7206         * select-msw.c (x_sym_p): New.
7207         * select-msw.c (symbol_to_ms_cf): New.
7208         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
7209         symbols & clipboard formats. Can also handle string names.
7210         * select-msw.c (mswindows_own_selection):
7211         * select-msw.c (mswindows_selection_exists_p):
7212         Added `data-type' parameter. Use it.
7213         * select-msw.c (mswindows_available_selection_types): New.
7214         * select-msw.c (mswindows_register_selection_data_type): New.
7215         * select-msw.c (mswindows_selection_data_type_name): New.
7216         * select-msw.c (mswindows_own_selection):
7217         * select-msw.c (mswindows_get_foreign_selection):
7218         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
7219         * select-msw.c (console_create_select_mswindows): Added new methods.
7220         * select-msw.c (mswindows_destroy_selection): New.
7221         * select-msw.c (Vhandle_alist): New list.
7222         * select-msw.c (mswindows_own_selection):
7223
7224         * select-x.c (x_own_selection):
7225         * select-x.c (x_selection_exists_p):
7226         * select-x.c: Added some comments about maybe using new
7227         functionality.
7228         * select-x.c (x_own_selection):
7229
7230         * specifier.c: Remove definition of Qappend (now in general.c)
7231         * specifier.c (syms_of_specifier): Remove Qappend.
7232
7233 2000-07-12  Martin Buchholz  <martin@xemacs.org>
7234
7235         * config.h.in: Add socklen_t.
7236
7237         * s/decosf4-0.h: No special compiler flags needed or desired.
7238         In particular, undefine _BSD for DEC OSF 4.0.
7239
7240 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7241
7242         * redisplay-msw.c (msprinter_frame_output_end): Added.
7243         (console_type_create_redisplay_mswindows): Referred the above.
7244
7245         * frame.c (setup_frame_without_minibuffer): Do not create a
7246         default minibuffer frame on a printer device.
7247
7248         * frame-msw.c (apply_dc_geometry): Added.
7249         (msprinter_start_page):
7250         (msprinter_init_frame_3):
7251         (msprinter_eject_page): Use it.
7252
7253         * console-msw.h (struct msprinter_frame): Added pix_left and top,
7254         and removed residual duplex and orientation properties.
7255
7256 2000-07-11  Martin Buchholz  <martin@xemacs.org>
7257
7258         * eval.c (function_argcount): Work around a DEC CC compiler bug.
7259
7260         * unexalpha.c: Remove system prototypes from C sources!
7261
7262 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
7263
7264         * eval.c: Remove references to M-x edit-options in DEFUNs for
7265         `defvar' and `defconst'.
7266
7267 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7268
7269         * config.h.in: Remove SMART_INCLUDE hackery.
7270
7271         PostgreSQL hacking:
7272         * config.h.in: Don't use SMART_INCLUDE.
7273
7274         * postgresql.h: Include libpq-fe.h here.  Fix typo.
7275         * inline.c: Simply #include "postgresql.h"
7276         * postgresql.c:
7277         - Don't use SMART_INCLUDE
7278         - Use simply "const".
7279         - Use standard doc string conventions.
7280         - Use correct type for result of PQstatus.
7281
7282 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7283
7284         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
7285
7286         C++ compilation changes.
7287         * config.h.in (EXTERN_C): Define.
7288         * config.h.in (not): This is also a C++ keyword.
7289         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
7290         * cm.c: Use EXTERN_C.
7291         * redisplay-tty.c: Use EXTERN_C.
7292         * sysdep.c: Use EXTERN_C.  Remove Gould support.
7293
7294 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7295
7296         * general.c: Remove duplicate definition for Qfunction.
7297
7298 2000-07-08  Ben Wing  <ben@xemacs.org>
7299
7300         * device-msw.c (msprinter_init_device):
7301         * device-msw.c (sync_printer_with_devmode):
7302         * device-msw.c (handle_devmode_changes):
7303         * device-msw.c (print_dialog_worker):
7304         * device-msw.c (Fmsprinter_apply_settings):
7305         * device-msw.c (hash_devmode):
7306         * device-msw.c (Fmsprinter_settings_despecialize):
7307         use Qmswindows_tstr, not Qctext.
7308
7309         * vm-limit.c (check_memory_limits):
7310         avoid infinite loop printing warning messages.
7311
7312 2000-07-05  Craig Lanning  <lanning@scra.org>
7313
7314         * Makefile.in.in: Add support for including the Windows resources
7315         when building with the cygwin and mingw targets.
7316
7317         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
7318         not set or not correct.
7319         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
7320         (init_initial_directory): Don't try to use $PWD on the
7321         WIN32_NATIVE target.
7322
7323         * s\cygwin32.h:
7324         [[Add -mwindows to eliminate console window.]] not required --ben
7325         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7326         (MAIL_USE_POP): removed; now handled by configure.
7327
7328         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
7329         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
7330         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7331         (MAIL_USE_POP): removed; now handled by configure.
7332         (ENCAPSULATE_STAT): from Dan Holmsand, added.
7333         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
7334         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
7335         constant string.
7336         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
7337         up from <winsock.h> via systime.h.
7338         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
7339         (getpagesize): from Dan Holmsand, added.
7340         Added #endif which was left dangling by Ben's mega patch; added
7341         comment to help prevent this in the future.
7342
7343         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
7344
7345 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7346
7347         * console-msw.h (struct mswindows_device): Removed unnecessary
7348         cached device geometry values.
7349         Added update_tick and an accessor macro.
7350         (Lisp_Devmode): Added lrecord declaration.
7351         (struct msprinter_device): Contain devmode as a Lisp object.
7352         Added mswindows_get_selected_frame_hwnd();
7353
7354         * console.h (struct console_methods): Indentation nitpicking.
7355
7356         * device-msw.c (mswindows_init_device): Do not initialize geometry
7357         cache. Initialize update tick.
7358         (mswindows_device_system_metrics): Ask the device for its geometry.
7359         (global_free_2_maybe):
7360         (devmode_to_hglobal):
7361         (handle_printer_changes):
7362         (ensure_not_printing):
7363         (print_dialog_worker):
7364         (Fmsprinter_print_setup_dialog):
7365         (Fmsprinter_print_dialog):
7366         (plist_get_margin):
7367         (plist_set_margin):
7368         (Fmsprinter_page_setup_dialog): Added functions.
7369         (sync_printer_with_devmode):
7370         (handle_devmode_changes):
7371         (Fmsprinter_get_settings):
7372         (Fmsprinter_select_settings):
7373         (Fmsprinter_apply_settings):
7374         (allocate_devmode):
7375         (Fmsprinter_settings_copy):
7376         (Fmsprinter_settings_despecialize):
7377         (print_devmode):
7378         (finalize_devmode):
7379         (equal_devmode):
7380         (hash_devmode): Added functions
7381         (syms_of_device_mswindows): Init devmode lrecord class.
7382
7383         * device.h: Added an exfun for find-device.
7384
7385         * event-msw.c (mswindows_wnd_proc): Do not update the cached
7386         geometry; although, recreate the device compatible DC.
7387
7388         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
7389         (msprinter_init_frame_3):
7390         (msprinter_frame_property):
7391         (msprinter_internal_frame_property_p):
7392         (msprinter_frame_properties):
7393         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
7394         print job properties (will move to device settings).
7395
7396         * lisp.h: Added symbols.
7397
7398         * general.c (syms_of_general): Declared them.
7399
7400         * hash.c (string_hash): Added.
7401
7402         * lrecord.h (lrecord_type): Added devmode lrecord type.
7403
7404 2000-07-02  Mike Sperber <mike@xemacs.org>
7405
7406         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
7407         FreeBSD 4.0.
7408
7409 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
7410
7411         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
7412         integer.
7413
7414 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
7415
7416         * data.c (Fstring_to_number): Don't recognize floating point if
7417         base is not 10.
7418
7419 2000-06-22  Martin Buchholz  <martin@xemacs.org>
7420
7421         * glyphs-widget.c (tab_control_query_geometry):
7422         (widget_query_geometry):
7423         (button_query_geometry):
7424         * glyphs.c (text_query_geometry):
7425         Enforce type correctness.
7426
7427 2000-06-18  Martin Buchholz  <martin@xemacs.org>
7428
7429         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
7430         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
7431
7432 2000-06-17  Martin Buchholz  <martin@xemacs.org>
7433
7434         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
7435         conflicts with gcc's fixincluded version of FOO.h.
7436
7437         * glyphs.h (image_instance_geometry): Remove trailing `,'
7438
7439 2000-06-08  Mike Alexander  <mta@arbortext.com>
7440
7441         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
7442         (shove_thread): Don't write the same output twice
7443         (make_ntpipe_output_stream): Increase priority of shove thread
7444         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
7445         chance to run
7446         (ntpipe_shove_closer): Don't delete the pipe until we're done with
7447         it.
7448
7449 2000-06-12  Ben Wing  <ben@xemacs.org>
7450
7451         * s\mingw32.h (sigset):
7452         * s\windowsnt.h (sigset):
7453         rename msw_ to mswindows_ for consistency with general convention.
7454
7455 2000-06-12  Ben Wing  <ben@xemacs.org>
7456
7457         * console-msw.c:
7458         * console-msw.c (mswindows_get_console_hwnd):
7459         * console-msw.c (mswindows_ensure_console_allocated):
7460         * console-msw.c (mswindows_hide_console):
7461         * console-msw.c (mswindows_show_console):
7462         * console-msw.c (mswindows_ensure_console_buffered):
7463         * console-msw.c (mswindows_output_console_string):
7464         * console-msw.c (mswindows_windows9x_p):
7465         * console-msw.h:
7466         * device-msw.c (mswindows_get_workspace_coords):
7467         * device-msw.c (mswindows_device_system_metrics):
7468         * dialog-msw.c (mswindows_popup_dialog_box):
7469         * event-msw.c (mswindows_wnd_proc):
7470         * frame-msw.c (mswindows_size_frame_internal):
7471         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7472         * menubar-msw.c (displayable_menu_item):
7473         * menubar-msw.c (mswindows_char_is_accelerator):
7474         * nt.c:
7475         * nt.c (mswindows_sigset):
7476         * nt.c (mswindows_sigrelse):
7477         * nt.c (mswindows_sigpause):
7478         * nt.c (mswindows_raise):
7479         * nt.c (timer_proc):
7480         * ntproc.c:
7481         * ntproc.c (find_child_console):
7482         * ntproc.c (sys_kill):
7483         * print.c:
7484         * print.c (std_handle_out_external):
7485         * process-nt.c (find_child_console):
7486         * process-nt.c (send_signal_the_95_way):
7487         * process-nt.c (ensure_console_window_exists):
7488         * process-nt.c (nt_create_process):
7489         * syssignal.h:
7490         rename msw_ to mswindows_ for consistency with general convention.
7491
7492         * emacs.c:
7493         * dumper.c:
7494         include nt.h, not syswindows.h.
7495
7496         * nt.c (mswindows_fstat):
7497         * nt.c (mswindows_stat):
7498         prefix mswindows_ instead of attempting to directly override the
7499         library functions.  fix declarations.
7500
7501         * nt.h:
7502         include syswindows.h.  move some sysdep.h stuff here.
7503
7504         * ntheap.h:
7505         include syswindows.h, not <windows.h>.
7506
7507         * ntplay.c:
7508         clean up headers.
7509
7510         * sysdep.c:
7511         clean up headers.
7512
7513         * sysdep.c (sys_fstat):
7514         * sysdep.c (sys_stat):
7515         call mswindows versions when appropriate.
7516
7517         * sysdep.h:
7518         move mswin decls to nt.h.
7519
7520         * syswindows.h:
7521         add long comment describing appropriate use of the various windows
7522         headers.
7523
7524 2000-06-11  Ben Wing  <ben@xemacs.org>
7525
7526         * device-x.c: Correct doc string for sixth arg of x-get-resource.
7527
7528 2000-06-10  Ben Wing  <ben@xemacs.org>
7529
7530         * Makefile.in.in (release):
7531         Correction to make sure xemacs.exe always dumped when correct.
7532
7533         * alloca.c:
7534         * balloon_help.c:
7535         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
7536
7537         * buffer.c (set_buffer_internal):
7538         [[[[2]]]]: Remove HAVE_FEP code.
7539
7540         * buffer.c (init_initial_directory):
7541         [3].
7542
7543         * bytecode.c:
7544         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
7545         individual files.
7546
7547         * callproc.c:
7548         * callproc.c (call_process_cleanup):
7549         * callproc.c (Fold_call_process_internal):
7550         * callproc.c (child_setup):
7551         * callproc.c (getenv_internal):
7552         * callproc.c (init_callproc):
7553         * callproc.c (vars_of_callproc):
7554         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
7555         __CYGWIN32__ -> CYGWIN.
7556         DOS_NT -> WIN32_NATIVE.
7557         Remove MSDOS support/references, converting to WIN32_NATIVE
7558           where correct.
7559         __MINGW32__ -> MINGW.
7560         Fix windows.h includes.
7561         Remove bogus HAVE_NTGUI.
7562
7563         * config.h.in:
7564         [2].
7565
7566         * console-msw.c:
7567         mswindows_message_outputted added for use in allowing startup
7568         errors on the console to be seen.
7569
7570         * console-msw.c (msw_ensure_console_allocated):
7571         * console-msw.c (msw_output_console_string):
7572         * console-msw.c (DHEADER):
7573         * console-msw.c (DOPAQUE_DATA):
7574         * console-msw.c (DEVENT):
7575         * console-msw.c (DCONS):
7576         * console-msw.c (DCONSCDR):
7577         * console-msw.c (DSTRING):
7578         * console-msw.c (DVECTOR):
7579         * console-msw.c (DSYMBOL):
7580         * console-msw.c (DSYMNAME):
7581         Fix warnings.
7582
7583         * console-stream.c (stream_init_console):
7584         Fix text/binary problems.
7585
7586         * device-msw.c:
7587         * device-msw.c (mswindows_finish_init_device):
7588         * device-msw.c (mswindows_delete_device):
7589         [1].
7590
7591         * device.c (handle_asynch_device_change):
7592         [3].
7593
7594         * dgif_lib.c:
7595         * dgif_lib.c (DGifOpenFileName):
7596         * dgif_lib.c (DGifOpenFileHandle):
7597         * dgif_lib.c (DGifGetLine):
7598         * dgif_lib.c (DGifGetPixel):
7599         Added config.h/lisp.h, fix up includes.
7600         [1].
7601
7602         * dired-msw.c:
7603         [4].
7604
7605         * dired.c:
7606         * dired.c (file_name_completion):
7607         * dired.c (Ffile_attributes):
7608         * dired.c (syms_of_dired):
7609         [1].
7610
7611         * dumper.c:
7612         * dumper.c (pdump_file_unmap):
7613         * dumper.c (pdump_load):
7614         [1].
7615
7616         * editfns.c:
7617         * editfns.c (Ftemp_directory):
7618         * editfns.c (user_login_name):
7619         * editfns.c (Fuser_real_login_name):
7620         * editfns.c (get_home_directory):
7621         [1].
7622
7623         * elhash.c (finish_marking_weak_hash_tables):
7624         [[[[5]]]]: Fix GCC warnings.
7625
7626         * emacs.c:
7627         * emacs.c (mswindows_handle_hardware_exceptions):
7628         * emacs.c (make_arg_list_1):
7629         * emacs.c (main_1):
7630         * emacs.c (Fkill_emacs):
7631         * emacs.c (Fdump_emacs):
7632         [1].
7633         Fix problems with nested crashes, add long comment.
7634
7635         * event-Xt.c (init_event_Xt_late):
7636         [1].
7637
7638         * event-msw.c:
7639         * event-msw.c (mswindows_dde_callback):
7640         * event-msw.c (mswindows_handle_sticky_modifiers):
7641         * event-msw.c (mswindows_wnd_proc):
7642         [1].
7643         [5].
7644
7645         * events.c (character_to_event):
7646         [1].
7647
7648         * fileio.c:
7649         * fileio.c (Ffile_name_directory):
7650         * fileio.c (Ffile_name_nondirectory):
7651         * fileio.c (directory_file_name):
7652         * fileio.c (Fexpand_file_name):
7653         * fileio.c (Fsubstitute_in_file_name):
7654         * fileio.c (Ffile_name_absolute_p):
7655         * fileio.c (check_executable):
7656         * fileio.c (Ffile_readable_p):
7657         * fileio.c (Ffile_accessible_directory_p):
7658         * fileio.c (Ffile_modes):
7659         * fileio.c (Funix_sync):
7660         * fileio.c (vars_of_fileio):
7661         [1]. [4].
7662
7663         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
7664
7665         Expand getdefdir defn.
7666         Fix bogus rename() comment.
7667
7668         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
7669         to use standard XEmacs include files, e.g. sysfile.h, rather
7670         than system-specific includes.
7671
7672         * fns.c:
7673         * fns.c (Fsubseq):
7674         [5]. [6].
7675
7676         * frame.c (vars_of_frame):
7677         [1].
7678
7679         * getloadavg.c:
7680         * getloadavg.c (getloadavg):
7681         [1]. [6].
7682         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
7683         (We don't use it elsewhere in the code; just add a comment.)
7684
7685         * gif_io.c:
7686         [6].
7687         Add config.h.
7688
7689         * glyphs-msw.c:
7690         * glyphs-msw.c (mswindows_resource_instantiate):
7691         [1].
7692
7693         * glyphs-x.c (x_native_layout_instantiate):
7694         [5].
7695
7696         * gui-msw.c (Fmswindows_shell_execute):
7697         [1].
7698
7699         * insdel.c:
7700         [4].
7701
7702         * lisp.h:
7703         [4]. [5].
7704
7705         * lread.c (locate_file_in_directory_mapper):
7706         [1].
7707
7708         * lstream.c:
7709         [4].
7710
7711         * mem-limits.h:
7712         * mem-limits.h (get_lim_data):
7713         [1].
7714
7715         * menubar-msw.c:
7716         [4].
7717
7718         * ndir.h:
7719         [1].
7720
7721         * nt.c:
7722         * nt.c (getwd):
7723         * nt.c (closedir):
7724         * nt.c (rva_to_section):
7725         * nt.c (mswindows_executable_type):
7726         [1]. [6].
7727         Fix closedir() defn.
7728
7729         * nt.h:
7730         [[[[8]]]]: *_OK defs moved to sysfile.h.
7731
7732         * ntproc.c:
7733         [6]. [7].
7734
7735         * objects-x.c:
7736         [4].
7737
7738         * print.c:
7739         * print.c (std_handle_out_external):
7740         [1]. [4].
7741
7742         * process-nt.c:
7743         * process-nt.c (nt_create_process):
7744         [6].
7745         try to fix process quoting somewhat.
7746
7747         * process-unix.c (unix_create_process):
7748         [1].
7749
7750         * process.c:
7751         * process.c (vars_of_process):
7752         Add Vnull_device.
7753
7754         * process.h:
7755         [1].
7756
7757         * realpath.c:
7758         * realpath.c (xrealpath):
7759         [1].
7760
7761         * redisplay-tty.c (init_tty_for_redisplay):
7762         [3].
7763
7764         * redisplay.c:
7765         [4]. [6].
7766
7767         * scrollbar-msw.c:
7768         [4].
7769
7770         * sheap.c:
7771         * sheap.c (more_static_core):
7772         * sheap.c (report_sheap_usage):
7773         [5]. [6].
7774
7775         * signal.c:
7776         * signal.c (alarm_signal):
7777         [1]. [6].
7778
7779         * sound.c:
7780         [6].
7781
7782         * strftime.c:
7783         * strftime.c (zone_name):
7784         [1]. [5].
7785
7786         * symsinit.h (init_sunpro):
7787         [1].
7788
7789         * syscommctrl.h:
7790         commctrl.h not in Cygwin b20.1.
7791
7792         * sysdep.c:
7793         * sysdep.c (endif):
7794         * sysdep.c (sys_subshell):
7795         * sysdep.c (init_baud_rate):
7796         * sysdep.c (emacs_get_tty):
7797         * sysdep.c (emacs_set_tty):
7798         * sysdep.c (tty_init_sys_modes_on_device):
7799         * sysdep.c (init_system_name):
7800         * sysdep.c (sys_open):
7801         * sysdep.c (interruptible_open):
7802         * sysdep.c (sys_fopen):
7803         * sysdep.c (sys_mkdir):
7804         * sysdep.c (sys_rename):
7805         * sysdep.c (get_process_times_1):
7806         [1]. [6].
7807
7808         * sysdep.h:
7809         [1].
7810
7811         * sysdir.h:
7812         * sysdir.h (DIRENTRY_NONEMPTY):
7813         [1]. [6].
7814
7815         * sysdll.c (dll_init):
7816         * sysdll.h:
7817         [1].
7818
7819         * sysfile.h:
7820         [1]. [6]. [8].
7821         added text/binary defs.
7822
7823         * sysfloat.h:
7824         [1].
7825
7826         * sysproc.h:
7827         * sysproc.h (EDESTADDRREQ):
7828         * sysproc.h (poll_fds_for_input):
7829         [1]. [6].
7830
7831         * syspwd.h:
7832         [6].
7833
7834         * syssignal.h:
7835         [1].
7836
7837         * systime.h:
7838         [1]. [6].
7839
7840         * systty.h:
7841         [1].
7842
7843         * syswindows.h:
7844         [1].
7845         Always define WIN32_LEAN_AND_MEAN.
7846
7847         * unexcw.c (unexec):
7848         [5].
7849
7850         * unexec.c:
7851         * unexec.c (copy_text_and_data):
7852         * unexec.c (adjust_lnnoptrs):
7853         [1].
7854
7855         * unexnt.c:
7856         * unexnt.c (_start):
7857         [1].
7858
7859 2000-06-07  Ben Wing  <ben@xemacs.org>
7860
7861         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
7862         was used only as a model.  We've long since extracted any useful
7863         logic or code out of this. (I just did an exhaustive search.)
7864
7865         * s\msdos.h: Removed.
7866
7867         * s\windows95.h: Removed.
7868
7869 2000-06-10  Ben Wing  <ben@xemacs.org>
7870
7871         * s\cygwin32.h:
7872         [1]. [5].
7873         Don't use extern with fun defs.
7874
7875         * s\mingw32.h:
7876         [1]. [7].
7877         Remove nt\inc include.
7878         Remove getdisk, getdefdir. (The former is unused, the latter
7879         expanded in fileio.h.)
7880
7881         * s\windowsnt.h:
7882         * s\windowsnt.h (WIN32_NATIVE):
7883         * s\windowsnt.h (HAVE_STRCASECMP):
7884         [1]. [7].
7885         Add long comment about preprocessor changes.
7886         Remove getdisk, getdefdir. (The former is unused, the latter
7887         expanded in fileio.h.)
7888
7889 2000-06-10  Ben Wing  <ben@xemacs.org>
7890
7891         * m\arm.h:
7892         * m\delta.h:
7893         * m\intel386.h:
7894         * m\sequent.h:
7895         * m\template.h:
7896         * m\windowsnt.h:
7897         [1].
7898         Remove bogus/unused NO_SOCK_SIGIO.
7899
7900 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
7901
7902         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
7903         not an Emchar.
7904
7905 2000-06-04  Mike Sperber <mike@xemacs.org>
7906
7907         * casetab.c (set_case_table): For `set-standard-case-table',
7908         actually deposit the new case tables where the rest of XEmacs can
7909         see them.
7910
7911 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
7912
7913         * data.c (Faset): Don't cast XCHAR() to unsigned char.
7914
7915 2000-06-05  Ben Wing  <ben@xemacs.org>
7916
7917         * callproc.c (child_setup): Don't do close_load_descs() under
7918         MS Windows.  Put in a comment explaining why.
7919
7920 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
7921
7922         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
7923         Toolkit shell" which breaks `kill-compilation' on Windows NT
7924         native, retaining STDERR handling improvements.
7925
7926 2000-06-01  Andreas Jaeger  <aj@suse.de>
7927
7928         * s/s390.h: Support for S390, based on a patch by Martin
7929         Schwidefsky <schwidefsky@de.ibm.com>.
7930
7931 2000-05-30  Andy Piper  <andy@xemacs.org>
7932
7933         * window.c (allocate_window):
7934         (make_dummy_parent):
7935         (Fset_window_configuration): use new hashtable type.
7936
7937         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
7938         (struct image_instantiator_methods):
7939         (struct Lisp_Image_Instance): make instance geometry signed.
7940
7941         * glyphs.c (instantiate_image_instantiator):
7942         (image_instance_query_geometry):
7943         (image_instance_layout):
7944         (image_instance_layout):
7945         (query_string_geometry):
7946         (text_query_geometry):
7947         (image_instantiate):
7948         (image_instantiate):
7949         (cache_subwindow_instance_in_frame_maybe):
7950         (subwindow_query_geometry): make instance geometry signed.
7951
7952         * glyphs-widget.c (widget_query_geometry):
7953         (widget_layout):
7954         (button_query_geometry):
7955         (tree_view_query_geometry):
7956         (tab_control_query_geometry):
7957         (layout_query_geometry):
7958         (layout_layout):
7959         (native_layout_layout): make instance geometry signed.
7960
7961 2000-05-29  Olivier Galibert  <galibert@pobox.com>
7962
7963         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
7964         constant.
7965
7966         * general.c (syms_of_general): Add Qfull_assoc symbol.
7967
7968         * data.c (finish_marking_weak_lists): Mark full-assoc lists
7969         correctly.
7970         (decode_weak_list_type): Decode full-assoc type.
7971         (encode_weak_list_type): Encode full-assoc type.
7972         (Fmake_weak_list): Update doc string.
7973
7974 2000-05-30  Andy Piper  <andy@xemacs.org>
7975
7976         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
7977
7978         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
7979         (decode_hash_table_weakness): ditto.
7980         (Fhash_table_weakness): ditto.
7981         (Fhash_table_type): ditto.
7982         (finish_marking_weak_hash_tables): ditto.
7983         (hash_table_weakness_validate): ditto.
7984         (syms_of_elhash): ditto.
7985
7986 2000-05-28  Martin Buchholz <martin@xemacs.org>
7987
7988         * XEmacs 21.2.34 is released.
7989
7990 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7991
7992         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
7993         start cache.
7994         (updating_line_start_cache): Gone.
7995         (regenerate_window): Replace resetting of VERTICAL_CLIP by
7996         generic code to force a minimum of 1 line laid out in the
7997         CMOTION_DISP case.
7998
7999 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8000
8001         * glyphs.c (instantiate_image_instantiator): Check for initialized
8002         height & width no longer special cases IMAGE_NOTHING.
8003         (nothing_instantiate): Set height and width of instance.
8004
8005 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8006
8007         * unexelf.c (unexec): Search for ".data" section.
8008         Initialize new_data2_offset from old_data_index.
8009         Remove redundant check for ElfW.
8010
8011 2000-05-23  Andy Piper  <andy@xemacs.org>
8012
8013         * glyphs.c (get_image_instantiator_governing_domain): allow more
8014         specific domains as the governing domain rather than expecting an
8015         exact match. This fixes problems with layouts.
8016
8017 2000-05-22  Andy Piper  <andy@xemacs.org>
8018
8019         * redisplay-output.c (compare_runes): check for non-images
8020
8021         * glyphs.c (set_glyph_dirty_p): ditto.
8022         (update_glyph_cachel_data): ditto.
8023
8024         * glyphs-widget.c (layout_post_instantiate): ditto.
8025         (layout_post_instantiate): ditto.
8026
8027         * event-msw.c (mswindows_wnd_proc): warning removal.
8028
8029 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
8030
8031         * s\mingw32.h: Added #undef for CLASH_DETECTION.
8032
8033         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
8034
8035         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
8036
8037         * nt.c (rva_to_section): mingw32 needs rva_to_section.
8038         (mswindows_executable_type): mingw32 now has enough headers for
8039         this to work.
8040
8041 2000-05-20  Andy Piper  <andy@xemacs.org>
8042
8043         * console-msw.c (mswindows_output_last_error): ; -> ,
8044
8045 2000-05-12  Andy Piper  <andy@xemacs.org>
8046
8047         * console-msw.c (FROB): compare ints with ints.
8048
8049 2000-05-11  Andy Piper  <andy@xemacs.org>
8050
8051         * glyphs-x.c (x_finalize_image_instance): make minimal build
8052         happy.
8053
8054 2000-05-20  Ben Wing  <ben@xemacs.org>
8055
8056         * event-Xt.c:
8057         * event-Xt.c (vars_of_event_Xt):
8058         move modifier-keys-are-sticky to event-stream.c.
8059
8060         * event-msw.c:
8061         * event-msw.c (mswindows_enqueue_mouse_button_event):
8062         * event-msw.c (key_needs_default_processing_p):
8063         * event-msw.c (XEMSW_LCONTROL):
8064         * event-msw.c (mswindows_handle_sticky_modifiers):
8065         * event-msw.c (FROB):
8066         * event-msw.c (clear_sticky_modifiers):
8067         * event-msw.c (output_modifier_keyboard_state):
8068         * event-msw.c (output_alt_keyboard_state):
8069         * event-msw.c (mswindows_wnd_proc):
8070         * event-msw.c (mswindows_modifier_state):
8071         * event-msw.c (emacs_mswindows_handle_magic_event):
8072         implement sticky modifiers.
8073
8074         * event-stream.c:
8075         * event-stream.c (vars_of_event_stream):
8076         move modifier-keys-are-sticky here.
8077
8078         * lisp.h:
8079         add CHECK_FUNCTION.
8080
8081         * rangetab.c:
8082         implement map-range-table.
8083
8084
8085 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
8086
8087         * redisplay-tty.c (reset_tty_modes):
8088         (tty_redisplay_shutdown): Adjust argument type to
8089         tty_frame_output_end.
8090
8091 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8092
8093         * eval.c (Fbacktrace): Don't output a line with only right
8094         parenthesis.
8095
8096 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
8097
8098         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
8099         (Fpq_reset_poll): Ditto.
8100
8101 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
8102
8103         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
8104
8105 2000-05-16  Ben Wing  <ben@xemacs.org>
8106
8107         * buffer.c:
8108         * buffer.c (dfc_convert_to/from_internal_format):
8109         * buffer.c (reinit_vars_of_buffer):
8110         Fix conversion functions to allow reentrancy.
8111
8112         * console-msw.c:
8113         * console-msw.c (mswindows_output_last_error):
8114         New fun, generally useful -- output a human-readable
8115         version of GetLastError() on the console.
8116
8117         * console-msw.h:
8118         * console-msw.h (struct mswindows_frame):
8119         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
8120
8121         * console-stream.c (stream_output_begin):
8122         * console-stream.c (stream_output_end):
8123         * console-stream.c (stream_output_vertical_divider):
8124         * console-stream.c (stream_clear_region):
8125         * console-stream.c (stream_flash):
8126         * console-stream.c (console_type_create_stream):
8127         Delete blank stream methods, not needed.
8128
8129         * console.h (struct console_methods):
8130         Split begin/end methods into window and frame.
8131
8132         * event-msw.c:
8133         * event-msw.c (mswindows_handle_paint):
8134         * event-msw.c (output_alt_keyboard_state):
8135         * event-msw.c (mswindows_wnd_proc):
8136         * event-msw.c (vars_of_event_mswindows):
8137         Comment about problems with ignored-expose.
8138         Define mswindows-debug-events; not really implemented.
8139
8140         * frame-msw.c (mswindows_init_frame_1):
8141         random cleanups.
8142
8143         * glyphs-msw.c:
8144         * glyphs-msw.c (begin_defer_window_pos):
8145         * glyphs-msw.c (mswindows_unmap_subwindow):
8146         * glyphs-msw.c (mswindows_map_subwindow):
8147         * glyphs-msw.c (mswindows_resize_subwindow):
8148         Use DeferWindowPos to reduce flashing when mapping/unmapping.
8149
8150         * glyphs.c (make_image_instance_1):
8151         Fix crash.
8152
8153         * gutter.c (Fredisplay_gutter_area):
8154         Use new begin/end methods.
8155
8156         * lisp.h (Dynarr_new2):
8157         New creation fun.
8158
8159         * redisplay-msw.c:
8160         * redisplay-msw.c (mswindows_frame_output_begin):
8161         * redisplay-msw.c (mswindows_frame_output_end):
8162         * redisplay-msw.c (console_type_create_redisplay_mswindows):
8163         New begin/end methods -- handle DeferWindowPos.
8164
8165         * redisplay-output.c (redisplay_move_cursor):
8166         * redisplay-output.c (redraw_cursor_in_window):
8167         * redisplay-output.c (redisplay_update_line):
8168         * redisplay-output.c (redisplay_output_window):
8169         New begin/end methods.
8170
8171         * redisplay-tty.c:
8172         * redisplay-tty.c (tty_frame_output_begin):
8173         * redisplay-tty.c (tty_frame_output_end):
8174         * redisplay-tty.c (console_type_create_redisplay_tty):
8175         New begin/end methods.
8176
8177         * redisplay-x.c:
8178         * redisplay-x.c (x_window_output_begin):
8179         * redisplay-x.c (x_window_output_end):
8180         * redisplay-x.c (console_type_create_redisplay_x):
8181         New begin/end methods.
8182
8183         * redisplay.c (redisplay_frame):
8184         * redisplay.c (Fredisplay_echo_area):
8185         New begin/end methods.
8186         use MAYBE_DEVMETH for clear_frame; it may not exist.
8187
8188         * window.h (WINDOW_XFRAME):
8189         WINDOW_XFOO macros -- get locale and decode struct pointer.
8190
8191
8192 2000-05-12  Ben Wing  <ben@xemacs.org>
8193
8194         * emacs.c:
8195         * emacs.c (ensure_no_quitting_from_now_on):
8196         * emacs.c (fatal_error_signal):
8197         * emacs.c (mswindows_handle_hardware_exceptions):
8198         * emacs.c (main):
8199         * emacs.c (Fkill_emacs):
8200         * emacs.c (shut_down_emacs):
8201         * emacs.c (assert_failed):
8202         various improvements in fatal error handling.
8203
8204         * eval.c:
8205         move preparing_for_armageddon to emacs.c.
8206
8207         * lisp.h:
8208         declare fatal_error_in_progress.
8209
8210         * print.c:
8211         * print.c (std_handle_out_external):
8212         * print.c (std_handle_out_va):
8213         * print.c (stderr_out):
8214         * print.c (stdout_out):
8215         use console under mswin when no standard output.
8216         don't do code conversion during fatal error.
8217
8218         * scrollbar.c (Fscrollbar_page_up):
8219         * scrollbar.c (Fscrollbar_page_down):
8220         fix missing else.  reindent.
8221
8222 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
8223
8224         Emergency fix.
8225
8226         * glyphs.h (GLYPH_CACHEL_DESCENT):
8227         (GLYPH_CACHEL_DESCENT):
8228         (GLYPH_CACHEL_DESCENT):
8229         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
8230         used in case these are inline functions.
8231         Use more absurd values to error check.
8232
8233         include window.h for error check functions.
8234
8235 2000-05-11  Ben Wing  <ben@xemacs.org>
8236
8237         * cmdloop.c (Freally_early_error_handler):
8238         Display message box under windows; otherwise, message will disappear
8239         before it can be viewed.
8240
8241         * console-msw.c:
8242         * console-msw.c (Fmswindows_message_box):
8243         * console-msw.c (FROB):
8244         * console-msw.c (syms_of_console_mswindows):
8245         Define new fun `mswindows-message-box'.
8246         #### I will merge this into `popup-dialog-box'; just give me
8247         a bit of time.
8248
8249         * general.c:
8250         * general.c (syms_of_general):
8251         Some new symbols used in `mswindows-message-box'.
8252
8253         * glyphs.c:
8254         * glyphs.c (Fset_image_instance_property):
8255         put warning in this fun.
8256
8257         * glyphs.h:
8258         * glyphs.h (GLYPH_CACHEL_WIDTH):
8259         * glyphs.h (GLYPH_CACHEL_ASCENT):
8260         * glyphs.h (GLYPH_CACHEL):
8261         * glyphs.h (GLYPH_CACHEL_GLYPH):
8262         define error-checking versions to try to catch a bug i've seen --
8263         redisplay gets in an infinite loop because the glyph width of the
8264         continuation glyph is 65535.
8265
8266         * lisp.h:
8267         Extern message-box stuff.
8268
8269         * window.c (allocate_window):
8270         * window.c (make_dummy_parent):
8271         * window.c (Fset_window_configuration):
8272         Use EQUAL not EQ for subwindow caches to make them work a bit
8273         better. (Something is still very broken.)
8274
8275
8276 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8277
8278         * glyphs.c (image_instantiate): Suppress gcc warnings.
8279         (Fmake_image_instance): Fix doc string.
8280         * specifier.c (Fmake_specifier): Ditto.
8281
8282 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
8283
8284         * paths.h.in (PATH_LOCK): Removed.
8285         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
8286         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
8287
8288 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8289
8290         * fns.c (Ffeaturep): Update e-mail address in doc-string.
8291         Document (featurep '(and xemacs 21.02)).
8292
8293 2000-05-09  Ben Wing  <ben@xemacs.org>
8294
8295         * buffer.c (complex_vars_of_buffer):
8296         update modeline-format doc.
8297
8298         * device.h:
8299         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
8300
8301         * emacs.c:
8302         timeline of all released versions of Emacs, for use in creating
8303         authorship comments and in synching up.
8304
8305         * glyphs-widget.c (image_instantiator_buttons):
8306         * glyphs-widget.c (image_instantiator_edit_fields):
8307         * glyphs-widget.c (image_instantiator_combo_box):
8308         * glyphs-widget.c (image_instantiator_scrollbar):
8309         * glyphs-widget.c (image_instantiator_progress_guage):
8310         * glyphs-widget.c (image_instantiator_tree_view):
8311         * glyphs-widget.c (image_instantiator_tab_control):
8312         * glyphs-widget.c (image_instantiator_labels):
8313         * glyphs-widget.c (image_instantiator_layout):
8314         * glyphs-widget.c (image_instantiator_native_layout):
8315         rename decode_domain method to governing_domain.
8316
8317         * glyphs.c:
8318         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
8319         * glyphs.c (add_entry_to_device_ii_format_list):
8320         make sure we don't put an entry more than once into the list.
8321         * glyphs.c (check_instance_cache_mapper):
8322         *************************************************************
8323         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8324         HAVE BEEN GETTING.
8325         *************************************************************
8326         * glyphs.c (get_image_instantiator_governing_domain):
8327         clean up, expand on new concept of governing domain.
8328         * glyphs.c (instantiate_image_instantiator):
8329         * glyphs.c (allocate_image_instance):
8330         use governing_domain instead of cache_domain in naming.
8331         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
8332         * glyphs.c (make_image_instance_1):
8333         * glyphs.c (Fmake_image_instance):
8334         allow for any domain (not just device), and process the
8335         governing domain correctly.  very big doc fix.
8336         * glyphs.c (Fimage_instance_domain):
8337         new primitive, to retrieve the governing domain of an image instance.
8338         * glyphs.c (image_instantiate):
8339         use new governing_domain stuff.  this fixes a crash you could get
8340         by instantiating certain widget glyphs in frame locales. (should
8341         signal an error instead of crashing.)
8342         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
8343         * glyphs.c (Fglyphp): clean up doc.
8344         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
8345         * glyphs.c (syms_of_glyphs):
8346         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
8347         * glyphs.c (image_instantiator_format_create): add some comments about
8348         bogus code.
8349         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
8350         for current-display-table. (Apparently Hrjove implemented in 1998 a
8351         design I wrote up in 1996, but didn't update the doc string.)
8352
8353         * glyphs.h: clean up a doc string.
8354         * glyphs.h (governing_domain):
8355         * glyphs.h (struct image_instantiator_methods):
8356         changes for governing_domain stuff.
8357
8358         * gutter.c:
8359         * gutter.c (Fgutter_specifier_p):
8360         * gutter.c (Fgutter_size_specifier_p):
8361         * gutter.c (Fgutter_visible_specifier_p):
8362         * objects.c:
8363         * objects.c (Fcolor_specifier_p):
8364         * objects.c (Ffont_specifier_p):
8365         * objects.c (Fface_boolean_specifier_p):
8366         doc strings moved to make-*-specifier.
8367
8368         * redisplay.c (add_disp_table_entry_runes_1):
8369         * redisplay.c (generate_fstring_runes):
8370         * redisplay.c (screen):
8371         add random comments and doc strings.
8372
8373         * specifier.c:
8374         * specifier.c (Fmake_specifier):
8375         major overhaul of this doc string.
8376
8377         * specifier.c (Fvalid_specifier_domain_p):
8378         comment about the bogosity of image instances being domains.
8379         * specifier.c (decode_domain):
8380         now non-static, used in glyphs.c.
8381         * specifier.c (specifier_instance):
8382         comment about the bogosity of image instances being domains.
8383         * specifier.c (Fgeneric_specifier_p):
8384         move doc string to make-generic-specifier.
8385         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
8386         rebackslashify.
8387
8388         * specifier.h:
8389         * specifier.h (DOMAIN_FRAME):
8390         * specifier.h (DOMAIN_LIVE_P):
8391         * specifier.h (DOMAIN_XDEVICE):
8392         rebackslashify.
8393         add comments about problems with these macros.
8394         prototype for decode_domain.
8395
8396         * toolbar.c:
8397         * toolbar.c (Ftoolbar_specifier_p):
8398         move doc string to `make-toolbar-specifier'.
8399
8400         * window.c (window_unmap_subwindows_cache_mapper):
8401         *************************************************************
8402         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8403         HAVE BEEN GETTING.
8404         *************************************************************
8405
8406 2000-05-09  Andy Piper  <andy@xemacs.org>
8407
8408         * glyphs.h: declare reset_frame_subwindow_instance_cache.
8409
8410         * window.c (Fset_window_configuration): reset the frame subwindow
8411         cache and re-initialize the window subwindow caches.
8412
8413         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
8414
8415 2000-05-09  Ben Wing  <ben@xemacs.org>
8416
8417         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
8418         DWORD.
8419
8420 2000-04-26  Mike Woolley  <mike@bulsara.com>
8421
8422         * ntheap.c: Changed recreate_heap to limit the amount reserved
8423         for the heap to that which is actually available. Also now
8424         displays a message box (with some dignostics) in the event that
8425         it still can't start.
8426
8427 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
8428
8429         * callproc.c (Fold_call_process_internal): GCPRO path
8430
8431 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
8432
8433         Patch by Bill Perry.
8434
8435         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
8436         back data instead of #ifdef.
8437         (Fscrollbar_page_down): ditto.
8438
8439 2000-05-07  Ben Wing  <ben@xemacs.org>
8440
8441         * buffer.h:
8442         Kludge for defining Qmswindows_tstr.
8443
8444         * nt.c:
8445         * nt.c (open_input_file):
8446         * nt.c (open_output_file):
8447         * nt.c (rva_to_section):
8448         * nt.c (mswindows_executable_type):
8449         Move all memory-mapped-file routines here (some were in unexnt.c,
8450         which is bad because they are used by process-nt.c, and unexnt
8451         won't be around when portable dumping).  Synched the above routines
8452         with FSF 20.6.
8453
8454         * nt.h:
8455         Removed ifdef'd out bogus code.
8456         Fixed some prototypes.
8457
8458         * nt.h (file_data):
8459         * nt.h (OFFSET_TO_RVA):
8460         * nt.h (RVA_TO_OFFSET):
8461         * nt.h (RVA_TO_PTR):
8462         Moved the memory-mapped-file structures, macros and prototypes
8463         here, to parallel nt.c.  ntheap.h should really be removed
8464         entirely, and it's a non-portable-dumper specific file.
8465
8466         * ntheap.h (round_to_next):
8467         Moved the memory-mapped-file structures, macros and prototypes
8468         to nt.h.
8469
8470         * ntproc.c (compare_env):
8471         Moved rva_to_section and mswindows_executable_type to nt.c.
8472         Moved compare_env to process-nt.c.
8473         ntproc.c will die, one day.
8474
8475         * ntproc.c (sys_spawnve):
8476         Account for win32_ -> mswindows_.
8477
8478         * process-nt.c:
8479         * process-nt.c (struct nt_process_data):
8480         * process-nt.c (ensure_console_window_exists):
8481         * process-nt.c (compare_env):
8482         * process-nt.c (nt_create_process):
8483         * process-nt.c (nt_kill_process_by_pid):
8484         * process-nt.c (syms_of_process_nt):
8485         * process-nt.c (vars_of_process_nt):
8486         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
8487         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
8488         changes).  Eliminate our old `nt-quote-process-args' mechanism.
8489         Synch up nt_create_process with FSF 20.6 sys_spawnve.
8490         Move compare_env here from ntproc.c.
8491
8492         * process.c (Fprocess_send_region):
8493         Takes an optional fourth argument, BUFFER, which should fix some
8494         problems with call-process.
8495
8496         * syscommctrl.h:
8497         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
8498
8499         * syswindows.h:
8500         Move ICC_BAR_CLASSES to syscommctrl.h.
8501         Add preliminary macros for MSWindows/Mule.  More to come.
8502
8503         * unexnt.c:
8504         * unexnt.c (unexec):
8505         open_output_file moved to nt.c.
8506
8507
8508 2000-05-05  Andy Piper  <andy@xemacs.org>
8509
8510         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
8511         instance from the frame cache also since GC may catch up too late
8512         to make frame deletion sane.
8513
8514 2000-05-04  Andy Piper  <andy@xemacs.org>
8515
8516         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
8517         (x_finalize_image_instance): ungcpro on deletion.
8518
8519         * glyphs.c (image_instantiator_format_create): give pointers a
8520         query geometry method so that the geometry is at least set.
8521
8522         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
8523         initialize layouts if using widgets.
8524
8525 2000-05-03  Andy Piper  <andy@xemacs.org>
8526
8527         * nt.c: remove bogus reference to sysmmsystem.h
8528
8529         * gui-x.c (popup_selection_callback): fix no selection abort.
8530
8531 2000-05-02  Andy Piper  <andy@xemacs.org>
8532
8533         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
8534         (mswindows_widget_instantiate): ditto.
8535
8536         * glyphs-widget.c (initialize_widget_image_instance): initialize
8537         children correctly.
8538         (widget_instantiate): cope with children and items in the same
8539         instance.
8540
8541         * glyphs.c (mark_image_instance): cope with children as a first
8542         class member.
8543         (image_instance_equal): ditto.
8544         (image_instance_hash): ditto.
8545         (image_instance_changed): ditto.
8546
8547 2000-04-30  Andy Piper  <andy@xemacs.org>
8548
8549         * glyphs.c (subwindow_query_geometry): new function. Return some
8550         defaults.
8551         (subwindow_instantiate): don't assign dimensions if none have been
8552         given.
8553         (image_instantiator_format_create): add subwindow_query_geometry.
8554         (print_image_instance): cope with layouts as widgets.
8555
8556 2000-04-29  Andy Piper  <andy@xemacs.org>
8557
8558         * frame.c (delete_frame_internal): call
8559         free_frame_subwindow_instance_cache so that all subwindows are
8560         finalized before their parent.
8561         (mark_frame): remove subwindow_cachels.
8562         (Fmake_frame): remove subwindow_cachel manipulation.
8563         (allocate_frame_core): subwindow_instance_cache is a weak list.
8564         (delete_frame_internal): set subwindow_instance_cache to nil.
8565
8566         * glyphs-msw.c (mswindows_finalize_image_instance): make double
8567         finalization safe.
8568         (mswindows_finalize_image_instance): use the device
8569         not the domain as the domain may have died already.
8570
8571         * glyphs-x.c (x_finalize_image_instance): ditto.
8572         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
8573         HEIGHT.
8574
8575         * redisplay-output.c (redisplay_unmap_subwindows): update for
8576         subwindow instance cache as a weak list.
8577         (redisplay_unmap_subwindows_maybe): ditto.
8578         (redisplay_unmap_subwindows_except_us): ditto.
8579
8580         * glyphs.c (unmap_subwindow): error checking will check the domain
8581         so don't deal with it here. Don't use cachels anymore.
8582         (map_subwindow): ditto.
8583         (update_subwindow_cachel_data): remove old accessor names.
8584         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
8585         (Fresize_subwindow): don't update cachel.
8586         (mark_subwindow_cachels):
8587         (update_subwindow_cachel_data):
8588         (add_subwindow_cachel):
8589         (get_subwindow_cachel_index):
8590         (update_subwindow_cachel):
8591         (reset_subwindow_cachels):
8592         (mark_subwindow_cachels_as_not_updated): deleted.
8593         (cache_subwindow_instance_in_frame_maybe): new function. Add a
8594         subwindow instance to the frame cache.
8595         (find_matching_subwindow): update for subwindow instance cache as
8596         a weak list.
8597         (update_widget_instances): ditto.
8598         (image_instance_type_to_mask):inlined.
8599         (free_frame_subwindow_instance_cache): new function. finalize all
8600         subwindows that are instantiated.
8601
8602         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
8603         of cachel information.
8604         (IMAGE_INSTANCE_DISPLAY_X):
8605         (IMAGE_INSTANCE_DISPLAY_Y):
8606         (IMAGE_INSTANCE_DISPLAY_WIDTH):
8607         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
8608         (XIMAGE_INSTANCE_DISPLAY_X):
8609         (XIMAGE_INSTANCE_DISPLAY_Y):
8610         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
8611         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
8612         remove subwindow_cachel structure and function references.
8613         (image_instance_type_to_mask): inline from glyphs.c
8614
8615         * redisplay.c (redisplay_frame): remove subwindow_cachel
8616         references.
8617
8618         * frame.h (struct frame): remove subwindow_cachels.
8619         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
8620
8621         * frameslots.h: add subwindow_instance_cache.
8622
8623         * window.c (replace_window): check subwindow cache of replacement.
8624         (window_unmap_subwindows_cache_mapper):
8625         (window_unmap_subwindows): new functions. Unmap all subwindows
8626         cached on this window.
8627         (mark_window_as_deleted): unmap all subwindows.
8628
8629 2000-04-27  Andy Piper  <andy@xemacs.org>
8630
8631         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
8632
8633         * glyphs-widget.c (widget_layout): return something.
8634         (layout_layout): return something. Fail if not initialized.
8635         (layout_query_geometry): ditto.
8636         (image_instantiator_native_layout): new function. Initialized the
8637         native layout type.
8638         (widget_instantiate): don't do layout stuff here.
8639
8640         * glyphs.c (instantiate_image_instantiator): reorded calling or
8641         instantiate and post_instantiate with layout in between.
8642         (image_instance_layout): be more selective about deciding whether
8643         the layout has been done or not.
8644
8645         * glyphs.h (struct image_instantiator_methods): return a value
8646         from layout_method.
8647
8648 2000-04-26  Andy Piper  <andy@xemacs.org>
8649
8650         * glyphs.c (allocate_image_instance): make initial width and
8651         height unspecified. Set initialized to 0.
8652
8653         * syscommctrl.h new file. Encapsulates commctrl.h.
8654
8655         * syswindows.h new file. Encapsulates windows.h.
8656
8657         * ntplay.c: use new syswindows.h and syscommctrl.h header.
8658         * nt.c: ditto.
8659         * console-msw.h: ditto.
8660
8661         * redisplay-tty.c (tty_output_display_block): remove layout references.
8662
8663         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
8664         window handle rather than just the frame.
8665
8666         * glyphs.c (mark_image_instance): remove layout references.
8667         (print_image_instance): ditto.
8668         (image_instance_equal): ditto.
8669         (image_instance_hash): ditto.
8670         (decode_image_instance_type): ditto.
8671         (encode_image_instance_type): ditto.
8672         (image_instantiate): ditto.
8673         (allocate_glyph): ditto.
8674         (Fimage_instance_height): ditto.
8675         (Fimage_instance_width): ditto.
8676         (update_subwindow): ditto.
8677
8678         * redisplay-x.c (x_output_display_block): recode for layouts as
8679         widgets.
8680
8681         * redisplay-output.c (redisplay_output_layout): recode for layouts
8682         as widgets.
8683         (compare_runes): remove layout references.
8684
8685         * redisplay-msw.c (mswindows_output_display_block): recode for
8686         layouts as widgets.
8687
8688         * glyphs-widget.c (image_instantiator_layout): remove
8689         layout_possible_dest_types.
8690         (layout_possible_dest_types): deleted.
8691
8692         * glyphs.h (image_instance_type): remove layout references.
8693         (struct Lisp_Image_Instance): ditto. Add initialized flag.
8694         (IMAGE_INSTANCE_INITIALIZED): new accessor.
8695         (XIMAGE_INSTANCE_INITIALIZED): ditto.
8696
8697 2000-04-25  Andy Piper  <andy@xemacs.org>
8698
8699         * glyphs-widget.c (image_instantiator_buttons):
8700         (image_instantiator_edit_fields):
8701         (image_instantiator_combo_box):
8702         (image_instantiator_scrollbar):
8703         (image_instantiator_progress_guage):
8704         (image_instantiator_tree_view):
8705         (image_instantiator_tab_control):
8706         (image_instantiator_labels):
8707         (image_instantiator_layout): call default post_instantiate method.
8708         (widget_post_instantiate): new function. Simply lays out the
8709         widgets.
8710
8711         * glyphs.h (struct image_instantiator_methods): add
8712         post_instantiate method.
8713
8714         * glyphs.c (instantiate_image_instantiator): add post_instantiate
8715         method calls.
8716
8717 2000-04-23  Andy Piper  <andy@xemacs.org>
8718
8719         * glyphs.h (struct image_instantiator_methods): add
8720         decode_domain_method.
8721         (struct Lisp_Image_Instance): remove subwindow frame - it can be
8722         derived from the domain.
8723         (IMAGE_INSTANCE_FRAME): new accessor.
8724         (XIMAGE_INSTANCE_FRAME): ditto.
8725
8726         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
8727         instead of _SUBWINDOW_FRAME.
8728         (finalize_image_instance): ditto.
8729         (Fimage_instance_foreground): ditto.
8730         (Fimage_instance_background): ditto.
8731         (image_instantiate): ditto.
8732         (update_subwindow_cachel): ditto.
8733         (update_subwindow): ditto.
8734         (unmap_subwindow): ditto.
8735         (map_subwindow): ditto
8736         (subwindow_instantiate): ditto.
8737         * glyphs-msw.c (mswindows_update_widget): ditto.
8738         (mswindows_progress_gauge_instantiate): ditto.
8739         (mswindows_tab_control_update): ditto.
8740         * glyphs-x.c (x_update_widget): ditto.
8741         (x_widget_instantiate): ditto.
8742         (x_tab_control_instantiate): ditto.
8743         (x_tab_control_update): ditto.
8744         * event-msw.c (mswindows_wnd_proc): ditto
8745
8746         * glyphs-widget.c (image_instantiator_layout): use
8747         subwindow_decode_domain.
8748         (image_instantiator_buttons): ditto.
8749         (image_instantiator_edit_fields): ditto.
8750         (image_instantiator_combo_box): ditto.
8751         (image_instantiator_scrollbar): ditto.
8752         (image_instantiator_progress_guage): ditto.
8753         (image_instantiator_tree_view): ditto.
8754         (image_instantiator_tab_control): ditto.
8755         (image_instantiator_labels): ditto.
8756         (image_instantiator_layout): ditto.
8757
8758         * glyphs.c: add instance error checking to many functions.
8759         (instantiate_image_instantiator): decode device from cache_domain.
8760         (image_instantiate): partially rewrite by using
8761         decode_image_instantiator_domain to determine what domain the
8762         instance needs to be cached in.
8763         (decode_image_instantiator_domain): new function. Determine what
8764         domain the image needs to be cached in.
8765         (check_window_subwindow_cache): new error checking function.
8766         (check_instance_cache_mapper): ditto.
8767         (check_image_instance_structure): ditto.
8768         (subwindow_decode_domain): new function. Encodes a window as a
8769         subwindow's cache domain.
8770         (image_instantiator_format_create): use it for text and
8771         subwindows.
8772
8773 2000-04-21  Andy Piper  <andy@xemacs.org>
8774
8775         * glyphs.c (image_instance_device): new function.
8776         (image_instance_frame): new function.
8777         (image_instance_window): new function.
8778         (image_instance_live_p): new function.
8779
8780         * window.c (mark_window_as_deleted): reset the subwindow_instance_
8781         cache to nil.
8782
8783         * glyphs.h (struct Lisp_Image_Instance): device->domain.
8784         (IMAGE_INSTANCE_DOMAIN): new accessor.
8785         (XIMAGE_INSTANCE_DOMAIN): ditto.
8786
8787         * glyphs-x.c (x_finalize_image_instance): device->domain.
8788
8789         * glyphs-msw.c (init_image_instance_geometry): device->domain.
8790         (mswindows_finalize_image_instance): ditto.
8791
8792         * glyphs-eimage.c (jpeg_instantiate): device->domain.
8793         (gif_instantiate): ditto.
8794         (png_instantiate): ditto.
8795         (tiff_instantiate): ditto.
8796
8797         * glyphs.c (instantiate_image_instantiator): use domain rather
8798         than device.
8799         (mark_image_instance): device -> domain.
8800         (print_image_instance): ditto.
8801         (finalize_image_instance): ditto.
8802         (image_instance_equal): ditto.
8803         (allocate_image_instance): ditto.
8804         (Fcolorize_image_instance): ditto.
8805         (query_string_geometry): ditto.
8806         (image_instantiate): ditto
8807         (query_string_font): ditto.
8808         (image_instantiate): ditto.
8809         (update_subwindow): ditto.
8810         (unmap_subwindow): ditto.
8811         (map_subwindow): ditto.
8812         (subwindow_instantiate): ditto.
8813
8814         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
8815         (DOMAIN_FRAME): ditto.
8816         (DOMAIN_WINDOW): ditto.
8817         (DOMAIN_LIVE_P): ditto.
8818         (XDOMAIN_DEVICE): ditto.
8819         (XDOMAIN_FRAME): ditto.
8820         (XDOMAIN_WINDOW): ditto.
8821
8822         * specifier.c (Fvalid_specifier_domain_p): add image instances as
8823         a valid specifier domain.
8824
8825 2000-04-19  Andy Piper  <andy@xemacs.org>
8826
8827         * glyphs-widget.c (syms_of_glyphs_widget): remove
8828         widget-callback-current-channel.
8829         (vars_of_glyphs_widget): ditto.
8830         * glyphs.h: ditto
8831
8832         * gui.c (get_gui_callback): revert to previous behaviour.
8833
8834 2000-04-18  Andy Piper  <andy@xemacs.org>
8835
8836         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
8837         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
8838         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
8839
8840         * glyphs.c (image_instance_equal): add margin_width.
8841         (image_instance_hash): ditto.
8842
8843         * glyphs-widget.c (widget_instantiate): deal with margin-width.
8844         (layout_query_geometry): ditto.
8845         (layout_layout): ditto.
8846         (syms_of_glyphs_widget): add margin-width.
8847         (image_instantiator_layout): allow margin-width.
8848
8849         * glyphs.c (update_widget_instances): make a normal function.
8850         (syms_of_glyphs): remove Qupdate_widget_instances.
8851         * glyphs.h: ditto.
8852
8853         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
8854         so that we don't corrupt ideas about the last event or
8855         command. Remove widget-callback-current-channel fiddling.
8856         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8857
8858 2000-05-01  Martin Buchholz <martin@xemacs.org>
8859
8860         * XEmacs 21.2.33 is released.
8861
8862 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
8863
8864         * make-src-depend: Allow dots in header file name.
8865
8866 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
8867
8868         * mule-charset.h (struct charset_lookup): Add
8869         next_allocated_1_byte_leading_byte and
8870         next_allocated_2_byte_leading_byte.
8871         * mule-charset.c: Move above two variables so that those values
8872         will be dumped.
8873
8874 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
8875
8876         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
8877         when string length is zero.
8878         (find_charsets_in_emchar_string): Ditto.
8879
8880 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
8881
8882         * lisp.h: extern Qdialog and Qmenubar.
8883
8884         * gui-x.c: added events.h.
8885                 also fixed typo which made the file uncompilable.
8886
8887         * general.c: Added Qmenubar and Qdialog
8888
8889 2000-04-28  Ben Wing  <ben@xemacs.org>
8890
8891         * frame-msw.c (mswindows_init_frame_1):
8892         * frame-msw.c (mswindows_mark_frame):
8893         * event-msw.c (mswindows_enqueue_dispatch_event):
8894         * console-msw.h:
8895         * console-msw.h (struct mswindows_frame):
8896         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
8897         there are now three hash tables for callbacks.
8898         mswindows_enqueue_dispatch_event is no longer static.
8899
8900         * dialog-x.c (maybe_run_dbox_text_callback):
8901         * dialog-x.c (dbox_descriptor_to_widget_value):
8902         switch to new cons3 form for callbacks.
8903
8904         * glyphs-msw.c (mswindows_register_gui_item):
8905         * glyphs-msw.c (mswindows_widget_instantiate):
8906         * glyphs-msw.c (add_tree_item):
8907         * glyphs-msw.c (add_tab_item):
8908         new image instance parameter, so it can be passed to callback-ex.
8909         respect :callback-ex as well as :callback.
8910
8911         * glyphs-widget.c (VALID_GUI_KEYWORDS):
8912         add :callback-ex.
8913
8914         * glyphs.c (print_image_instance):
8915         prettify, e.g. now prints widget type.
8916
8917         * gui-x.h:
8918         certain funs have new image instance parameter.
8919
8920         * gui.c:
8921         * gui.c (get_gui_callback):
8922         * gui.c (gui_item_add_keyval_pair):
8923         * gui.c (gui_item_init):
8924         * gui.c (gui_add_item_keywords_to_plist):
8925         * gui.c (mark_gui_item):
8926         * gui.c (gui_item_hash):
8927         * gui.c (gui_item_equal):
8928         * gui.c (copy_gui_item):
8929         * gui.c (syms_of_gui):
8930         recognize callback-ex in a number of places.
8931         also, fix the annoying "can't get out of yes-no dialog" bug.
8932
8933         * gui.h:
8934         * gui.h (struct Lisp_Gui_Item):
8935         recognize callback-ex in a number of places.
8936
8937         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8938         new parameter in button_item_to_widget_value.
8939
8940         * glyphs-x.c (x_update_widget):
8941         * glyphs-x.c (x_button_instantiate):
8942         * glyphs-x.c (x_button_update):
8943         * glyphs-x.c (x_progress_gauge_instantiate):
8944         * glyphs-x.c (x_edit_field_instantiate):
8945         * glyphs-x.c (x_combo_box_instantiate):
8946         * glyphs-x.c (x_tab_control_instantiate):
8947         * glyphs-x.c (x_label_instantiate):
8948         new image instance parameter in various places.
8949
8950         * event-Xt.c:
8951         * event-Xt.c (enqueue_Xt_dispatch_event):
8952         this fun gets exported.
8953
8954         * gui-msw.c:
8955         * gui-msw.c (mswindows_handle_gui_wm_command):
8956         handle both :callback and :callback-ex, and generate our own
8957         event because it's one of the callback-ex arguments.
8958
8959         * gui-x.c:
8960         * gui-x.c (popup_selection_callback):
8961         handle both :callback and :callback-ex, and generate our own
8962         event because it's one of the callback-ex arguments.
8963         * gui-x.c (button_item_to_widget_value):
8964         * gui-x.c (gui_items_to_widget_values_1):
8965         * gui-x.c (gui_item_children_to_widget_values):
8966         * gui-x.c (gui_items_to_widget_values):
8967         new image instance parameter in various places.
8968
8969         * fns.c (Freplace_list):
8970         fix small typo in doc string.
8971
8972         * lisp.h:
8973         declare enqueue_Xt_dispatch_event.
8974
8975 2000-04-28  Ben Wing  <ben@xemacs.org>
8976
8977         * buffer.c:
8978         * buffer.c (Frecord_buffer):
8979         * buffer.c (syms_of_buffer):
8980         delete record-buffer-hook.
8981
8982         * fns.c:
8983         * fns.c (Freplace_list):
8984         * fns.c (syms_of_fns):
8985         new primitive replace-list.
8986
8987         * frameslots.h:
8988         slot for old buffer-alist.
8989
8990         * lisp.h:
8991         exfun replace-list.
8992
8993         * redisplay.c:
8994         * redisplay.c (redisplay_frame):
8995         * redisplay.c (syms_of_redisplay):
8996         * redisplay.c (vars_of_redisplay):
8997         new hook buffer-list-changed-hook.
8998         call it.
8999
9000 2000-04-27  Ben Wing  <ben@xemacs.org>
9001
9002         * extents.h: extern in_modeline_generation.
9003
9004         * redisplay.c (generate_formatted_string_db): set
9005         in_modeline_generation.
9006
9007         * extents.c (extent_changed_for_redisplay): don't mark redisplay
9008         flags if in modeline generation.  otherwise frame-modified-tick
9009         is ticked far too often.
9010         Declare in_modeline_generation.
9011
9012 2000-04-26  Ben Wing  <ben@xemacs.org>
9013
9014         * emacs.c (vars_of_emacs): document quick-build "error-checking"
9015         option.
9016         (vars_of_emacs): add quick-build as an error-checking option.
9017         A bit kludgy, but there doesn't seem much point in creating
9018         a real var for this.
9019
9020         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
9021
9022 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9023
9024         * redisplay.h (struct display_line): Add a new variable,
9025         line_continuation.
9026
9027         * redisplay.c (create_text_block): Set dl->line_continuation if
9028         the line continues.
9029         (create_string_text_block): Ditto.
9030         (regenerate_window_incrementally): Use line_continuation instead
9031         of searching continuation glyph.
9032         (add_margin_runes): Call add_glyph_rune.
9033         (add_glyph_rune): Handle margin glyph.
9034
9035 2000-04-20  Martin Buchholz  <martin@xemacs.org>
9036
9037         * filelock.c (fill_in_lock_file_name):
9038         ANSIfy.
9039         Check for IS_ANY_SEP instead of '/'.
9040         (lock_file_1):
9041         Avoid generating gratuitous garbage.  Call user_login_name() directly.
9042         Never check errno without first seeing that system call failed.
9043         (unlock_file): Add GCPRO.
9044         (Flock_buffer): Fix docstring.
9045         (Ffile_locked_p): Fix docstring.  Add GCPRO.
9046
9047 2000-04-19  Martin Buchholz  <martin@xemacs.org>
9048
9049         * sysdep.c (get_pty_max_bytes):
9050         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
9051         strings longer than 252 bytes.
9052
9053         * md5.c: Unconditionally include ANSI header <limits.h>
9054
9055         * glyphs-x.c (convert_EImage_to_XImage):
9056         * lisp-union.h (union Lisp_Object):
9057         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
9058
9059 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9060
9061         * filelock.c (current_lock_owner): Remove unused variable o, p.
9062
9063 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
9064
9065         * callint.c: Remove multiply defined symbol Qlet
9066         (syms_of_callint): ditto.
9067
9068 2000-04-14  Andy Piper  <andy@xemacs.org>
9069
9070         * general.c (syms_of_general): add last-command, this-command, let
9071         and funcall.
9072
9073         * lisp.h: declare various symbols.
9074
9075         * glyphs.h: declare Qwidget_callback_current_channel;
9076
9077         * glyphs-widget.c (syms_of_glyphs_widget): add
9078         Qgui_callback_current_channel.
9079         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
9080
9081         * gui-msw.c (mswindows_handle_gui_wm_command): bind
9082         widget-callback-current-channel when invoking the interactive
9083         arg. Also bind last-command and next-command when invoking the
9084         widget updates.
9085         * gui-x.c (popup_selection_callback): ditto.
9086
9087         * gui.c (get_gui_callback): massage args so that we are always
9088         calling eval. This allows us to add our own variable bindings
9089         outside.
9090
9091         * glyphs-x.c (x_button_instantiate): use
9092         gui_items_to_widget_values since this is GC safe.
9093         (x_progress_gauge_instantiate): ditto.
9094         (x_edit_field_instantiate): ditto.
9095         (x_label_instantiate): ditto.
9096
9097         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
9098         (emacs_Xt_event_widget_focus_out): new function
9099         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
9100         focus.
9101         (emacs_Xt_event_add_widget_actions): new function. add focus
9102         functions as actions.
9103         (init_event_Xt_late): use it.
9104
9105 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
9106
9107         * event-stream.c (Fdispatch_event): Doc fix.
9108
9109 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
9110
9111         * postgresql.c: Remove all references to PQsetenv*.
9112
9113         * postgresql.h: Remove references to PGsetenvHandler object.
9114         * lrecord.h (lrecord_type): Ditto.
9115
9116 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9117
9118         * glyphs-msw.h (struct mswindows_image_instance_data): Added
9119         real_heigh and real_width members, and accessor macros for these.
9120
9121         * glyphs-msw.c (init_image_instance_geometry): New function.
9122         (init_image_instance_from_dibitmap): Use it.
9123         (mswindows_resource_instantiate): Use it.
9124         (init_image_instance_from_xbm_inline): Use it.
9125         (mswindows_initialize_image_instance_mask): Use real bitmap
9126         geometry.
9127         (mswindows_create_resized_bitmap): Ditto.
9128         (mswindows_create_resized_mask): Ditto.
9129
9130         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
9131         and bitmap to their surface size.
9132
9133 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
9134
9135         * process-unix.c (unix_send_process): Guard against process MIA
9136         after Faccept_process_output.
9137
9138 2000-04-11  Ben Wing  <ben@xemacs.org>
9139
9140         * eval.c (unbind_to_hairy): fix brokenness introduced by
9141         nanosecond speed improvements.
9142
9143 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
9144
9145         * sunplay.c (init_device): To play sounds correctly, the device
9146         apparently needs to be initialized at least once by XEmacs.  Make
9147         it so.
9148
9149 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9150
9151         * redisplay.c (add_margin_runes): Add text image glyph
9152           handling.
9153
9154 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9155
9156         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
9157         gcc is newer than 2.5.
9158
9159 2000-04-06  Colin Rafferty  <colin@xemacs.org>
9160
9161         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
9162
9163         * fns.c (size_bit_vector):
9164         * alloc.c (size_vector):
9165         (make_vector_internal):
9166         (make_bit_vector_internal):
9167         (sweep_bit_vectors_1):
9168         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
9169
9170 2000-04-06  Andy Piper  <andy@xemacs.org>
9171
9172         * gmalloc.c (malloc): undo previous change.
9173         (malloc): ditto.
9174         (free): ditto.
9175         (realloc): ditto.
9176
9177 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
9178
9179         * line-number.c (buffer_line_number): Revert to former version.
9180
9181 2000-04-06  Andy Piper  <andy@xemacs.org>
9182
9183         * gmalloc.c (malloc): add error checking.
9184         (malloc): ditto.
9185         (free): ditto.
9186         (realloc): ditto.
9187
9188         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
9189         button_item_to_widget_value arg.
9190
9191         * glyphs-x.c (x_button_instantiate): add extra
9192         button_item_to_widget_value arg.
9193         (x_progress_gauge_instantiate): ditto.
9194         (x_edit_field_instantiate): ditto.
9195         (x_label_instantiate): ditto.
9196
9197         * gui-x.c (gui_items_to_widget_values_1): add extra
9198         button_item_to_widget_value arg.
9199         (button_item_to_widget_value): add extra menu_item_p arg.
9200
9201         * gui-x.h: change signature of button_item_to_widget_value.
9202
9203         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
9204         button_item_to_widget_value arg.
9205
9206 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9207
9208         * buffer.h (struct buffer): auto_save_modified should be long.
9209
9210 2000-04-05  Andy Piper  <andy@xemacs.org>
9211
9212         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
9213         type.
9214         (button_query_geometry): give a little more room so that athena
9215         buttons fit.
9216
9217 2000-04-05  Andy Piper  <andy@xemacs.org>
9218
9219         * faces.c (complex_vars_of_faces): The widget face should inherit
9220         the font of the gui-element face.
9221
9222 2000-04-04  Andy Piper  <andy@xemacs.org>
9223
9224         * glyphs-x.c (x_button_update): new function. unconditionally
9225         update a button's state when the instance is dirty.
9226         (image_instantiator_format_create_glyphs_x): add x_button_update.
9227         (x_widget_instantiate): remove old resize cruft.
9228
9229 2000-04-02  Andy Piper  <andy@xemacs.org>
9230
9231         * frame.c (change_frame_size_1): The introduction of gutters means
9232         that we need to allow 0 as a potential frame dimension.
9233
9234 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9235
9236         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
9237         image glyph if allow_cursor.
9238         (add_hscroll_rune): Don't allow cursor to border glyph.
9239         (create_text_block): Ditto.
9240
9241         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
9242         text not in buffer.
9243         (redisplay_output_layout): Call ensure_face_cachel_complete for
9244         text image glyph.
9245
9246
9247 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9248
9249         * redisplay.c (add_glyph_rune): Adding text image as text runes.
9250
9251         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
9252         not in buffer
9253
9254         * redisplay-tty.c (tty_output_display_block): Delete the routine
9255         for text image glyph
9256         * redisplay-x.c (x_output_display_block): ditto
9257         * redisplay-msw.c (mswindows_output_display_block): ditto
9258
9259 2000-02-02  Mike Alexander  <mta@arbortext.com>
9260
9261         Note: Some of these were committed by accident as part of other
9262         patches.
9263
9264         * regex.c (regex_compile): Avoid compiler warnings.
9265
9266         * ntproc.c (sys_spawnve): Avoid compiler warnings.
9267
9268         * nt.h: Declare term_ntproc correctly.
9269
9270         * nt.c: Remove incorrect declaration of get_home_directory which
9271         is declared correctly in lisp.h.
9272
9273         * keymap.c (get_keyelt): Avoid compiler warnings.
9274         (raw_lookup_key_mapper): Avoid compiler warnings.
9275
9276         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
9277
9278         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
9279
9280         * filemode.c (mode_string): Avoid compiler warnings.
9281
9282         * file-coding.c (Fcoding_system_aliasee): Add return statement to
9283         avoid warning.
9284
9285         * events-mod.h: Undef some things that winuser.h defines differently.
9286
9287         * data.c (Faset): Avoid compiler warnings.
9288
9289         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
9290
9291 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9292
9293         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
9294         Fall through to simple beep on error.
9295         Replace "extern" by real header file.
9296
9297         * linuxplay.c: Use nativesound.h
9298         (play_sound_data): Return error code. Be less verbose on error.
9299
9300         * sunplay.c: Use nativesound.h
9301         (play_sound_data): Return error code. Be less verbose on error.
9302
9303         * ntplay.c: Use nativesound.h
9304         (play_sound_data): Return fake error code
9305
9306         * sgiplay.c: Use nativesound.h
9307         (play_sound_data): Return error code
9308
9309         * hpplay.c: Use nativesound.h, partially implement
9310         new error code. Break compilation until finished.
9311         (play_sound_data): error code.
9312
9313         * nativesound.h (play_sound_file):
9314           (play_sound_data): Prototype in new header.
9315
9316 2000-03-31  Andy Piper  <andy@xemacs.org>
9317
9318         * glyphs-widget.c: (button_query_geometry): new function. Adjust
9319         for toggle and radio buttons.
9320         (image_instantiator_buttons): use it.
9321
9322 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9323
9324         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
9325         (x_update_horizontal_scrollbar_callback): Return if no mirror was
9326         found. Scrollbar event probably belonged to some old config.
9327
9328 2000-03-31  Andy Piper  <andy@xemacs.org>
9329
9330         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
9331         than 1.
9332         (initialize_widget_image_instance): default layout to
9333         LAYOUT_HORIZONTAL rather than 0.
9334         (widget_instantiate): reverse the item list at the end rather than
9335         every iteration.
9336         (layout_layout): re-code for the border text at the front of the
9337         item list rather than at the end.
9338         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
9339         provided by the user.
9340         (widget_query_geometry): comment.
9341
9342 2000-03-30  Andy Piper  <andy@xemacs.org>
9343
9344         * glyphs-widget.c (image_instantiator_layout): allow standard
9345         widget keywords in layouts.
9346
9347         * gutter.c (output_gutter): cope with nil gutter contents.
9348
9349         * frame.c (Fset_frame_properties): add gutter docs.
9350
9351 2000-03-29  Andy Piper  <andy@xemacs.org>
9352
9353         * toolbar-msw.c (TBSTYLE_FLAT): add.
9354         (mswindows_output_toolbar): minor fiddling.
9355
9356 2000-03-29  Andy Piper  <andy@xemacs.org>
9357
9358         * gutter.c (output_gutter): force gutter size recalculation if
9359         what we are trying to display won't fit.
9360         (update_gutter_geometry): new function. A per-gutter version of
9361         update_frame_gutter_geometry.
9362         (update_frame_gutter_geometry): use it.
9363         (redraw_exposed_gutter): add extra debugging output.
9364
9365 2000-03-28  Mike Alexander  <mta@arbortext.com>
9366
9367         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
9368         (pdump_file_unmap): Implement it on Windows
9369         (pdump_file_get): Save alocated handles for pdump_file_unmap
9370
9371 2000-03-28  Andy Piper  <andy@xemacs.org>
9372
9373         * gui.c (get_gui_callback): treat Quit specially.
9374
9375 2000-03-27  Andy Piper  <andy@xemacs.org>
9376
9377         * glyphs.c (image_instantiate): be careful to check in the same
9378         way we assigned.
9379
9380 2000-03-27  Didier Verna  <didier@xemacs.org>
9381
9382         * config.h.in: define the proper SMART_INCLUDE macro.
9383         handle renaming of `foo_h_path' to `foo_h_file'.
9384
9385         * database.c: ditto.
9386
9387         * emacs.c: ditto.
9388
9389         * linuxplay.c: ditto.
9390
9391         * terminfo.c: ditto.
9392
9393         * tooltalk.h: ditto.
9394
9395 2000-03-27  Andy Piper  <andy@xemacs.org>
9396
9397         * glyphs-msw.c (mswindows_update_widget): make sure the widget
9398         gets updated whenever the face might have changed.
9399
9400 2000-03-26  Mike Alexander  <mta@arbortext.com>
9401
9402         * dumper.c (pdump_resource_free): Fix the comment.
9403
9404 2000-03-21  Olivier Galibert  <galibert@pobox.com>
9405
9406         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
9407
9408 2000-03-22  Mike Alexander  <mta@arbortext.com>
9409
9410         * dumper.c: Include Windows headers on Windows
9411         (pdump_resource_free): Add a body to the function
9412         (pdump_load): exe_name -> exe_path and add some comments.
9413
9414 2000-03-25  Mike Alexander  <mta@arbortext.com>
9415
9416         * gui.c (copy_gui_item_tree): Return a value in all cases
9417
9418 2000-03-21  Didier Verna  <didier@xemacs.org>
9419
9420         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
9421         lwlib/config.h.in.
9422         (SMART_INCLUDE): new macro.
9423         (POSTGRES_INCLUDE): new macro to include postgresql headers from
9424         the proper location.
9425
9426         * postgresql.c: use it.
9427
9428         * inline.c: ditto.
9429
9430 2000-03-24  Andy Piper  <andy@xemacs.org>
9431
9432         * gutter.c (redraw_exposed_gutters): must be "in display" when we
9433         do this.
9434
9435 2000-03-24  Andy Piper  <andy@xemacs.org>
9436
9437         * redisplay-output.c (compare_runes): use image_instance_changed
9438         to detect changes. Do not depend on glyphs_changed, only depend on
9439         dirtiness.
9440          (redisplay_output_layout): add debug messages.
9441         (compare_runes): ditto.
9442
9443         * glyphs.h: declare new functions.
9444         (struct Lisp_Image_Instance): remove percent and associated
9445         accessors.
9446
9447         * gui.h: declare new copying functions.
9448
9449         * gui.c (copy_gui_item_tree): new function.
9450         (copy_gui_item): new function.
9451         (gui_item_id_hash): revert to standard hash.
9452         (gui_item_hash): ditto.
9453         (gui_item_hash_internal): deleted.
9454         (mark_gui_item): mark value.
9455         (gui_item_add_keyval_pair): add value.
9456         (gui_item_init): ditto.
9457         (gui_add_item_keywords_to_plist): ditto.
9458         (gui_item_equal): ditto.
9459         (syms_of_gui): add Q_value.
9460
9461         * glyphs-x.c (x_progress_gauge_update): use pending items and
9462         value for setting the state.
9463         (x_update_widget): don't set items from pending here.
9464
9465         * glyphs-widget.c (update_widget): update items here.
9466         (progress_gauge_set_property): use items for storing value. Put
9467         new value in pending items.
9468
9469         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
9470         items for new value. Convert percent -> value.
9471         (mswindows_tab_control_update): don't update items here.
9472
9473         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
9474         (update_subwindow): ditto.
9475         (image_instance_changed): new function. Compare hash values and
9476         past and present widget items.
9477         (image_instantiate): We more careful about where we instantiate
9478         things.
9479         (image_instantiate): add error checking.
9480
9481         * gutter.c (syms_of_gutter): use -hook.
9482
9483 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
9484
9485         * console-tty.c (Fset_console_tty_input_coding_system): Use
9486         Qkeyboard.
9487         (Fset_console_tty_output_coding_system): Use Qterminal.
9488         (tty_init_console): Use Qkeyboard and Qterminal.
9489
9490 2000-03-21  Ben Wing  <ben@xemacs.org>
9491
9492         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
9493         From Mike Alexander <mta@arbortext.com>.
9494
9495 2000-03-21  Ben Wing  <ben@xemacs.org>
9496
9497         * event-msw.c (mswindows_need_event): Horrible kludge to fix
9498         process brokenness.  Proper implementation to come.
9499         * callproc.c:
9500         Rename call-process-internal to old-call-process-internal.
9501         New impl. in process.el.
9502
9503 2000-03-21  Martin Buchholz  <martin@xemacs.org>
9504
9505         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
9506
9507 2000-03-20  Andy Piper  <andy@xemacs.org>
9508
9509         * glyphs.c (full_list_hash): make hashes of the same elements in
9510         different orders return different values.
9511
9512 2000-03-20  Martin Buchholz <martin@xemacs.org>
9513
9514         * XEmacs 21.2.32 is released.
9515
9516 2000-03-20  Martin Buchholz  <martin@xemacs.org>
9517
9518         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
9519         (DFC_MALLOC_USE_CONVERTED_DATA):
9520         Add aliasing-safe casts to allow use with char* or unsigned char*
9521         lvalues.
9522
9523         * eldap.c (Fldap_open):
9524         (Fldap_search_basic):
9525         (Fldap_add):
9526         (Fldap_modify):
9527         Make C++-compilable.
9528         Make sure GCPRO'ed variables are initialized.
9529         Use temp variables to avoid repeated calls to Flength.
9530
9531 2000-03-16  Martin Buchholz  <martin@xemacs.org>
9532
9533         * sysfile.h:
9534         Make sure PATH_MAX is always defined.
9535         Include limits.h for PATH_MAX.
9536         Deprecate use of MAXPATHLEN.
9537
9538 2000-03-10  Martin Buchholz  <martin@xemacs.org>
9539
9540         * emacs.c: Add reinit_vars_of_fileio.
9541         * symsinit.h: Add reinit_vars_of_fileio.
9542         * fileio.c (reinit_vars_of_fileio): New.
9543         * fileio.c (Fmake_temp_name):
9544         Initialize temp_name random number from microseconds to make
9545         collisions even less likely.  Initialize always at process startup
9546         time.  (make-temp-name) used to return the same file name twice in
9547         a row when PDUMP.
9548         Random stylistic fiddling.
9549         Comment fixes.
9550
9551 2000-03-20  Andy Piper  <andy@xemacs.org>
9552
9553         * glyphs.c (image_instantiate): allow text glyphs to be
9554         instantiated in the minibuffer window.
9555
9556 2000-03-19  Andy Piper  <andy@xemacs.org>
9557
9558         * glyphs.c (image_instance_hash): be careful about which items we
9559         hash on.
9560
9561         * glyphs-widget.c (tab_control_set_property): record into pending
9562         items rather than the actual items.
9563
9564         * glyphs-x.c (x_update_widget): use pending items to update with.
9565
9566         * glyphs-msw.c (mswindows_tab_control_update): use pending items
9567         to update with.
9568
9569         * glyphs.c (mark_image_instance): mark pending items.
9570
9571         * window.c (Fset_window_configuration): record the buffer.
9572         (Fselect_window): totally revert previous change which breaks many
9573         things.
9574
9575 2000-03-18  Andy Piper  <andy@xemacs.org>
9576
9577         * glyphs-msw.c (mswindows_tab_control_update): force selected
9578         item.
9579
9580         * glyphs.c (image_instantiate): don't allow the minibuffer as a
9581         window domain cache, otherwise we get inconsistencies at
9582         startup. There is something fishy at startup which can lead to the
9583         minibuffer being the selected window when the gutter content is
9584         instantiated.
9585
9586         * gui.c (parse_gui_item_tree_list): add probably unnecessary
9587         gcpros.
9588         (parse_gui_item_tree_children): ditto.
9589         (parse_gui_item_tree_item): ditto.
9590
9591         * glyphs.c (Fupdate_widget_instances): return something.
9592
9593 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9594
9595         * window.c (Fselect_window): Undo 2000-03-17 change.
9596
9597 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
9598
9599         * postgresql.c (Fpq_setenv): Remove this turkey when linking
9600         against v7.0 libraries.  Insta-coredump city until the postgres
9601         folks fix it.
9602
9603 2000-03-17  Andy Piper  <andy@xemacs.org>
9604
9605         * faces.c (complex_vars_of_faces): don't give the widget face an
9606         inherited background pixmap.
9607
9608         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
9609         selected item.
9610
9611         * event-stream.c (Fdispatch_non_command_events): return something.
9612
9613         * gutter.c (output_gutter): use widget face.
9614         (clear_gutter): ditto.
9615
9616         * NEWS: adjust again.
9617
9618         * window.c (Fselect_window): make sure this runs to completion to
9619         avoid oddities with Fset_window_configuration.
9620         (Fcurrent_window_configuration): in general do not save the
9621         minibuffer as the selected window.
9622
9623         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
9624
9625 2000-03-16  Olivier Galibert  <galibert@pobox.com>
9626
9627         * emacs.c (Frunning_temacs_p): Revert previous patch.
9628         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
9629
9630 2000-03-16  Andy Piper  <andy@xemacs.org>
9631
9632         * glyphs-x.c (x_tab_control_update): if no widget values then
9633         return.
9634
9635         * NEWS: update for new features.
9636
9637         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
9638         synthetic event to the native system.
9639         (reinit_vars_of_event_Xt): set force_event_pending to
9640         emacs_Xt_force_event_pending.
9641
9642         * events.h (struct event_stream): add force_event_pending.
9643
9644         * specifier.c (recompute_one_cached_specifier_in_window): add
9645         comment.
9646
9647         * redisplay.c (redisplay_frame): don't call
9648         update_frame_subwindows. Reset subwindow cachels when
9649         subwindows_changed, removing this was an optimization too far.
9650
9651         * redisplay-output.c (compare_runes): reorganize so that we catch
9652         glyph changes when we want them. Set optimize_output when this
9653         would help layouts.
9654         (redisplay_output_layout): remove frame_really_changed, use
9655         optimize_output instead.
9656
9657         * redisplay-msw.c (mswindows_output_display_block): reset
9658         optimize_output after outputting a glyph.
9659         * redisplay-x.c (x_output_display_block): ditto.
9660         * redisplay-tty.c (tty_output_display_block): ditto.
9661
9662         * gutter.c: (specifier_vars_of_gutter): use new spec changed
9663         functions.
9664         (gutter_specs_changed): do specific gutter positions.
9665         (top_gutter_specs_changed): new function. Only update the
9666         specified gutter specs.
9667         (bottom_gutter_specs_changed): ditto.
9668         (left_gutter_specs_changed): ditto.
9669         (right_gutter_specs_changed): ditto.
9670
9671         * gui.c (gui_item_hash_internal): new function, does a real hash.
9672         (gui_item_id_hash): use it.
9673         (gui_item_hash): hash the eval'ed gui_item.
9674
9675         * gui-x.c (popup_selection_callback): send an eval event to call
9676         Fupdate_widget_instances.
9677
9678         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
9679         to call Fupdate_widget_instances.
9680
9681         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
9682         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
9683
9684         * glyphs.c: (update_frame_subwindows): deleted.
9685         (Fupdate_widget_instances): new function for updating the dirty
9686         state of widgets that might have changed.
9687         (syms_of_glyphs): add Qupdate_widget_instances.
9688         (full_list_hash): hash a list completely.
9689         (image_instance_hash): use it for items and properties.
9690
9691         * frame-msw.c (mswindows_size_frame_internal): remove unused
9692         variable.
9693
9694         * faces.h (struct face_cachel): fix comment.
9695
9696         * event-stream.c (Fdispatch_non_command_events): new
9697         function. Process non-command events, forcing an event cycle
9698         beforehand.
9699         (syms_of_event_stream): declare.
9700         (event_stream_force_event_pending): new function. Force an event
9701         on the native event queue so that an event cycle will occur next
9702         time we check.
9703
9704         * event-msw.c:
9705         (struct ntpipe_shove_stream):
9706         (mswindows_enqueue_dispatch_event):
9707         (mswindows_dequeue_dispatch_event):
9708         (mswindows_cancel_dispatch_event):
9709         (mswindows_pump_outstanding_events):
9710         (mswindows_drain_windows_queue):
9711         (mswindows_handle_paint):
9712         (mswindows_wnd_proc):
9713         (mswindows_key_to_emacs_keysym):
9714         (get_process_input_waitable):
9715         (emacs_mswindows_delete_stream_pair): re-indent file.
9716         (mswindows_need_event): do not process further fds if the windows
9717         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
9718         fixes the 100% cpu problem.
9719         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
9720
9721 2000-03-15  Olivier Galibert  <galibert@pobox.com>
9722
9723         * alloc.h: New.
9724         * dumper.h: New.
9725         * dumper.c: New.
9726
9727         * emacs.c: Moved dump file searching to dumper.c.
9728         (Frunning_temacs_p): Fixed.
9729
9730         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
9731         last_lrecord_type_index_assigned.
9732
9733 2000-02-20  Olivier Galibert  <galibert@pobox.com>
9734
9735         * symsinit.h: Added reinit parameter to init_console_stream
9736         declaration.
9737
9738         * lisp.h: Added file parameter to pdump_load declaration.
9739
9740         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
9741         support.  Added dump file searching.
9742
9743         * config.h.in: Added EMACS_PROGNAME.
9744
9745         * console-stream.c (init_console_stream): Fix reinitialisation
9746         when running from temacs.
9747
9748         * alloc.c (pdump): Add id support.
9749         (pdump_load): Add file parameter and signature/id support.
9750
9751         * Makefile.in.in: Add full pdump support.
9752
9753 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
9754
9755         * postgresql.c: Update documentation to reflect latest code
9756         status.
9757         (print_result): Show tuple counts in printed representation when
9758         appropriate.
9759         (Fpq_put_nbytes): MULE-ize.
9760         (Fpq_get_line_async): Ditto.
9761
9762 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9763
9764         * postgresql.c (Fpq_lo_import): Fix return value.
9765         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
9766
9767 2000-03-13  Ben Wing  <ben@xemacs.org>
9768
9769         * alloc.c (pdump_load):
9770         Fix compile warning under mswin.
9771
9772 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9773
9774         * postgresql.c: Mule-ization, bug fixes.
9775         Use PG_CODING to encapsulate coding system name changes.
9776         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
9777         (pg-coding-system): Create.
9778
9779         (Fpq_conn_defaults): Mule-ize.
9780         (Fpq_connectdb): Mule-ize & bug fix.
9781         (Fpq_connect_start): Mule-ize.
9782         (Fpq_set_client_encoding): Mule-ize.
9783         (Fpq_finish): Document `DEAD' connection status.
9784         (Fpq_clear): Ditto.
9785         (Fpq_pgconn): Mule-ize.
9786         (Fpq_exec): Mule-ize & bug fix.
9787         (Fpq_send_query): Ditto.
9788         (Fpq_get_result): Ditto.
9789         (Fpq_res_status): Mule-ize.
9790         (Fpq_result_error_message): Mule-ize.
9791         (Fpq_ntuples): fix comments.
9792         (Fpq_fname): Mule-ize.
9793         (Fpq_fnumber): Mule-ize.
9794         (Fpq_ftype): fix comments.
9795         (Fpq_get_value): Mule-ize.
9796         (Fpq_cmd_status): Ditto.
9797         (Fpq_cmd_tuples): Ditto.
9798         (Fpq_oid_value): Ditto.
9799         (Fpq_notifies): Ditto.
9800         (Fpq_lo_import): Ditto.
9801         (Fpq_lo_export): Ditto.
9802         (Fpq_get_line): Ditto.
9803         (Fpq_put_line): Mule-ize and bug fix.
9804         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
9805
9806 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9807
9808         * postgresql.c (vars_of_postgresql): Mule-ize.
9809         (Fpq_conn_defaults): Ditto.
9810
9811 2000-03-12  Ben Wing  <ben@xemacs.org>
9812
9813         * alloc.c (Fmake_byte_code):
9814         * alloc.c (debug_string_purity_print):
9815         * alloc.c (pdump_backtrace):
9816         * alloc.c (pdump_get_indirect_count):
9817         * alloc.c (pdump_register_sub):
9818         * alloc.c (pdump_register_object):
9819         * alloc.c (pdump_register_struct):
9820         * alloc.c (pdump_dump_data):
9821         * alloc.c (pdump_reloc_one):
9822         Minor cleanups.
9823
9824         * console-msw.c:
9825         * console-msw.c (GetConsoleHwnd):
9826         * console-msw.c (msw_hide_console):
9827         * console-msw.c (msw_show_console):
9828         * console-msw.c (msw_ensure_console_buffered):
9829         * console-msw.c (msw_output_console_string):
9830         * console-msw.c (console_type_create_mswindows):
9831
9832         a) Added functions to manipulate the console window for use with
9833         shell support.
9834
9835         b) Added support for writing text to the console, which is now
9836         used under Windows when xemacs is not being run non-interactively,
9837         to write text that would otherwise be destined for stdout because
9838         under these circumstances, text written to stdout tends to
9839         disappear and not be seen.
9840
9841         * console-msw.h:
9842         * event-Xt.c:
9843         * event-Xt.c (x_event_to_emacs_event):
9844         * event-Xt.c (describe_event_window):
9845         * events-mod.h (XEMACS_MOD_CONTROL):
9846         * events.c:
9847         * events.c (Fmake_event):
9848         * events.c (character_to_event):
9849         * events.c (event_to_character):
9850         * events.c (format_event_object):
9851         * events.c (Fevent_modifiers):
9852         * events.h:
9853         * events.h (struct key_data):
9854         * events.h (struct button_data):
9855         * events.h (struct misc_user_data):
9856         * frame-x.c (Fcde_start_drag_internal):
9857         * frame-x.c (Foffix_start_drag_internal):
9858         * gpmevent.c (Freceive_gpm_event):
9859         * keymap.c:
9860         * keymap.c (bucky_sym_to_bucky_bit):
9861         * keymap.c (control_meta_superify):
9862         * keymap.c (make_key_description):
9863         * keymap.c (keymap_lookup_directly):
9864         * keymap.c (create_bucky_submap):
9865         * keymap.c (keymap_store):
9866         * keymap.c (define_key_check_and_coerce_keysym):
9867         * keymap.c (define_key_parser):
9868         * keymap.c (define_key_alternate_name):
9869         * keymap.c (Fdefine_key):
9870         * keymap.c (raw_lookup_key_mapper):
9871         * keymap.c (struct map_keymap_unsorted_closure):
9872         * keymap.c (map_keymap_unsorted_mapper):
9873         * keymap.c (map_keymap_sort_predicate):
9874         * keymap.c (map_keymap_sorted):
9875         * keymap.c (accessible_keymaps_mapper_1):
9876         * keymap.c (where_is_recursive_mapper):
9877         * keymap.c (describe_map_mapper):
9878         * keymap.c (describe_map_sort_predicate):
9879         * keymap.c (describe_map):
9880         * keymap.c (complex_vars_of_keymap):
9881         And a number of other files, the key modifier preprocessor
9882         constants that xemacs uses have names that conflict with constants
9883         defined under MS Windows for other purposes, so they were renamed
9884         to begin with the prefix XEMACS_. The variables that hold such
9885         modifiers were changed to consistently be of type int to fix
9886         various compile warnings.
9887
9888         * console.c (complex_vars_of_console):
9889         * device.c:
9890         * device-msw.c:
9891         * device-msw.c (mswindows_finish_init_device):
9892         * device-msw.c (msw_get_workspace_coords):
9893         * device-msw.c (mswindows_device_system_metrics):
9894         and various other files, added support for a new
9895         device property called offset-workspace which returns the position
9896         of the upper left corner of the workspace area and goes along with
9897         the existing size-workspace property.
9898
9899         * dialog-msw.c:
9900         * dialog-msw.c (push_bufbyte_string_as_unicode):
9901         * dialog-msw.c (mswindows_popup_dialog_box):
9902         Added support for XEmacs-style accelerator specifications in
9903         button text.  Note: I didn't add support for this under X Windows,
9904         and somebody needs to do this.
9905
9906         * dialog.c:
9907         * dialog.c (Fpopup_dialog_box):
9908         Documented the support for accelerators that was just mentioned.
9909
9910         editfns.c (get_home_directory): Changed behavior under Windows
9911         when HOME not defined; former behavior was irretrievably broken.
9912
9913         * emacs.c:
9914         * emacs.c (main_1):
9915         * emacs.c (main):
9916         * minibuf.c (clear_echo_area_internal):
9917         * minibuf.c (echo_area_append):
9918         * print.c:
9919         * print.c (std_handle_out_external):
9920         * print.c (std_handle_out_va):
9921         * print.c (fatal):
9922         * print.c (write_string_to_stdio_stream):
9923         * print.c (output_string):
9924         * print.c (debug_print):
9925         * print.c (debug_backtrace):
9926         * print.c (debug_short_backtrace):
9927         Cleaned up the code that prints text to stdout so that this can be
9928         changed to output into a console window instead under MS Windows,
9929         as described above.
9930
9931         * eval.c:
9932         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
9933         * eval.c (internal_catch):
9934         * eval.c (unwind_to_catch):
9935         * eval.c (throw_or_bomb_out):
9936         * eval.c (condition_case_1):
9937         * eval.c (signal_1):
9938         * eval.c (check_error_state_sanity):
9939         * eval.c (call_with_suspended_errors_1):
9940         * eval.c (call_with_suspended_errors):
9941         * eval.c (reinit_vars_of_eval):
9942         Added code to catch throw loops and check for a pesky bug that may
9943         be gone now.
9944
9945         * event-msw.c:
9946         * event-msw.c (key_needs_default_processing_p):
9947         * event-msw.c (mswindows_wnd_proc):
9948         * event-msw.c (mswindows_modifier_state):
9949         * event-msw.c (emacs_mswindows_quit_p):
9950         * event-msw.c (vars_of_event_mswindows):
9951         a) Added support for using the alt key to select menu items as is
9952         standard under MS Windows.  This is controlled using the variable
9953         menu-accelerator-enabled, just like under X Windows.  There is an
9954         option on the options menu to turn this support on.  I really
9955         think that it should be on by default under Windows, but I'm not
9956         going to make this change yet.
9957
9958         b)  Added support for dynamic display size changes under Windows.
9959
9960         * event-stream.c:
9961         * event-stream.c (maybe_echo_keys):
9962         * event-stream.c (Fnext_event):
9963         * event-stream.c (command_builder_find_leaf):
9964         * event-stream.c (lookup_command_event):
9965         * event-stream.c (execute_command_event):
9966         * event-stream.c (pre_command_hook):
9967         * event-stream.c (post_command_hook):
9968         * event-stream.c (syms_of_event_stream):
9969         * event-stream.c (vars_of_event_stream):
9970         * event-stream.c (complex_vars_of_event_stream):
9971         * events.h (struct command_builder):
9972
9973         a) Tried to clean up a little bit the horribly written x-specific
9974         accelerator code that crept into this file.  I moved this code
9975         into menubar-x.c where it belongs. I also needed to move the
9976         command builder structure into the file events.h because it is
9977         accessed directly by this accelerator code.  What I didn't do, but
9978         which should be done at some point, is to properly abstract this
9979         code using device methods instead of the kludgy way that it
9980         currently hooks into the event code.
9981
9982         b) Added the lisp variables this-command-properties and
9983         last-command- properties, which should be used to synchronize two
9984         adjacent commands in preference to playing games with the variable
9985         this-command, which is typically what happens.
9986
9987         c) Added some slightly nasty code to hook into the lisp support
9988         for shifted- motion-key selection.  This is actually necessary for
9989         somewhat complicated reasons, which are described in
9990         simple.el. (NB: I think the proper thing would be to have the code
9991         that calls the pre and post command hooks also call out to generic
9992         lisp functions in simple.el, where all built-in stuff could be
9993         added.  I will think about this more.)
9994
9995         * event-unixoid.c (poll_fds_for_input):
9996         * lread.c (readchar):
9997         * redisplay-tty.c (tty_clear_frame):
9998         * redisplay-x.c (x_get_gc):
9999         * signal.c (interrupt_signal):
10000         And a whole bunch of other files: fixed up places that printed
10001         directly to stderr to instead call the function stderr_out so that
10002         the changes I made under Windows work correctly.
10003
10004         * filemode.c (mode_string):
10005         Warning fixes.
10006
10007         * frame-msw.c:
10008         * frame-msw.c (mswindows_size_frame_internal):
10009         Fixed the computation of frame size and position to keep the frame
10010         within the workspace area, rather than within the physical
10011         dimensions of the screen, so that the frame doesn't overlap window
10012         manager decorations, such as the start menu and toolbar, typically
10013         at the bottom of the screen.
10014
10015         * frame.c (vars_of_frame):
10016         Changed the default frame title format under MS Windows to consist
10017         of buffername-XEmacs, which is standard under MS Windows.  I think
10018         it might be a good idea to change this everywhere because I think
10019         it is superior to the current frame title format, but this is the
10020         kind of change that is likely to cause some people to get annoyed,
10021         so I'm not making it.
10022
10023         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
10024
10025         * gui-msw.c (mswindows_handle_gui_wm_command):
10026         Fixed compile warnings.
10027
10028         * gui-x.c:
10029         * gui-x.c (strdup_and_add_accel):
10030         * gui-x.c (button_item_to_widget_value):
10031         * gui-x.h:
10032         Added code to automatically put an accelerator onto the beginning
10033         of menu items that don't have one as is now the standard, and is
10034         described more later.  Also fixed things so that the menu item
10035         name can be an evaluated expression, again a new standard.
10036
10037         * gui.c:
10038         * gui.c (gui_item_add_keyval_pair):
10039         * gui.c (make_gui_item_from_keywords_internal):
10040         * gui.c (gui_add_item_keywords_to_plist):
10041         * gui.c (gui_item_accelerator):
10042         * gui.c (gui_name_accelerator):
10043         * gui.c (gui_item_included_p):
10044         * gui.c (gui_item_display_flush_left):
10045         * gui.c (gui_item_display_flush_right):
10046         * gui.c (parse_gui_item_tree_item):
10047         * gui.c (parse_gui_item_tree_children):
10048         * gui.c (parse_gui_item_tree_list):
10049         Mule-ized.  Cleanup.  GCPRO addition.
10050
10051         * line-number.c (buffer_line_number):
10052         * lisp.h:
10053         * lisp.h (EMACS_INT_MAX):
10054         Added the manifest constant EMACS_INT_MIN corresponding to the
10055         existing constant EMACS_INT_MAX.  This is partially to fix compile
10056         warnings under Windows, and partly for cleanliness.
10057
10058         * menubar-msw.c:
10059         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
10060         * menubar-msw.c (msw_translate_menu_or_dialog_item):
10061         * menubar-msw.c (displayable_menu_item):
10062         * menubar-msw.c (populate_menu_add_item):
10063         * menubar-msw.c (populate_or_checksum_helper):
10064         * menubar-msw.c (populate_menu):
10065         * menubar-msw.c (update_frame_menubar_maybe):
10066         * menubar-msw.c (prune_menubar):
10067         * menubar-msw.c (msw_char_is_accelerator):
10068         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
10069         * menubar-msw.c (mswindows_handle_wm_command):
10070         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
10071         * menubar-msw.c (mswindows_handle_wm_initmenu):
10072         * menubar-msw.c (mswindows_update_frame_menubars):
10073         * menubar-msw.c (mswindows_free_frame_menubars):
10074         * menubar-msw.c (mswindows_popup_menu):
10075         Fixed a bug in handling accelerators where an extra character
10076         would be displayed in the menu item.  Also generalized the
10077         function displayable_menu_item because it is now used by the
10078         dialog box code as well.  And finally, added code in the functions
10079         that create the menubar to extract a list of accelerators for the
10080         top level menubar, which is used in the event code to determine
10081         whether a particular alt-key combination should be used to invoke
10082         a menu item, or should be passed through to access the standard
10083         XEmacs keymap binding for this key combination.
10084
10085         Much needed GCPROing.
10086
10087         * menubar-x.c:
10088         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10089         * menubar-x.c (menu_item_descriptor_to_widget_value):
10090         * menubar-x.c (restore_in_menu_callback):
10091         * menubar-x.c (x_popup_menu):
10092         * menubar-x.c (menu_move_up):
10093         * menubar-x.c (menu_move_down):
10094         * menubar-x.c (menu_move_left):
10095         * menubar-x.c (menu_move_right):
10096         * menubar-x.c (menu_select_item):
10097         * menubar-x.c (command_builder_operate_menu_accelerator):
10098         * menubar-x.c (menu_accelerator_junk_on_error):
10099         * menubar-x.c (command_builder_find_menu_accelerator):
10100         * menubar-x.c (Faccelerate_menu):
10101         * menubar.h:
10102         Moved a whole bunch of code here that was previously in
10103         event-stream.c as described above.  There is also code connected
10104         to the new standard of adding an accelerator to the beginning of
10105         menu items that don't have one as described above and below.
10106
10107         * menubar.c:
10108         * menubar.c (menu_parse_submenu_keywords):
10109         * menubar.c (Fmenu_find_real_submenu):
10110         * menubar.c (Fnormalize_menu_item_name):
10111         * menubar.c (syms_of_menubar):
10112         * menubar.c (vars_of_menubar):
10113         * menubar.c (complex_vars_of_menubar):
10114
10115         a) Cleaned up a bunch of documentation and improved it.
10116
10117         b) XEmacs now automatically adds an accelerator onto the beginning
10118         of any menu items that don't have one.  I did this because there
10119         will inevitably be some menu items on the main menubar that don't
10120         have accelerators on them because the package that adds that
10121         particular menu item hasn't yet been fixed up to have accelerators
10122         in them and it looked rather strange to have some items with and
10123         some items without accelerators, especially since even in items
10124         without accelerators, you can, at least under windows, still
10125         access the item through an accelerator corresponding to the first
10126         character in the item's name.  If people don't like this behavior,
10127         I can add a variable to turn it off optionally, but I'm not sure
10128         this is a good idea because we really do need to have accelerators
10129         on all of the menu items, and if a package doesn't like the
10130         accelerators being put on the first character, then it should put
10131         the accelerators where they belong.
10132
10133         c) I made a behavior change, which is that the descriptor that
10134         specifies the text of the menu item, which formerly was just a
10135         string, can now also be an evaluated expression.  This makes this
10136         descriptor parallel with all of the others, which could also be
10137         evaluated expressions.  This also obviates the need for the
10138         keyword :label, which was previously listed in the documentation
10139         as unimplemented, and which was for the same purpose.
10140
10141         d) GCPROing.
10142
10143         * ntproc.c:
10144         * ntproc.c (new_child):
10145         * ntproc.c (sys_spawnve):
10146         * ntproc.c (find_child_console):
10147         * ntproc.c (sys_kill):
10148         Fixed compile warnings.  By the way, this file should really go
10149         away entirely, and this will happen as soon as Kirill makes his
10150         final round of process cleanups, which affect the function
10151         call-process.
10152
10153         * process-nt.c:
10154         * process-nt.c (struct nt_process_data):
10155         * process-nt.c (find_process_from_pid):
10156         * process-nt.c (send_signal_the_nt_way):
10157         * process-nt.c (enable_child_signals):
10158         * process-nt.c (find_child_console):
10159         * process-nt.c (send_signal_the_95_way):
10160         * process-nt.c (nt_finalize_process_data):
10161         * process-nt.c (ensure_console_window_exists):
10162         * process-nt.c (nt_create_process):
10163         * process-nt.c (nt_kill_child_process):
10164         * process-nt.c (nt_kill_process_by_pid):
10165         * process-nt.c (nt_open_network_stream):
10166         * process-nt.c (vars_of_process_nt):
10167         Copied over code from Emacs 20.5 to correctly send signals to sub-
10168         processes under Windows 95.  Also added code to automatically
10169         create and hide console window when a sub-process is created under
10170         Windows 95, which obviates the need for the separate runemacs.exe
10171         executable, and finally implemented some variables that were
10172         implemented in Emacs 20.5, but previously not in XEmacs.  These
10173         include mswindows- start-process-share-console and
10174         mswindows-start-process-inherit-error-mode. (Both of these only
10175         apply to Windows 95.)
10176
10177         * regex.c (regex_compile): Fixed a compile warning.
10178
10179         * select-msw.c:
10180         * select-msw.c (mswindows_own_selection):
10181         * select-msw.c (mswindows_get_foreign_selection):
10182         * select-msw.c (mswindows_disown_selection):
10183         * select-msw.c (console_type_create_select_mswindows):
10184         * select-msw.c (syms_of_select_mswindows):
10185         Cleaned up the file and implemented the device method
10186         selection_exists_p, which had accidentally been left out.  Also
10187         removed four lisp functions that were remnants from before the
10188         time when the selection code was properly device abstracted.
10189         These functions are no longer needed because there are generic
10190         equivalents, and because they were added recently and don't exist
10191         in FSF Emacs, I don't think there's any problem with just deleting
10192         them.
10193
10194         * sysdep.c:
10195         * sysdep.c (sys_subshell):
10196         Fixed a compile warning, although in this case there's probably
10197         something wrong with this code, and it ought to be looked into
10198         more thoroughly by somebody who understands it.
10199
10200         * window.c:
10201         * window.c (Fwindow_text_area_height):
10202         * window.c (Fwindow_width):
10203         * window.c (Fwindow_full_width):
10204         * window.c (Fwindow_pixel_width):
10205         * window.c (debug_print_window):
10206         * window.c (syms_of_window):
10207         Added functions window-text-area-height and window-full-width,
10208         which are functions for returning various width and height
10209         characteristics of a window. (One of these functions is necessary
10210         for making the file dialog box work correctly, and the other one
10211         was added for completeness.)  Also added a table to the
10212         documentation for window-height which describes the entire scheme
10213         for accessing width and height characteristics of a window.
10214
10215 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10216
10217         * nt.c (fstat): Added a comment for another problem with
10218         non-encapsulated [f]stat(), reported by Adrian Aichner
10219         <aichner@ecf.teradyne.com>.
10220
10221 2000-03-11  Andy Piper  <andy@xemacs.org>
10222
10223         * window.c (make_dummy_parent): initialize subwindow instance
10224         cache.
10225         (Fset_window_configuration): zero extent_modiff.
10226
10227 2000-03-10  Andy Piper  <andy@xemacs.org>
10228
10229         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
10230         more changes can be triggered.
10231         (Fredisplay_frame): ditto.
10232         (Fredraw_device): ditto.
10233         (Fredisplay_device): ditto.
10234         (redisplay_frame): make non-static.
10235         (redisplay_frame): call update_frame_gutter_geometry outside of
10236         display proper.
10237
10238         * gutter.h: declare update_frame_gutter_geometry.
10239
10240         * redisplay.h: declare redisplay_frame.
10241
10242         * gutter.c (update_frame_gutter_geometry): move geometry changes
10243         in update_frame_gutters here. Geometry changes can only occur
10244         outside of redisplay.
10245         (update_frame_gutters): remove geometry change code.
10246         (Fredisplay_gutter_area): make sure that we are in display when we
10247         update and that we have flushed any size changes.
10248
10249 2000-03-11  Andy Piper  <andy@xemacs.org>
10250
10251         * alloc.c (pdump_dump_data): remove i & count shadows.
10252
10253 2000-02-27  Mike Alexander  <mta@arbortext.com>
10254
10255         * sysdep.h: Declare pdump_read_file
10256
10257         * sysdep.c (pdump_read_file): New function
10258
10259         * alloc.c (pdump_load): Call pdump_read_file to get the portable
10260         dump data
10261
10262 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10263
10264         * lrecord.h: add `lrecord_type_pgsetenv'.
10265
10266 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
10267
10268         * symsinit.h: declare (vars|syms)_of* functions.
10269         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
10270
10271 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
10272
10273         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
10274
10275         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
10276         GCCs.
10277
10278         * emacs.c (main_1): Call postgres initialization code.
10279
10280         * postgresql.h: New file.  PostgreSQL RDBMS support.
10281         * postgresql.c: New file.
10282
10283 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10284
10285         * redisplay-output.c (redisplay_output_display_block): Disable
10286         redundant code.
10287
10288 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10289
10290         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
10291         (Fcanna_henkan_next): Ditto.
10292         (Fcanna_bunsetu_henkou): Ditto.
10293         (Fcanna_henkan_kakutei): Ditto.
10294         (Fcanna_henkan_end): Ditto.
10295         (Fcanna_henkan_quit): Ditto.
10296         (Fcanna_henkan_next): Set retun value correctly.
10297         (c2mu): Use unsigned char instead of signed char.
10298
10299 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10300
10301         * emacs.c (main_1): Always call syms_of_gui.
10302         * inline.c: include gui.h
10303
10304 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10305
10306         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
10307         converted to Lisp_Object.
10308         (Qtop_bottom): New variable.
10309         (syms_of_redisplay): Initialize it.
10310         * redisplay.h (Vvisible_bell): Ditto.
10311         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
10312         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
10313         only flash top and bottom.
10314
10315 2000-03-08  Andy Piper  <andy@xemacs.org>
10316
10317         * buffer.c (Frename_buffer): record new buffer name the right way.
10318
10319 2000-03-08  Andy Piper  <andy@xemacs.org>
10320
10321         * glyphs.c (update_subwindow): increase hash depth so that widget
10322         items get picked up properly.
10323
10324         * redisplay-output.c (compare_runes): increase hash depth so that
10325         widget items get picked up properly.
10326
10327 2000-03-08  Andy Piper  <andy@xemacs.org>
10328
10329         * gutter.c (output_gutter): add some debug.
10330
10331         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
10332         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
10333         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
10334
10335         * redisplay-output.c (compare_runes): use display_hash to
10336         determine if glyphs really are not the same.
10337
10338         * glyphs.c (update_subwindow): check display_hash to see if
10339         anything really needs to be updated. If not then do
10340         nothing. Record the display_hash after updating.
10341         (image_instance_equal): compare the image_instance face also.
10342
10343 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
10344
10345         * redisplay.h: Fix comment style.
10346
10347 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10348
10349         * consle-msw.h (struct mswindows_frame):
10350         Added new member paint_pending to indicate whether a WM_PAINT
10351         magic event has been queued for this frame.
10352
10353         * event-msw.c (mswindows_drain_windows_queue):
10354         Don't queue a WM_PAINT magic event if one is already queued.
10355         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
10356
10357         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
10358
10359 2000-03-07  Didier Verna  <didier@xemacs.org>
10360
10361         * dired.c: #include `regex.h' after `sysfile.h'.
10362
10363 2000-03-06  Martin Buchholz  <martin@xemacs.org>
10364
10365         * sound.c (init_nas_sound): Fix compiler warning.
10366
10367         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
10368         (FREE_STRUCT_P):
10369         (MARK_STRUCT_AS_FREE):
10370         (MARK_STRUCT_AS_NOT_FREE):
10371         Make `gcc -fstrict-aliasing' work properly.
10372
10373 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10374
10375         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
10376         (mswindows_delete_device): Call CoUnnitialize().
10377
10378         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
10379
10380 2000-02-25    <CraigL@DyCon.com>
10381
10382         * process-nt.c: MinGW now has <shellapi.h>, but still needs
10383         <errno.h>.
10384
10385         * sysdep.c: This extern declaration for environ prevents MinGW
10386         from finding the variable in CRTDLL.DLL.
10387
10388         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
10389         windows headers.
10390         (SHGFI_EXETYPE): ..
10391         (WM_MOUSEWHEEL): ..
10392         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
10393         definitions.
10394         (MMRESULT): Removed, now defined in cygwin's windows headers.
10395         (TIMECAPS): ..
10396         (uid_t,gid_t,pid_t,ssize_t): ..
10397         (_timeb): Removed, MinGW defines both _timeb and timeb.
10398         (HAVE_H_ERRNO): Added.
10399         (HAVE_TZNAME): Added, configure is not detecting this.
10400
10401 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
10402
10403         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
10404         * syntax.c (syntax_match): Use it.
10405
10406         * cmds.c: Import auto-fill-chars from FSF Emacs.
10407         (Vauto_fill_chars): New variables.
10408         (internal_self_insert): Check Vauto_fill_chars.
10409         (vars_of_cmds):
10410         Declare auto-fill-chars as a Lisp variable and initialize it.
10411
10412 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10413
10414         * fileio.c (Fmake_symbolic_link):
10415         (Ffile_symlink_p):
10416         Run handlers even if local machine doesn't have symlinks.
10417
10418 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10419
10420         * event-msw.c (mswindows_drain_windows_queue):
10421         Don't generate paint magic events for non-XEmacs frames.
10422
10423 2000-03-05  Andy Piper  <andy@xemacs.org>
10424
10425         * redisplay.c (redisplay_frame): generate_displayable_area and
10426         friends assumes that we are not in GC, we therefore have to make
10427         sure that this doesn't happen.
10428
10429         * gutter.c (calculate_gutter_size): generate_displayable_area
10430         assumes that we are not in GC, we therefore have to make sure that
10431         this doesn't happen.
10432
10433 2000-03-05  Martin Buchholz  <martin@xemacs.org>
10434
10435         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
10436
10437 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10438
10439         * redisplay.c (regenerate_window): Make sure we set a sane value
10440         for end_pos even if we jump out of the loop.
10441         (regenerate_window): Answer Ben's question :-).
10442         (start_end_of_last_line): Add may_error argument.
10443         (start_of_last_line):
10444         (end_of_last_line): Pass may_error = 0.
10445         (end_of_last_line_may_error): New function.
10446         (pixel_to_glyph_translation): Use it, so we don't crash in
10447         event_to_glyph.
10448
10449 2000-03-04  Andy Piper  <andy@xemacs.org>
10450
10451         * window.h (struct window): add gutter_extent_modiff.
10452
10453         * window.c (allocate_window): zero out gutter_extent_modiff.
10454
10455         * redisplay.h: declare sync_display_line_structs.
10456
10457         * redisplay.c (add_glyph_rune): add a better comment.
10458
10459         * redisplay-output.c (sync_display_line_structs): made non-static.
10460         (compare_runes): remove unneccesary glyph cachel access.
10461
10462         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
10463
10464         * gutter.c (output_gutter): don't output the gutter if extent
10465         changes only involve extents in buffers. use 4 sets of display
10466         lines.
10467         (gutter_extent_signal_changed_region_maybe): new function. Mark
10468         extents in gutters as changed.
10469         (update_frame_gutters): use 4 sets of display lines.
10470         (reset_gutter_display_lines): ditto.
10471         (free_frame_gutters): ditto.
10472         (redraw_exposed_gutter): force output of gutters.
10473
10474         * frame.h (struct frame): add 4 sets of gutter display lines.
10475
10476         * extents.c: (extent_changed_for_redisplay): signal changes to
10477         extents in strings in the gutter as well as extents in buffers.
10478
10479 2000-03-02  Andy Piper  <andy@xemacs.org>
10480
10481         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
10482
10483         * frame.c (Fmake_frame): make sure the gutters get initialized
10484         after the frame is visible.
10485         (set_frame_selected_window): re-arrange compilation macros a
10486         little.
10487         (change_frame_size_1): mark gutters changed.
10488
10489         * device.c (Fset_device_class): mark gutters changed.
10490
10491 2000-03-01  Andy Piper  <andy@xemacs.org>
10492
10493         * window.c (window_top_frame_gutter_height): deleted.
10494         (window_bottom_frame_gutter_height): ditto.
10495         (window_left_frame_gutter_height): ditto.
10496         (window_right_frame_gutter_height): ditto.
10497         (window_top_gutter_height): don't use them.
10498         (window_bottom_gutter_height): ditto.
10499         (window_left_gutter_width): ditto.
10500         (window_right_gutter_width): ditto.
10501         (Fsplit_window): ditto.
10502         (Fwindow_pixel_edges): don't use border dimensions here.
10503
10504         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
10505         (update_scrollbar_instance): ditto.
10506
10507         * redisplay.c (generate_modeline): don't take gutters into account.
10508         (generate_modeline): ditto.
10509         (redisplay_frame): small gutter display optimization.
10510
10511         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
10512
10513         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
10514         gutters into account.
10515
10516         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
10517         for window position and type.
10518
10519         * gutter.c (get_gutter_coords): fix for frame gutters.
10520         (update_frame_gutters): update frame geometry if the gutters have
10521         changed.
10522         (init_frame_gutters): record current gutter geometries.
10523
10524         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
10525         var.
10526         (mswindows_widget_instantiate): ditto.
10527
10528         * frame.h (struct frame): add current_gutter_bounds.
10529
10530         * frame.c (change_frame_size_1): position window and minibuffer
10531         appropriately taking into account the frame gutters.
10532
10533         * frame-x.c: (x_initialize_frame_size): take into account the
10534         frame gutters.
10535
10536 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10537
10538         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
10539
10540 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10541
10542         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
10543
10544 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10545
10546         * file-coding.c (reset_decoding_stream): Clear previous
10547         detection state when autodetect.
10548
10549 2000-02-29  Didier Verna  <didier@xemacs.org>
10550
10551         * extents.c (set_extent_glyph_1): don't require extents to be
10552         attached.
10553
10554 2000-02-27  Andy Piper  <andy@xemacs.org>
10555
10556         * gutter.c (Fset_default_gutter_position): don't default left and
10557         right gutter visibility to t.
10558         (Fset_default_gutter_position): run
10559         default-gutter-position-changed-hook.
10560         (syms_of_gutter): add default-gutter-position-changed-hook.
10561
10562 2000-02-26  Andy Piper  <andy@xemacs.org>
10563
10564         * specifier.c (Fmake_specifier): add gutter references.
10565
10566         * gutter.h (RAW_WINDOW_GUTTER): new macro.
10567
10568         * lisp.h: declare Fvalid_plist_p.
10569
10570         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
10571         as changed.
10572         (default_gutter_visible_p_changed_in_window): invalidate gutter as
10573         well as its visibility so that it gets reconstructed.
10574         (construct_window_gutter_spec): new function. Construct a string
10575         to be displayed in the gutter from a plist of strings. Take care
10576         to only use elements that are declared as visible.
10577         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
10578         WINDOW_GUTTER.
10579         (gutter_validate): allow plists of strings in the specifier.
10580         (gutter_specs_changed): construct the real_gutter from the gutter
10581         specs using construct_window_gutter_spec.
10582         (gutter_visible_validate): gutter-visible is a new specifier type.
10583         (Fgutter_visible_specifier_p): new function for the new specifier.
10584         (syms_of_gutter): declare gutter-visible and
10585         Fgutter_visible_specifier_p.
10586         (specifier_type_create_gutter): intitalize new gutter-visible
10587         specifier.
10588         (reinit_specifier_type_create_gutter): ditto.
10589         (specifier_vars_of_gutter): use new specifier type for gutter
10590         visibility.
10591         (init_frame_gutters): construct real_gutter correctly.
10592         (Fgutter_specifier_p): beef up documentation.
10593         (Fgutter_size_specifier_p): ditto.
10594
10595         * winslots.h: add real_gutter slots.
10596
10597 2000-02-25  Andy Piper  <andy@xemacs.org>
10598
10599         * device-msw.c: Be kind to older cygwin versions. From Raymond
10600         Toy <toy@rtp.ericsson.se>.
10601
10602         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
10603         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
10604
10605 2000-02-25  Martin Buchholz  <martin@xemacs.org>
10606
10607         * elhash.c (MARK_OBJ): Practice macro hygiene.
10608
10609 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10610
10611         * miscplay.c: s/__inline__/inline/g;
10612         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
10613         (get_device_compdc): INLINE ==> static inline
10614         * *.[ch]: Change INLINE to INLINE_HEADER globally.
10615         find -name '*.h' | \
10616         xargs global-replace \
10617         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
10618
10619 2000-02-25  Andy Piper  <andy@xemacs.org>
10620
10621         * window.c (window_top_frame_gutter_height): new function.
10622         (window_top_window_gutter_height): ditto.
10623         (window_top_gutter_height): use them.
10624         (window_bottom_frame_gutter_height): new function.
10625         (window_bottom_window_gutter_height): ditto.
10626         (window_bottom_gutter_height): use them.
10627         (window_left_window_gutter_width): new function.
10628         (window_left_frame_gutter_width): ditto.
10629         (window_left_gutter_width): use them.
10630         (window_right_window_gutter_width): new function.
10631         (window_right_frame_gutter_width): ditto.
10632         (window_right_gutter_width): use them.
10633         (window_pixel_height): new function. calulate window pixel height
10634         with frame gutter involvement.
10635         (Fsplit_window): calculate new sizes taking frame gutters into
10636         account.
10637         (window_char_height_to_pixel_height): don't include frame gutters.
10638         (window_char_height): use window_pixel_height.
10639         (window_pixheight): rename from window_pixel_height.
10640         (change_window_height): use it.
10641         (window_pixel_height_to_char_height): don't include frame gutters.
10642         (window_char_width_to_pixel_width): ditto.
10643
10644 2000-02-25  Andy Piper  <andy@xemacs.org>
10645
10646         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
10647         if it is.
10648
10649 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10650
10651         * alloc.c (staticpro):
10652         (staticpro_nodump):
10653         (dumpstruct):
10654         (dumpopaque):
10655         (pdump_wire):
10656         (pdump_wire_list):
10657         (compact_string_chars):
10658         (pdump_dump_wired):
10659         Convert:  if (foo) abort();  ==>  assert (! foo);
10660
10661         * eldap.c (Fldap_search_basic):
10662         (Fldap_add):
10663         (Fldap_modify):
10664         (Fldap_delete):
10665         Fix compiler warnings, and possible crashes if (random) return
10666         value were to be used.
10667
10668 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10669
10670         * device-msw.c: Workaround ResetDC failure.
10671
10672         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
10673         applying a devmode.
10674
10675         * redisplay-msw.c (get_frame_dc): Added start_page_p.
10676         (mswindows_text_width): Do not start printer page.
10677
10678         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
10679
10680         * glyphs-msw.c: Added image methods to msprinter console and
10681         msprinter-specific image instantiation.
10682
10683 2000-02-20  Mike Alexander  <mta@arbortext.com>
10684
10685         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
10686         to avoid crashes when selection-sets-clipboard is on
10687         (mswindows_own_selection): ditto
10688
10689 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10690
10691         * glyphs-msw.c:
10692         * redisplay-msw.c (get_frame_dc):
10693         (get_frame_compdc):
10694         * console-msw.h:
10695         * device-msw.c (mswindows_init_device):
10696         (mswindows_delete_device):
10697         (msprinter_init_device):
10698         (msprinter_delete_device):
10699         * frame-msw.c (mswindows_init_frame_1):
10700         (mswindows_delete_frame):
10701         (msprinter_init_frame_3):
10702         (msprinter_delete_frame): Move compatible DC to device object from
10703         frame object, for both mswindows and msprinter. Only one at a time
10704         is needed, it is a real waste to have one per frame!
10705
10706 2000-02-23  Andy Piper  <andy@xemacs.org>
10707
10708         * glyphs.c: add dynamic width and height elements.
10709         (image_instance_equal): ditto.
10710
10711         * glyphs-widget.c (widget_query_geometry): calculate width and
10712         height dynamically if required.
10713         (initialize_widget_image_instance): initialize dynamic dimensions.
10714         (widget_instantiate): pick-up dynamic dimensions.
10715
10716         * glyphs.h (struct Lisp_Image_Instance): add width and height for
10717         dynamic determination. Add appropriate macros.
10718
10719         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
10720         dimensions safe.
10721         (WINDOW_GUTTER_SIZE): ditto.
10722         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
10723
10724         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
10725         inline.
10726         (get_frame_dc): ditto.
10727
10728         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
10729         here.
10730
10731 2000-02-23  Martin Buchholz <martin@xemacs.org>
10732
10733         * XEmacs 21.2.31 is released.
10734
10735 2000-02-22  Ben Wing <ben@xemacs.org>
10736
10737         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
10738
10739 2000-02-22  Andy Piper  <andy@xemacs.org>
10740
10741         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
10742
10743 2000-02-21  Mike Sperber <mike@xemacs.org>
10744
10745         * .dbxrc:
10746         * .gdbinit:
10747         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
10748         variables.
10749
10750 2000-02-21  Mike Sperber <mike@xemacs.org>
10751
10752         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
10753
10754 2000-02-21  Martin Buchholz <martin@xemacs.org>
10755
10756         * XEmacs 21.2.30 is released.
10757
10758 2000-02-20  Martin Buchholz  <martin@xemacs.org>
10759
10760         Performance hacking.
10761         * *.c (syms_of_*):
10762         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
10763         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
10764         * emacs.c (main_1):
10765         * lisp.h (DEFUN):
10766         * console.c (DEFVAR_CONSOLE_LOCAL_1):
10767         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
10768         * symeval.h (DEFVAR_SYMVAL_FWD):
10769         * symbols.c (guts_of_unbound_marker):
10770         Make all c_readonly objects also lisp_readonly and marked for life.
10771         * lrecord.h (struct lrecord_implementation):
10772         Document flags better.
10773         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
10774         * lrecord.h (DECLARE_LRECORD):
10775         * lrecord.h (XSETRECORD):
10776         * lrecord.h (RECORDP):
10777         * lrecord.h (RECORD_TYPEP):
10778         * lrecord.h (RECORD_MARKER): New.
10779         * lrecord.h (error_check_*):
10780         * lrecord.h (CONCHECK_NONRECORD):
10781         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
10782         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
10783         * lrecord.h (set_lheader_implementation):
10784         * lrecord.h (enum lrecord_type): New.
10785         * symeval.h (SYMBOL_VALUE_MAGIC_P):
10786         * alloc.c (disksave_object_finalization_1):
10787         * alloc.c (mark_object):
10788         * alloc.c (lrecord_type_index):
10789         * alloc.c (tick_lcrecord_stats):
10790         * alloc.c (Fgarbage_collect):
10791         * alloc.c (init_alloc_once_early):
10792         * alloc.c (pdump_load):
10793         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
10794         * alloc.c (lrecord_type_index): Delete.
10795         Make lisp object type indexes be constant.
10796           Makes (byte-compile) 5% faster.
10797         Put all marker functions into their own array.
10798           Makes (garbage-collect) 5% faster.
10799         Optimize SYMBOL_VALUE_MAGIC_P.
10800           Makes (byte-compile) 2-3% faster.
10801         * config.h.in (gc_checking_assert): New.
10802         * alloc.c: Use gc_checking_assert().
10803         * .dbxrc: Make compatible with new object type implementation.
10804         * .gdbinit: Make compatible with new object type implementation.
10805         * alloc.c: Delete all symbols defined only for debugging, such as
10806         Lisp_Type_Vector and lrecord_charset.
10807
10808 2000-02-21  Andy Piper  <andy@xemacs.org>
10809
10810         * gui-msw.c (Fmswindows_shell_execute): fix file location
10811         problems.
10812
10813         * buffer.c (Fkill_buffer): remove buffer from alist buffer
10814         unshowing so that set_window_buffer doesn't undo
10815         kill_buffer_hook's hard work.
10816
10817         * glyphs-widget.c (tab_control_query_geometry): don't count the
10818         first item when calculating geometry.
10819
10820         * glyphs.c (map_subwindow): remove redundant code.
10821         (update_frame_subwindows): be more circumspect about when to
10822         update subwindows.
10823
10824         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
10825         when items haven't changed. Update faces if faces have changed as
10826         well as just the widget face.
10827         (x_tab_control_update): Update faces if faces have changed as well
10828         as just the widget face.
10829
10830 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10831
10832         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
10833         registration.
10834         (build_syscolor_string): Use mswindows_color_to_string to try to
10835         get a named color.
10836         (mswindows_device_system_metrics): Reverse the foreground and
10837         background colors so that they match the documentation.
10838
10839         * objects-msw.c: (mswindows_X_color_map): tweak some values so
10840         they match the default Windows palette.
10841         (mswindows_color_to_string): New function.
10842
10843 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10844
10845         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
10846
10847 2000-02-18  Olivier Galibert  <galibert@pobox.com>
10848
10849         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
10850         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
10851
10852         * symbols.c (init_symbols_once_early): Removed obsolete
10853         DATA_SEG_BITS related kludge.
10854         (defvar_magic): Ditto.
10855
10856         * malloc.c: Removed obsolete DATA_SEG_BITS
10857         * ralloc.c: Ditto.
10858         * mem-limits.h: Ditto.
10859
10860         * Makefile.in.in: Removed obsolete HAVE_SHM
10861         * emacs.c: Ditto.
10862
10863 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10864
10865         *  device-msw.c (mswindows_delete_device): Free DDE string
10866         handles.
10867
10868 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10869
10870         * keymap.c (get_keyelt):
10871         * unexnt.c (unexec):
10872         * vm-limit.c (memory_warnings):
10873         * ntheap.c (recreate_heap):
10874         * ntheap.h (UNINIT_PTR):
10875         * select-msw.c (Fmswindows_get_clipboard):
10876         (Fmswindows_set_clipboard):
10877         * objects-msw.h (MSWINDOWS_BAD_HFONT):
10878         * objects-msw.c:
10879         * menubar-msw.c (displayable_menu_item):
10880         * glyphs-msw.c:
10881         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
10882         * sysdep.c (sys_subshell):
10883         * process-nt.c (nt_create_process):
10884         * nt.c (normalize_filename):
10885         (dostounix_filename):
10886         (unixtodos_filename):
10887         * ntproc.c (win32_executable_type):
10888         * ntplay.c (play_sound_data_1):
10889         (play_sound_file):
10890         * editfns.c (get_home_directory):
10891         * event-msw.c (struct winsock_stream):
10892         (mswindows_dde_callback):
10893         * device-msw.c (msprinter_init_device):
10894         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
10895
10896         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
10897         mswindows_clear_toolbar were swapped!
10898
10899         * objects-msw.c:(colormap_t):
10900         (fontmap_t):
10901         * emacs.c (struct standard_args): Fixed const jumble.
10902
10903         * glyphs-widget.c (update_widget): Fixed comparison notation.
10904
10905         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
10906
10907         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
10908         __declspec(noreturn) syntax.
10909
10910 2000-02-19  Martin Buchholz  <martin@xemacs.org>
10911
10912         * eldap.c (Fldap_open):
10913         (Fldap_search_basic):
10914         (Fldap_add):
10915         (Fldap_modify):
10916         Use new coding system conversion macros.
10917
10918 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10919
10920         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
10921
10922 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
10923
10924         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
10925         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10926
10927         * eldap.c (Qadd, Qreplace): New constant symbols
10928         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
10929         interruptions by XEmacs signals
10930         Remove unnecessary calls to slow_down_interrupts and
10931         speed_up_interrupts
10932         (Fldap_search_basic): Renamed from Fldap_search_internal
10933         Added new optional parameter VERBOSE that triggers the
10934         display of progress messages
10935         Remove unnecessary calls to slow_down_interrupts and
10936         speed_up_interrupts
10937         LDAP result code analysis rewritten
10938         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10939         (syms_of_eldap): Define the new symbols and functions
10940
10941
10942 2000-02-17  Martin Buchholz  <martin@xemacs.org>
10943
10944         * realpath.c: Determine PATH_MAX maximally portably.
10945
10946         * insdel.c (bytecount_to_charcount): Optimize.
10947         The function used to be optimized for entirely ASCII sequences.
10948         Now it is optimized for successive characters from the same
10949         charset.  This also wins big for _mostly_ ASCII sequences.
10950
10951         * fileio.c (Ffile_truename): convert return from realpath() using
10952         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
10953         - Rewrite GCPROing slightly.
10954
10955         * sysdep.c (sys_open): Do filename conversion, like all other
10956         sys_* functions.  Fixes bug:
10957         (let ((file-name-coding-system 'iso-8859-2))
10958            (write-region x y latin2-name))
10959         ==> writes filename using internal encoding.
10960
10961 2000-02-18  Martin Buchholz  <martin@xemacs.org>
10962
10963         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
10964         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
10965         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
10966         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
10967         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
10968         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
10969         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
10970         (CONST_IF_NOT_DEBUG): Delete.
10971         * alloc.c (this_one_is_unmarkable): Delete.
10972         (mark_object): Don't check for this_one_is_unmarkable. Use the
10973         c_readonly flag instead.
10974         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
10975
10976 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10977
10978         * event-msw.c (mswindows_drain_windows_queue):
10979         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
10980         away redundant repaint events.
10981
10982 2000-02-17  Andy Piper  <andy@xemacs.org>
10983
10984         * redisplay.h: declare mark_redisplay_structs.
10985
10986         * redisplay.c (redisplay_window):
10987         (redisplay_frame): don't check subwindows_state_changed.
10988         (mark_redisplay): mark gutters here.
10989
10990         * glyphs.c: (instantiate_image_instantiator): always layout if we
10991         haven't done so already.
10992         (allocate_image_instance): don't mark as dirty.
10993         (update_subwindow): bind inhibit_quit.
10994
10995         * gutter.c (mark_gutters): new function.
10996
10997         * glyphs-x.c (x_update_widget): Always resize to get round a
10998         widget bug.
10999
11000         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
11001         breaking absolutely everything.
11002
11003         * gutter.h: declare mark_gutters.
11004
11005 2000-02-16  Martin Buchholz <martin@xemacs.org>
11006
11007         * XEmacs 21.2.29 is released.
11008
11009 2000-02-15  Olivier Galibert  <galibert@pobox.com>
11010
11011         * fns.c (size_bit_vector): Fix computation of the size.
11012
11013 2000-02-15  Martin Buchholz  <martin@xemacs.org>
11014
11015         * *.[ch]: Change CONST to const globally.
11016         find -name '*.[ch]' | \
11017         xargs global-replace \
11018         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
11019         - Remove vestigial references to CONST_IS_LOSING
11020
11021 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11022
11023         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
11024         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
11025         events instead of dispatching them directly.
11026         (mswindows_handle_paint): New function to do repainting.
11027         (mswindows_wnd_proc):
11028         (emacs_mswindows_handle_magic_event): Call above function.
11029
11030 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11031
11032         * objects-msw.c (mswindows_create_font_variant): Return the new
11033         font handle.
11034         (initialize_font_instance): Get font metrics from the underlined
11035         variant of the font to cope with the case where the underlined
11036         font has a bigger descent.
11037
11038 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11039
11040         * gui.c (gui_item_accelerator): Return the first underlined
11041         character in item name.
11042
11043 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11044
11045         * lisp.h: Added Qprinter.
11046
11047         * general.c (syms_of_general): Initialized it.
11048
11049         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
11050         (get_frame_dc):
11051         (get_frame_compdc): Made inline.
11052
11053         * console.h (struct console_methods): Added eject_page method.
11054
11055         * frame.h: Added FRAME_DISPLAY_P and friends.
11056         Aligned backslahes in many macros in more readable fashion.
11057         Added page_number to struct frame, and an accessor macro
11058         for it.
11059
11060         * defice.h: Added DEVICE_DISPLAY_P and friends.
11061
11062         * device.c (Fdevice_printer_p): Used these.
11063
11064         * frame.c (allocate_frame_core): Initialize page number.
11065         (Fprint_job_page_number):
11066         (Fprint_job_eject_page): Implemented.
11067
11068         * frame-msw.c (msprinter_eject_page): Added method.
11069         (msprinter_start_page): Added.
11070
11071         * window.c (Fwindow_truncated_p): Fixed docstring.
11072         (Fwindow_last_line_visible_height): Implemented.
11073
11074 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11075
11076         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
11077
11078 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11079
11080         * syntax.c (scan_words): Always advance at least one character.
11081
11082 2000-02-13  Andy Piper  <andy@xemacs.org>
11083
11084         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
11085         to make sure the glyph is in the cachels.
11086
11087         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
11088         global image instance flag.
11089         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
11090         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
11091
11092         * glyphs.c (allocate_image_instance): set dirty bits correctly.
11093         (Fset_image_instance_property): mark layout as changed.
11094         (invalidate_glyph_geometry_maybe): mark layout as changed.
11095         (glyph_width): use new NEEDS_LAYOUT macro.
11096         (glyph_ascent): ditto.
11097         (glyph_descent): ditto.
11098         (glyph_height): ditto.
11099         (image_instance_layout): mark layout as clean after laying out.
11100         (update_subwindow): don't mark layout as clean here.
11101
11102         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
11103         should no longer be needed.
11104
11105         * glyphs-x.c (x_update_widget): sanitize asserts.
11106         (x_finalize_image_instance): sanitize assignment to widgets.
11107
11108         * glyphs-widget.c (widget_instantiate): don't need to clear the
11109         layout flag here.
11110
11111 2000-02-13  Martin Buchholz  <martin@xemacs.org>
11112
11113         * sysdep.c (getcwd): Use standard prototype.
11114         * sysdep.h (getcwd): Use standard prototype.
11115
11116         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
11117         (sequence, start, end).
11118         Remove redundant type checking.
11119         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
11120         view of `caller-protects') to avoid a crash where the real fix was
11121         found elsewhere.
11122
11123 2000-02-12  Martin Buchholz  <martin@xemacs.org>
11124
11125         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
11126
11127         * s/sol2.h: Remove feature macro initialization.
11128
11129         * alloc.c (alloc_lcrecord): Add more type checking assertions.
11130         (vector_hash): New.  Code from internal_hash.
11131         * lrecord.h:
11132         Fix up allocation subsystem comments.
11133
11134         * config.h.in: Add __EXTENSIONS__ for Solaris.
11135
11136         * systime.h (EMACS_GETTIMEOFDAY): New.
11137         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
11138         Remove Solaris-specific code.
11139         Use void* for the (ignored) second arg for gettimeofday().
11140
11141         * elhash.c (hash_table_hash): Implement it, finally.
11142         * elhash.c:  Use hashcode_t.
11143
11144         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
11145         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
11146
11147         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
11148         * fns.c (size_bit_vector):
11149         * alloc.c (size_vector):
11150         (make_vector_internal):
11151         (make_bit_vector_internal):
11152         (sweep_bit_vectors_1):
11153         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
11154
11155 2000-02-10  Martin Buchholz  <martin@xemacs.org>
11156
11157         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
11158         Include strings.h to avoid warnings for bzero and strcasecmp.
11159
11160 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11161
11162         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
11163         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
11164
11165         * fns.c (size_bit_vector): New.  Declare bit vectors as a
11166         sequence.
11167
11168 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11169
11170         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
11171         use a value field instead.
11172         (symbol_value_forward_forward): Use value field.
11173         (DEFVAR_SYMVAL_FWD): Use value field.
11174         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
11175         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
11176         (DEFVAR_CONST_INT): Ditto.
11177         (DEFVAR_BOOL): Ditto.
11178         (DEFVAR_CONST_BOOL): Ditto.
11179         (DEFVAR_INT_MAGIC): Ditto.
11180         (DEFVAR_BOOL_MAGIC): Ditto.
11181
11182         * symbols.c (guts_of_unbound_marker): Use value field.
11183         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
11184         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
11185
11186         * lisp.h: Declare dumpopaque and noninteractive1.
11187
11188         * alloc.c (dumpopaque): Added.
11189         (pdump_dump_opaquevec): Added.
11190         (pdump): Call pdump_dump_opaquevec to dump opaque data.
11191         (pdump_load): Reload opaque data.  Sync noninteractive1 with
11192         noninteractive.
11193
11194 2000-02-10  Andy Piper  <andy@xemacs.org>
11195
11196         * glyphs.c (image_instance_layout): if the size changes, mark it
11197         as such.
11198
11199         * redisplay-output.c (redisplay_output_layout): Update the
11200         subwindow here.
11201         (redisplay_output_subwindow): ditto.
11202
11203         * glyphs.c (update_subwindow): make sure we reset flags for
11204         layouts as well as everything else.
11205
11206         * glyphs-widget.c (layout_layout): don't need to set the instances
11207         dimensions here.
11208
11209 2000-02-09  Martin Buchholz  <martin@xemacs.org>
11210
11211         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
11212         not HAVE_DLOPEN, which is a lower-level thing.
11213
11214         * .cvsignore: Ignore gmon.out
11215
11216 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
11217
11218         * .cvsignore: Ignore portable dumper xemacs.dmp file
11219
11220 2000-02-09  Andy Piper  <andy@xemacs.org>
11221
11222         * redisplay-output.c (redisplay_output_layout): be more clever
11223         about when we output based on the changed flags.
11224
11225         * glyphs.h (struct image_instantiator_methods): add update_method.
11226         (struct Lisp_Image_Instance): add changed flags. Declare new
11227         macros for manipulating them.
11228
11229         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
11230         (image_instance_parent_glyph): find an image_instance's parent
11231         glyph or image_instance.
11232         (image_instance_layout): mark the size as changed.
11233         (set_image_instance_dirty_p): new function. mark an image
11234         instance, plus all of its parents, as dirty.
11235         (Fset_image_instance_property): use it.
11236         (Fglyph_animated_timeout_handler): use it.
11237         (update_subwindow): call update_widget and device methods for
11238         update_subwindow. Mark all changed flags as clean.
11239         (Fresize_subwindow): mark size as changed.
11240
11241         * glyphs-x.c (x_finalize_image_instance): try and detect gc
11242         failures.
11243         (x_update_subwindow): only resize subwindows here.
11244         (x_update_widget): new function. Update all changed properties of
11245         a widget.
11246         (x_resize_subwindow): deleted.
11247         (x_widget_set_property): deleted.
11248         (x_progress_gauge_set_property): deleted.
11249         (x_progress_gauge_update): new function. Implement recorded
11250         changes.
11251         (x_tab_control_update): ditto.
11252         (x_tab_control_set_property): deleted.
11253         (console_type_create_glyphs_x): declare new functions.
11254         (image_instantiator_format_create_glyphs_x): ditto.
11255
11256         * glyphs-widget.c (widget_set_property): mark text changed.
11257         (update_widget): new function. Update properties of a widget.
11258         (widget_instantiate): for layouts make sure we set their
11259         children's parent correctly.
11260         (tab_control_set_property): new function. Record changes that will
11261         take place under redisplay's control.
11262         (progress_gauge_set_property): ditto.
11263         (image_instantiator_progress_guage): declare new functions.
11264         (image_instantiator_tab_control): ditto.
11265
11266         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
11267         now.
11268         (mswindows_update_widget): new function. Update all properties on
11269         a widget that have changed.
11270         (mswindows_button_update): new function. Update a button's set
11271         state.
11272         (mswindows_tab_control_update): new function. Update the items in
11273         a tab.
11274         (mswindows_tab_control_set_property): deleted.
11275         (mswindows_progress_gauge_update): new function. Update the
11276         progress gauge's progress.
11277         (mswindows_widget_set_property): deleted. This is all done
11278         asynchronously now.
11279         (mswindows_progress_gauge_set_property): ditto.
11280         (console_type_create_glyphs_mswindows): declare new methods.
11281         (image_instantiator_format_create_glyphs_mswindows): ditto.
11282
11283         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
11284         (msprinter_set_frame_properties): ditto.
11285
11286         * console.h (struct console_methods): Add update_widget_method.
11287
11288 2000-02-09  Andy Piper  <andy@xemacs.org>
11289
11290         * gui-msw.c (Fmswindows_shell_execute): Make
11291         mswindows-shell-execute industrial strength.
11292
11293 2000-02-08  Martin Buchholz  <martin@xemacs.org>
11294
11295         * lrecord.h: Make macro argument `props' match member function `plist'.
11296         * fns.c (Fget):
11297         * fns.c (Fput):
11298         * fns.c (Fremprop):
11299         * fns.c (Fobject_plist):
11300         * alloc.c:
11301         * symbols.c:
11302         Object property list frobbing cleanup.
11303         - Allow any lisp object (compared with `eq'), not just symbols, as
11304           keys in object plists.
11305         - Move symbol plist frobbing into symbols.c, where it belongs.
11306         - Move string plist frobbing into alloc.c, where it belongs.
11307         - Everything's an lrecord now, so no need to test for symbolp, etc.
11308         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
11309
11310         * extents.c: Reorder code to remove declarations.
11311
11312         * frame.h (store_in_alist): Remove useless declaration.
11313
11314 2000-02-07  Martin Buchholz  <martin@xemacs.org>
11315
11316         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
11317         * config.h.in: Add HAVE_XCONVERTCASE.
11318
11319 2000-02-07  Andy Piper  <andy@xemacs.org>
11320
11321         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
11322         it breaks many things.
11323
11324 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11325
11326         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
11327         actually can start a common comment type.
11328         * src/syntax.h (SYNTAX_END_P): ditto for end.
11329
11330 2000-02-07  Martin Buchholz <martin@xemacs.org>
11331
11332         * XEmacs 21.2.28 is released.
11333
11334 2000-02-06  Martin Buchholz  <martin@xemacs.org>
11335
11336         * event-Xt.c (x_keysym_to_character): New.
11337         (maybe_define_x_key_as_self_inserting_character): New.
11338         (x_has_keysym): New.
11339         Auto-define all keys on the keyboard as self-insert-key.
11340
11341 2000-02-02  Martin Buchholz  <martin@xemacs.org>
11342
11343         * menubar.c (vars_of_menubar): A small code simplification.
11344
11345         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
11346
11347         * ExternalShell.c:
11348         * ExternalClient.c:
11349         * EmacsShell-sub.c:
11350         * EmacsManager.c:
11351         * EmacsFrame.c:
11352         Use consistent style for specifying X resources.
11353
11354         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
11355         This makes (dontusethis-set-symbol-value-handler) actually usable.
11356
11357         * lrecord.h (lrecord_decription_type):
11358         * alloc.c (pdump_register_sub):
11359         (pdump_dump_data):
11360         (pdump_reloc_one):
11361         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
11362         Comply with XEmacs coding style.
11363         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
11364         args, and XD_LISP_OBJECT_ARRAY with 3 args.
11365
11366         * keymap.c (Faccessible_keymaps):
11367         Make (accessible-keymaps map "\C-h") do the Right Thing.
11368         Make (accessible-keymaps map []) do the Right Thing.
11369         Make (accessible-keymaps map "") do the Right Thing.
11370         (check_keymap_definition_loop): New function.
11371         (keymap_store_internal): Keep luser from shooting self in foot,
11372           via (define-key ctl-x-4-map "p" global-map).
11373         Remove fullness slot from struct Lisp_Keymap, since hash tables
11374         are now reliable.
11375         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
11376
11377 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11378
11379         * redisplay.c (init_redisplay): Fix small memory leak.
11380         * elhash.h:
11381         * elhash.c (pdump_reorganize_hash_table):
11382         Rename from reorganize_hash_table. Change prototype.
11383         Reuse the original memory for hentries.  Save 100k.
11384         * alloc.c (PDUMP_READ): new macro.
11385         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
11386         * alloc.c: No need to #ifndef before #undef.
11387
11388         * print.c: Allow debug_print() to print readably by modifying
11389         debug_print_readably.  Use consistent variable names.
11390
11391         * .dbxrc: Try to get things to work even if stopped in a function
11392         without source available by explicitly specifying source files.
11393 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11394
11395         * unexnt.c (_start): Removed bogus code which caused loading heap
11396         from differrent executable file.
11397         Removed bogus assignment to _fmode, which caused inconsistencies.
11398
11399 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11400
11401         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
11402         Have spawnve encapsulation regard DONT_ENCAPSULATE.
11403         Do not preliminary `#define signal sigset'.
11404
11405         * systime.h: Do not prototype environ on windows nt and cygwin,
11406         this conflicts with system header.
11407
11408         * syssignal.h: Use correct define for WINDOWSNT
11409
11410         * sysdep.h: Do not prototype environ on windows nt, this conflicts
11411         with system header.
11412
11413         * sysdep.c (near start of file): Fixed commentary and rearranged
11414         ifdefs in readable order.
11415         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
11416         (start_of_text):
11417         (end_of_text):
11418         (end_of_data): Do not compile in if using PDUMP.
11419
11420         * symsinit.h: Prototyped vars_of_nt().
11421
11422         * ntproc.c (windows9x_p): Added, instead of os_subtype.
11423         (find_child_console): Use it.
11424         (sys_kill): Use it.
11425
11426         * ntheap.h: Do not extern os_subtype.
11427
11428         * ntheap.c (cache_system_info): Do not cache unneeded:
11429         nt_major_version, nt_minor_version and os_subtype.
11430         (recreate_heap): Do not compile in when PDUMPing.
11431
11432         * nt.c (geteuid and friends): Use the new varibale
11433         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
11434         (init_user_info): Removed the above mentioned hackery.
11435         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
11436         stat has been fixed in the C runtime.
11437         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
11438
11439         * file-coding.c (struct file_coding_dump): Do not define
11440         ucs_to_mule_table in the struct if not MULE.
11441         (struct struct lrecord_description fcd_description_1): Do not dump
11442         the above.
11443
11444         * emacs.c (main_1): Call vars_of_nt().
11445         (right before Fdump_emacs_data): Don't need lastfile if using both
11446         portabe dumper and system malloc.
11447
11448         * alloc.c (Fmemory_limit): Conditionalized out.
11449         (pdump): Use OPEN_BINARY for the portable dump file.
11450         (pdump_load): Ditto.
11451
11452 2000-02-02  Mike Alexander  <mta@arbortext.com>
11453
11454         * nt.c (convert_time): Set tm_isdst before calling mktime and
11455         avoid calling it at all if the compiler supports 64 bit integers.
11456         Also initialize utc_base_ft before using it.
11457
11458 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11459
11460         * frame.c (change_frame_size_1): Take f->internal_border_width
11461         into consideration when calculating the width of the frame.
11462
11463 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11464
11465         * window.c (frame_min_height):
11466         (frame_size_valid_p):
11467         (frame_pixsize_valid_p): Added.
11468         (check_frame_size): Generalized.
11469
11470         * window.h: Prototyped the above.
11471
11472         * lisp.h:
11473         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
11474         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
11475         Deleted Vwin32_* and Vbinary_process_* unused variables.
11476
11477         * device-msw.c (msprinter_init_device): Do not get printer font
11478         list; Added DEVMODE functions.
11479
11480         * frame-msw.c: Added lots of printer code.
11481
11482         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
11483         general.c.
11484
11485         * console-msw.h: Added more msprinter device private slots.
11486
11487 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11488
11489         * event-msw.c (key_needs_default_processing_p): Added.
11490         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
11491
11492 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11493
11494         * glyphs.c (image_instance_layout): Mark image instance as clean
11495         after layout.
11496         (glyph_dirty_p): Removed redundant function.
11497         (invalidate_glyph_geometry_maybe): Added.
11498         (update_glyph_cachel_data): Call it.
11499
11500         * glyphs.h: Prototyped it.
11501
11502         * redisplay.c (add_glyph_rune): Call it.
11503         (redisplay_window): Reset glyphs cachels when frame faces have
11504         changed, thus forcing recomputation of built-in border glyphs.
11505
11506 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11507
11508         * Makefile.in.in: Make portable dumper and purify play well together.
11509         Add imperfect, but better than nothing, support for pdump.
11510         Remove xemacs.dmp when temacs is re-generated.
11511         Don't ignore errors when dumping xemacs.
11512
11513         * symbols.c (maybe_call_magic_handler): Remove one magic number.
11514
11515 2000-01-28  Andy Piper  <andy@xemacs.org>
11516
11517         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
11518         (setup_normal_frame): ditto.
11519         (setup_frame_without_minibuffer): ditto.
11520         (setup_minibuffer_frame): ditto.
11521         (delete_frame_internal): ditto.
11522         (Fmake_frame_invisible): ditto.
11523         (Ficonify_frame): ditto.
11524
11525         * window.h: change Fset_window_buffer signature.
11526
11527         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
11528         (Fset_window_buffer): allow recording of buffer if the window is
11529         the selected window.
11530         (window_loop): Use new Fset_window signature.
11531
11532 2000-01-23  Daniel Pittman  <daniel@danann.net>
11533
11534         * config.h.in: Added template for `HAVE_ATHENA_3D'
11535
11536 2000-01-29  Andy Piper  <andy@xemacs.org>
11537
11538         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
11539
11540         * gutter.c (output_gutter): Don't output if the window isn't live.
11541
11542 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11543
11544         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
11545         of 01/12/00: Moved SetFocus back here where it belongs.
11546
11547 2000-01-23  Andy Piper  <andy@xemacs.org>
11548
11549         * s/cygwin32.h: declare printer things.
11550
11551 2000-01-26  Andy Piper  <andy@xemacs.org>
11552
11553         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
11554         Alexander.
11555
11556 2000-01-24  Andy Piper  <andy@xemacs.org>
11557
11558         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
11559         (mswindows_button_instantiate): Make sure glyph is a pixmap.
11560
11561         * glyphs-widget.c (widget_instantiate): Avoid shadows.
11562
11563         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
11564
11565         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
11566
11567         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
11568         (mswindows_output_display_block): Avoid local shadows.
11569
11570         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
11571         (mswindows_enqueue_mouse_button_event): ditto.
11572         (mswindows_handle_gui_wm_command): remove declaration.
11573
11574         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
11575         warnings.
11576
11577         * console-msw.h: Avoid shadows.
11578         (mswindows_get_toolbar_button_text):
11579         (emacs_mswindows_create_stream_pair):
11580         (emacs_mswindows_delete_stream_pair):
11581         (mswindows_handle_toolbar_wm_command): declare.
11582
11583         * device-msw.c (build_syscolor_string): Avoid shadows.
11584
11585 2000-01-23  Andy Piper  <andy@xemacs.org>
11586
11587         * glyphs-widget.c (widget_instantiate): reverse the items for
11588         layouts so that children are in the expected order.
11589
11590 2000-01-28  Martin Buchholz  <martin@xemacs.org>
11591
11592         * ralloc.c: safe_bcopy ==> memmove
11593         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
11594         * s/msdos.h: Remove BCOPY macros.
11595         * insdel.c (gap_right): Remove BCOPY conditional code.
11596         * insdel.c (gap_left): Remove BCOPY conditional code.
11597         XEmacs demands a working ANSI C compiler - hence memmove.
11598
11599         * regex.c (regex_compile): Remove accidental use of trigraphs.
11600
11601 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11602
11603         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
11604         event timestamp.
11605
11606 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11607
11608         * event-msw.c (mswindows_drain_windows_queue): Added the
11609         parameter.
11610         (mswindows_need_event): Commented the call to
11611         mswindows_drain_windows_queue().
11612         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
11613         only.
11614
11615         * console-msw.h: Moved a few function prototypes here from
11616         event-msw.c.
11617
11618         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
11619         parameter from unsigned short to unsigned long.
11620         (Fmswindows_shell_execute): Added return value.
11621
11622 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11623
11624         * sysdep.c (init_system_name):
11625           process-unix.c (unix_canonicalized_host_name):
11626         Don't call freeaddrinfo() if getaddrinfo() fails.
11627
11628         * process-unix.c (unix_open_unix_network_stream):
11629         Moved the code to get a port # into address loop.
11630
11631 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11632
11633         * buffer.c (reinit_vars_of_buffer):
11634         The right place to initialize conversion_in_dynarr and
11635         conversion_out_dynarr.
11636
11637         * alloc.c (pdump): Use the real open() till sys_open() is functional.
11638
11639         * process-unix.c (unix_canonicalize_host_name): Muleize.
11640         (unix_open_network_stream): Muleize.
11641
11642         * buffer.h: Fix up prototypes for ralloc.c functions.
11643
11644 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11645         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
11646         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
11647                 instead of gethostbyname()
11648         * process-unix.c: In unix_canonicalize_host_name() and
11649                 unix_open_network_stream(), add code to use getaddrinfo()
11650                 instead of gethostbyname().
11651
11652 2000-01-27  Daniel Pittman <daniel@danann.net>
11653
11654         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
11655         libs when built with flat Athena.
11656
11657 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11658
11659         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
11660         Use coding standards for function prototypes.
11661
11662 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11663
11664         * dialog-msw.c (push_lisp_string_as_unicode):
11665         * doc.c (unparesseuxify_doc_string):
11666         * dired.c (Fuser_name_completion_1):
11667         * dired.c (Fuser_name_all_completions):
11668         * dired.c (free_user_cache):
11669         * dired.c (user_name_completion):
11670         * console-x.c (get_display_arg_connection):
11671         * minibuf.c (clear_echo_area_internal):
11672         * minibuf.c (echo_area_append):
11673         * eldap.c (Fldap_open):
11674         * eldap.c (Fldap_search_internal):
11675         * frame-x.c (x_set_frame_text_value):
11676         * frame-x.c (x_set_frame_properties):
11677         * frame-x.c (x_create_widgets):
11678         * redisplay-tty.c (term_get_fkeys_1):
11679         * objects-x.c (x_parse_nearest_color):
11680         * objects-x.c (x_valid_color_name_p):
11681         * objects-x.c (x_initialize_font_instance):
11682         * objects-x.c (x_list_fonts):
11683         * objects-x.c (x_find_charset_font):
11684         * tooltalk.c (Fadd_tooltalk_message_arg):
11685         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11686         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11687         * process-unix.c (unix_create_process):
11688         * ntproc.c (sys_spawnve):
11689         * sound.c (Fplay_sound_file):
11690         * sound.c (Fplay_sound):
11691         * buffer.c (init_initial_directory):
11692         * buffer.c (init_buffer):
11693         * editfns.c (init_editfns):
11694         * editfns.c (Ftemp_directory):
11695         * editfns.c (Fuser_full_name):
11696         * editfns.c (uncache_home_directory):
11697         * editfns.c (get_home_directory):
11698         * editfns.c (Fuser_home_directory):
11699         * editfns.c (Fformat_time_string):
11700         * editfns.c (Fcurrent_time_string):
11701         * gui-x.c (button_item_to_widget_value):
11702         * database.c (Fopen_database):
11703         * event-Xt.c (x_to_emacs_keysym):
11704         * event-Xt.c (x_event_to_emacs_event):
11705         * event-Xt.c (describe_event_window):
11706         * event-msw.c (mswindows_wnd_proc):
11707         * glyphs-eimage.c (jpeg_instantiate):
11708         * glyphs-eimage.c (gif_instantiate):
11709         * glyphs-eimage.c (png_instantiate):
11710         * glyphs-eimage.c (tiff_instantiate):
11711         * glyphs-x.c (xbm_instantiate_1):
11712         * glyphs-x.c (x_xbm_instantiate):
11713         * glyphs-x.c (x_xface_instantiate):
11714         * glyphs-x.c (autodetect_instantiate):
11715         * glyphs-x.c (cursor_font_instantiate):
11716         * glyphs-x.c (x_widget_instantiate):
11717         * glyphs-x.c (x_widget_set_property):
11718         * glyphs-x.c (x_widget_property):
11719         * glyphs-x.c (BUILD_GLYPH_INST):
11720         * print.c (write_string_to_stdio_stream):
11721         * print.c (output_string):
11722         * print.c (Falternate_debugging_output):
11723         * print.c (Fexternal_debugging_output):
11724         * glyphs-msw.c (extract_xpm_color_names):
11725         * glyphs-msw.c (mswindows_xpm_instantiate):
11726         * glyphs-msw.c (bmp_instantiate):
11727         * glyphs-msw.c (resource_name_to_resource):
11728         * glyphs-msw.c (mswindows_resource_instantiate):
11729         * glyphs-msw.c (xbm_instantiate_1):
11730         * glyphs-msw.c (mswindows_xbm_instantiate):
11731         * glyphs-msw.c (mswindows_xface_instantiate):
11732         * glyphs-msw.c (mswindows_widget_instantiate):
11733         * glyphs-msw.c (add_tree_item):
11734         * glyphs-msw.c (add_tab_item):
11735         * glyphs-msw.c (mswindows_combo_box_instantiate):
11736         * glyphs-msw.c (mswindows_widget_property):
11737         * glyphs-msw.c (mswindows_combo_box_property):
11738         * glyphs-msw.c (mswindows_widget_set_property):
11739         * console.c (stuff_buffered_input):
11740         * objects-msw.c (mswindows_initialize_color_instance):
11741         * objects-msw.c (mswindows_valid_color_name_p):
11742         * objects-msw.c (mswindows_list_fonts):
11743         * objects-msw.c (mswindows_font_instance_truename):
11744         * bytecode.c (optimize_compiled_function):
11745         * select-x.c (symbol_to_x_atom):
11746         * select-x.c (x_atom_to_symbol):
11747         * select-x.c (hack_motif_clipboard_selection):
11748         * select-x.c (selection_data_to_lisp_data):
11749         * select-x.c (lisp_data_to_selection_data):
11750         * select-x.c (Fx_get_cutbuffer_internal):
11751         * select-x.c (Fx_store_cutbuffer_internal):
11752         * buffer.h (TO_EXTERNAL_FORMAT): New function.
11753         * buffer.h (TO_INTERNAL_FORMAT): New function.
11754         * emacs.c (make_arg_list_1):
11755         * emacs.c (make_argc_argv):
11756         * emacs.c (main_1):
11757         * emacs.c (Fdump_emacs):
11758         * emacs.c (split_string_by_emchar_1):
11759         * file-coding.h:
11760         * lisp.h:
11761         * lstream.h:
11762         * symsinit.h:
11763         * device-x.c (x_init_device):
11764         * device-x.c (Fx_valid_keysym_name_p):
11765         * device-x.c (Fx_get_font_path):
11766         * device-x.c (Fx_set_font_path):
11767         * glyphs.c (bitmap_to_lisp_data):
11768         * glyphs.c (pixmap_to_lisp_data):
11769         * alloc.c (make_ext_string): Use coding system arguments.  Update
11770         all callers.
11771         * alloc.c (build_string):
11772         * callproc.c (child_setup):
11773         * callproc.c (init_callproc):
11774         * fileio.c (lisp_strerror):
11775         * fileio.c (directory_file_name):
11776         * fileio.c (Fexpand_file_name):
11777         * fileio.c (Ffile_truename):
11778         * fileio.c (Fsysnetunam):
11779         * fileio.c (Fdo_auto_save):
11780         * sysdep.c (sys_readdir):
11781         * tests.c: New file.  Allow adding C tests.
11782         Replace GET_* macros with a more comprehensible and flexible
11783         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
11784         Modify all calls.
11785         Any coding system can be used to do format conversion.
11786         Eliminate enum external_data_format.
11787         Eliminate convert_to_external_format.
11788         Eliminate convert_to_internal_format.
11789         Make sure file-name, keyboard, terminal, and ctext are always
11790         defined as coding systems or aliases.  Make
11791         file-name-coding-system, terminal-coding-system, and
11792         keyboard-coding-system magical variables that are equivalent to
11793         defining the corresponding coding system aliases.
11794
11795         * file-coding.c (Fcoding_system_canonical_name_p): New function.
11796         * file-coding.c (Fcoding_system_alias_p): New function.
11797         * file-coding.c (Fcoding_system_aliasee): New function.
11798         * file-coding.c (append_suffix_to_symbol): New function.
11799         * file-coding.c (dangling_coding_system_alias_p): New function.
11800         * file-coding.c (Ffind_coding_system):
11801         * file-coding.c (Fcopy_coding_system):
11802         * file-coding.c (encode_coding_no_conversion):
11803         * file-coding.c (syms_of_file_coding):
11804         * file-coding.c (vars_of_file_coding):
11805         Rewrite coding system alias code.
11806         Allow nested aliases, like symbolic links.
11807         Allow redefinition of coding system aliases.
11808         Prevent existence of dangling coding system aliases.
11809
11810         * dired.c (Fuser_name_completion_1):
11811         * dired.c (Fuser_name_all_completions):
11812         A crash would happen if user did QUIT in the middle of building
11813         user_name_cache.  Remove redundant code in mainline and unwind_protect.
11814
11815         * lisp.h:
11816         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
11817
11818         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
11819         an unsigned char *.  Update all callers.
11820
11821 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11822
11823         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
11824
11825 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11826
11827         * elhash.c (hentry_description): Use more portable definition.
11828         (resize_hash_table): Initialize new hentries using
11829         xnew_array_and_zero, thereby simplifying the code.
11830
11831         * mule-charset.c (make_charset): Make sure entire object is
11832         initialized, to avoid Purify warnings.
11833
11834         * alloc.c (resize_string): Fix unlikely crash with big strings.
11835
11836 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11837
11838         * realpath.c (xrealpath):
11839         Don't call getwd().
11840
11841 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11842
11843         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
11844
11845 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
11846
11847         * unexelfsgi.c (unexec): Change the way we decide which segment
11848         should be extended.
11849
11850         Assumption that .bss section should be outside the PT_LOADable
11851         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
11852         it's present) is inside the 'data' segment. This would fail the
11853         test which was used to find a segment to grow and cover new
11854         heap. Instead of this assumption, I created another one - on IRIX
11855         the segment to grow should start below .bss and it's address
11856         should extent above the end of .bss. Once this segment is
11857         identified, it's grown to accommodate the new heap and new
11858         zero-length .bss section is added at the end of .data2.
11859
11860 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11861
11862         * eval.c (Feval): Wrong number of arguments should use original
11863         function, not the indirect_function version of it.
11864
11865 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11866
11867         * glyphs-x.c (x_button_instantiate): Don't add image if
11868         it is not a pixmap.
11869         (x_locate_pixmap_file): Call Fexpand_file_name when file name
11870         is relative.
11871
11872 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
11873
11874         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
11875         declaration.
11876         (DEFVAR_INT_MAGIC): Ditto.
11877         (DEFVAR_BOOL_MAGIC): Ditto.
11878         * glyphs.h: Reindent backslash.
11879
11880 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11881
11882         * glyphs-widget.c (layout_query_geometry):
11883         (layout_layout): Use correct types for gheight, gwidth.
11884
11885 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11886
11887         * EmacsManager.c (QueryGeometry): Purified.
11888
11889 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11890
11891         * alloc.c (make_float): Make sure entire object is initialized, to
11892         avoid Purify warnings.
11893         (pdump_register_sub): Remove useless assignment.
11894         (pdump): Use xmalloc, not malloc.
11895         (pdump_load): Use xmalloc, not malloc.
11896
11897 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11898
11899         * callproc.c:
11900         * dired-msw.c:
11901         * fileio.c:
11902         * process-nt.c:
11903         * redisplay-msw.c:
11904         * sysdep.c: Removed redundant #include <windows.h>
11905
11906 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11907
11908         * frame.c (delete_frame_internal): Do not delete device when its
11909         implementation so declares.
11910         (delete_frame_internal): Set device selected frame to nil when
11911         last frame goes away.
11912
11913         * device-msw.c (msprinter_device_system_metrics): Implemented.
11914         (mswindows_device_system_metrics): Added 'device-dpi property.
11915
11916         * device.c: (Fdevice_printer_p): Added.
11917         Added 'offset-workspace device metric.
11918
11919         * console.h (device_metrics): Declared DM_offset_workspace.
11920
11921 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11922
11923         * fileio.c (Ffile_truename): Remove pointless and confusing
11924         initialization of elen.
11925
11926         * glyphs-widget.c: Compiler warning fixes.
11927
11928 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11929
11930         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
11931         instead of a Lisp_Object as argument to make it consistent with
11932         the other LIVE_P macros.
11933         (CHECK_LIVE_PROCESS): New macro.
11934
11935         * process.c: Declare Qprocess_live_p.
11936         (Fprocess_live_p): New function.
11937         (create_process): Use PROCESS_LIVE_P.
11938         (read_process_output): Ditto.
11939         (set_process_filter): Ditto.
11940         (Fdelete_process): Ditto.
11941         (kill_buffer_processes): Ditto
11942         (process_send_signal): Use CHECK_LIVE_PROCESS.
11943         (Fprocess_input_coding_system): Check whether process is still
11944         alive (fix PR#1061).
11945         (Fprocess_output_coding_system): Ditto.
11946         (Fprocess_coding_system): Ditto.
11947         (Fset_process_input_coding_system): Ditto.
11948         (Fset_process_output_coding_system): Ditto.
11949
11950 2000-01-23  Andy Piper  <andy@xemacs.org>
11951
11952         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
11953         layout and widget.
11954
11955         * glyphs.c (mark_image_instance): take into account changed
11956         image_instance format.
11957         (image_instance_equal): ditto.
11958         (image_instance_hash): ditto.
11959
11960         * glyphs-widget.c (widget_instantiate): Incorporate layout
11961         instantiation here. Delay layout of the layout until later.
11962         (layout_instantiate): deleted.
11963         (layout_query_geometry): new function. get the geometry of a
11964         layout.
11965         (layout_layout): layout a layout dynamically.
11966         (image_instantiator_widget): New function - splitting up
11967         image_instantiator_format_create_glyphs_widget for netwinder
11968         compilation.
11969         (image_instantiator_buttons):
11970         (image_instantiator_edit_fields):
11971         (image_instantiator_combo_box):
11972         (image_instantiator_scrollbar):
11973         (image_instantiator_progress_guage):
11974         (image_instantiator_tree_view):
11975         (image_instantiator_tab_control):
11976         (image_instantiator_labels):
11977         (image_instantiator_layout): ditto.
11978         (image_instantiator_format_create_glyphs_widget): Call preceding
11979         functions.
11980
11981 2000-01-22  Martin Buchholz  <martin@xemacs.org>
11982
11983         * process.c (Fset_process_coding_system):
11984         * device-x.c (Fx_keysym_hash_table):
11985         Docstring fixes.
11986
11987         * lstream.c (Lstream_write): Return documented value, not 0.
11988
11989         * fileio.c (directory_file_name):
11990         (Fsubstitute_in_file_name):
11991         (Fsubstitute_insert_file_contents_internal):
11992         (Fwrite_region_internal):
11993         * emacs.c:
11994         * sysdep.c:
11995         * getloadavg.c:
11996         * systty.h:
11997         Remove vestigial APOLLO-conditional code.
11998
11999 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12000
12001         * getpagesize.h: Add guard macros.
12002         * libsst.h: Add guard macros.
12003         * libst.h: Add guard macros.
12004         * line-number.h: Add guard macros.
12005         * ndir.h: Add guard macros.
12006         * sysfloat.h: Add guard macros.
12007         * sysfile.h: Add guard macros.
12008         * sysproc.h: Add guard macros.
12009         * syswait.h: Add guard macros.
12010         * xintrinsic.h: Add guard macros.
12011         * xintrinsicp.h: Add guard macros.
12012         * xmmanager.h: Add guard macros.
12013         * xmmanagerp.h: Add guard macros.
12014         * xmprimitive.h: Add guard macros.
12015         * xmu.h: Add guard macros.
12016         * gpmevent.h: Add copyright statement. Add guard macros.
12017         * miscplay.h: Add guard macros.
12018         * *.h: Use consistent C-standards-approved guard macro names.
12019
12020         * opaque.c (make_opaque): Switch parameter order.
12021         * opaque.h (make_opaque): Switch parameter order.
12022         Update all callers.
12023         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
12024
12025         * config.h.in (type_checking_assert): Added.
12026         (bufpos_checking_assert): Added.
12027
12028 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12029
12030         * alloc.c: Harmless pdump changes.
12031         - Use countof().
12032         - spell alignment correctly.
12033         * sysdep.c: Use countof()
12034
12035 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12036
12037         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
12038         initially_selected_for_input() console method, default to 0.
12039         (semi_canonicalize_console_connection): Try to delegate to
12040         canonicalize_console_connection if no such console method.
12041         (canonicalize_console_connection): Vice versa.
12042         (print_console): Do not print nil connection.
12043
12044         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
12045         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
12046         (XDEVIMPF_FRAMELESS_OK): Added.
12047         (CONSOLE_INHERITS_METHOD): Added.
12048
12049         * console-msw.c (mswindows_canonicalize_console_connection):
12050         Added.
12051         (mswindows_canonicalize_device_connection): Added.
12052
12053         * console-msw.h (struct msprinter_device): Added this struct and
12054         accessor macros.
12055         (mswindows_device): Made fontlist a lisp object.
12056
12057         * device.c (semi_canonicalize_device_connection):  Try to delegate
12058         to canonicalize_device_connection if no such console method.
12059         (canonicalize_device_connection): Vice versa.
12060         (print_device): Do not print nil connection.
12061
12062         * device-msw.c (mswindows_init_device): Call InitCommonControls
12063         when have widgets.
12064         (mswindows_delete_device): Removed fontlist deallocation.
12065         (mswindows_mark_device): Added.
12066
12067         * events.c (event_equal): Added abort() at unreached code.
12068         (event_hash): Ditto.
12069
12070         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
12071         fallback tags of Windows devices.
12072
12073         * general.c (syms_of_general): Initialized Qmsprinter.
12074
12075         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
12076         of fallback tags of Windows devices.
12077
12078         * lisp.h: Declared Qmsprinter.
12079
12080         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
12081         of strings.
12082         (mswindows_list_fonts): Ditto.
12083         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
12084         that it can be used by both mswindows and msprinter devices.
12085         (initialize_font_instance): Added.
12086         (mswindows_initialize_font_instance): Use it.
12087         (msprinter_initialize_font_instance): Added.
12088
12089         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
12090         and implementation flags check.
12091         (redisplay_without_hooks): Changed the call to the above.
12092         (Fredraw_device): Ditto.
12093         (Fredisplay_device): Ditto.
12094
12095         * redisplay-msw.c (get_frame_dc): Implemented.
12096         (get_frame_compdc): Implemented.
12097         (many functions): Use the two functions above to get device
12098         contexts, ether for a window or a printer.
12099
12100 2000-01-21  Olivier Galibert  <galibert@pobox.com>
12101
12102         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
12103         initialization here.
12104         (init_symbols_once_early): Call it.
12105         * emacs.c (main_1): Call it.
12106         * symsinit.h: Declare it.
12107
12108 2000-01-19  Olivier Galibert  <galibert@pobox.com>
12109
12110         * alloc.c: Use a lrecord_header * in the backtrace instead of a
12111         Lisp_Object.
12112         (pdump_backtrace): Ditto.
12113         (pdump_register_object): Ditto.  Cleanup use of the pointers.
12114         (pdump_get_entry): Abort if trying to register a null pointer.
12115         (pdump_dump_data): Cleanup types when relocating.
12116         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
12117         (pdump_dump_rtables): Remove bad casts.
12118         (pdump_load): Cleanup relocation w.r.t union type.  Use a
12119         Lisp_Object instead of a EMACS_INT for the hashtable
12120         reorganization.
12121
12122 2000-01-20  Martin Buchholz  <martin@xemacs.org>
12123
12124         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
12125
12126         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
12127
12128         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
12129
12130         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
12131
12132 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12133
12134         * faces.h (FACE_STRIKETHRU_P): Added.
12135
12136         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
12137         of font variants.
12138
12139         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
12140         (mswindows_set_dc_font): New function, aware of font variants,
12141         separated from mswindows_update_dc.
12142
12143         * objects-msw.h (struct mswindows_font_instance_data): Added
12144         definition.
12145
12146         * objects-msw.c (mswindows_finalize_font_instance): Delete all
12147         cached fonts and the data structure.
12148         (mswindows_initialize_font_instance): Added creation of font data
12149         structure.
12150         (mswindows_print_font_instance): Print at least something.
12151         (mswindows_create_font_variant): Implemented.
12152         (mswindows_get_hfont): Implemented.
12153
12154 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
12155
12156         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
12157         prototyping problem with msvc.
12158
12159         * emacs.c (main_1): added syms_of_gui_mswindows() call
12160
12161         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
12162         syms_of_gui_mswindows() function
12163
12164         * symsinit.h: added the prototype for syms_of_gui_mswindows()
12165
12166 2000-01-18  Martin Buchholz <martin@xemacs.org>
12167
12168         * XEmacs 21.2.27 is released.
12169
12170 2000-01-18  Martin Buchholz  <martin@xemacs.org>
12171
12172         * glyphs-eimage.c (struct tiff_error_struct):
12173         (tiff_error_func):
12174         (tiff_warning_func):
12175         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
12176
12177         * unexmips.c:
12178         * unexhp9k3.c:
12179         * unexfreebsd.c:
12180         * unexec.c: Remove vestigial Lucid C code.
12181         * unexalpha.c:
12182         * unexaix.c:
12183         * termcap.c:
12184         * libsst.c: Ansify.
12185         Remove declarations of errno and strerror().
12186
12187         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
12188
12189         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
12190
12191 2000-01-16  Martin Buchholz  <martin@xemacs.org>
12192
12193         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
12194         Optimize.
12195
12196 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12197
12198         * md5.c:
12199         * file-coding.c:
12200         * file-coding.h:
12201         Change enum eol_type to eol_type_t.
12202
12203 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12204
12205         * gui.c (get_gui_callback): Check cons before accessing car.
12206
12207 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12208
12209         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
12210         (XSETSPECIFIER_TYPE): Ditto.
12211
12212 2000-01-17  Didier Verna  <didier@xemacs.org>
12213
12214         * redisplay.c (generate_fstring_runes): compute string size in
12215         characters, not bytes.
12216
12217 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12218
12219         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
12220
12221 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
12222
12223         * print.c (print_error_message): Call print_prepare().
12224
12225 2000-01-14  Martin Buchholz  <martin@xemacs.org>
12226
12227         * .dbxrc: Renamed from dbxrc.
12228
12229         * events.c (event_to_character):
12230         Use `assert (foo)' instead of `if (!foo) abort()'
12231
12232         * .gdbinit (xtype): Add documentation.
12233         * .gdbinit (check-temacs): New function.
12234         * .gdbinit (check-xemacs): New function.
12235         * dbxrc (check-xemacs): New function.
12236         * dbxrc (check-xemacs): New function.
12237
12238 2000-01-14  Andy Piper  <andy@xemacs.org>
12239
12240         * glyphs-widget.c (widget_query_geometry): Make sure that we
12241         calculate default dimensions correctly.
12242
12243 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12244
12245         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
12246
12247         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
12248         pdump_wire'd variable.
12249
12250         * emacs.c: (main_1): Conditionalized calls to
12251         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
12252
12253 2000-01-13  Martin Buchholz  <martin@xemacs.org>
12254
12255         * window.c (Fset_window_configuration):
12256         * sysdep.c (_start):
12257         * input-method-motif.c (res):
12258         * event-Xt.c (Xt_process_to_emacs_event):
12259         Simple compiler warning fixes.
12260
12261         * bytecode.c (funcall_compiled_function): Use the original
12262         function symbol on the backtrace list in preference to the
12263         compiled_function object in error messages.
12264
12265 2000-01-13  Andy Piper  <andy@xemacs.org>
12266
12267         * glyphs-x.c (update_widget_face): Make sure we update the widget
12268         background as well as foreground.
12269
12270 2000-01-13  Andy Piper  <andy@xemacs.org>
12271
12272         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
12273         fields to subwindow.
12274         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
12275         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
12276         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12277         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12278
12279         * glyphs-widget.c (check_valid_tab_orientation): new function.
12280         (initialize_widget_image_instance): zero orientation and
12281         justification.
12282         (widget_instantiate): pick up orientation.
12283         (tab_control_query_geometry): return appropriate values for
12284         vertical tabs.
12285
12286         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
12287         appropriate creation flags for left, right and bottom tabs.
12288
12289         * s/cygwin32.h: add tab definitions.
12290
12291 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12292
12293         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
12294         frame upon hiding a subwindow.
12295         (mswindows_button_instantiate): Changed the push button style to
12296         BS_PUSHBUTTON.
12297         (mswindows_button_instantiate): Removed button BS_NOTIFY
12298         style.
12299         (mswindows_button_instantiate): Removed redundant check for
12300         a disabled gui item.
12301         (mswindows_button_instantiate): Made use of WS_TABSTOP
12302         consistent: "operable" controls (edit, button, tree, scroll) have
12303         this style, "display-only" ones (static, progress gauge) do
12304         not. This style is currently ignored by XEmacs though. Also,
12305         removed the WS_EX_CONTROLPARENT style - it is not for children,
12306         it is for their parents!
12307         (mswindows_edit_field_instantiate): Ditto.
12308         (mswindows_progress_gauge_instantiate): Ditto.
12309         (mswindows_tree_view_instantiate): Ditto.
12310         (mswindows_tab_control_instantiate): Ditto.
12311         (mswindows_scrollbar_instantiate): Ditto.
12312         (mswindows_combo_box_instantiate): Ditto.
12313         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
12314         style to the "clip" window.
12315         (mswindows_button_instantiate): Removed compilation warning by
12316         equally typing terms of the ?: operator.
12317
12318 2000-01-12  Didier Verna  <didier@xemacs.org>
12319
12320         * redisplay.c (generate_fstring_runes): new parameter holding the
12321         last modeline-format extent.
12322         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
12323         extent, fill the glyph block with it.
12324         (generate_fstring_runes): handle these parameters.
12325         (generate_formatted_string_db): ditto.
12326
12327         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
12328         glyphs'extents in the modeline.
12329
12330 1999-01-11  Mike Woolley  <mike@bulsara.com>
12331
12332         * ntheap.c: Reduced the reserved heap space from 1Gb down to
12333         256Mb, as a workaround for the non-starting problem many people
12334         have experienced.
12335
12336 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12337
12338         * console-tty.c (Fset_console_tty_output_coding_system):
12339         Force redrawing tty frame.
12340
12341 2000-01-10  Didier Verna  <didier@xemacs.org>
12342
12343         * redisplay.c (generate_fstring_runes): fix size computation bug.
12344
12345 2000-01-09  William M. Perry <wmperry@aventail.com>
12346
12347         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
12348
12349 2000-01-09  Andy Piper  <andy@xemacs.org>
12350
12351         * glyphs-msw.c: index -> i to avoid shadows.
12352         (xbm_create_bitmap_from_data): make static.
12353         (check_valid_string_or_int): deleted.
12354         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
12355
12356         * glyphs-x.c (x_update_subwindow): remove unused args.
12357
12358         * glyphs.c (glyph_image_instance): return the thing. Don't set the
12359         back pointer - this is done in allocate_image_instance.
12360         (query_string_font): return Qnil to make the compiler happy.
12361         (unmap_subwindow): set to ~0 to make the compiler happy.
12362         (glyph_query_geometry): comment out until used.
12363         (glyph_layout): ditto.
12364
12365 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12366
12367         * insdel.c (signal_after_change): Remove extraneous unbind_to().